### FUNC 180001000 - 180001043 (67 bytes) name=sub_180001000 180001000: sub rsp, 28h 180001004: mov edx, 1 180001009: mov [rsp+28h+arg_0], 7Eh ; '~' 18000100E: lea rcx, Block 180001015: call sub_180002AB0 18000101A: mov rcx, cs:Block 180001021: movzx eax, [rsp+28h+arg_0] 180001026: mov [rcx], al 180001028: lea rax, [rcx+1] 18000102C: lea rcx, sub_18000E300; void (__cdecl *)() 180001033: mov qword ptr cs:xmmword_180016068, rax 18000103A: add rsp, 28h 18000103E: jmp atexit ### FUNC 180001050 - 18000109F (79 bytes) name=sub_180001050 180001050: sub rsp, 28h 180001054: mov edx, 8 180001059: mov dword ptr [rsp+28h+arg_0], 39393902h 180001061: lea rcx, qword_180016000 180001068: mov dword ptr [rsp+28h+arg_0+4], 3393939h 180001070: call sub_180002AB0 180001075: mov rcx, cs:qword_180016000 18000107C: mov rax, [rsp+28h+arg_0] 180001081: mov [rcx], rax 180001084: lea rax, [rcx+8] 180001088: lea rcx, sub_18000E370; void (__cdecl *)() 18000108F: mov qword ptr cs:xmmword_180016008, rax 180001096: add rsp, 28h 18000109A: jmp atexit ### FUNC 1800010A0 - 1800010EF (79 bytes) name=sub_1800010A0 1800010A0: sub rsp, 28h 1800010A4: mov edx, 8 1800010A9: mov dword ptr [rsp+28h+arg_0], 31323102h 1800010B1: lea rcx, qword_180016018 1800010B8: mov dword ptr [rsp+28h+arg_0+4], 3343132h 1800010C0: call sub_180002AB0 1800010C5: mov rcx, cs:qword_180016018 1800010CC: mov rax, [rsp+28h+arg_0] 1800010D1: mov [rcx], rax 1800010D4: lea rax, [rcx+8] 1800010D8: lea rcx, sub_18000E3E0; void (__cdecl *)() 1800010DF: mov qword ptr cs:xmmword_180016020, rax 1800010E6: add rsp, 28h 1800010EA: jmp atexit ### FUNC 1800010F0 - 180001133 (67 bytes) name=sub_1800010F0 1800010F0: sub rsp, 28h 1800010F4: mov edx, 1 1800010F9: mov [rsp+28h+arg_0], 13h 1800010FE: lea rcx, qword_180016090 180001105: call sub_180002AB0 18000110A: mov rcx, cs:qword_180016090 180001111: movzx eax, [rsp+28h+arg_0] 180001116: mov [rcx], al 180001118: lea rax, [rcx+1] 18000111C: lea rcx, sub_18000E450; void (__cdecl *)() 180001123: mov qword ptr cs:xmmword_180016098, rax 18000112A: add rsp, 28h 18000112E: jmp atexit ### FUNC 180001140 - 180001183 (67 bytes) name=sub_180001140 180001140: sub rsp, 28h 180001144: mov edx, 1 180001149: mov [rsp+28h+arg_0], 12h 18000114E: lea rcx, qword_180016078 180001155: call sub_180002AB0 18000115A: mov rcx, cs:qword_180016078 180001161: movzx eax, [rsp+28h+arg_0] 180001166: mov [rcx], al 180001168: lea rax, [rcx+1] 18000116C: lea rcx, sub_18000E4C0; void (__cdecl *)() 180001173: mov qword ptr cs:xmmword_180016080, rax 18000117A: add rsp, 28h 18000117E: jmp atexit ### FUNC 180001190 - 1800011EC (92 bytes) name=sub_180001190 180001190: push rbx 180001192: sub rsp, 20h 180001196: mov edx, 6 18000119B: mov [rsp+28h+Src], 70757766h 1800011A3: lea rcx, qword_180016030 1800011AA: mov [rsp+28h+arg_4], 0A0Dh 1800011B1: call sub_180002AB0 1800011B6: mov rbx, cs:qword_180016030 1800011BD: lea rdx, [rsp+28h+Src]; Src 1800011C2: mov rcx, rbx; void * 1800011C5: mov r8d, 6; Size 1800011CB: call memmove 1800011D0: lea rax, [rbx+6] 1800011D4: lea rcx, sub_18000E530; void (__cdecl *)() 1800011DB: mov qword ptr cs:xmmword_180016038, rax 1800011E2: add rsp, 20h 1800011E6: pop rbx 1800011E7: jmp atexit ### FUNC 1800011F0 - 18000124A (90 bytes) name=sub_1800011F0 1800011F0: push rbx 1800011F2: sub rsp, 20h 1800011F6: mov edx, 5 1800011FB: mov [rsp+28h+Src], 0D726576h 180001203: lea rcx, qword_1800160A8 18000120A: mov [rsp+28h+arg_4], 0Ah 18000120F: call sub_180002AB0 180001214: mov rbx, cs:qword_1800160A8 18000121B: lea rdx, [rsp+28h+Src]; Src 180001220: mov rcx, rbx; void * 180001223: mov r8d, 5; Size 180001229: call memmove 18000122E: lea rax, [rbx+5] 180001232: lea rcx, sub_18000E5A0; void (__cdecl *)() 180001239: mov qword ptr cs:xmmword_1800160B0, rax 180001240: add rsp, 20h 180001244: pop rbx 180001245: jmp atexit ### FUNC 180001250 - 180001293 (67 bytes) name=sub_180001250 180001250: sub rsp, 28h 180001254: mov edx, 1 180001259: mov [rsp+28h+arg_0], 4 18000125E: lea rcx, qword_180016048 180001265: call sub_180002AB0 18000126A: mov rcx, cs:qword_180016048 180001271: movzx eax, [rsp+28h+arg_0] 180001276: mov [rcx], al 180001278: lea rax, [rcx+1] 18000127C: lea rcx, sub_18000E610; void (__cdecl *)() 180001283: mov qword ptr cs:xmmword_180016050, rax 18000128A: add rsp, 28h 18000128E: jmp atexit ### FUNC 1800012A0 - 1800012CD (45 bytes) name=sub_1800012A0 1800012A0: sub rsp, 28h 1800012A4: mov r8d, 0Eh; Size 1800012AA: lea rdx, aScannerNormal; "SCANNER_NORMAL" 1800012B1: lea rcx, qword_180015060; void * 1800012B8: call sub_180002610 1800012BD: lea rcx, sub_18000E6F0; void (__cdecl *)() 1800012C4: add rsp, 28h 1800012C8: jmp atexit ### FUNC 1800012D0 - 1800012FD (45 bytes) name=sub_1800012D0 1800012D0: sub rsp, 28h 1800012D4: mov r8d, 0Fh; Size 1800012DA: lea rdx, aScannerOffline; "SCANNER_OFFLINE" 1800012E1: lea rcx, qword_1800150A0; void * 1800012E8: call sub_180002610 1800012ED: lea rcx, sub_18000E760; void (__cdecl *)() 1800012F4: add rsp, 28h 1800012F8: jmp atexit ### FUNC 180001300 - 18000132D (45 bytes) name=sub_180001300 180001300: sub rsp, 28h 180001304: mov r8d, 13h; Size 18000130A: lea rdx, aScannerDataExc; "SCANNER_DATA_EXCEED" 180001311: lea rcx, qword_1800151E0; void * 180001318: call sub_180002610 18000131D: lea rcx, sub_18000E7D0; void (__cdecl *)() 180001324: add rsp, 28h 180001328: jmp atexit ### FUNC 180001330 - 18000135D (45 bytes) name=sub_180001330 180001330: sub rsp, 28h 180001334: mov r8d, 11h; Size 18000133A: lea rdx, aScannerFiltedQ; "SCANNER_FILTED_QR" 180001341: lea rcx, qword_180015180; void * 180001348: call sub_180002610 18000134D: lea rcx, sub_18000E840; void (__cdecl *)() 180001354: add rsp, 28h 180001358: jmp atexit ### FUNC 180001360 - 18000138D (45 bytes) name=sub_180001360 180001360: sub rsp, 28h 180001364: mov r8d, 13h; Size 18000136A: lea rdx, aScannerFiltedE; "SCANNER_FILTED_EAN8" 180001371: lea rcx, qword_1800150E0; void * 180001378: call sub_180002610 18000137D: lea rcx, sub_18000E8B0; void (__cdecl *)() 180001384: add rsp, 28h 180001388: jmp atexit ### FUNC 180001390 - 1800013BD (45 bytes) name=sub_180001390 180001390: sub rsp, 28h 180001394: mov r8d, 14h; Size 18000139A: lea rdx, aScannerFiltedE_0; "SCANNER_FILTED_EAN13" 1800013A1: lea rcx, qword_180015160; void * 1800013A8: call sub_180002610 1800013AD: lea rcx, sub_18000E920; void (__cdecl *)() 1800013B4: add rsp, 28h 1800013B8: jmp atexit ### FUNC 1800013C0 - 1800013ED (45 bytes) name=sub_1800013C0 1800013C0: sub rsp, 28h 1800013C4: mov r8d, 12h; Size 1800013CA: lea rdx, aScannerFiltedC; "SCANNER_FILTED_C39" 1800013D1: lea rcx, qword_1800151C0; void * 1800013D8: call sub_180002610 1800013DD: lea rcx, sub_18000E990; void (__cdecl *)() 1800013E4: add rsp, 28h 1800013E8: jmp atexit ### FUNC 1800013F0 - 18000141D (45 bytes) name=sub_1800013F0 1800013F0: sub rsp, 28h 1800013F4: mov r8d, 13h; Size 1800013FA: lea rdx, aScannerFiltedC_0; "SCANNER_FILTED_C128" 180001401: lea rcx, qword_180015120; void * 180001408: call sub_180002610 18000140D: lea rcx, sub_18000EA00; void (__cdecl *)() 180001414: add rsp, 28h 180001418: jmp atexit ### FUNC 180001420 - 18000144D (45 bytes) name=sub_180001420 180001420: sub rsp, 28h 180001424: mov r8d, 12h; Size 18000142A: lea rdx, aScannerFiltedG; "SCANNER_FILTED_GS1" 180001431: lea rcx, qword_1800150C0; void * 180001438: call sub_180002610 18000143D: lea rcx, sub_18000EA70; void (__cdecl *)() 180001444: add rsp, 28h 180001448: jmp atexit ### FUNC 180001450 - 18000147D (45 bytes) name=sub_180001450 180001450: sub rsp, 28h 180001454: mov r8d, 12h; Size 18000145A: lea rdx, aScannerFiltedU; "SCANNER_FILTED_UPA" 180001461: lea rcx, qword_180015140; void * 180001468: call sub_180002610 18000146D: lea rcx, sub_18000EAE0; void (__cdecl *)() 180001474: add rsp, 28h 180001478: jmp atexit ### FUNC 180001480 - 1800014AD (45 bytes) name=sub_180001480 180001480: sub rsp, 28h 180001484: mov r8d, 12h; Size 18000148A: lea rdx, aScannerFiltedU_0; "SCANNER_FILTED_UPB" 180001491: lea rcx, qword_180015100; void * 180001498: call sub_180002610 18000149D: lea rcx, sub_18000EB50; void (__cdecl *)() 1800014A4: add rsp, 28h 1800014A8: jmp atexit ### FUNC 1800014B0 - 1800014DD (45 bytes) name=sub_1800014B0 1800014B0: sub rsp, 28h 1800014B4: mov r8d, 12h; Size 1800014BA: lea rdx, aScannerFiltedU_1; "SCANNER_FILTED_UPE" 1800014C1: lea rcx, qword_1800151A0; void * 1800014C8: call sub_180002610 1800014CD: lea rcx, sub_18000EBC0; void (__cdecl *)() 1800014D4: add rsp, 28h 1800014D8: jmp atexit ### FUNC 1800014E0 - 18000150D (45 bytes) name=sub_1800014E0 1800014E0: sub rsp, 28h 1800014E4: mov r8d, 15h; Size 1800014EA: lea rdx, aScannerFiltedC_1; "SCANNER_FILTED_COUPON" 1800014F1: lea rcx, qword_180015040; void * 1800014F8: call sub_180002610 1800014FD: lea rcx, sub_18000EC30; void (__cdecl *)() 180001504: add rsp, 28h 180001508: jmp atexit ### FUNC 180001510 - 18000153D (45 bytes) name=sub_180001510 180001510: sub rsp, 28h 180001514: mov r8d, 12h; Size 18000151A: lea rdx, aScannerFiltedW; "SCANNER_FILTED_WWW" 180001521: lea rcx, qword_180015080; void * 180001528: call sub_180002610 18000152D: lea rcx, sub_18000ECA0; void (__cdecl *)() 180001534: add rsp, 28h 180001538: jmp atexit ### FUNC 180001540 - 180001546 (6 bytes) name=DllMain 180001540: mov eax, 1 180001545: retn ### FUNC 180001550 - 1800015C4 (116 bytes) name=sub_180001550 180001550: push rbx 180001552: sub rsp, 20h 180001556: mov rbx, rcx 180001559: mov ecx, [rcx+10h] 18000155C: call cs:MAG_IsProcessingImage 180001562: test eax, eax 180001564: jz short loc_18000156F 180001566: mov ecx, [rbx+10h] 180001569: call cs:MAG_StopProcessImage 18000156F: mov ecx, [rbx+10h] 180001572: call cs:MAG_IsLinked 180001578: test eax, eax 18000157A: jz short loc_180001585 18000157C: mov ecx, [rbx+10h] 18000157F: call cs:MAG_DisLinkCamera 180001585: mov ecx, [rbx+10h] 180001588: call cs:MAG_IsInitialized 18000158E: test eax, eax 180001590: jz short loc_1800015A1 180001592: mov ecx, [rbx+10h] 180001595: call cs:MAG_Free 18000159B: mov dword ptr [rbx], 0 1800015A1: mov ecx, [rbx+10h] 1800015A4: call cs:MAG_IsChannelAvailable 1800015AA: test eax, eax 1800015AC: jz short loc_1800015BE 1800015AE: mov ecx, [rbx+10h] 1800015B1: call cs:MAG_DelChannel 1800015B7: mov dword ptr [rbx+10h], 0FFFFFFFFh 1800015BE: add rsp, 20h 1800015C2: pop rbx 1800015C3: retn ### FUNC 1800015D0 - 180001649 (121 bytes) name=sub_1800015D0 1800015D0: push rdi 1800015D2: sub rsp, 20h 1800015D6: cmp dword ptr [rcx], 0 1800015D9: mov rdi, rcx 1800015DC: jz short loc_1800015E9 1800015DE: mov eax, 1 1800015E3: add rsp, 20h 1800015E7: pop rdi 1800015E8: retn 1800015E9: mov [rsp+28h+arg_0], rbx 1800015EE: mov ebx, [rcx+10h] 1800015F1: cmp ebx, 80h 1800015F7: jbe short loc_18000162E 1800015F9: xor ebx, ebx 1800015FB: nop dword ptr [rax+rax+00h] 180001600: mov ecx, ebx 180001602: call cs:MAG_IsChannelAvailable 180001608: test eax, eax 18000160A: jz short loc_18000161B 18000160C: inc ebx 18000160E: cmp ebx, 80h 180001614: jle short loc_180001600 180001616: mov ebx, [rdi+10h] 180001619: jmp short loc_180001626 18000161B: mov ecx, ebx 18000161D: call cs:MAG_NewChannel 180001623: mov [rdi+10h], ebx 180001626: cmp ebx, 80h 18000162C: ja short loc_18000163C 18000162E: mov rdx, [rdi+8] 180001632: mov ecx, ebx 180001634: call cs:MAG_Initialize 18000163A: mov [rdi], eax 18000163C: mov eax, [rdi] 18000163E: mov rbx, [rsp+28h+arg_0] 180001643: add rsp, 20h 180001647: pop rdi 180001648: retn ### FUNC 180001650 - 180001683 (51 bytes) name=sub_180001650 180001650: push rbx 180001652: sub rsp, 20h 180001656: mov rbx, rcx 180001659: mov rax, rdx 18000165C: lea rcx, off_18000F6D8 180001663: xorps xmm0, xmm0 180001666: lea rdx, [rbx+8] 18000166A: mov [rbx], rcx 18000166D: lea rcx, [rax+8] 180001671: movups xmmword ptr [rdx], xmm0 180001674: call cs:__std_exception_copy 18000167A: mov rax, rbx 18000167D: add rsp, 20h 180001681: pop rbx 180001682: retn ### FUNC 1800016B0 - 1800016C3 (19 bytes) name=sub_1800016B0 1800016B0: mov rdx, [rcx+8] 1800016B4: lea rax, aUnknownExcepti; "Unknown exception" 1800016BB: test rdx, rdx 1800016BE: cmovnz rax, rdx 1800016C2: retn ### FUNC 1800016D0 - 180001713 (67 bytes) name=sub_1800016D0 1800016D0: mov [rsp+arg_0], rbx 1800016D5: push rdi 1800016D6: sub rsp, 20h 1800016DA: lea rax, off_18000F6D8 1800016E1: mov rdi, rcx 1800016E4: mov [rcx], rax 1800016E7: mov ebx, edx 1800016E9: add rcx, 8 1800016ED: call cs:__std_exception_destroy 1800016F3: test bl, 1 1800016F6: jz short loc_180001705 1800016F8: mov edx, 18h 1800016FD: mov rcx, rdi; Block 180001700: call j_j_free 180001705: mov rbx, [rsp+28h+arg_0] 18000170A: mov rax, rdi 18000170D: add rsp, 20h 180001711: pop rdi 180001712: retn ### FUNC 180001720 - 180001741 (33 bytes) name=sub_180001720 180001720: lea rax, aBadArrayNewLen; "bad array new length" 180001727: mov qword ptr [rcx+10h], 0 18000172F: mov [rcx+8], rax 180001733: lea rax, off_18000F718 18000173A: mov [rcx], rax 18000173D: mov rax, rcx 180001740: retn ### FUNC 180001750 - 180001770 (32 bytes) name=?cancel_current_task@Concurrency@@YAXXZ 180001750: sub rsp, 48h 180001754: lea rcx, [rsp+48h+pExceptionObject] 180001759: call sub_180001720 18000175E: lea rdx, pThrowInfo; pThrowInfo 180001765: lea rcx, [rsp+48h+pExceptionObject]; pExceptionObject 18000176A: call _CxxThrowException 18000176F: align 10h ### FUNC 180001770 - 1800017AD (61 bytes) name=sub_180001770 180001770: push rbx 180001772: sub rsp, 20h 180001776: mov rbx, rcx 180001779: mov rax, rdx 18000177C: lea rcx, off_18000F6D8 180001783: xorps xmm0, xmm0 180001786: lea rdx, [rbx+8] 18000178A: mov [rbx], rcx 18000178D: lea rcx, [rax+8] 180001791: movups xmmword ptr [rdx], xmm0 180001794: call cs:__std_exception_copy 18000179A: lea rax, off_18000F718 1800017A1: mov [rbx], rax 1800017A4: mov rax, rbx 1800017A7: add rsp, 20h 1800017AB: pop rbx 1800017AC: retn ### FUNC 1800017B0 - 1800017ED (61 bytes) name=sub_1800017B0 1800017B0: push rbx 1800017B2: sub rsp, 20h 1800017B6: mov rbx, rcx 1800017B9: mov rax, rdx 1800017BC: lea rcx, off_18000F6D8 1800017C3: xorps xmm0, xmm0 1800017C6: lea rdx, [rbx+8] 1800017CA: mov [rbx], rcx 1800017CD: lea rcx, [rax+8] 1800017D1: movups xmmword ptr [rdx], xmm0 1800017D4: call cs:__std_exception_copy 1800017DA: lea rax, off_18000F6F0 1800017E1: mov [rbx], rax 1800017E4: mov rax, rbx 1800017E7: add rsp, 20h 1800017EB: pop rbx 1800017EC: retn ### FUNC 1800017F0 - 1800023ED (3069 bytes) name=sub_1800017F0 1800017F0: mov [rsp-28h+arg_8], rbx 1800017F5: mov [rsp-28h+arg_10], rsi 1800017FA: mov [rsp-28h+arg_18], rdi 1800017FF: push rbp 180001800: push r12 180001802: push r13 180001804: push r14 180001806: push r15 180001808: mov rbp, rsp 18000180B: sub rsp, 60h 18000180F: mov rax, cs:__security_cookie 180001816: xor rax, rsp 180001819: mov [rbp+var_10], rax 18000181D: mov rbx, rdx 180001820: mov rsi, rcx 180001823: mov eax, [rcx+4Ch] 180001826: cmp eax, 1 180001829: jnz short loc_180001867 18000182B: mov rcx, [rdx] 18000182E: mov rax, [rdx+8] 180001832: sub rax, rcx 180001835: cmp rax, 1 180001839: jnz loc_1800020B6 18000183F: cmp byte ptr [rcx], 6 180001842: jnz loc_1800020B6 180001848: mov [rsi+48h], al 18000184B: lea rcx, [rsi+58h]; _Cnd_t 18000184F: call cs:_Cnd_broadcast 180001855: test eax, eax 180001857: jz short loc_180001862 180001859: mov ecx, eax 18000185B: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180001861: nop 180001862: jmp loc_1800020B6 180001867: cmp eax, 2 18000186A: jnz short loc_1800018A8 18000186C: mov rcx, [rdx] 18000186F: mov rax, [rdx+8] 180001873: sub rax, rcx 180001876: cmp rax, 1 18000187A: jnz loc_1800020B6 180001880: cmp byte ptr [rcx], 6 180001883: jnz loc_1800020B6 180001889: mov [rsi+48h], al 18000188C: lea rcx, [rsi+58h]; _Cnd_t 180001890: call cs:_Cnd_broadcast 180001896: test eax, eax 180001898: jz short loc_1800018A3 18000189A: mov ecx, eax 18000189C: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 1800018A2: nop 1800018A3: jmp loc_1800020B6 1800018A8: cmp eax, 3 1800018AB: jnz short loc_1800018E9 1800018AD: mov rcx, [rdx] 1800018B0: mov rax, [rdx+8] 1800018B4: sub rax, rcx 1800018B7: cmp rax, 1 1800018BB: jnz loc_1800020B6 1800018C1: cmp byte ptr [rcx], 6 1800018C4: jnz loc_1800020B6 1800018CA: mov [rsi+48h], al 1800018CD: lea rcx, [rsi+58h]; _Cnd_t 1800018D1: call cs:_Cnd_broadcast 1800018D7: test eax, eax 1800018D9: jz short loc_1800018E4 1800018DB: mov ecx, eax 1800018DD: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 1800018E3: nop 1800018E4: jmp loc_1800020B6 1800018E9: cmp eax, 4 1800018EC: jnz loc_180001B62 1800018F2: xor edi, edi 1800018F4: mov r10d, edi 1800018F7: mov [rbp+var_3C], edi 1800018FA: mov rdx, [rdx] 1800018FD: cmp [rbx+8], rdx 180001901: jz loc_1800019D4 180001907: mov r13d, edi 18000190A: mov r8, [rcx+40h] 18000190E: xchg ax, ax 180001910: movzx eax, byte ptr [rdx+r13] 180001915: mov [rbp+var_40], al 180001918: mov rdx, [rsi+38h] 18000191C: mov r9, r8 18000191F: lea eax, [r8+rdx] 180001923: test al, 0Fh 180001925: jnz short loc_18000194A 180001927: lea rax, [r8+10h] 18000192B: shr rax, 4 18000192F: cmp [rsi+30h], rax 180001933: ja short loc_18000194A 180001935: lea rcx, [rsi+20h] 180001939: call sub_1800028D0 18000193E: mov rdx, [rsi+38h] 180001942: mov r9, [rsi+40h] 180001946: mov r10d, [rbp+var_3C] 18000194A: mov rcx, [rsi+30h] 18000194E: mov rax, rcx 180001951: shl rax, 4 180001955: dec rax 180001958: and rax, rdx 18000195B: mov [rsi+38h], rax 18000195F: lea r15, [rax+r9] 180001963: dec rcx 180001966: mov rax, r15 180001969: shr rax, 4 18000196D: and rcx, rax 180001970: lea r12, ds:0[rcx*8] 180001978: mov rax, [rsi+28h] 18000197C: cmp [rax+r12], rdi 180001980: jnz short loc_18000199C 180001982: mov ecx, 10h; Size 180001987: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000198C: mov rcx, [rsi+28h] 180001990: mov [r12+rcx], rax 180001994: mov rax, [rsi+28h] 180001998: mov r10d, [rbp+var_3C] 18000199C: and r15d, 0Fh 1800019A0: mov rax, [r12+rax] 1800019A4: movzx ecx, [rbp+var_40] 1800019A8: mov [r15+rax], cl 1800019AC: inc qword ptr [rsi+40h] 1800019B0: mov r8, [rsi+40h] 1800019B4: inc r10d 1800019B7: mov [rbp+var_3C], r10d 1800019BB: inc r13 1800019BE: mov rdx, [rbx] 1800019C1: mov rcx, [rbx+8] 1800019C5: sub rcx, rdx 1800019C8: movsxd rax, r10d 1800019CB: cmp rax, rcx 1800019CE: jb loc_180001910 1800019D4: mov r8, rdi 1800019D7: mov [rbp+var_20], rdi 1800019DB: mov ebx, 0Fh 1800019E0: mov [rbp+var_18], rbx 1800019E4: mov byte ptr [rbp+Buf], dil 1800019E8: mov r14, [rsi+38h] 1800019EC: mov r15, [rsi+40h] 1800019F0: add r15, r14 1800019F3: cmp r14, r15 1800019F6: jz short loc_180001A63 1800019F8: nop dword ptr [rax+rax+00000000h] 180001A00: mov rcx, [rsi+30h] 180001A04: dec rcx 180001A07: mov rax, r14 180001A0A: shr rax, 4 180001A0E: and rcx, rax 180001A11: mov rdx, r14 180001A14: and edx, 0Fh 180001A17: mov rax, [rsi+28h] 180001A1B: mov rcx, [rax+rcx*8] 180001A1F: movzx r9d, byte ptr [rdx+rcx] 180001A24: cmp r8, rbx 180001A27: jnb short loc_180001A4A 180001A29: lea rax, [r8+1] 180001A2D: mov [rbp+var_20], rax 180001A31: lea rax, [rbp+Buf] 180001A35: cmp rbx, 10h 180001A39: cmovnb rax, [rbp+Buf] 180001A3E: mov [rax+r8], r9b 180001A42: mov byte ptr [rax+r8+1], 0 180001A48: jmp short loc_180001A53 180001A4A: lea rcx, [rbp+Buf]; Src 180001A4E: call sub_180002770 180001A53: inc r14 180001A56: mov rbx, [rbp+var_18] 180001A5A: mov r8, [rbp+var_20] 180001A5E: cmp r14, r15 180001A61: jnz short loc_180001A00 180001A63: lea r12, [rbp+Buf] 180001A67: mov r15, [rbp+Buf] 180001A6B: cmp rbx, 10h 180001A6F: cmovnb r12, r15 180001A73: cmp r8, 5 180001A77: jb loc_180001B27 180001A7D: lea r13, [r12+r8] 180001A81: lea r8, [r13-4] 180001A85: sub r8, r12; MaxCount 180001A88: mov edx, 4Dh ; 'M'; Val 180001A8D: mov rcx, r12; Buf 180001A90: call memchr 180001A95: mov r9, rax 180001A98: test rax, rax 180001A9B: jz loc_180001B27 180001AA1: lea r14, aMtlg; "MTLG>" 180001AA8: nop dword ptr [rax+rax+00000000h] 180001AB0: mov rcx, rdi 180001AB3: nop dword ptr [rax+00h] 180001AB7: nop word ptr [rax+rax+00000000h] 180001AC0: movzx eax, byte ptr [r9+rcx] 180001AC5: inc rcx 180001AC8: cmp al, [r14+rcx-1] 180001ACD: jnz short loc_180001AD9 180001ACF: cmp rcx, 5 180001AD3: jnz short loc_180001AC0 180001AD5: mov eax, edi 180001AD7: jmp short loc_180001ADE 180001AD9: sbb eax, eax 180001ADB: or eax, 1 180001ADE: test eax, eax 180001AE0: jz short loc_180001B03 180001AE2: inc r9 180001AE5: lea r8, [r13-4] 180001AE9: sub r8, r9; MaxCount 180001AEC: mov edx, 4Dh ; 'M'; Val 180001AF1: mov rcx, r9; Buf 180001AF4: call memchr 180001AF9: mov r9, rax 180001AFC: test rax, rax 180001AFF: jnz short loc_180001AB0 180001B01: jmp short loc_180001B27 180001B03: sub r9, r12 180001B06: cmp r9, 0FFFFFFFFFFFFFFFFh 180001B0A: jz short loc_180001B27 180001B0C: mov byte ptr [rsi+48h], 1 180001B10: lea rcx, [rsi+58h]; _Cnd_t 180001B14: call cs:_Cnd_broadcast 180001B1A: test eax, eax 180001B1C: jz short loc_180001B27 180001B1E: mov ecx, eax 180001B20: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180001B26: nop 180001B27: cmp rbx, 10h 180001B2B: jb loc_1800020B6 180001B31: lea rdx, [rbx+1] 180001B35: mov rax, r15 180001B38: cmp rdx, 1000h 180001B3F: jb short loc_180001B5A 180001B41: add rdx, 27h ; ''' 180001B45: mov r15, [r15-8] 180001B49: sub rax, r15 180001B4C: add rax, 0FFFFFFFFFFFFFFF8h 180001B50: cmp rax, 1Fh 180001B54: ja loc_1800023E6 180001B5A: mov rcx, r15 180001B5D: jmp loc_1800020B1 180001B62: cmp eax, 6 180001B65: jnz loc_180001E62 180001B6B: xor edi, edi 180001B6D: mov r10d, edi 180001B70: mov [rbp+var_3C], edi 180001B73: mov rdx, [rdx] 180001B76: cmp [rbx+8], rdx 180001B7A: jz loc_180001C54 180001B80: mov r13d, edi 180001B83: mov r8, [rcx+40h] 180001B87: nop word ptr [rax+rax+00000000h] 180001B90: movzx eax, byte ptr [rdx+r13] 180001B95: mov [rbp+var_40], al 180001B98: mov rdx, [rsi+38h] 180001B9C: mov r9, r8 180001B9F: lea eax, [r8+rdx] 180001BA3: test al, 0Fh 180001BA5: jnz short loc_180001BCA 180001BA7: lea rax, [r8+10h] 180001BAB: shr rax, 4 180001BAF: cmp [rsi+30h], rax 180001BB3: ja short loc_180001BCA 180001BB5: lea rcx, [rsi+20h] 180001BB9: call sub_1800028D0 180001BBE: mov rdx, [rsi+38h] 180001BC2: mov r9, [rsi+40h] 180001BC6: mov r10d, [rbp+var_3C] 180001BCA: mov rcx, [rsi+30h] 180001BCE: mov rax, rcx 180001BD1: shl rax, 4 180001BD5: dec rax 180001BD8: and rax, rdx 180001BDB: mov [rsi+38h], rax 180001BDF: lea r15, [r9+rax] 180001BE3: dec rcx 180001BE6: mov rax, r15 180001BE9: shr rax, 4 180001BED: and rcx, rax 180001BF0: lea r12, ds:0[rcx*8] 180001BF8: mov rax, [rsi+28h] 180001BFC: cmp [rax+r12], rdi 180001C00: jnz short loc_180001C1C 180001C02: mov ecx, 10h; Size 180001C07: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180001C0C: mov rcx, [rsi+28h] 180001C10: mov [r12+rcx], rax 180001C14: mov rax, [rsi+28h] 180001C18: mov r10d, [rbp+var_3C] 180001C1C: and r15d, 0Fh 180001C20: mov rax, [r12+rax] 180001C24: movzx ecx, [rbp+var_40] 180001C28: mov [r15+rax], cl 180001C2C: inc qword ptr [rsi+40h] 180001C30: mov r8, [rsi+40h] 180001C34: inc r10d 180001C37: mov [rbp+var_3C], r10d 180001C3B: inc r13 180001C3E: mov rdx, [rbx] 180001C41: mov rcx, [rbx+8] 180001C45: sub rcx, rdx 180001C48: movsxd rax, r10d 180001C4B: cmp rax, rcx 180001C4E: jb loc_180001B90 180001C54: mov r15, rdi 180001C57: mov [rbp+var_20], rdi 180001C5B: mov ebx, 0Fh 180001C60: mov [rbp+var_18], rbx 180001C64: mov byte ptr [rbp+Buf], dil 180001C68: mov r14, [rsi+38h] 180001C6C: mov r12, [rsi+40h] 180001C70: add r12, r14 180001C73: cmp r14, r12 180001C76: jz short loc_180001CE3 180001C78: nop dword ptr [rax+rax+00000000h] 180001C80: mov rcx, r14 180001C83: shr rcx, 4 180001C87: mov rax, [rsi+30h] 180001C8B: dec rax 180001C8E: and rcx, rax 180001C91: mov rdx, r14 180001C94: and edx, 0Fh 180001C97: mov rax, [rsi+28h] 180001C9B: mov rcx, [rax+rcx*8] 180001C9F: movzx r9d, byte ptr [rdx+rcx] 180001CA4: cmp r15, rbx 180001CA7: jnb short loc_180001CCA 180001CA9: lea rax, [r15+1] 180001CAD: mov [rbp+var_20], rax 180001CB1: lea rax, [rbp+Buf] 180001CB5: cmp rbx, 10h 180001CB9: cmovnb rax, [rbp+Buf] 180001CBE: mov [rax+r15], r9b 180001CC2: mov byte ptr [rax+r15+1], 0 180001CC8: jmp short loc_180001CD3 180001CCA: lea rcx, [rbp+Buf]; Src 180001CCE: call sub_180002770 180001CD3: inc r14 180001CD6: mov rbx, [rbp+var_18] 180001CDA: mov r15, [rbp+var_20] 180001CDE: cmp r14, r12 180001CE1: jnz short loc_180001C80 180001CE3: lea r12, [rbp+Buf] 180001CE7: mov r13, [rbp+Buf] 180001CEB: cmp rbx, 10h 180001CEF: cmovnb r12, r13 180001CF3: cmp r15, 5 180001CF7: jb loc_180001E27 180001CFD: lea r8, [r15-4] 180001D01: add r8, r12 180001D04: sub r8, r12; MaxCount 180001D07: mov edx, 4Dh ; 'M'; Val 180001D0C: mov rcx, r12; Buf 180001D0F: call memchr 180001D14: mov r9, rax 180001D17: test rax, rax 180001D1A: jz loc_180001E27 180001D20: lea r14, aMtlg; "MTLG>" 180001D27: nop word ptr [rax+rax+00000000h] 180001D30: mov rcx, rdi 180001D33: nop dword ptr [rax+00h] 180001D37: nop word ptr [rax+rax+00000000h] 180001D40: movzx eax, byte ptr [r9+rcx] 180001D45: inc rcx 180001D48: cmp al, [r14+rcx-1] 180001D4D: jnz short loc_180001D59 180001D4F: cmp rcx, 5 180001D53: jnz short loc_180001D40 180001D55: mov eax, edi 180001D57: jmp short loc_180001D5E 180001D59: sbb eax, eax 180001D5B: or eax, 1 180001D5E: test eax, eax 180001D60: jz short loc_180001D89 180001D62: inc r9 180001D65: lea r8, [r15-4] 180001D69: add r8, r12 180001D6C: sub r8, r9; MaxCount 180001D6F: mov edx, 4Dh ; 'M'; Val 180001D74: mov rcx, r9; Buf 180001D77: call memchr 180001D7C: mov r9, rax 180001D7F: test rax, rax 180001D82: jnz short loc_180001D30 180001D84: jmp loc_180001E27 180001D89: sub r9, r12 180001D8C: cmp r9, 0FFFFFFFFFFFFFFFFh 180001D90: jz loc_180001E27 180001D96: lea r14, [rbp+Buf] 180001D9A: cmp rbx, 10h 180001D9E: cmovnb r14, r13 180001DA2: cmp r15, 3 180001DA6: jb short loc_180001E27 180001DA8: lea r8, [r14-2] 180001DAC: add r8, r15 180001DAF: sub r8, r14; MaxCount 180001DB2: mov edx, 76h ; 'v'; Val 180001DB7: mov rcx, r14; Buf 180001DBA: call memchr 180001DBF: test rax, rax 180001DC2: jz short loc_180001E27 180001DC4: cmp byte ptr [rax], 76h ; 'v' 180001DC7: jnz short loc_180001DD9 180001DC9: cmp byte ptr [rax+1], 65h ; 'e' 180001DCD: jnz short loc_180001DD9 180001DCF: cmp byte ptr [rax+2], 72h ; 'r' 180001DD3: jnz short loc_180001DD9 180001DD5: mov ecx, edi 180001DD7: jmp short loc_180001DDE 180001DD9: sbb ecx, ecx 180001DDB: or ecx, 1 180001DDE: test ecx, ecx 180001DE0: jz short loc_180001E03 180001DE2: inc rax 180001DE5: lea r8, [r14-2] 180001DE9: add r8, r15 180001DEC: sub r8, rax; MaxCount 180001DEF: mov edx, 76h ; 'v'; Val 180001DF4: mov rcx, rax; Buf 180001DF7: call memchr 180001DFC: test rax, rax 180001DFF: jnz short loc_180001DC4 180001E01: jmp short loc_180001E27 180001E03: sub rax, r14 180001E06: cmp rax, 0FFFFFFFFFFFFFFFFh 180001E0A: jz short loc_180001E27 180001E0C: mov byte ptr [rsi+48h], 1 180001E10: lea rcx, [rsi+58h]; _Cnd_t 180001E14: call cs:_Cnd_broadcast 180001E1A: test eax, eax 180001E1C: jz short loc_180001E27 180001E1E: mov ecx, eax 180001E20: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180001E26: nop 180001E27: cmp rbx, 10h 180001E2B: jb loc_1800020B6 180001E31: lea rdx, [rbx+1] 180001E35: mov rax, r13 180001E38: cmp rdx, 1000h 180001E3F: jb short loc_180001E5A 180001E41: add rdx, 27h ; ''' 180001E45: mov r13, [r13-8] 180001E49: sub rax, r13 180001E4C: add rax, 0FFFFFFFFFFFFFFF8h 180001E50: cmp rax, 1Fh 180001E54: ja loc_1800023E6 180001E5A: mov rcx, r13 180001E5D: jmp loc_1800020B1 180001E62: cmp eax, 5 180001E65: jnz loc_1800020E0 180001E6B: xor edi, edi 180001E6D: mov r10d, edi 180001E70: mov [rbp+var_3C], edi 180001E73: mov rdx, [rdx] 180001E76: cmp [rbx+8], rdx 180001E7A: jz loc_180001F54 180001E80: mov r13d, edi 180001E83: mov r8, [rcx+40h] 180001E87: nop word ptr [rax+rax+00000000h] 180001E90: movzx eax, byte ptr [rdx+r13] 180001E95: mov [rbp+var_40], al 180001E98: mov rdx, [rsi+38h] 180001E9C: mov r9, r8 180001E9F: lea eax, [r8+rdx] 180001EA3: test al, 0Fh 180001EA5: jnz short loc_180001ECA 180001EA7: lea rax, [r8+10h] 180001EAB: shr rax, 4 180001EAF: cmp [rsi+30h], rax 180001EB3: ja short loc_180001ECA 180001EB5: lea rcx, [rsi+20h] 180001EB9: call sub_1800028D0 180001EBE: mov rdx, [rsi+38h] 180001EC2: mov r9, [rsi+40h] 180001EC6: mov r10d, [rbp+var_3C] 180001ECA: mov rcx, [rsi+30h] 180001ECE: mov rax, rcx 180001ED1: shl rax, 4 180001ED5: dec rax 180001ED8: and rax, rdx 180001EDB: mov [rsi+38h], rax 180001EDF: lea r15, [r9+rax] 180001EE3: dec rcx 180001EE6: mov rax, r15 180001EE9: shr rax, 4 180001EED: and rcx, rax 180001EF0: lea r12, ds:0[rcx*8] 180001EF8: mov rax, [rsi+28h] 180001EFC: cmp [rax+r12], rdi 180001F00: jnz short loc_180001F1C 180001F02: mov ecx, 10h; Size 180001F07: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180001F0C: mov rcx, [rsi+28h] 180001F10: mov [r12+rcx], rax 180001F14: mov rax, [rsi+28h] 180001F18: mov r10d, [rbp+var_3C] 180001F1C: and r15d, 0Fh 180001F20: mov rax, [r12+rax] 180001F24: movzx ecx, [rbp+var_40] 180001F28: mov [r15+rax], cl 180001F2C: inc qword ptr [rsi+40h] 180001F30: mov r8, [rsi+40h] 180001F34: inc r10d 180001F37: mov [rbp+var_3C], r10d 180001F3B: inc r13 180001F3E: mov rdx, [rbx] 180001F41: mov rcx, [rbx+8] 180001F45: sub rcx, rdx 180001F48: movsxd rax, r10d 180001F4B: cmp rax, rcx 180001F4E: jb loc_180001E90 180001F54: mov [rbp+var_20], rdi 180001F58: mov ebx, 0Fh 180001F5D: mov [rbp+var_18], rbx 180001F61: mov byte ptr [rbp+Buf], dil 180001F65: mov r14, [rsi+38h] 180001F69: mov r15, [rsi+40h] 180001F6D: add r15, r14 180001F70: cmp r14, r15 180001F73: jz short loc_180001FE2 180001F75: nop word ptr [rax+rax+00000000h] 180001F80: mov rcx, r14 180001F83: shr rcx, 4 180001F87: mov rax, [rsi+30h] 180001F8B: dec rax 180001F8E: and rcx, rax 180001F91: mov rdx, r14 180001F94: and edx, 0Fh 180001F97: mov rax, [rsi+28h] 180001F9B: mov rcx, [rax+rcx*8] 180001F9F: movzx r9d, byte ptr [rdx+rcx] 180001FA4: cmp rdi, rbx 180001FA7: jnb short loc_180001FC9 180001FA9: lea rax, [rdi+1] 180001FAD: mov [rbp+var_20], rax 180001FB1: lea rax, [rbp+Buf] 180001FB5: cmp rbx, 10h 180001FB9: cmovnb rax, [rbp+Buf] 180001FBE: mov [rax+rdi], r9b 180001FC2: mov byte ptr [rax+rdi+1], 0 180001FC7: jmp short loc_180001FD2 180001FC9: lea rcx, [rbp+Buf]; Src 180001FCD: call sub_180002770 180001FD2: inc r14 180001FD5: mov rbx, [rbp+var_18] 180001FD9: mov rdi, [rbp+var_20] 180001FDD: cmp r14, r15 180001FE0: jnz short loc_180001F80 180001FE2: lea r15, [rbp+Buf] 180001FE6: mov r14, [rbp+Buf] 180001FEA: cmp rbx, 10h 180001FEE: cmovnb r15, r14 180001FF2: cmp rdi, 17h 180001FF6: jb loc_18000207F 180001FFC: lea r12, [r15+rdi] 180002000: lea r8, [r12-16h] 180002005: sub r8, r15; MaxCount 180002008: mov edx, 55h ; 'U'; Val 18000200D: mov rcx, r15; Buf 180002010: call memchr 180002015: mov rdi, rax 180002018: test rax, rax 18000201B: jz short loc_18000207F 18000201D: nop dword ptr [rax] 180002020: mov r8d, 17h; Size 180002026: lea rdx, aUseYmodemToSen; "Use Ymodem to send file" 18000202D: mov rcx, rdi; Buf1 180002030: call memcmp 180002035: test eax, eax 180002037: jz short loc_18000205B 180002039: inc rdi 18000203C: lea r8, [r12-16h] 180002041: sub r8, rdi; MaxCount 180002044: mov edx, 55h ; 'U'; Val 180002049: mov rcx, rdi; Buf 18000204C: call memchr 180002051: mov rdi, rax 180002054: test rax, rax 180002057: jnz short loc_180002020 180002059: jmp short loc_18000207F 18000205B: sub rdi, r15 18000205E: cmp rdi, 0FFFFFFFFFFFFFFFFh 180002062: jz short loc_18000207F 180002064: mov byte ptr [rsi+48h], 1 180002068: lea rcx, [rsi+58h]; _Cnd_t 18000206C: call cs:_Cnd_broadcast 180002072: test eax, eax 180002074: jz short loc_18000207F 180002076: mov ecx, eax 180002078: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 18000207E: nop 18000207F: cmp rbx, 10h 180002083: jb short loc_1800020B6 180002085: lea rdx, [rbx+1] 180002089: mov rax, r14 18000208C: cmp rdx, 1000h 180002093: jb short loc_1800020AE 180002095: add rdx, 27h ; ''' 180002099: mov r14, [r14-8] 18000209D: sub rax, r14 1800020A0: add rax, 0FFFFFFFFFFFFFFF8h 1800020A4: cmp rax, 1Fh 1800020A8: ja loc_1800023E6 1800020AE: mov rcx, r14; Block 1800020B1: call j_j_free 1800020B6: mov rcx, [rbp+var_10] 1800020BA: xor rcx, rsp; StackCookie 1800020BD: call __security_check_cookie 1800020C2: lea r11, [rsp+60h+var_s0] 1800020C7: mov rbx, [r11+38h] 1800020CB: mov rsi, [r11+40h] 1800020CF: mov rdi, [r11+48h] 1800020D3: mov rsp, r11 1800020D6: pop r15 1800020D8: pop r14 1800020DA: pop r13 1800020DC: pop r12 1800020DE: pop rbp 1800020DF: retn 1800020E0: cmp eax, 7 1800020E3: jnz short loc_180002116 1800020E5: mov rcx, [rdx] 1800020E8: mov rax, [rdx+8] 1800020EC: sub rax, rcx 1800020EF: cmp rax, 1 1800020F3: jnz short loc_1800020B6 1800020F5: cmp byte ptr [rcx], 6 1800020F8: jnz short loc_1800020B6 1800020FA: mov [rsi+48h], al 1800020FD: lea rcx, [rsi+58h]; _Cnd_t 180002101: call cs:_Cnd_broadcast 180002107: test eax, eax 180002109: jz short loc_180002114 18000210B: mov ecx, eax 18000210D: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180002113: nop 180002114: jmp short loc_1800020B6 180002116: cmp eax, 8 180002119: jnz short loc_18000214F 18000211B: mov rcx, [rdx] 18000211E: mov rax, [rdx+8] 180002122: sub rax, rcx 180002125: cmp rax, 1 180002129: jnz short loc_1800020B6 18000212B: cmp byte ptr [rcx], 6 18000212E: jnz short loc_1800020B6 180002130: mov [rsi+48h], al 180002133: lea rcx, [rsi+58h]; _Cnd_t 180002137: call cs:_Cnd_broadcast 18000213D: test eax, eax 18000213F: jz short loc_18000214A 180002141: mov ecx, eax 180002143: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180002149: nop 18000214A: jmp loc_1800020B6 18000214F: cmp eax, 9 180002152: jnz short loc_180002190 180002154: mov rcx, [rdx] 180002157: mov rax, [rdx+8] 18000215B: sub rax, rcx 18000215E: cmp rax, 1 180002162: jnz loc_1800020B6 180002168: cmp byte ptr [rcx], 6 18000216B: jnz loc_1800020B6 180002171: mov [rsi+48h], al 180002174: lea rcx, [rsi+58h]; _Cnd_t 180002178: call cs:_Cnd_broadcast 18000217E: test eax, eax 180002180: jz short loc_18000218B 180002182: mov ecx, eax 180002184: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 18000218A: nop 18000218B: jmp loc_1800020B6 180002190: cmp eax, 0Ah 180002193: jnz loc_1800020B6 180002199: xor edi, edi 18000219B: mov r9d, edi 18000219E: mov [rbp+var_3C], edi 1800021A1: mov r8, [rdx] 1800021A4: cmp [rdx+8], r8 1800021A8: jz loc_180002284 1800021AE: mov r13d, edi 1800021B1: mov rdx, [rcx+40h] 1800021B5: nop word ptr [rax+rax+00000000h] 1800021C0: movzx eax, byte ptr [r8+r13] 1800021C5: mov [rbp+var_40], al 1800021C8: mov rcx, [rsi+38h] 1800021CC: mov r8, rdx 1800021CF: lea eax, [rcx+rdx] 1800021D2: test al, 0Fh 1800021D4: jnz short loc_1800021F9 1800021D6: lea rax, [rdx+10h] 1800021DA: shr rax, 4 1800021DE: cmp [rsi+30h], rax 1800021E2: ja short loc_1800021F9 1800021E4: lea rcx, [rsi+20h] 1800021E8: call sub_1800028D0 1800021ED: mov rcx, [rsi+38h] 1800021F1: mov r8, [rsi+40h] 1800021F5: mov r9d, [rbp+var_3C] 1800021F9: mov rdx, [rsi+30h] 1800021FD: mov rax, rdx 180002200: shl rax, 4 180002204: dec rax 180002207: and rax, rcx 18000220A: mov [rsi+38h], rax 18000220E: lea r15, [rax+r8] 180002212: mov rcx, r15 180002215: shr rcx, 4 180002219: lea rax, [rdx-1] 18000221D: and rcx, rax 180002220: lea r12, ds:0[rcx*8] 180002228: mov rax, [rsi+28h] 18000222C: cmp [rax+r12], rdi 180002230: jnz short loc_18000224C 180002232: mov ecx, 10h; Size 180002237: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000223C: mov rcx, [rsi+28h] 180002240: mov [r12+rcx], rax 180002244: mov rax, [rsi+28h] 180002248: mov r9d, [rbp+var_3C] 18000224C: and r15d, 0Fh 180002250: mov rax, [rax+r12] 180002254: movzx ecx, [rbp+var_40] 180002258: mov [r15+rax], cl 18000225C: inc qword ptr [rsi+40h] 180002260: mov rdx, [rsi+40h] 180002264: inc r9d 180002267: mov [rbp+var_3C], r9d 18000226B: inc r13 18000226E: mov r8, [rbx] 180002271: mov rcx, [rbx+8] 180002275: sub rcx, r8 180002278: movsxd rax, r9d 18000227B: cmp rax, rcx 18000227E: jb loc_1800021C0 180002284: mov [rbp+var_20], rdi 180002288: mov ebx, 0Fh 18000228D: mov [rbp+var_18], rbx 180002291: mov byte ptr [rbp+Buf], dil 180002295: mov r14, [rsi+38h] 180002299: mov r15, [rsi+40h] 18000229D: add r15, r14 1800022A0: cmp r14, r15 1800022A3: jz short loc_180002312 1800022A5: nop word ptr [rax+rax+00000000h] 1800022B0: mov rcx, r14 1800022B3: shr rcx, 4 1800022B7: mov rax, [rsi+30h] 1800022BB: dec rax 1800022BE: and rcx, rax 1800022C1: mov rdx, r14 1800022C4: and edx, 0Fh 1800022C7: mov rax, [rsi+28h] 1800022CB: mov rcx, [rax+rcx*8] 1800022CF: movzx r9d, byte ptr [rdx+rcx] 1800022D4: cmp rdi, rbx 1800022D7: jnb short loc_1800022F9 1800022D9: lea rax, [rdi+1] 1800022DD: mov [rbp+var_20], rax 1800022E1: lea rax, [rbp+Buf] 1800022E5: cmp rbx, 10h 1800022E9: cmovnb rax, [rbp+Buf] 1800022EE: mov [rdi+rax], r9b 1800022F2: mov byte ptr [rdi+rax+1], 0 1800022F7: jmp short loc_180002302 1800022F9: lea rcx, [rbp+Buf]; Src 1800022FD: call sub_180002770 180002302: inc r14 180002305: mov rbx, [rbp+var_18] 180002309: mov rdi, [rbp+var_20] 18000230D: cmp r14, r15 180002310: jnz short loc_1800022B0 180002312: lea r15, [rbp+Buf] 180002316: mov r14, [rbp+Buf] 18000231A: cmp rbx, 10h 18000231E: cmovnb r15, r14 180002322: cmp rdi, 26h ; '&' 180002326: jb loc_1800023AF 18000232C: lea r12, [rdi+r15] 180002330: lea r8, [r12-25h] 180002335: sub r8, r15; MaxCount 180002338: mov edx, 46h ; 'F'; Val 18000233D: mov rcx, r15; Buf 180002340: call memchr 180002345: mov rdi, rax 180002348: test rax, rax 18000234B: jz short loc_1800023AF 18000234D: nop dword ptr [rax] 180002350: mov r8d, 26h ; '&'; Size 180002356: lea rdx, aFirmwareUpgrad; "Firmware upgrade success, rebooting..." 18000235D: mov rcx, rdi; Buf1 180002360: call memcmp 180002365: test eax, eax 180002367: jz short loc_18000238B 180002369: inc rdi 18000236C: lea r8, [r12-25h] 180002371: sub r8, rdi; MaxCount 180002374: mov edx, 46h ; 'F'; Val 180002379: mov rcx, rdi; Buf 18000237C: call memchr 180002381: mov rdi, rax 180002384: test rax, rax 180002387: jnz short loc_180002350 180002389: jmp short loc_1800023AF 18000238B: sub rdi, r15 18000238E: cmp rdi, 0FFFFFFFFFFFFFFFFh 180002392: jz short loc_1800023AF 180002394: mov byte ptr [rsi+48h], 1 180002398: lea rcx, [rsi+58h]; _Cnd_t 18000239C: call cs:_Cnd_broadcast 1800023A2: test eax, eax 1800023A4: jz short loc_1800023AF 1800023A6: mov ecx, eax 1800023A8: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 1800023AE: nop 1800023AF: cmp rbx, 10h 1800023B3: jb loc_1800020B6 1800023B9: lea rdx, [rbx+1] 1800023BD: mov rax, r14 1800023C0: cmp rdx, 1000h 1800023C7: jb loc_1800020AE 1800023CD: add rdx, 27h ; ''' 1800023D1: mov r14, [r14-8] 1800023D5: sub rax, r14 1800023D8: add rax, 0FFFFFFFFFFFFFFF8h 1800023DC: cmp rax, 1Fh 1800023E0: jbe loc_1800020AE 1800023E6: call cs:_invalid_parameter_noinfo_noreturn 1800023EC: db 0CCh ### FUNC 1800023F0 - 180002417 (39 bytes) name=sub_1800023F0 1800023F0: push rbx 1800023F2: sub rsp, 20h 1800023F6: mov rbx, rcx 1800023F9: call sub_180002550 1800023FE: mov rcx, [rbx]; Block 180002401: mov edx, 10h 180002406: mov qword ptr [rbx], 0 18000240D: add rsp, 20h 180002411: pop rbx 180002412: jmp j_j_free ### FUNC 180002420 - 180002478 (88 bytes) name=sub_180002420 180002420: push rbx 180002422: sub rsp, 20h 180002426: mov rbx, rcx 180002429: mov rcx, [rcx] 18000242C: test rcx, rcx 18000242F: jz short loc_18000246B 180002431: mov rdx, [rbx+10h] 180002435: sub rdx, rcx 180002438: cmp rdx, 1000h 18000243F: jb short loc_180002459 180002441: mov r8, [rcx-8] 180002445: add rdx, 27h ; ''' 180002449: sub rcx, r8 18000244C: lea rax, [rcx-8] 180002450: cmp rax, 1Fh 180002454: ja short loc_180002471 180002456: mov rcx, r8; Block 180002459: call j_j_free 18000245E: xor eax, eax 180002460: mov [rbx], rax 180002463: mov [rbx+8], rax 180002467: mov [rbx+10h], rax 18000246B: add rsp, 20h 18000246F: pop rbx 180002470: retn 180002471: call cs:_invalid_parameter_noinfo_noreturn 180002477: db 0CCh ### FUNC 180002480 - 1800024A6 (38 bytes) name=sub_180002480 180002480: sub rsp, 28h 180002484: cmp byte ptr [rcx+8], 0 180002488: jz short loc_1800024A1 18000248A: mov rcx, [rcx]; _Mtx_t 18000248D: call cs:_Mtx_unlock 180002493: nop 180002494: test eax, eax 180002496: jz short loc_1800024A1 180002498: mov ecx, eax 18000249A: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 1800024A0: nop 1800024A1: add rsp, 28h 1800024A5: retn ### FUNC 1800024B0 - 18000250F (95 bytes) name=sub_1800024B0 1800024B0: push rbx 1800024B2: sub rsp, 20h 1800024B6: mov rdx, [rcx+18h] 1800024BA: mov rbx, rcx 1800024BD: cmp rdx, 10h 1800024C1: jb short loc_1800024EF 1800024C3: mov rcx, [rcx] 1800024C6: inc rdx 1800024C9: cmp rdx, 1000h 1800024D0: jb short loc_1800024EA 1800024D2: mov r8, [rcx-8] 1800024D6: add rdx, 27h ; ''' 1800024DA: sub rcx, r8 1800024DD: lea rax, [rcx-8] 1800024E1: cmp rax, 1Fh 1800024E5: ja short loc_180002508 1800024E7: mov rcx, r8; Block 1800024EA: call j_j_free 1800024EF: mov qword ptr [rbx+10h], 0 1800024F7: mov qword ptr [rbx+18h], 0Fh 1800024FF: mov byte ptr [rbx], 0 180002502: add rsp, 20h 180002506: pop rbx 180002507: retn 180002508: call cs:_invalid_parameter_noinfo_noreturn 18000250E: db 0CCh ### FUNC 180002510 - 18000254B (59 bytes) name=sub_180002510 180002510: push rbx 180002512: sub rsp, 20h 180002516: mov rbx, rcx 180002519: mov qword ptr [rcx+10h], 0 180002521: mov qword ptr [rcx+18h], 0Fh 180002529: mov r8, 0FFFFFFFFFFFFFFFFh 180002530: mov byte ptr [rcx], 0 180002533: inc r8; Size 180002536: cmp byte ptr [rdx+r8], 0 18000253B: jnz short loc_180002533 18000253D: call sub_180002610 180002542: mov rax, rbx 180002545: add rsp, 20h 180002549: pop rbx 18000254A: retn ### FUNC 180002550 - 180002605 (181 bytes) name=sub_180002550 180002550: mov [rsp+arg_8], rbx 180002555: mov [rsp+arg_10], rsi 18000255A: push rdi 18000255B: sub rsp, 20h 18000255F: mov rbx, rcx 180002562: xor esi, esi 180002564: mov rcx, [rcx+20h] 180002568: test rcx, rcx 18000256B: jz short loc_180002584 18000256D: nop dword ptr [rax] 180002570: lea rax, [rcx-1] 180002574: mov [rbx+20h], rax 180002578: mov rcx, rax 18000257B: test rax, rax 18000257E: jnz short loc_180002570 180002580: mov [rbx+18h], rsi 180002584: mov rdi, [rbx+10h] 180002588: test rdi, rdi 18000258B: jz short loc_1800025AF 18000258D: nop dword ptr [rax] 180002590: mov rax, [rbx+8] 180002594: dec rdi 180002597: mov rcx, [rax+rdi*8]; Block 18000259B: test rcx, rcx 18000259E: jz short loc_1800025AA 1800025A0: mov edx, 10h 1800025A5: call j_j_free 1800025AA: test rdi, rdi 1800025AD: jnz short loc_180002590 1800025AF: mov rcx, [rbx+8] 1800025B3: test rcx, rcx 1800025B6: jz short loc_1800025E6 1800025B8: mov rdx, [rbx+10h] 1800025BC: shl rdx, 3 1800025C0: cmp rdx, 1000h 1800025C7: jb short loc_1800025E1 1800025C9: mov r8, [rcx-8] 1800025CD: add rdx, 27h ; ''' 1800025D1: sub rcx, r8 1800025D4: lea rax, [rcx-8] 1800025D8: cmp rax, 1Fh 1800025DC: ja short loc_1800025FE 1800025DE: mov rcx, r8; Block 1800025E1: call j_j_free 1800025E6: mov [rbx+10h], rsi 1800025EA: mov [rbx+8], rsi 1800025EE: mov rbx, [rsp+28h+arg_8] 1800025F3: mov rsi, [rsp+28h+arg_10] 1800025F8: add rsp, 20h 1800025FC: pop rdi 1800025FD: retn 1800025FE: call cs:_invalid_parameter_noinfo_noreturn 180002604: db 0CCh ### FUNC 180002610 - 18000276D (349 bytes) name=sub_180002610 180002610: push rbx 180002612: push rbp 180002613: push rdi 180002614: push r14 180002616: push r15 180002618: sub rsp, 20h 18000261C: mov rbp, [rcx+18h] 180002620: mov r14, r8 180002623: mov r15, rdx 180002626: mov rbx, rcx 180002629: cmp r8, rbp 18000262C: ja short loc_18000265A 18000262E: mov rdi, rcx 180002631: cmp rbp, 10h 180002635: jb short loc_18000263A 180002637: mov rdi, [rcx] 18000263A: mov [rcx+10h], r14 18000263E: mov rcx, rdi; void * 180002641: call memmove 180002646: mov rax, rbx 180002649: mov byte ptr [r14+rdi], 0 18000264E: add rsp, 20h 180002652: pop r15 180002654: pop r14 180002656: pop rdi 180002657: pop rbp 180002658: pop rbx 180002659: retn 18000265A: mov rdi, 7FFFFFFFFFFFFFFFh 180002664: cmp r14, rdi 180002667: ja loc_180002767 18000266D: mov rcx, r14 180002670: or rcx, 0Fh 180002674: cmp rcx, rdi 180002677: ja short loc_180002698 180002679: mov rdx, rbp 18000267C: mov rax, rdi 18000267F: shr rdx, 1 180002682: sub rax, rdx 180002685: cmp rbp, rax 180002688: ja short loc_180002698 18000268A: lea rax, [rdx+rbp] 18000268E: mov rdi, rcx 180002691: cmp rcx, rax 180002694: cmovb rdi, rax 180002698: mov rcx, rdi 18000269B: mov [rsp+48h+arg_18], rsi 1800026A0: add rcx, 1 1800026A4: mov rax, 0FFFFFFFFFFFFFFFFh 1800026AB: cmovb rcx, rax; Size 1800026AF: cmp rcx, 1000h 1800026B6: jb short loc_1800026E4 1800026B8: lea rax, [rcx+27h] 1800026BC: cmp rax, rcx 1800026BF: jbe loc_180002761 1800026C5: mov rcx, rax; Size 1800026C8: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 1800026CD: test rax, rax 1800026D0: jz loc_18000275A 1800026D6: lea rsi, [rax+27h] 1800026DA: and rsi, 0FFFFFFFFFFFFFFE0h 1800026DE: mov [rsi-8], rax 1800026E2: jmp short loc_1800026F5 1800026E4: test rcx, rcx 1800026E7: jz short loc_1800026F3 1800026E9: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 1800026EE: mov rsi, rax 1800026F1: jmp short loc_1800026F5 1800026F3: xor esi, esi 1800026F5: mov r8, r14; Size 1800026F8: mov [rbx+10h], r14 1800026FC: mov rdx, r15; Src 1800026FF: mov [rbx+18h], rdi 180002703: mov rcx, rsi; void * 180002706: call memcpy 18000270B: mov byte ptr [r14+rsi], 0 180002710: cmp rbp, 10h 180002714: jb short loc_180002743 180002716: mov rcx, [rbx] 180002719: lea rdx, [rbp+1] 18000271D: cmp rdx, 1000h 180002724: jb short loc_18000273E 180002726: mov r8, [rcx-8] 18000272A: add rdx, 27h ; ''' 18000272E: sub rcx, r8 180002731: lea rax, [rcx-8] 180002735: cmp rax, 1Fh 180002739: ja short loc_18000275A 18000273B: mov rcx, r8; Block 18000273E: call j_j_free 180002743: mov [rbx], rsi 180002746: mov rax, rbx 180002749: mov rsi, [rsp+48h+arg_18] 18000274E: add rsp, 20h 180002752: pop r15 180002754: pop r14 180002756: pop rdi 180002757: pop rbp 180002758: pop rbx 180002759: retn 18000275A: call cs:_invalid_parameter_noinfo_noreturn 180002760: int 3; Trap to Debugger 180002761: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180002766: db 0CCh 180002767: call sub_180002B40 18000276C: db 0CCh ### FUNC 180002770 - 1800028CF (351 bytes) name=sub_180002770 180002770: push rbx 180002772: push rbp 180002773: push rsi 180002774: push r15 180002776: sub rsp, 28h 18000277A: mov rbp, [rcx+10h] 18000277E: mov rbx, 7FFFFFFFFFFFFFFFh 180002788: mov rax, rbx 18000278B: movzx r15d, r9b 18000278F: sub rax, rbp 180002792: mov rsi, rcx 180002795: cmp rax, 1 180002799: jb loc_1800028C9 18000279F: mov [rsp+48h+arg_10], r12 1800027A4: lea r12, [rbp+1] 1800027A8: mov [rsp+48h+var_28], r14 1800027AD: mov r14, [rcx+18h] 1800027B1: mov rcx, r12 1800027B4: or rcx, 0Fh 1800027B8: cmp rcx, rbx 1800027BB: ja short loc_1800027DC 1800027BD: mov rdx, r14 1800027C0: mov rax, rbx 1800027C3: shr rdx, 1 1800027C6: sub rax, rdx 1800027C9: cmp r14, rax 1800027CC: ja short loc_1800027DC 1800027CE: lea rax, [rdx+r14] 1800027D2: mov rbx, rcx 1800027D5: cmp rcx, rax 1800027D8: cmovb rbx, rax 1800027DC: mov rcx, rbx 1800027DF: mov [rsp+48h+arg_8], rdi 1800027E4: add rcx, 1 1800027E8: mov rax, 0FFFFFFFFFFFFFFFFh 1800027EF: cmovb rcx, rax; Size 1800027F3: cmp rcx, 1000h 1800027FA: jb short loc_180002824 1800027FC: lea rax, [rcx+27h] 180002800: cmp rax, rcx 180002803: jbe loc_1800028C3 180002809: mov rcx, rax; Size 18000280C: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180002811: test rax, rax 180002814: jz short loc_18000288C 180002816: lea rdi, [rax+27h] 18000281A: and rdi, 0FFFFFFFFFFFFFFE0h 18000281E: mov [rdi-8], rax 180002822: jmp short loc_180002835 180002824: test rcx, rcx 180002827: jz short loc_180002833 180002829: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000282E: mov rdi, rax 180002831: jmp short loc_180002835 180002833: xor edi, edi 180002835: mov [rsi+10h], r12 180002839: mov r8, rbp; Size 18000283C: mov [rsi+18h], rbx 180002840: mov rcx, rdi; void * 180002843: cmp r14, 10h 180002847: jb short loc_180002893 180002849: mov rbx, [rsi] 18000284C: mov rdx, rbx; Src 18000284F: call memcpy 180002854: lea rdx, [r14+1] 180002858: mov [rdi+rbp], r15b 18000285C: mov byte ptr [rdi+rbp+1], 0 180002861: cmp rdx, 1000h 180002868: jb short loc_180002882 18000286A: mov rcx, [rbx-8] 18000286E: add rdx, 27h ; ''' 180002872: sub rbx, rcx 180002875: lea rax, [rbx-8] 180002879: cmp rax, 1Fh 18000287D: ja short loc_18000288C 18000287F: mov rbx, rcx 180002882: mov rcx, rbx; Block 180002885: call j_j_free 18000288A: jmp short loc_1800028A4 18000288C: call cs:_invalid_parameter_noinfo_noreturn 180002892: int 3; Trap to Debugger 180002893: mov rdx, rsi; Src 180002896: call memcpy 18000289B: mov [rdi+rbp], r15b 18000289F: mov byte ptr [rdi+rbp+1], 0 1800028A4: mov [rsi], rdi 1800028A7: mov rax, rsi 1800028AA: mov rdi, [rsp+48h+arg_8] 1800028AF: mov r12, [rsp+48h+arg_10] 1800028B4: mov r14, [rsp+48h+var_28] 1800028B9: add rsp, 28h 1800028BD: pop r15 1800028BF: pop rsi 1800028C0: pop rbp 1800028C1: pop rbx 1800028C2: retn 1800028C3: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 1800028C8: db 0CCh 1800028C9: call sub_180002B40 1800028CE: db 0CCh ### FUNC 1800028D0 - 180002AA7 (471 bytes) name=sub_1800028D0 1800028D0: push rbp 1800028D2: push rsi 1800028D3: sub rsp, 38h 1800028D7: mov rdx, [rcx+10h] 1800028DB: mov eax, 1 1800028E0: test rdx, rdx 1800028E3: mov rbp, rcx 1800028E6: mov r8, 7FFFFFFFFFFFFFFh 1800028F0: cmovnz rax, rdx 1800028F4: mov rsi, rax 1800028F7: sub rsi, rdx 1800028FA: cmp rsi, 1 1800028FE: jb short loc_180002906 180002900: cmp rax, 8 180002904: jnb short loc_18000291A 180002906: mov rcx, r8 180002909: sub rcx, rax 18000290C: cmp rcx, rax 18000290F: jb loc_180002AA1 180002915: add rax, rax 180002918: jmp short loc_1800028F4 18000291A: mov [rsp+48h+var_20], r14 18000291F: mov rcx, 1FFFFFFFFFFFFFFFh 180002929: mov [rsp+48h+var_28], r15 18000292E: mov r15, [rbp+18h] 180002932: shr r15, 4 180002936: cmp rax, rcx 180002939: ja loc_180002A9B 18000293F: lea rcx, ds:0[rax*8]; Size 180002947: cmp rcx, 1000h 18000294E: jb short loc_18000297C 180002950: lea rax, [rcx+27h] 180002954: cmp rax, rcx 180002957: jbe loc_180002A9B 18000295D: mov rcx, rax; Size 180002960: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180002965: test rax, rax 180002968: jz loc_180002A94 18000296E: lea r14, [rax+27h] 180002972: and r14, 0FFFFFFFFFFFFFFE0h 180002976: mov [r14-8], rax 18000297A: jmp short loc_18000298E 18000297C: test rcx, rcx 18000297F: jz short loc_18000298B 180002981: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180002986: mov r14, rax 180002989: jmp short loc_18000298E 18000298B: xor r14d, r14d 18000298E: mov rax, [rbp+8] 180002992: mov [rsp+48h+arg_8], rbx 180002997: mov rbx, [rbp+10h] 18000299B: mov [rsp+48h+arg_10], rdi 1800029A0: shl rbx, 3 1800029A4: mov [rsp+48h+var_18], r12 1800029A9: lea r12, ds:0[r15*8] 1800029B1: lea rdx, [rax+r12]; Src 1800029B5: sub rbx, rdx 1800029B8: lea rdi, [r12+r14] 1800029BC: add rbx, rax 1800029BF: mov rcx, rdi; void * 1800029C2: mov r8, rbx; Size 1800029C5: call memmove 1800029CA: mov rdx, [rbp+8]; Src 1800029CE: add rbx, rdi 1800029D1: mov rcx, rbx; void * 1800029D4: cmp r15, rsi 1800029D7: ja short loc_1800029FE 1800029D9: mov r8, r12; Size 1800029DC: call memmove 1800029E1: mov r8, rsi 1800029E4: lea rcx, [r12+rbx]; void * 1800029E8: sub r8, r15 1800029EB: xor edx, edx; Val 1800029ED: shl r8, 3; Size 1800029F1: call memset 1800029F6: mov r8, r12 1800029F9: mov rcx, r14 1800029FC: jmp short loc_180002A2E 1800029FE: lea rdi, ds:0[rsi*8] 180002A06: mov r8, rdi; Size 180002A09: call memmove 180002A0E: mov rbx, [rbp+8] 180002A12: mov rcx, r14; void * 180002A15: lea rdx, [rdi+rbx]; Src 180002A19: sub rbx, rdx 180002A1C: add rbx, r12 180002A1F: mov r8, rbx; Size 180002A22: call memmove 180002A27: lea rcx, [rbx+r14]; void * 180002A2B: mov r8, rdi; Size 180002A2E: xor edx, edx; Val 180002A30: call memset 180002A35: mov rcx, [rbp+8] 180002A39: mov r12, [rsp+48h+var_18] 180002A3E: mov rdi, [rsp+48h+arg_10] 180002A43: mov rbx, [rsp+48h+arg_8] 180002A48: test rcx, rcx 180002A4B: jz short loc_180002A7B 180002A4D: mov rdx, [rbp+10h] 180002A51: shl rdx, 3 180002A55: cmp rdx, 1000h 180002A5C: jb short loc_180002A76 180002A5E: mov r8, [rcx-8] 180002A62: add rdx, 27h ; ''' 180002A66: sub rcx, r8 180002A69: lea rax, [rcx-8] 180002A6D: cmp rax, 1Fh 180002A71: ja short loc_180002A94 180002A73: mov rcx, r8; Block 180002A76: call j_j_free 180002A7B: add [rbp+10h], rsi 180002A7F: mov r15, [rsp+48h+var_28] 180002A84: mov [rbp+8], r14 180002A88: mov r14, [rsp+48h+var_20] 180002A8D: add rsp, 38h 180002A91: pop rsi 180002A92: pop rbp 180002A93: retn 180002A94: call cs:_invalid_parameter_noinfo_noreturn 180002A9A: int 3; Trap to Debugger 180002A9B: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180002AA0: db 0CCh 180002AA1: call sub_180002B60 180002AA6: db 0CCh ### FUNC 180002AB0 - 180002B39 (137 bytes) name=sub_180002AB0 180002AB0: mov [rsp+arg_0], rbx 180002AB5: push rdi 180002AB6: sub rsp, 20h 180002ABA: mov rax, 7FFFFFFFFFFFFFFFh 180002AC4: mov rbx, rdx 180002AC7: mov rdi, rcx 180002ACA: cmp rdx, rax 180002ACD: ja short loc_180002B2D 180002ACF: cmp rdx, 1000h 180002AD6: jb short loc_180002B03 180002AD8: lea rcx, [rdx+27h]; Size 180002ADC: cmp rcx, rdx 180002ADF: jbe short loc_180002B33 180002AE1: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180002AE6: mov rcx, rax 180002AE9: test rax, rax 180002AEC: jz short loc_180002AFC 180002AEE: add rax, 27h ; ''' 180002AF2: and rax, 0FFFFFFFFFFFFFFE0h 180002AF6: mov [rax-8], rcx 180002AFA: jmp short loc_180002B14 180002AFC: call cs:_invalid_parameter_noinfo_noreturn 180002B02: int 3; Trap to Debugger 180002B03: test rbx, rbx 180002B06: jz short loc_180002B12 180002B08: mov rcx, rbx; Size 180002B0B: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180002B10: jmp short loc_180002B14 180002B12: xor eax, eax 180002B14: mov [rdi], rax 180002B17: mov [rdi+8], rax 180002B1B: add rax, rbx 180002B1E: mov rbx, [rsp+28h+arg_0] 180002B23: mov [rdi+10h], rax 180002B27: add rsp, 20h 180002B2B: pop rdi 180002B2C: retn 180002B2D: call sub_180002B80 180002B32: db 0CCh 180002B33: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180002B38: db 0CCh ### FUNC 180002B40 - 180002B52 (18 bytes) name=sub_180002B40 180002B40: sub rsp, 28h 180002B44: lea rcx, aStringTooLong; "string too long" 180002B4B: call cs:?_Xlength_error@std@@YAXPEBD@Z; std::_Xlength_error(char const *) 180002B51: db 0CCh ### FUNC 180002B60 - 180002B72 (18 bytes) name=sub_180002B60 180002B60: sub rsp, 28h 180002B64: lea rcx, aDequeTTooLong; "deque too long" 180002B6B: call cs:?_Xlength_error@std@@YAXPEBD@Z; std::_Xlength_error(char const *) 180002B71: db 0CCh ### FUNC 180002B80 - 180002B92 (18 bytes) name=sub_180002B80 180002B80: sub rsp, 28h 180002B84: lea rcx, aVectorTooLong; "vector too long" 180002B8B: call cs:?_Xlength_error@std@@YAXPEBD@Z; std::_Xlength_error(char const *) 180002B91: db 0CCh ### FUNC 180002BA0 - 180002C92 (242 bytes) name=sub_180002BA0 180002BA0: mov [rsp+arg_18], rsi 180002BA5: push rdi 180002BA6: sub rsp, 20h 180002BAA: mov rax, 7FFFFFFFFFFFFFFFh 180002BB4: mov rdi, rdx 180002BB7: mov rsi, rcx 180002BBA: cmp rdx, rax 180002BBD: ja loc_180002C8C 180002BC3: mov rcx, [rcx] 180002BC6: mov rdx, [rsi+10h] 180002BCA: sub rdx, rcx 180002BCD: mov [rsp+28h+arg_10], rbx 180002BD2: mov r8, rdx 180002BD5: shr r8, 1 180002BD8: sub rax, r8 180002BDB: cmp rdx, rax 180002BDE: ja short loc_180002BEE 180002BE0: lea rax, [r8+rdx] 180002BE4: cmp rax, rdi 180002BE7: cmovb rax, rdi 180002BEB: mov rdi, rax 180002BEE: xor ebx, ebx 180002BF0: test rcx, rcx 180002BF3: jz short loc_180002C26 180002BF5: cmp rdx, 1000h 180002BFC: jb short loc_180002C16 180002BFE: mov r8, [rcx-8] 180002C02: add rdx, 27h ; ''' 180002C06: sub rcx, r8 180002C09: lea rax, [rcx-8] 180002C0D: cmp rax, 1Fh 180002C11: ja short loc_180002C50 180002C13: mov rcx, r8; Block 180002C16: call j_j_free 180002C1B: mov [rsi], rbx 180002C1E: mov [rsi+8], rbx 180002C22: mov [rsi+10h], rbx 180002C26: cmp rdi, 1000h 180002C2D: jb short loc_180002C57 180002C2F: lea rcx, [rdi+27h]; Size 180002C33: cmp rcx, rdi 180002C36: jbe short loc_180002C86 180002C38: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180002C3D: test rax, rax 180002C40: jz short loc_180002C50 180002C42: lea rbx, [rax+27h] 180002C46: and rbx, 0FFFFFFFFFFFFFFE0h 180002C4A: mov [rbx-8], rax 180002C4E: jmp short loc_180002C67 180002C50: call cs:_invalid_parameter_noinfo_noreturn 180002C56: int 3; Trap to Debugger 180002C57: test rdi, rdi 180002C5A: jz short loc_180002C67 180002C5C: mov rcx, rdi; Size 180002C5F: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180002C64: mov rbx, rax 180002C67: mov [rsi], rbx 180002C6A: lea rax, [rbx+rdi] 180002C6E: mov [rsi+8], rbx 180002C72: mov rbx, [rsp+28h+arg_10] 180002C77: mov [rsi+10h], rax 180002C7B: mov rsi, [rsp+28h+arg_18] 180002C80: add rsp, 20h 180002C84: pop rdi 180002C85: retn 180002C86: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180002C8B: align 4 180002C8C: call sub_180002B80 180002C91: db 0CCh ### FUNC 180002CA0 - 180002D99 (249 bytes) name=sub_180002CA0 180002CA0: push rbx 180002CA2: sub rsp, 20h 180002CA6: mov rdx, [rcx+58h] 180002CAA: mov rbx, rcx 180002CAD: cmp rdx, 10h 180002CB1: jb short loc_180002CE4 180002CB3: mov rcx, [rcx+40h] 180002CB7: inc rdx 180002CBA: cmp rdx, 1000h 180002CC1: jb short loc_180002CDF 180002CC3: mov r8, [rcx-8] 180002CC7: add rdx, 27h ; ''' 180002CCB: sub rcx, r8 180002CCE: lea rax, [rcx-8] 180002CD2: cmp rax, 1Fh 180002CD6: ja loc_180002D92 180002CDC: mov rcx, r8; Block 180002CDF: call j_j_free 180002CE4: mov qword ptr [rbx+50h], 0 180002CEC: mov qword ptr [rbx+58h], 0Fh 180002CF4: mov byte ptr [rbx+40h], 0 180002CF8: mov rdx, [rbx+38h] 180002CFC: cmp rdx, 10h 180002D00: jb short loc_180002D2F 180002D02: mov rcx, [rbx+20h] 180002D06: inc rdx 180002D09: cmp rdx, 1000h 180002D10: jb short loc_180002D2A 180002D12: mov r8, [rcx-8] 180002D16: add rdx, 27h ; ''' 180002D1A: sub rcx, r8 180002D1D: lea rax, [rcx-8] 180002D21: cmp rax, 1Fh 180002D25: ja short loc_180002D92 180002D27: mov rcx, r8; Block 180002D2A: call j_j_free 180002D2F: mov qword ptr [rbx+30h], 0 180002D37: mov qword ptr [rbx+38h], 0Fh 180002D3F: mov byte ptr [rbx+20h], 0 180002D43: mov rdx, [rbx+18h] 180002D47: cmp rdx, 10h 180002D4B: jb short loc_180002D79 180002D4D: mov rcx, [rbx] 180002D50: inc rdx 180002D53: cmp rdx, 1000h 180002D5A: jb short loc_180002D74 180002D5C: mov r8, [rcx-8] 180002D60: add rdx, 27h ; ''' 180002D64: sub rcx, r8 180002D67: lea rax, [rcx-8] 180002D6B: cmp rax, 1Fh 180002D6F: ja short loc_180002D92 180002D71: mov rcx, r8; Block 180002D74: call j_j_free 180002D79: mov qword ptr [rbx+10h], 0 180002D81: mov qword ptr [rbx+18h], 0Fh 180002D89: mov byte ptr [rbx], 0 180002D8C: add rsp, 20h 180002D90: pop rbx 180002D91: retn 180002D92: call cs:_invalid_parameter_noinfo_noreturn 180002D98: db 0CCh ### FUNC 180002DA0 - 180002E52 (178 bytes) name=sub_180002DA0 180002DA0: mov [rsp+arg_10], rbx 180002DA5: push rdi 180002DA6: sub rsp, 20h 180002DAA: mov rbx, [rcx] 180002DAD: mov rdi, rcx 180002DB0: test rbx, rbx 180002DB3: jz loc_180002E40 180002DB9: mov [rsp+28h+arg_8], rsi 180002DBE: mov rsi, [rcx+8] 180002DC2: cmp rbx, rsi 180002DC5: jz short loc_180002DDB 180002DC7: mov rcx, rbx 180002DCA: call sub_180002CA0 180002DCF: add rbx, 60h ; '`' 180002DD3: cmp rbx, rsi 180002DD6: jnz short loc_180002DC7 180002DD8: mov rbx, [rdi] 180002DDB: mov rcx, [rdi+10h] 180002DDF: mov rax, 2AAAAAAAAAAAAAABh 180002DE9: mov rsi, [rsp+28h+arg_8] 180002DEE: sub rcx, rbx 180002DF1: imul rcx 180002DF4: sar rdx, 4 180002DF8: mov rax, rdx 180002DFB: shr rax, 3Fh 180002DFF: add rdx, rax 180002E02: lea rdx, [rdx+rdx*2] 180002E06: shl rdx, 5 180002E0A: cmp rdx, 1000h 180002E11: jb short loc_180002E2B 180002E13: mov rax, [rbx-8] 180002E17: add rdx, 27h ; ''' 180002E1B: sub rbx, rax 180002E1E: add rbx, 0FFFFFFFFFFFFFFF8h 180002E22: cmp rbx, 1Fh 180002E26: ja short loc_180002E4B 180002E28: mov rbx, rax 180002E2B: mov rcx, rbx; Block 180002E2E: call j_j_free 180002E33: xor eax, eax 180002E35: mov [rdi], rax 180002E38: mov [rdi+8], rax 180002E3C: mov [rdi+10h], rax 180002E40: mov rbx, [rsp+28h+arg_10] 180002E45: add rsp, 20h 180002E49: pop rdi 180002E4A: retn 180002E4B: call cs:_invalid_parameter_noinfo_noreturn 180002E51: db 0CCh ### FUNC 180002E60 - 180002F2B (203 bytes) name=sub_180002E60 180002E60: push rbx 180002E62: push rbp 180002E63: push rdi 180002E64: sub rsp, 20h 180002E68: xor eax, eax 180002E6A: mov rdi, rdx 180002E6D: mov [rcx+10h], rax 180002E71: mov rbx, rcx 180002E74: mov [rcx+18h], rax 180002E78: cmp qword ptr [rdx+18h], 10h 180002E7D: mov rbp, [rdx+10h] 180002E81: jb short loc_180002E86 180002E83: mov rdi, [rdx] 180002E86: mov [rsp+38h+arg_10], rsi 180002E8B: cmp rbp, 10h 180002E8F: jnb short loc_180002E9E 180002E91: movups xmm0, xmmword ptr [rdi] 180002E94: mov esi, 0Fh 180002E99: movups xmmword ptr [rcx], xmm0 180002E9C: jmp short loc_180002F0D 180002E9E: mov rcx, 7FFFFFFFFFFFFFFFh 180002EA8: mov rsi, rbp 180002EAB: or rsi, 0Fh 180002EAF: cmp rsi, rcx 180002EB2: cmova rsi, rcx 180002EB6: lea rcx, [rsi+1]; Size 180002EBA: cmp rcx, 1000h 180002EC1: jb short loc_180002EF1 180002EC3: lea rax, [rcx+27h] 180002EC7: cmp rax, rcx 180002ECA: jbe short loc_180002F25 180002ECC: mov rcx, rax; Size 180002ECF: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180002ED4: mov rcx, rax 180002ED7: test rax, rax 180002EDA: jz short loc_180002EEA 180002EDC: add rax, 27h ; ''' 180002EE0: and rax, 0FFFFFFFFFFFFFFE0h 180002EE4: mov [rax-8], rcx 180002EE8: jmp short loc_180002EFB 180002EEA: call cs:_invalid_parameter_noinfo_noreturn 180002EF0: int 3; Trap to Debugger 180002EF1: test rcx, rcx 180002EF4: jz short loc_180002EFB 180002EF6: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180002EFB: lea r8, [rbp+1]; Size 180002EFF: mov [rbx], rax 180002F02: mov rdx, rdi; Src 180002F05: mov rcx, rax; void * 180002F08: call memcpy 180002F0D: mov [rbx+10h], rbp 180002F11: mov rax, rbx 180002F14: mov [rbx+18h], rsi 180002F18: mov rsi, [rsp+38h+arg_10] 180002F1D: add rsp, 20h 180002F21: pop rdi 180002F22: pop rbp 180002F23: pop rbx 180002F24: retn 180002F25: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180002F2A: db 0CCh ### FUNC 180002F30 - 180002F61 (49 bytes) name=sub_180002F30 180002F30: cmp rdx, r8 180002F33: jz short locret_180002F60 180002F35: mov [rsp+arg_0], rbx 180002F3A: push rdi 180002F3B: sub rsp, 20h 180002F3F: mov rdi, r8 180002F42: mov rbx, rdx 180002F45: mov rcx, rbx 180002F48: call sub_180002CA0 180002F4D: add rbx, 60h ; '`' 180002F51: cmp rbx, rdi 180002F54: jnz short loc_180002F45 180002F56: mov rbx, [rsp+28h+arg_0] 180002F5B: add rsp, 20h 180002F5F: pop rdi 180002F60: retn ### FUNC 180002F70 - 180002FB3 (67 bytes) name=sub_180002F70 180002F70: sub rsp, 28h 180002F74: mov rax, rdx 180002F77: lea rdx, [r8+r8*2] 180002F7B: shl rdx, 5 180002F7F: cmp rdx, 1000h 180002F86: jb short loc_180002FA0 180002F88: mov rcx, [rax-8] 180002F8C: add rdx, 27h ; ''' 180002F90: sub rax, rcx 180002F93: add rax, 0FFFFFFFFFFFFFFF8h 180002F97: cmp rax, 1Fh 180002F9B: ja short loc_180002FAC 180002F9D: mov rax, rcx 180002FA0: mov rcx, rax; Block 180002FA3: add rsp, 28h 180002FA7: jmp j_j_free 180002FAC: call cs:_invalid_parameter_noinfo_noreturn 180002FB2: db 0CCh ### FUNC 180002FC0 - 180002FC8 (8 bytes) name=sub_180002FC0 180002FC0: lea rax, unk_180015FE0 180002FC7: retn ### FUNC 180002FD0 - 1800037B4 (2020 bytes) name=sub_180002FD0 180002FD0: mov [rsp-8+arg_8], rbx 180002FD5: mov [rsp-8+arg_10], rsi 180002FDA: mov [rsp-8+arg_18], rdi 180002FDF: push rbp 180002FE0: push r12 180002FE2: push r13 180002FE4: push r14 180002FE6: push r15 180002FE8: lea rbp, [rsp-6A0h] 180002FF0: sub rsp, 7A0h 180002FF7: mov rax, cs:__security_cookie 180002FFE: xor rax, rsp 180003001: mov [rbp+6C0h+var_30], rax 180003008: mov rsi, rcx 18000300B: mov [rbp+6C0h+var_738], rcx 18000300F: xor r13d, r13d 180003012: mov [rsp+7C0h+var_780], r13d 180003017: xorps xmm0, xmm0 18000301A: movups xmmword ptr [rcx], xmm0 18000301D: mov [rcx], r13 180003020: mov [rcx+8], r13 180003024: mov [rcx+10h], r13 180003028: mov r12d, 1 18000302E: mov [rsp+7C0h+var_780], r12d 180003033: lea r9d, [r13+2]; Flags 180003037: xor r8d, r8d; hwndParent 18000303A: xor edx, edx; Enumerator 18000303C: lea rcx, ClassGuid; ClassGuid 180003043: call cs:SetupDiGetClassDevsW 180003049: mov r14, rax 18000304C: mov r15d, r13d 18000304F: mov [rbp+6C0h+DeviceInfoData.cbSize], 20h ; ' ' 180003056: xor edx, edx; MemberIndex 180003058: mov rcx, rax; DeviceInfoSet 18000305B: lea r8, [rbp+6C0h+DeviceInfoData]; DeviceInfoData 18000305F: call cs:SetupDiEnumDeviceInfo 180003065: mov rcx, r14; DeviceInfoSet 180003068: test eax, eax 18000306A: jz loc_180003775 180003070: inc r15d 180003073: mov [rsp+7C0h+samDesired], 20019h; samDesired 18000307B: mov [rsp+7C0h+KeyType], 1; KeyType 180003083: xor r9d, r9d; HwProfile 180003086: lea r8d, [r9+1]; Scope 18000308A: lea rdx, [rbp+6C0h+DeviceInfoData]; DeviceInfoData 18000308E: call cs:SetupDiOpenDevRegKey 180003094: mov rdi, rax 180003097: mov [rbp+6C0h+cbData], 100h 18000309E: lea rax, [rbp+6C0h+cbData] 1800030A2: mov qword ptr [rsp+7C0h+samDesired], rax; lpcbData 1800030A7: lea rax, [rbp+6C0h+Data] 1800030AE: mov qword ptr [rsp+7C0h+KeyType], rax; lpData 1800030B3: xor r9d, r9d; lpType 1800030B6: xor r8d, r8d; lpReserved 1800030B9: lea rdx, ValueName; "PortName" 1800030C0: mov rcx, rdi; hKey 1800030C3: call cs:RegQueryValueExW 1800030C9: mov ebx, eax 1800030CB: mov rcx, rdi; hKey 1800030CE: call cs:RegCloseKey 1800030D4: test ebx, ebx 1800030D6: jnz loc_180003740 1800030DC: mov eax, [rbp+6C0h+cbData] 1800030DF: dec eax 1800030E1: cmp eax, 0FFh 1800030E6: ja short loc_180003102 1800030E8: add rax, rax 1800030EB: cmp rax, 200h 1800030F1: jnb loc_1800037AE 1800030F7: mov word ptr [rbp+rax+6C0h+Data], r13w 180003100: jmp short loc_18000310A 180003102: mov word ptr [rbp+6C0h+Data], r13w 18000310A: lea rdx, SubStr; "LPT" 180003111: lea rcx, [rbp+6C0h+Data]; Str 180003118: call cs:wcsstr 18000311E: test rax, rax 180003121: jnz loc_180003740 180003127: mov [rbp+6C0h+var_724], r13d 18000312B: lea rax, [rbp+6C0h+var_724] 18000312F: mov [rsp+7C0h+RequiredSize], rax; RequiredSize 180003134: mov [rsp+7C0h+samDesired], 100h; PropertyBufferSize 18000313C: lea rax, [rbp+6C0h+PropertyBuffer] 180003143: mov qword ptr [rsp+7C0h+KeyType], rax; PropertyBuffer 180003148: xor r9d, r9d; PropertyRegDataType 18000314B: lea r8d, [r9+0Ch]; Property 18000314F: lea rdx, [rbp+6C0h+DeviceInfoData]; DeviceInfoData 180003153: mov rcx, r14; DeviceInfoSet 180003156: call cs:SetupDiGetDeviceRegistryPropertyW 18000315C: cmp eax, 1 18000315F: jnz short loc_180003186 180003161: mov eax, [rbp+6C0h+var_724] 180003164: test eax, eax 180003166: jz short loc_180003186 180003168: lea ecx, [rax-1] 18000316B: add rcx, rcx 18000316E: cmp rcx, 200h 180003175: jnb loc_1800037AE 18000317B: mov word ptr [rbp+rcx+6C0h+PropertyBuffer], r13w 180003184: jmp short loc_18000318E 180003186: mov word ptr [rbp+6C0h+PropertyBuffer], r13w 18000318E: mov [rbp+6C0h+var_720], r13d 180003192: lea rax, [rbp+6C0h+var_720] 180003196: mov [rsp+7C0h+RequiredSize], rax; RequiredSize 18000319B: mov [rsp+7C0h+samDesired], 100h; PropertyBufferSize 1800031A3: lea rax, [rbp+6C0h+Src] 1800031AA: mov qword ptr [rsp+7C0h+KeyType], rax; PropertyBuffer 1800031AF: xor r9d, r9d; PropertyRegDataType 1800031B2: lea r8d, [r9+1]; Property 1800031B6: lea rdx, [rbp+6C0h+DeviceInfoData]; DeviceInfoData 1800031BA: mov rcx, r14; DeviceInfoSet 1800031BD: call cs:SetupDiGetDeviceRegistryPropertyW 1800031C3: cmp eax, 1 1800031C6: jnz short loc_1800031ED 1800031C8: mov eax, [rbp+6C0h+var_720] 1800031CB: test eax, eax 1800031CD: jz short loc_1800031ED 1800031CF: lea ecx, [rax-1] 1800031D2: add rcx, rcx 1800031D5: cmp rcx, 200h 1800031DC: jnb loc_1800037AE 1800031E2: mov word ptr [rbp+rcx+6C0h+Src], r13w 1800031EB: jmp short loc_1800031F5 1800031ED: mov word ptr [rbp+6C0h+Src], r13w 1800031F5: mov qword ptr [rsp+7C0h+cchWideChar], r13 1800031FA: mov [rsp+7C0h+var_760], 7 180003203: mov word ptr [rsp+7C0h+lpWideCharStr], r13w 180003209: lea rax, [rbp+6C0h+Data] 180003210: mov r8, 0FFFFFFFFFFFFFFFFh 180003217: nop word ptr [rax+rax+00000000h] 180003220: inc r8 180003223: cmp word ptr [rax+r8*2], 0 180003229: jnz short loc_180003220 18000322B: lea rdx, [rbp+6C0h+Data]; Src 180003232: lea rcx, [rsp+7C0h+lpWideCharStr]; void * 180003237: call sub_180003830 18000323C: nop 18000323D: lea r8, [rsp+7C0h+lpWideCharStr] 180003242: cmp [rsp+7C0h+var_760], 8 180003248: cmovnb r8, [rsp+7C0h+lpWideCharStr]; lpWideCharStr 18000324E: mov [rsp+7C0h+lpUsedDefaultChar], r13; lpUsedDefaultChar 180003253: mov [rsp+7C0h+RequiredSize], r13; lpDefaultChar 180003258: mov [rsp+7C0h+samDesired], r13d; cbMultiByte 18000325D: mov qword ptr [rsp+7C0h+KeyType], r13; lpMultiByteStr 180003262: mov r9d, [rsp+7C0h+cchWideChar]; cchWideChar 180003267: xor edx, edx; dwFlags 180003269: mov ecx, 0FDE9h; CodePage 18000326E: call cs:WideCharToMultiByte 180003274: movsxd rbx, eax 180003277: mov [rbp+6C0h+Size], r13 18000327B: mov [rbp+6C0h+var_6C0], 0Fh 180003283: mov byte ptr [rbp+6C0h+lpMultiByteStr], 0 180003287: mov rdx, rbx; Size 18000328A: lea rcx, [rbp+6C0h+lpMultiByteStr]; void * 18000328E: call sub_1800039A0 180003293: or r12d, 2 180003297: mov [rsp+7C0h+var_780], r12d 18000329C: lea rax, [rbp+6C0h+lpMultiByteStr] 1800032A0: cmp [rbp+6C0h+var_6C0], 10h 1800032A5: cmovnb rax, [rbp+6C0h+lpMultiByteStr] 1800032AA: lea r8, [rsp+7C0h+lpWideCharStr] 1800032AF: cmp [rsp+7C0h+var_760], 8 1800032B5: cmovnb r8, [rsp+7C0h+lpWideCharStr]; lpWideCharStr 1800032BB: mov [rsp+7C0h+lpUsedDefaultChar], r13; lpUsedDefaultChar 1800032C0: mov [rsp+7C0h+RequiredSize], r13; lpDefaultChar 1800032C5: mov [rsp+7C0h+samDesired], ebx; cbMultiByte 1800032C9: mov qword ptr [rsp+7C0h+KeyType], rax; lpMultiByteStr 1800032CE: mov r9d, [rsp+7C0h+cchWideChar]; cchWideChar 1800032D3: xor edx, edx; dwFlags 1800032D5: mov ecx, 0FDE9h; CodePage 1800032DA: call cs:WideCharToMultiByte 1800032E0: nop 1800032E1: mov rdx, [rsp+7C0h+var_760] 1800032E6: cmp rdx, 8 1800032EA: jb short loc_180003323 1800032EC: lea rdx, ds:2[rdx*2] 1800032F4: mov rcx, [rsp+7C0h+lpWideCharStr] 1800032F9: mov rax, rcx 1800032FC: cmp rdx, 1000h 180003303: jb short loc_18000331E 180003305: add rdx, 27h ; ''' 180003309: mov rcx, [rcx-8]; Block 18000330D: sub rax, rcx 180003310: add rax, 0FFFFFFFFFFFFFFF8h 180003314: cmp rax, 1Fh 180003318: ja loc_18000374B 18000331E: call j_j_free 180003323: mov qword ptr [rsp+7C0h+cchWideChar], r13 180003328: mov [rsp+7C0h+var_760], 7 180003331: mov word ptr [rsp+7C0h+lpWideCharStr], r13w 180003337: mov qword ptr [rsp+7C0h+var_748], r13 18000333C: mov [rbp+6C0h+var_740], 7 180003344: mov word ptr [rsp+7C0h+var_758], r13w 18000334A: lea rax, [rbp+6C0h+PropertyBuffer] 180003351: mov r8, 0FFFFFFFFFFFFFFFFh 180003358: nop dword ptr [rax+rax+00000000h] 180003360: inc r8 180003363: cmp word ptr [rax+r8*2], 0 180003369: jnz short loc_180003360 18000336B: lea rdx, [rbp+6C0h+PropertyBuffer]; Src 180003372: lea rcx, [rsp+7C0h+var_758]; void * 180003377: call sub_180003830 18000337C: nop 18000337D: lea r8, [rsp+7C0h+var_758] 180003382: cmp [rbp+6C0h+var_740], 8 180003387: cmovnb r8, [rsp+7C0h+var_758]; lpWideCharStr 18000338D: mov [rsp+7C0h+lpUsedDefaultChar], r13; lpUsedDefaultChar 180003392: mov [rsp+7C0h+RequiredSize], r13; lpDefaultChar 180003397: mov [rsp+7C0h+samDesired], r13d; cbMultiByte 18000339C: mov qword ptr [rsp+7C0h+KeyType], r13; lpMultiByteStr 1800033A1: mov r9d, [rsp+7C0h+var_748]; cchWideChar 1800033A6: xor edx, edx; dwFlags 1800033A8: mov ecx, 0FDE9h; CodePage 1800033AD: call cs:WideCharToMultiByte 1800033B3: movsxd rbx, eax 1800033B6: mov [rbp+6C0h+var_6E8], r13 1800033BA: mov [rbp+6C0h+var_6E0], 0Fh 1800033C2: mov byte ptr [rbp+6C0h+var_6F8], 0 1800033C6: mov rdx, rbx; Size 1800033C9: lea rcx, [rbp+6C0h+var_6F8]; void * 1800033CD: call sub_1800039A0 1800033D2: or r12d, 4 1800033D6: mov [rsp+7C0h+var_780], r12d 1800033DB: lea rax, [rbp+6C0h+var_6F8] 1800033DF: cmp [rbp+6C0h+var_6E0], 10h 1800033E4: cmovnb rax, [rbp+6C0h+var_6F8] 1800033E9: lea r8, [rsp+7C0h+var_758] 1800033EE: cmp [rbp+6C0h+var_740], 8 1800033F3: cmovnb r8, [rsp+7C0h+var_758]; lpWideCharStr 1800033F9: mov [rsp+7C0h+lpUsedDefaultChar], r13; lpUsedDefaultChar 1800033FE: mov [rsp+7C0h+RequiredSize], r13; lpDefaultChar 180003403: mov [rsp+7C0h+samDesired], ebx; cbMultiByte 180003407: mov qword ptr [rsp+7C0h+KeyType], rax; lpMultiByteStr 18000340C: mov r9d, [rsp+7C0h+var_748]; cchWideChar 180003411: xor edx, edx; dwFlags 180003413: mov ecx, 0FDE9h; CodePage 180003418: call cs:WideCharToMultiByte 18000341E: nop 18000341F: mov rdx, [rbp+6C0h+var_740] 180003423: cmp rdx, 8 180003427: jb short loc_180003460 180003429: lea rdx, ds:2[rdx*2] 180003431: mov rcx, [rsp+7C0h+var_758] 180003436: mov rax, rcx 180003439: cmp rdx, 1000h 180003440: jb short loc_18000345B 180003442: add rdx, 27h ; ''' 180003446: mov rcx, [rcx-8]; Block 18000344A: sub rax, rcx 18000344D: add rax, 0FFFFFFFFFFFFFFF8h 180003451: cmp rax, 1Fh 180003455: ja loc_180003752 18000345B: call j_j_free 180003460: mov qword ptr [rsp+7C0h+var_748], r13 180003465: mov [rbp+6C0h+var_740], 7 18000346D: mov word ptr [rsp+7C0h+var_758], r13w 180003473: mov qword ptr [rsp+7C0h+cchWideChar], r13 180003478: mov [rsp+7C0h+var_760], 7 180003481: mov word ptr [rsp+7C0h+lpWideCharStr], r13w 180003487: lea rax, [rbp+6C0h+Src] 18000348E: mov r8, 0FFFFFFFFFFFFFFFFh 180003495: inc r8 180003498: cmp word ptr [rax+r8*2], 0 18000349E: jnz short loc_180003495 1800034A0: lea rdx, [rbp+6C0h+Src]; Src 1800034A7: lea rcx, [rsp+7C0h+lpWideCharStr]; void * 1800034AC: call sub_180003830 1800034B1: nop 1800034B2: lea r8, [rsp+7C0h+lpWideCharStr] 1800034B7: cmp [rsp+7C0h+var_760], 8 1800034BD: cmovnb r8, [rsp+7C0h+lpWideCharStr]; lpWideCharStr 1800034C3: mov [rsp+7C0h+lpUsedDefaultChar], r13; lpUsedDefaultChar 1800034C8: mov [rsp+7C0h+RequiredSize], r13; lpDefaultChar 1800034CD: mov [rsp+7C0h+samDesired], r13d; cbMultiByte 1800034D2: mov qword ptr [rsp+7C0h+KeyType], r13; lpMultiByteStr 1800034D7: mov r9d, [rsp+7C0h+cchWideChar]; cchWideChar 1800034DC: xor edx, edx; dwFlags 1800034DE: mov ecx, 0FDE9h; CodePage 1800034E3: call cs:WideCharToMultiByte 1800034E9: movsxd rbx, eax 1800034EC: mov [rbp+6C0h+var_708], r13 1800034F0: mov [rbp+6C0h+var_700], 0Fh 1800034F8: mov byte ptr [rbp+6C0h+var_718], 0 1800034FC: mov rdx, rbx; Size 1800034FF: lea rcx, [rbp+6C0h+var_718]; void * 180003503: call sub_1800039A0 180003508: or r12d, 8 18000350C: mov [rsp+7C0h+var_780], r12d 180003511: lea rax, [rbp+6C0h+var_718] 180003515: cmp [rbp+6C0h+var_700], 10h 18000351A: cmovnb rax, [rbp+6C0h+var_718] 18000351F: lea r8, [rsp+7C0h+lpWideCharStr] 180003524: cmp [rsp+7C0h+var_760], 8 18000352A: cmovnb r8, [rsp+7C0h+lpWideCharStr]; lpWideCharStr 180003530: mov [rsp+7C0h+lpUsedDefaultChar], r13; lpUsedDefaultChar 180003535: mov [rsp+7C0h+RequiredSize], r13; lpDefaultChar 18000353A: mov [rsp+7C0h+samDesired], ebx; cbMultiByte 18000353E: mov qword ptr [rsp+7C0h+KeyType], rax; lpMultiByteStr 180003543: mov r9d, [rsp+7C0h+cchWideChar]; cchWideChar 180003548: xor edx, edx; dwFlags 18000354A: mov ecx, 0FDE9h; CodePage 18000354F: call cs:WideCharToMultiByte 180003555: nop 180003556: mov rdx, [rsp+7C0h+var_760] 18000355B: cmp rdx, 8 18000355F: jb short loc_180003598 180003561: lea rdx, ds:2[rdx*2] 180003569: mov rcx, [rsp+7C0h+lpWideCharStr] 18000356E: mov rax, rcx 180003571: cmp rdx, 1000h 180003578: jb short loc_180003593 18000357A: add rdx, 27h ; ''' 18000357E: mov rcx, [rcx-8]; Block 180003582: sub rax, rcx 180003585: add rax, 0FFFFFFFFFFFFFFF8h 180003589: cmp rax, 1Fh 18000358D: ja loc_180003759 180003593: call j_j_free 180003598: mov [rbp+6C0h+var_680], r13 18000359C: mov [rbp+6C0h+var_678], 0Fh 1800035A4: mov [rbp+6C0h+var_690], 0 1800035A8: mov [rbp+6C0h+var_660], r13 1800035AC: mov [rbp+6C0h+var_658], 0Fh 1800035B4: mov [rbp+6C0h+var_670], 0 1800035B8: mov [rbp+6C0h+var_640], r13 1800035BF: mov [rbp+6C0h+var_638], 0Fh 1800035CA: mov [rbp+6C0h+var_650], 0 1800035CE: lea rdx, [rbp+6C0h+lpMultiByteStr] 1800035D2: cmp [rbp+6C0h+var_6C0], 10h 1800035D7: cmovnb rdx, [rbp+6C0h+lpMultiByteStr]; Src 1800035DC: mov r8, [rbp+6C0h+Size]; Size 1800035E0: lea rcx, [rbp+6C0h+var_690]; void * 1800035E4: call sub_180002610 1800035E9: lea rdx, [rbp+6C0h+var_6F8] 1800035ED: cmp [rbp+6C0h+var_6E0], 10h 1800035F2: cmovnb rdx, [rbp+6C0h+var_6F8]; Src 1800035F7: mov r8, [rbp+6C0h+var_6E8]; Size 1800035FB: lea rcx, [rbp+6C0h+var_670]; void * 1800035FF: call sub_180002610 180003604: lea rdx, [rbp+6C0h+var_718] 180003608: cmp [rbp+6C0h+var_700], 10h 18000360D: cmovnb rdx, [rbp+6C0h+var_718]; Src 180003612: mov r8, [rbp+6C0h+var_708]; Size 180003616: lea rcx, [rbp+6C0h+var_650]; void * 18000361A: call sub_180002610 18000361F: mov rbx, [rsi+8] 180003623: cmp rbx, [rsi+10h] 180003627: jz short loc_18000365D 180003629: mov [rbp+6C0h+var_730], rbx 18000362D: lea rdx, [rbp+6C0h+var_690] 180003631: mov rcx, rbx 180003634: call sub_180002E60 180003639: nop 18000363A: lea rcx, [rbx+20h] 18000363E: lea rdx, [rbp+6C0h+var_670] 180003642: call sub_180002E60 180003647: nop 180003648: lea rcx, [rbx+40h] 18000364C: lea rdx, [rbp+6C0h+var_650] 180003650: call sub_180002E60 180003655: nop 180003656: add qword ptr [rsi+8], 60h ; '`' 18000365B: jmp short loc_18000366D 18000365D: lea r8, [rbp+6C0h+var_690] 180003661: mov rdx, rbx 180003664: mov rcx, rsi 180003667: call sub_180003B00 18000366C: nop 18000366D: lea rcx, [rbp+6C0h+var_690] 180003671: call sub_180002CA0 180003676: nop 180003677: mov rdx, [rbp+6C0h+var_700] 18000367B: cmp rdx, 10h 18000367F: jb short loc_1800036B2 180003681: inc rdx 180003684: mov rcx, [rbp+6C0h+var_718] 180003688: mov rax, rcx 18000368B: cmp rdx, 1000h 180003692: jb short loc_1800036AD 180003694: add rdx, 27h ; ''' 180003698: mov rcx, [rcx-8]; Block 18000369C: sub rax, rcx 18000369F: add rax, 0FFFFFFFFFFFFFFF8h 1800036A3: cmp rax, 1Fh 1800036A7: ja loc_180003760 1800036AD: call j_j_free 1800036B2: mov [rbp+6C0h+var_708], r13 1800036B6: mov [rbp+6C0h+var_700], 0Fh 1800036BE: mov byte ptr [rbp+6C0h+var_718], 0 1800036C2: mov rdx, [rbp+6C0h+var_6E0] 1800036C6: cmp rdx, 10h 1800036CA: jb short loc_1800036F9 1800036CC: inc rdx 1800036CF: mov rcx, [rbp+6C0h+var_6F8] 1800036D3: mov rax, rcx 1800036D6: cmp rdx, 1000h 1800036DD: jb short loc_1800036F4 1800036DF: add rdx, 27h ; ''' 1800036E3: mov rcx, [rcx-8]; Block 1800036E7: sub rax, rcx 1800036EA: add rax, 0FFFFFFFFFFFFFFF8h 1800036EE: cmp rax, 1Fh 1800036F2: ja short loc_180003767 1800036F4: call j_j_free 1800036F9: mov [rbp+6C0h+var_6E8], r13 1800036FD: mov [rbp+6C0h+var_6E0], 0Fh 180003705: mov byte ptr [rbp+6C0h+var_6F8], 0 180003709: mov rdx, [rbp+6C0h+var_6C0] 18000370D: cmp rdx, 10h 180003711: jb short loc_180003740 180003713: inc rdx 180003716: mov rcx, [rbp+6C0h+lpMultiByteStr] 18000371A: mov rax, rcx 18000371D: cmp rdx, 1000h 180003724: jb short loc_18000373B 180003726: add rdx, 27h ; ''' 18000372A: mov rcx, [rcx-8]; Block 18000372E: sub rax, rcx 180003731: add rax, 0FFFFFFFFFFFFFFF8h 180003735: cmp rax, 1Fh 180003739: ja short loc_18000376E 18000373B: call j_j_free 180003740: mov edx, r15d 180003743: mov rcx, r14 180003746: jmp loc_18000305B 18000374B: call cs:_invalid_parameter_noinfo_noreturn 180003751: nop 180003752: call cs:_invalid_parameter_noinfo_noreturn 180003758: nop 180003759: call cs:_invalid_parameter_noinfo_noreturn 18000375F: nop 180003760: call cs:_invalid_parameter_noinfo_noreturn 180003766: nop 180003767: call cs:_invalid_parameter_noinfo_noreturn 18000376D: nop 18000376E: call cs:_invalid_parameter_noinfo_noreturn 180003774: int 3; Trap to Debugger 180003775: call cs:SetupDiDestroyDeviceInfoList 18000377B: mov rax, rsi 18000377E: mov rcx, [rbp+6C0h+var_30] 180003785: xor rcx, rsp; StackCookie 180003788: call __security_check_cookie 18000378D: lea r11, [rsp+7C0h+var_20] 180003795: mov rbx, [r11+38h] 180003799: mov rsi, [r11+40h] 18000379D: mov rdi, [r11+48h] 1800037A1: mov rsp, r11 1800037A4: pop r15 1800037A6: pop r14 1800037A8: pop r13 1800037AA: pop r12 1800037AC: pop rbp 1800037AD: retn 1800037AE: call __report_rangecheckfailure 1800037B3: db 0CCh ### FUNC 1800037C0 - 180003822 (98 bytes) name=unknown_libname_18 1800037C0: push rbx 1800037C2: sub rsp, 20h 1800037C6: mov rdx, [rcx+18h] 1800037CA: mov rbx, rcx 1800037CD: cmp rdx, 8 1800037D1: jb short loc_180003804 1800037D3: mov rcx, [rcx] 1800037D6: lea rdx, ds:2[rdx*2] 1800037DE: cmp rdx, 1000h 1800037E5: jb short loc_1800037FF 1800037E7: mov r8, [rcx-8] 1800037EB: add rdx, 27h ; ''' 1800037EF: sub rcx, r8 1800037F2: lea rax, [rcx-8] 1800037F6: cmp rax, 1Fh 1800037FA: ja short loc_18000381B 1800037FC: mov rcx, r8; Block 1800037FF: call j_j_free 180003804: xor eax, eax 180003806: mov qword ptr [rbx+18h], 7 18000380E: mov [rbx+10h], rax 180003812: mov [rbx], ax 180003815: add rsp, 20h 180003819: pop rbx 18000381A: retn 18000381B: call cs:_invalid_parameter_noinfo_noreturn 180003821: db 0CCh ### FUNC 180003830 - 180003999 (361 bytes) name=sub_180003830 180003830: push rbx 180003832: push rbp 180003833: push rsi 180003834: push rdi 180003835: push r12 180003837: push r14 180003839: push r15 18000383B: sub rsp, 20h 18000383F: mov rbp, [rcx+18h] 180003843: mov r14, r8 180003846: mov r12, rdx 180003849: mov rdi, rcx 18000384C: cmp r8, rbp 18000384F: ja short loc_18000388A 180003851: mov rsi, rcx 180003854: cmp rbp, 8 180003858: jb short loc_18000385D 18000385A: mov rsi, [rcx] 18000385D: lea rbx, [r8+r8] 180003861: mov [rcx+10h], r14 180003865: mov r8, rbx; Size 180003868: mov rcx, rsi; void * 18000386B: call memmove 180003870: xor r15d, r15d 180003873: mov [rbx+rsi], r15w 180003878: mov rax, rdi 18000387B: add rsp, 20h 18000387F: pop r15 180003881: pop r14 180003883: pop r12 180003885: pop rdi 180003886: pop rsi 180003887: pop rbp 180003888: pop rbx 180003889: retn 18000388A: mov rbx, 7FFFFFFFFFFFFFFEh 180003894: cmp r14, rbx 180003897: ja loc_18000398D 18000389D: mov rcx, r14 1800038A0: or rcx, 7 1800038A4: cmp rcx, rbx 1800038A7: ja short loc_1800038C8 1800038A9: mov rdx, rbp 1800038AC: mov rax, rbx 1800038AF: shr rdx, 1 1800038B2: sub rax, rdx 1800038B5: cmp rbp, rax 1800038B8: ja short loc_1800038C8 1800038BA: lea rax, [rdx+rbp] 1800038BE: mov rbx, rcx 1800038C1: cmp rcx, rax 1800038C4: cmovb rbx, rax 1800038C8: lea rcx, [rbx+1] 1800038CC: mov rax, 7FFFFFFFFFFFFFFFh 1800038D6: cmp rcx, rax 1800038D9: ja loc_180003993 1800038DF: add rcx, rcx; Size 1800038E2: xor r15d, r15d 1800038E5: cmp rcx, 1000h 1800038EC: jb short loc_180003916 1800038EE: lea rax, [rcx+27h] 1800038F2: cmp rax, rcx 1800038F5: jbe loc_180003993 1800038FB: mov rcx, rax; Size 1800038FE: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180003903: test rax, rax 180003906: jz short loc_180003986 180003908: lea rsi, [rax+27h] 18000390C: and rsi, 0FFFFFFFFFFFFFFE0h 180003910: mov [rsi-8], rax 180003914: jmp short loc_180003928 180003916: test rcx, rcx 180003919: jz short loc_180003925 18000391B: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180003920: mov rsi, rax 180003923: jmp short loc_180003928 180003925: mov rsi, r15 180003928: mov [rdi+18h], rbx 18000392C: mov rdx, r12; Src 18000392F: lea rbx, [r14+r14] 180003933: mov [rdi+10h], r14 180003937: mov r8, rbx; Size 18000393A: mov rcx, rsi; void * 18000393D: call memcpy 180003942: mov [rbx+rsi], r15w 180003947: cmp rbp, 8 18000394B: jb short loc_18000397E 18000394D: mov rcx, [rdi] 180003950: lea rdx, ds:2[rbp*2] 180003958: cmp rdx, 1000h 18000395F: jb short loc_180003979 180003961: mov r8, [rcx-8] 180003965: add rdx, 27h ; ''' 180003969: sub rcx, r8 18000396C: lea rax, [rcx-8] 180003970: cmp rax, 1Fh 180003974: ja short loc_180003986 180003976: mov rcx, r8; Block 180003979: call j_j_free 18000397E: mov [rdi], rsi 180003981: jmp loc_180003878 180003986: call cs:_invalid_parameter_noinfo_noreturn 18000398C: int 3; Trap to Debugger 18000398D: call sub_180002B40 180003992: db 0CCh 180003993: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180003998: db 0CCh ### FUNC 1800039A0 - 180003B00 (352 bytes) name=sub_1800039A0 1800039A0: mov [rsp+arg_18], rbx 1800039A5: push rbp 1800039A6: push rsi 1800039A7: push rdi 1800039A8: sub rsp, 20h 1800039AC: mov rbp, [rcx+18h] 1800039B0: mov rsi, rdx 1800039B3: mov rbx, rcx 1800039B6: cmp rdx, rbp 1800039B9: ja short loc_1800039EC 1800039BB: mov rdi, rcx 1800039BE: cmp rbp, 10h 1800039C2: jb short loc_1800039C7 1800039C4: mov rdi, [rcx] 1800039C7: mov [rcx+10h], rsi 1800039CB: mov r8, rsi; Size 1800039CE: mov rcx, rdi; void * 1800039D1: xor edx, edx; Val 1800039D3: call memset 1800039D8: mov rax, rbx 1800039DB: mov byte ptr [rsi+rdi], 0 1800039DF: mov rbx, [rsp+38h+arg_18] 1800039E4: add rsp, 20h 1800039E8: pop rdi 1800039E9: pop rsi 1800039EA: pop rbp 1800039EB: retn 1800039EC: mov rdi, 7FFFFFFFFFFFFFFFh 1800039F6: cmp rsi, rdi 1800039F9: ja loc_180003AFA 1800039FF: mov rcx, rsi 180003A02: or rcx, 0Fh 180003A06: cmp rcx, rdi 180003A09: ja short loc_180003A2A 180003A0B: mov rdx, rbp 180003A0E: mov rax, rdi 180003A11: shr rdx, 1 180003A14: sub rax, rdx 180003A17: cmp rbp, rax 180003A1A: ja short loc_180003A2A 180003A1C: lea rax, [rdx+rbp] 180003A20: mov rdi, rcx 180003A23: cmp rcx, rax 180003A26: cmovb rdi, rax 180003A2A: mov rcx, rdi 180003A2D: mov [rsp+38h+arg_10], r14 180003A32: add rcx, 1 180003A36: mov rax, 0FFFFFFFFFFFFFFFFh 180003A3D: cmovb rcx, rax; Size 180003A41: cmp rcx, 1000h 180003A48: jb short loc_180003A76 180003A4A: lea rax, [rcx+27h] 180003A4E: cmp rax, rcx 180003A51: jbe loc_180003AF4 180003A57: mov rcx, rax; Size 180003A5A: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180003A5F: test rax, rax 180003A62: jz loc_180003AED 180003A68: lea r14, [rax+27h] 180003A6C: and r14, 0FFFFFFFFFFFFFFE0h 180003A70: mov [r14-8], rax 180003A74: jmp short loc_180003A88 180003A76: test rcx, rcx 180003A79: jz short loc_180003A85 180003A7B: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180003A80: mov r14, rax 180003A83: jmp short loc_180003A88 180003A85: xor r14d, r14d 180003A88: mov r8, rsi; Size 180003A8B: mov [rbx+10h], rsi 180003A8F: xor edx, edx; Val 180003A91: mov [rbx+18h], rdi 180003A95: mov rcx, r14; void * 180003A98: call memset 180003A9D: mov byte ptr [r14+rsi], 0 180003AA2: cmp rbp, 10h 180003AA6: jb short loc_180003AD5 180003AA8: mov rcx, [rbx] 180003AAB: lea rdx, [rbp+1] 180003AAF: cmp rdx, 1000h 180003AB6: jb short loc_180003AD0 180003AB8: mov r8, [rcx-8] 180003ABC: add rdx, 27h ; ''' 180003AC0: sub rcx, r8 180003AC3: lea rax, [rcx-8] 180003AC7: cmp rax, 1Fh 180003ACB: ja short loc_180003AED 180003ACD: mov rcx, r8; Block 180003AD0: call j_j_free 180003AD5: mov [rbx], r14 180003AD8: mov rax, rbx 180003ADB: mov r14, [rsp+38h+arg_10] 180003AE0: mov rbx, [rsp+38h+arg_18] 180003AE5: add rsp, 20h 180003AE9: pop rdi 180003AEA: pop rsi 180003AEB: pop rbp 180003AEC: retn 180003AED: call cs:_invalid_parameter_noinfo_noreturn 180003AF3: int 3; Trap to Debugger 180003AF4: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180003AF9: align 2 180003AFA: call sub_180002B40 180003AFF: align 20h ### FUNC 180003B00 - 180003D47 (583 bytes) name=sub_180003B00 180003B00: push rbx 180003B02: push rsi 180003B03: push rdi 180003B04: push r12 180003B06: push r13 180003B08: push r14 180003B0A: push r15 180003B0C: sub rsp, 50h 180003B10: mov r15, r8 180003B13: mov [rsp+88h+var_50], rdx 180003B18: mov rsi, rcx 180003B1B: mov r8, [rcx] 180003B1E: sub rdx, r8 180003B21: mov r10, 2AAAAAAAAAAAAAABh 180003B2B: mov rax, r10 180003B2E: imul rdx 180003B31: mov rbx, rdx 180003B34: sar rbx, 4 180003B38: mov rax, rbx 180003B3B: shr rax, 3Fh 180003B3F: add rbx, rax 180003B42: mov rcx, [rcx+8] 180003B46: sub rcx, r8 180003B49: mov rax, r10 180003B4C: imul rcx 180003B4F: sar rdx, 4 180003B53: mov rax, rdx 180003B56: shr rax, 3Fh 180003B5A: add rdx, rax 180003B5D: mov r9, 2AAAAAAAAAAAAAAh 180003B67: cmp rdx, r9 180003B6A: jz loc_180003D41 180003B70: lea r12, [rdx+1] 180003B74: mov rcx, [rsi+10h] 180003B78: sub rcx, r8 180003B7B: mov rax, r10 180003B7E: imul rcx 180003B81: sar rdx, 4 180003B85: mov rax, rdx 180003B88: shr rax, 3Fh 180003B8C: add rdx, rax 180003B8F: mov rcx, rdx 180003B92: shr rcx, 1 180003B95: mov rax, r9 180003B98: sub rax, rcx 180003B9B: cmp rdx, rax 180003B9E: jbe short loc_180003BA5 180003BA0: mov rax, r12 180003BA3: jmp short loc_180003BB0 180003BA5: lea rax, [rcx+rdx] 180003BA9: cmp rax, r12 180003BAC: cmovb rax, r12 180003BB0: mov [rsp+88h+var_58], rax 180003BB5: cmp rax, r9 180003BB8: ja loc_180003D3B 180003BBE: lea r14, [rax+rax*2] 180003BC2: shl r14, 5 180003BC6: cmp r14, 1000h 180003BCD: jb short loc_180003BF8 180003BCF: lea rcx, [r14+27h]; Size 180003BD3: cmp rcx, r14 180003BD6: jbe loc_180003D3B 180003BDC: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180003BE1: test rax, rax 180003BE4: jz loc_180003D34 180003BEA: lea rdi, [rax+27h] 180003BEE: and rdi, 0FFFFFFFFFFFFFFE0h 180003BF2: mov [rdi-8], rax 180003BF6: jmp short loc_180003C0C 180003BF8: test r14, r14 180003BFB: jz short loc_180003C0A 180003BFD: mov rcx, r14; Size 180003C00: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180003C05: mov rdi, rax 180003C08: jmp short loc_180003C0C 180003C0A: xor edi, edi 180003C0C: mov [rsp+88h+var_60], rdi 180003C11: lea r13, [rbx+rbx*2] 180003C15: shl r13, 5 180003C19: add r13, rdi 180003C1C: lea rbx, [r13+60h] 180003C20: mov [rsp+88h+var_48], rbx 180003C25: mov [rsp+88h+var_68], rbx 180003C2A: mov [rsp+88h+var_40], r13 180003C2F: mov rdx, r15 180003C32: mov rcx, r13 180003C35: call sub_180002E60 180003C3A: nop 180003C3B: lea rdx, [r15+20h] 180003C3F: lea rcx, [r13+20h] 180003C43: call sub_180002E60 180003C48: nop 180003C49: lea rdx, [r15+40h] 180003C4D: lea rcx, [r13+40h] 180003C51: call sub_180002E60 180003C56: nop 180003C57: mov [rsp+88h+var_68], r13 180003C5C: mov rdx, [rsi+8] 180003C60: mov rcx, [rsi] 180003C63: mov r11, [rsp+88h+var_50] 180003C68: mov r8, rdi 180003C6B: cmp r11, rdx 180003C6E: jz short loc_180003C87 180003C70: mov rdx, r11 180003C73: call sub_180003D50 180003C78: mov [rsp+88h+var_68], rdi 180003C7D: mov r8, rbx 180003C80: mov rdx, [rsi+8] 180003C84: mov rcx, r11 180003C87: call sub_180003D50 180003C8C: nop 180003C8D: mov rbx, [rsi] 180003C90: test rbx, rbx 180003C93: jz short loc_180003D07 180003C95: mov r15, [rsi+8] 180003C99: cmp rbx, r15 180003C9C: jz short loc_180003CB4 180003C9E: xchg ax, ax 180003CA0: mov rcx, rbx 180003CA3: call sub_180002CA0 180003CA8: add rbx, 60h ; '`' 180003CAC: cmp rbx, r15 180003CAF: jnz short loc_180003CA0 180003CB1: mov rbx, [rsi] 180003CB4: mov rcx, [rsi+10h] 180003CB8: sub rcx, rbx 180003CBB: mov rax, 2AAAAAAAAAAAAAABh 180003CC5: imul rcx 180003CC8: sar rdx, 4 180003CCC: mov rax, rdx 180003CCF: shr rax, 3Fh 180003CD3: add rdx, rax 180003CD6: lea rdx, [rdx+rdx*2] 180003CDA: shl rdx, 5 180003CDE: cmp rdx, 1000h 180003CE5: jb short loc_180003CFF 180003CE7: add rdx, 27h ; ''' 180003CEB: mov rax, [rbx-8] 180003CEF: sub rbx, rax 180003CF2: add rbx, 0FFFFFFFFFFFFFFF8h 180003CF6: cmp rbx, 1Fh 180003CFA: ja short loc_180003D34 180003CFC: mov rbx, rax 180003CFF: mov rcx, rbx; Block 180003D02: call j_j_free 180003D07: mov [rsi], rdi 180003D0A: lea rcx, [r12+r12*2] 180003D0E: shl rcx, 5 180003D12: add rcx, rdi 180003D15: mov [rsi+8], rcx 180003D19: lea rcx, [r14+rdi] 180003D1D: mov [rsi+10h], rcx 180003D21: mov rax, r13 180003D24: add rsp, 50h 180003D28: pop r15 180003D2A: pop r14 180003D2C: pop r13 180003D2E: pop r12 180003D30: pop rdi 180003D31: pop rsi 180003D32: pop rbx 180003D33: retn 180003D34: call cs:_invalid_parameter_noinfo_noreturn 180003D3A: int 3; Trap to Debugger 180003D3B: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180003D40: db 0CCh 180003D41: call sub_180002B80 180003D46: db 0CCh ### FUNC 180003D50 - 180003E1A (202 bytes) name=sub_180003D50 180003D50: mov rax, r8 180003D53: cmp rcx, rdx 180003D56: jz locret_180003E19 180003D5C: mov r9, rax 180003D5F: lea r8, [rcx+38h] 180003D63: sub r9, rcx 180003D66: xor r10d, r10d 180003D69: nop dword ptr [rax+00000000h] 180003D70: mov [r9+r8-28h], r10 180003D75: mov [r9+r8-20h], r10 180003D7A: movups xmm0, xmmword ptr [r8-38h] 180003D7F: lea r8, [r8+60h] 180003D83: lea rcx, [r8-38h] 180003D87: movups xmmword ptr [rax], xmm0 180003D8A: movups xmm1, xmmword ptr [r8-88h] 180003D92: movups xmmword ptr [rax+10h], xmm1 180003D96: mov [r8-88h], r10 180003D9D: add rax, 60h ; '`' 180003DA1: mov qword ptr [r8-80h], 0Fh 180003DA9: mov [r8-98h], r10b 180003DB0: mov [r9+r8-68h], r10 180003DB5: mov [r9+r8-60h], r10 180003DBA: movups xmm0, xmmword ptr [r8-78h] 180003DBF: movups xmmword ptr [r9+r8-78h], xmm0 180003DC5: movups xmm1, xmmword ptr [r8-68h] 180003DCA: movups xmmword ptr [r9+r8-68h], xmm1 180003DD0: mov [r8-68h], r10 180003DD4: mov qword ptr [r8-60h], 0Fh 180003DDC: mov [r8-78h], r10b 180003DE0: mov [r9+r8-48h], r10 180003DE5: mov [r9+r8-40h], r10 180003DEA: movups xmm0, xmmword ptr [r8-58h] 180003DEF: movups xmmword ptr [r9+r8-58h], xmm0 180003DF5: movups xmm1, xmmword ptr [r8-48h] 180003DFA: movups xmmword ptr [r9+r8-48h], xmm1 180003E00: mov [r8-48h], r10 180003E04: mov qword ptr [r8-40h], 0Fh 180003E0C: mov [r8-58h], r10b 180003E10: cmp rcx, rdx 180003E13: jnz loc_180003D70 180003E19: retn ### FUNC 180003E20 - 180003E84 (100 bytes) name=sub_180003E20 180003E20: push rbx 180003E22: sub rsp, 40h 180003E26: mov rax, cs:__security_cookie 180003E2D: xor rax, rsp 180003E30: mov [rsp+48h+var_18], rax 180003E35: mov r8, rdx 180003E38: mov [rsp+48h+var_20], 1 180003E3D: lea rdx, [rcx+8] 180003E41: mov [rsp+48h+var_28], r8 180003E46: lea rax, off_18000F6D8 180003E4D: mov rbx, rcx 180003E50: mov [rcx], rax 180003E53: xorps xmm0, xmm0 180003E56: lea rcx, [rsp+48h+var_28] 180003E5B: movups xmmword ptr [rdx], xmm0 180003E5E: call cs:__std_exception_copy 180003E64: lea rax, off_18000FC50 180003E6B: mov [rbx], rax 180003E6E: mov rax, rbx 180003E71: mov rcx, [rsp+48h+var_18] 180003E76: xor rcx, rsp; StackCookie 180003E79: call __security_check_cookie 180003E7E: add rsp, 40h 180003E82: pop rbx 180003E83: retn ### FUNC 180003E90 - 18000412D (669 bytes) name=sub_180003E90 180003E90: mov [rsp-8+arg_8], rbx 180003E95: mov [rsp-8+arg_10], rsi 180003E9A: push rbp 180003E9B: push rdi 180003E9C: push r14 180003E9E: lea rbp, [rsp-70h] 180003EA3: sub rsp, 170h 180003EAA: mov rax, cs:__security_cookie 180003EB1: xor rax, rsp 180003EB4: mov [rbp+80h+var_20], rax 180003EB8: mov rdi, rcx 180003EBB: mov [rsp+180h+var_138], rcx 180003EC0: xor esi, esi 180003EC2: mov [rsp+180h+var_160], esi 180003EC6: xorps xmm0, xmm0 180003EC9: movups xmmword ptr [rcx+8], xmm0 180003ECD: lea rax, off_18000FC90 180003ED4: mov [rcx], rax 180003ED7: lea rbx, [rcx+18h] 180003EDB: mov [rbx+10h], rsi 180003EDF: mov qword ptr [rbx+18h], 0Fh 180003EE7: mov [rbx], sil 180003EEA: xor edx, edx; Val 180003EEC: mov r8d, 0F8h; Size 180003EF2: lea rcx, [rsp+180h+var_120]; void * 180003EF7: call memset 180003EFC: lea rax, unk_18000FCB8 180003F03: mov [rsp+180h+var_120], rax 180003F08: lea rax, unk_18000FBA8 180003F0F: mov [rsp+180h+var_110], rax 180003F14: lea rcx, [rbp+80h+var_88] 180003F18: call cs:??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ; std::basic_ios>::basic_ios>(void) 180003F1E: nop 180003F1F: mov [rsp+180h+var_160], 1 180003F27: xor r8d, r8d 180003F2A: lea rdx, [rsp+180h+var_108] 180003F2F: lea rcx, [rsp+180h+var_120] 180003F34: call cs:??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z; std::basic_iostream>::basic_iostream>(std::basic_streambuf> *) 180003F3A: nop 180003F3B: mov rax, [rsp+180h+var_120] 180003F40: movsxd rcx, dword ptr [rax+4] 180003F44: lea r14, off_18000FC80 180003F4B: mov [rsp+rcx+180h+var_120], r14 180003F50: mov rax, [rsp+180h+var_120] 180003F55: movsxd rcx, dword ptr [rax+4] 180003F59: lea edx, [rcx-98h] 180003F5F: mov [rsp+rcx+180h+var_124], edx 180003F63: lea rcx, [rsp+180h+var_108] 180003F68: call cs:??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ; std::basic_streambuf>::basic_streambuf>(void) 180003F6E: lea rax, off_18000FBD0 180003F75: mov [rsp+180h+var_108], rax 180003F7A: mov [rbp+80h+var_A0], rsi 180003F7E: mov [rbp+80h+var_98], esi 180003F81: lea rdx, aSerialexceptio; "SerialException " 180003F88: lea rcx, [rsp+180h+var_110] 180003F8D: call sub_180006310 180003F92: mov rcx, rax 180003F95: lea rdx, aSerialPortAlre; "Serial port already open." 180003F9C: call sub_180006310 180003FA1: mov rcx, rax 180003FA4: lea rdx, aFailed; " failed." 180003FAB: call sub_180006310 180003FB0: nop 180003FB1: mov qword ptr [rsp+180h+var_148], rsi 180003FB6: mov edx, 0Fh 180003FBB: mov qword ptr [rsp+180h+var_148+8], rdx 180003FC0: mov byte ptr [rsp+180h+Block], sil 180003FC5: mov [rsp+180h+var_160], 5 180003FCD: mov ecx, [rbp+80h+var_98] 180003FD0: test cl, 2 180003FD3: jnz short loc_180003FF6 180003FD5: mov rax, [rbp+80h+var_C8] 180003FD9: mov r8, [rax] 180003FDC: test r8, r8 180003FDF: jz short loc_180003FF6 180003FE1: mov rax, [rbp+80h+var_E8] 180003FE5: mov rdx, [rax] 180003FE8: cmp r8, [rbp+80h+var_A0] 180003FEC: cmovb r8, [rbp+80h+var_A0] 180003FF1: sub r8, rdx 180003FF4: jmp short loc_18000401B 180003FF6: test cl, 4 180003FF9: jnz short loc_18000402A 180003FFB: mov rax, [rbp+80h+var_D0] 180003FFF: mov rcx, [rax] 180004002: test rcx, rcx 180004005: jz short loc_18000402A 180004007: mov rax, [rbp+80h+var_F0] 18000400B: mov rdx, [rax]; Src 18000400E: mov rax, [rbp+80h+var_B8] 180004012: movsxd r8, dword ptr [rax] 180004015: sub r8, rdx 180004018: add r8, rcx; Size 18000401B: lea rcx, [rsp+180h+Block]; void * 180004020: call sub_180002610 180004025: mov rdx, qword ptr [rsp+180h+var_148+8] 18000402A: lea rax, [rsp+180h+Block] 18000402F: cmp rbx, rax 180004032: jz short loc_180004088 180004034: mov rdx, [rbx+18h] 180004038: cmp rdx, 10h 18000403C: jb short loc_18000406A 18000403E: mov rcx, [rbx] 180004041: inc rdx 180004044: cmp rdx, 1000h 18000404B: jb short loc_180004065 18000404D: add rdx, 27h ; ''' 180004051: mov r8, [rcx-8] 180004055: sub rcx, r8 180004058: lea rax, [rcx-8] 18000405C: cmp rax, 1Fh 180004060: ja short loc_1800040B7 180004062: mov rcx, r8; Block 180004065: call j_j_free 18000406A: mov qword ptr [rbx+18h], 0Fh 180004072: mov byte ptr [rbx], 0 180004075: movups xmm0, xmmword ptr [rsp+180h+Block] 18000407A: movups xmmword ptr [rbx], xmm0 18000407D: movups xmm1, [rsp+180h+var_148] 180004082: movups xmmword ptr [rbx+10h], xmm1 180004086: jmp short loc_1800040C4 180004088: cmp rdx, 10h 18000408C: jb short loc_1800040C4 18000408E: inc rdx 180004091: mov rcx, [rsp+180h+Block]; Block 180004096: mov rax, rcx 180004099: cmp rdx, 1000h 1800040A0: jb short loc_1800040BE 1800040A2: add rdx, 27h ; ''' 1800040A6: mov rcx, [rcx-8] 1800040AA: sub rax, rcx 1800040AD: add rax, 0FFFFFFFFFFFFFFF8h 1800040B1: cmp rax, 1Fh 1800040B5: jbe short loc_1800040BE 1800040B7: call cs:_invalid_parameter_noinfo_noreturn 1800040BD: int 3; Trap to Debugger 1800040BE: call j_j_free 1800040C3: nop 1800040C4: mov rax, [rsp+180h+var_120] 1800040C9: movsxd rcx, dword ptr [rax+4] 1800040CD: mov [rsp+rcx+180h+var_120], r14 1800040D2: mov rcx, [rsp+180h+var_120] 1800040D7: movsxd rdx, dword ptr [rcx+4] 1800040DB: lea r8d, [rdx-98h] 1800040E2: mov [rsp+rdx+180h+var_124], r8d 1800040E7: lea rcx, [rsp+180h+var_108] 1800040EC: call sub_180005F90 1800040F1: lea rcx, [rbp+80h+var_100] 1800040F5: call cs:??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UEAA@XZ; std::basic_iostream>::~basic_iostream>(void) 1800040FB: lea rcx, [rbp+80h+var_88] 1800040FF: call cs:??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ; std::basic_ios>::~basic_ios>(void) 180004105: nop 180004106: mov rax, rdi 180004109: mov rcx, [rbp+80h+var_20] 18000410D: xor rcx, rsp; StackCookie 180004110: call __security_check_cookie 180004115: lea r11, [rsp+180h+var_10] 18000411D: mov rbx, [r11+28h] 180004121: mov rsi, [r11+30h] 180004125: mov rsp, r11 180004128: pop r14 18000412A: pop rdi 18000412B: pop rbp 18000412C: retn ### FUNC 180004130 - 180004165 (53 bytes) name=sub_180004130 180004130: mov [rsp+arg_0], rcx 180004135: push rbx 180004136: sub rsp, 20h 18000413A: mov rbx, rcx 18000413D: xorps xmm0, xmm0 180004140: movups xmmword ptr [rcx+8], xmm0 180004144: lea rax, off_18000FC90 18000414B: mov [rcx], rax 18000414E: add rdx, 18h 180004152: add rcx, 18h 180004156: call sub_180002E60 18000415B: nop 18000415C: mov rax, rbx 18000415F: add rsp, 20h 180004163: pop rbx 180004164: retn ### FUNC 180004170 - 1800041EF (127 bytes) name=sub_180004170 180004170: push rbx 180004172: sub rsp, 20h 180004176: lea rax, off_18000FC90 18000417D: mov rbx, rcx 180004180: mov [rcx], rax 180004183: mov rdx, [rcx+30h] 180004187: cmp rdx, 10h 18000418B: jb short loc_1800041BA 18000418D: mov rcx, [rcx+18h] 180004191: inc rdx 180004194: cmp rdx, 1000h 18000419B: jb short loc_1800041B5 18000419D: mov r8, [rcx-8] 1800041A1: add rdx, 27h ; ''' 1800041A5: sub rcx, r8 1800041A8: lea rax, [rcx-8] 1800041AC: cmp rax, 1Fh 1800041B0: ja short loc_1800041E8 1800041B2: mov rcx, r8; Block 1800041B5: call j_j_free 1800041BA: lea rax, off_18000F6D8 1800041C1: mov qword ptr [rbx+28h], 0 1800041C9: mov qword ptr [rbx+30h], 0Fh 1800041D1: lea rcx, [rbx+8] 1800041D5: mov byte ptr [rbx+18h], 0 1800041D9: mov [rbx], rax 1800041DC: add rsp, 20h 1800041E0: pop rbx 1800041E1: jmp cs:__std_exception_destroy 1800041E8: call cs:_invalid_parameter_noinfo_noreturn 1800041EE: db 0CCh ### FUNC 1800041F0 - 1800041FF (15 bytes) name=sub_1800041F0 1800041F0: cmp qword ptr [rcx+30h], 10h 1800041F5: lea rax, [rcx+18h] 1800041F9: jb short locret_1800041FE 1800041FB: mov rax, [rax] 1800041FE: retn ### FUNC 180004200 - 1800042A0 (160 bytes) name=sub_180004200 180004200: mov [rsp+arg_8], rbx 180004205: push rdi 180004206: sub rsp, 20h 18000420A: lea rax, off_18000FC90 180004211: mov edi, edx 180004213: mov [rcx], rax 180004216: mov rbx, rcx 180004219: mov rdx, [rcx+30h] 18000421D: cmp rdx, 10h 180004221: jb short loc_180004250 180004223: mov rcx, [rcx+18h] 180004227: inc rdx 18000422A: cmp rdx, 1000h 180004231: jb short loc_18000424B 180004233: mov r8, [rcx-8] 180004237: add rdx, 27h ; ''' 18000423B: sub rcx, r8 18000423E: lea rax, [rcx-8] 180004242: cmp rax, 1Fh 180004246: ja short loc_180004299 180004248: mov rcx, r8; Block 18000424B: call j_j_free 180004250: lea rax, off_18000F6D8 180004257: mov qword ptr [rbx+28h], 0 18000425F: mov qword ptr [rbx+30h], 0Fh 180004267: lea rcx, [rbx+8] 18000426B: mov byte ptr [rbx+18h], 0 18000426F: mov [rbx], rax 180004272: call cs:__std_exception_destroy 180004278: test dil, 1 18000427C: jz short loc_18000428B 18000427E: mov edx, 38h ; '8' 180004283: mov rcx, rbx; Block 180004286: call j_j_free 18000428B: mov rax, rbx 18000428E: mov rbx, [rsp+28h+arg_8] 180004293: add rsp, 20h 180004297: pop rdi 180004298: retn 180004299: call cs:_invalid_parameter_noinfo_noreturn 18000429F: align 20h ### FUNC 1800042A0 - 1800042FF (95 bytes) name=sub_1800042A0 1800042A0: push rbx 1800042A2: sub rsp, 20h 1800042A6: mov rax, [rcx] 1800042A9: lea rbx, [rcx+98h] 1800042B0: lea rcx, [rbx-80h] 1800042B4: movsxd rdx, dword ptr [rax+4] 1800042B8: lea rax, off_18000FC80 1800042BF: mov [rdx+rbx-98h], rax 1800042C7: mov rax, [rbx-98h] 1800042CE: movsxd rdx, dword ptr [rax+4] 1800042D2: lea r8d, [rdx-98h] 1800042D9: mov [rdx+rbx-9Ch], r8d 1800042E1: call sub_180005F90 1800042E6: lea rcx, [rbx-78h] 1800042EA: call cs:??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UEAA@XZ; std::basic_iostream>::~basic_iostream>(void) 1800042F0: mov rcx, rbx 1800042F3: add rsp, 20h 1800042F7: pop rbx 1800042F8: jmp cs:??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ; std::basic_ios>::~basic_ios>(void) ### FUNC 180004300 - 18000430D (13 bytes) name=sub_180004300 180004300: xor edx, edx; Val 180004302: mov r8d, 0F8h; Size 180004308: jmp memset ### FUNC 180004310 - 18000465D (845 bytes) name=sub_180004310 180004310: mov [rsp-8+arg_10], rbx 180004315: push rbp 180004316: push rsi 180004317: push rdi 180004318: push r12 18000431A: push r13 18000431C: push r14 18000431E: push r15 180004320: lea rbp, [rsp-80h] 180004325: sub rsp, 180h 18000432C: mov rax, cs:__security_cookie 180004333: xor rax, rsp 180004336: mov [rbp+0B0h+var_40], rax 18000433A: mov rdi, r9 18000433D: mov ebx, r8d 180004340: mov rsi, rdx 180004343: mov r15, rcx 180004346: mov [rsp+1B0h+var_160], rcx 18000434B: mov [rsp+1B0h+var_148], rdx 180004350: xor r12d, r12d 180004353: mov [rsp+1B0h+var_190], r12d 180004358: xorps xmm0, xmm0 18000435B: movups xmmword ptr [rcx+8], xmm0 18000435F: lea rax, off_18000FC68 180004366: mov [rcx], rax 180004369: add rcx, 18h 18000436D: call sub_180002E60 180004372: nop 180004373: mov [r15+38h], ebx 180004377: lea rbx, [r15+40h] 18000437B: mov [rbx+10h], r12 18000437F: mov qword ptr [rbx+18h], 0Fh 180004387: mov [rbx], r12b 18000438A: mov [r15+60h], r12d 18000438E: xor edx, edx; Val 180004390: mov r8d, 0F8h; Size 180004396: lea rcx, [rsp+1B0h+var_140]; void * 18000439B: call memset 1800043A0: lea rax, unk_18000FCB8 1800043A7: mov [rsp+1B0h+var_140], rax 1800043AC: lea rax, unk_18000FBA8 1800043B3: mov [rbp+0B0h+var_130], rax 1800043B7: lea rcx, [rbp+0B0h+var_A8] 1800043BB: call cs:??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ; std::basic_ios>::basic_ios>(void) 1800043C1: nop 1800043C2: mov [rsp+1B0h+var_190], 1 1800043CA: xor r8d, r8d 1800043CD: lea rdx, [rbp+0B0h+var_128] 1800043D1: lea rcx, [rsp+1B0h+var_140] 1800043D6: call cs:??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z; std::basic_iostream>::basic_iostream>(std::basic_streambuf> *) 1800043DC: nop 1800043DD: mov rax, [rsp+1B0h+var_140] 1800043E2: movsxd rcx, dword ptr [rax+4] 1800043E6: lea r13, off_18000FC80 1800043ED: mov [rsp+rcx+1B0h+var_140], r13 1800043F2: mov rax, [rsp+1B0h+var_140] 1800043F7: movsxd rcx, dword ptr [rax+4] 1800043FB: lea edx, [rcx-98h] 180004401: mov dword ptr [rsp+rcx+1B0h+var_148+4], edx 180004405: lea rcx, [rbp+0B0h+var_128] 180004409: call cs:??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ; std::basic_streambuf>::basic_streambuf>(void) 18000440F: lea rax, off_18000FBD0 180004416: mov [rbp+0B0h+var_128], rax 18000441A: mov [rbp+0B0h+var_C0], r12 18000441E: mov [rbp+0B0h+var_B8], r12d 180004422: lea rdx, aIoException; "IO Exception: " 180004429: lea rcx, [rbp+0B0h+var_130] 18000442D: call sub_180006310 180004432: mov rcx, rax 180004435: mov rdx, rdi 180004438: call sub_180006310 18000443D: lea rdx, aFile; ", file " 180004444: lea rcx, [rbp+0B0h+var_130] 180004448: call sub_180006310 18000444D: lea rdx, [r15+18h] 180004451: cmp qword ptr [r15+30h], 10h 180004456: jb short loc_18000445C 180004458: mov rdx, [r15+18h] 18000445C: mov r8, [r15+28h] 180004460: mov rcx, rax 180004463: call sub_180006920 180004468: lea rdx, aLine; ", line " 18000446F: mov rcx, rax 180004472: call sub_180006310 180004477: mov rcx, rax 18000447A: mov edx, [r15+38h] 18000447E: call cs:??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z; std::basic_ostream>::operator<<(int) 180004484: mov rcx, rax 180004487: lea rdx, asc_18000F83C; "." 18000448E: call sub_180006310 180004493: nop 180004494: mov qword ptr [rsp+1B0h+var_178], r12 180004499: mov ecx, 0Fh 18000449E: mov qword ptr [rsp+1B0h+var_178+8], rcx 1800044A3: mov byte ptr [rsp+1B0h+Block], 0 1800044A8: mov [rsp+1B0h+var_190], 5 1800044B0: mov edx, [rbp+0B0h+var_B8] 1800044B3: test dl, 2 1800044B6: jnz short loc_1800044D9 1800044B8: mov rax, [rbp+0B0h+var_E8] 1800044BC: mov r8, [rax] 1800044BF: test r8, r8 1800044C2: jz short loc_1800044D9 1800044C4: mov rax, [rbp+0B0h+var_108] 1800044C8: mov rdx, [rax] 1800044CB: cmp r8, [rbp+0B0h+var_C0] 1800044CF: cmovb r8, [rbp+0B0h+var_C0] 1800044D4: sub r8, rdx 1800044D7: jmp short loc_1800044FE 1800044D9: test dl, 4 1800044DC: jnz short loc_18000450D 1800044DE: mov rax, [rbp+0B0h+var_F0] 1800044E2: mov r9, [rax] 1800044E5: test r9, r9 1800044E8: jz short loc_18000450D 1800044EA: mov rax, [rbp+0B0h+var_110] 1800044EE: mov rdx, [rax]; Src 1800044F1: mov rax, [rbp+0B0h+var_D8] 1800044F5: movsxd r8, dword ptr [rax] 1800044F8: sub r8, rdx 1800044FB: add r8, r9; Size 1800044FE: lea rcx, [rsp+1B0h+Block]; void * 180004503: call sub_180002610 180004508: mov rcx, qword ptr [rsp+1B0h+var_178+8] 18000450D: lea rax, [rsp+1B0h+Block] 180004512: cmp rbx, rax 180004515: jz short loc_18000456B 180004517: mov rdx, [rbx+18h] 18000451B: cmp rdx, 10h 18000451F: jb short loc_18000454D 180004521: mov rcx, [rbx] 180004524: inc rdx 180004527: cmp rdx, 1000h 18000452E: jb short loc_180004548 180004530: add rdx, 27h ; ''' 180004534: mov r8, [rcx-8] 180004538: sub rcx, r8 18000453B: lea rax, [rcx-8] 18000453F: cmp rax, 1Fh 180004543: ja short loc_18000459B 180004545: mov rcx, r8; Block 180004548: call j_j_free 18000454D: mov qword ptr [rbx+18h], 0Fh 180004555: mov byte ptr [rbx], 0 180004558: movups xmm0, xmmword ptr [rsp+1B0h+Block] 18000455D: movups xmmword ptr [rbx], xmm0 180004560: movups xmm1, [rsp+1B0h+var_178] 180004565: movups xmmword ptr [rbx+10h], xmm1 180004569: jmp short loc_1800045A8 18000456B: cmp rcx, 10h 18000456F: jb short loc_1800045A8 180004571: lea rdx, [rcx+1] 180004575: mov rcx, [rsp+1B0h+Block]; Block 18000457A: mov rax, rcx 18000457D: cmp rdx, 1000h 180004584: jb short loc_1800045A2 180004586: add rdx, 27h ; ''' 18000458A: mov rcx, [rcx-8] 18000458E: sub rax, rcx 180004591: add rax, 0FFFFFFFFFFFFFFF8h 180004595: cmp rax, 1Fh 180004599: jbe short loc_1800045A2 18000459B: call cs:_invalid_parameter_noinfo_noreturn 1800045A1: int 3; Trap to Debugger 1800045A2: call j_j_free 1800045A7: nop 1800045A8: mov rax, [rsp+1B0h+var_140] 1800045AD: movsxd rcx, dword ptr [rax+4] 1800045B1: mov [rsp+rcx+1B0h+var_140], r13 1800045B6: mov rax, [rsp+1B0h+var_140] 1800045BB: movsxd rcx, dword ptr [rax+4] 1800045BF: lea edx, [rcx-98h] 1800045C5: mov dword ptr [rsp+rcx+1B0h+var_148+4], edx 1800045C9: lea rcx, [rbp+0B0h+var_128] 1800045CD: call sub_180005F90 1800045D2: lea rcx, [rbp+0B0h+var_120] 1800045D6: call cs:??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UEAA@XZ; std::basic_iostream>::~basic_iostream>(void) 1800045DC: lea rcx, [rbp+0B0h+var_A8] 1800045E0: call cs:??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ; std::basic_ios>::~basic_ios>(void) 1800045E6: nop 1800045E7: mov rdx, [rsi+18h] 1800045EB: cmp rdx, 10h 1800045EF: jb short loc_18000461D 1800045F1: inc rdx 1800045F4: mov rcx, [rsi] 1800045F7: cmp rdx, 1000h 1800045FE: jb short loc_180004618 180004600: add rdx, 27h ; ''' 180004604: mov r8, [rcx-8] 180004608: sub rcx, r8 18000460B: lea rax, [rcx-8] 18000460F: cmp rax, 1Fh 180004613: ja short loc_180004656 180004615: mov rcx, r8; Block 180004618: call j_j_free 18000461D: mov [rsi+10h], r12 180004621: mov qword ptr [rsi+18h], 0Fh 180004629: mov byte ptr [rsi], 0 18000462C: mov rax, r15 18000462F: mov rcx, [rbp+0B0h+var_40] 180004633: xor rcx, rsp; StackCookie 180004636: call __security_check_cookie 18000463B: mov rbx, [rsp+1B0h+arg_10] 180004643: add rsp, 180h 18000464A: pop r15 18000464C: pop r14 18000464E: pop r13 180004650: pop r12 180004652: pop rdi 180004653: pop rsi 180004654: pop rbp 180004655: retn 180004656: call cs:_invalid_parameter_noinfo_noreturn 18000465C: db 0CCh ### FUNC 180004660 - 18000472E (206 bytes) name=sub_180004660 180004660: push rbx 180004662: sub rsp, 20h 180004666: lea rax, off_18000FC68 18000466D: mov rbx, rcx 180004670: mov [rcx], rax 180004673: mov rdx, [rcx+58h] 180004677: cmp rdx, 10h 18000467B: jb short loc_1800046AE 18000467D: mov rcx, [rcx+40h] 180004681: inc rdx 180004684: cmp rdx, 1000h 18000468B: jb short loc_1800046A9 18000468D: mov r8, [rcx-8] 180004691: add rdx, 27h ; ''' 180004695: sub rcx, r8 180004698: lea rax, [rcx-8] 18000469C: cmp rax, 1Fh 1800046A0: ja loc_180004727 1800046A6: mov rcx, r8; Block 1800046A9: call j_j_free 1800046AE: mov qword ptr [rbx+50h], 0 1800046B6: mov qword ptr [rbx+58h], 0Fh 1800046BE: mov byte ptr [rbx+40h], 0 1800046C2: mov rdx, [rbx+30h] 1800046C6: cmp rdx, 10h 1800046CA: jb short loc_1800046F9 1800046CC: mov rcx, [rbx+18h] 1800046D0: inc rdx 1800046D3: cmp rdx, 1000h 1800046DA: jb short loc_1800046F4 1800046DC: mov r8, [rcx-8] 1800046E0: add rdx, 27h ; ''' 1800046E4: sub rcx, r8 1800046E7: lea rax, [rcx-8] 1800046EB: cmp rax, 1Fh 1800046EF: ja short loc_180004727 1800046F1: mov rcx, r8; Block 1800046F4: call j_j_free 1800046F9: lea rax, off_18000F6D8 180004700: mov qword ptr [rbx+28h], 0 180004708: mov qword ptr [rbx+30h], 0Fh 180004710: lea rcx, [rbx+8] 180004714: mov byte ptr [rbx+18h], 0 180004718: mov [rbx], rax 18000471B: add rsp, 20h 18000471F: pop rbx 180004720: jmp cs:__std_exception_destroy 180004727: call cs:_invalid_parameter_noinfo_noreturn 18000472D: db 0CCh ### FUNC 180004730 - 180004791 (97 bytes) name=sub_180004730 180004730: mov [rsp+arg_8], rbx 180004735: mov [rsp+arg_0], rcx 18000473A: push rdi 18000473B: sub rsp, 20h 18000473F: mov rbx, rdx 180004742: mov rdi, rcx 180004745: xorps xmm0, xmm0 180004748: movups xmmword ptr [rcx+8], xmm0 18000474C: lea rax, off_18000FC68 180004753: mov [rcx], rax 180004756: mov qword ptr [rcx+28h], 0 18000475E: mov qword ptr [rcx+30h], 0Fh 180004766: mov byte ptr [rcx+18h], 0 18000476A: mov eax, [rdx+38h] 18000476D: mov [rcx+38h], eax 180004770: add rdx, 40h ; '@' 180004774: add rcx, 40h ; '@' 180004778: call sub_180002E60 18000477D: mov eax, [rbx+60h] 180004780: mov [rdi+60h], eax 180004783: mov rax, rdi 180004786: mov rbx, [rsp+28h+arg_8] 18000478B: add rsp, 20h 18000478F: pop rdi 180004790: retn ### FUNC 1800047A0 - 1800047AF (15 bytes) name=sub_1800047A0 1800047A0: cmp qword ptr [rcx+58h], 10h 1800047A5: lea rax, [rcx+40h] 1800047A9: jb short locret_1800047AE 1800047AB: mov rax, [rax] 1800047AE: retn ### FUNC 1800047B0 - 18000489F (239 bytes) name=sub_1800047B0 1800047B0: mov [rsp+arg_8], rbx 1800047B5: push rdi 1800047B6: sub rsp, 20h 1800047BA: lea rax, off_18000FC68 1800047C1: mov edi, edx 1800047C3: mov [rcx], rax 1800047C6: mov rbx, rcx 1800047C9: mov rdx, [rcx+58h] 1800047CD: cmp rdx, 10h 1800047D1: jb short loc_180004804 1800047D3: mov rcx, [rcx+40h] 1800047D7: inc rdx 1800047DA: cmp rdx, 1000h 1800047E1: jb short loc_1800047FF 1800047E3: mov r8, [rcx-8] 1800047E7: add rdx, 27h ; ''' 1800047EB: sub rcx, r8 1800047EE: lea rax, [rcx-8] 1800047F2: cmp rax, 1Fh 1800047F6: ja loc_180004898 1800047FC: mov rcx, r8; Block 1800047FF: call j_j_free 180004804: mov qword ptr [rbx+50h], 0 18000480C: mov qword ptr [rbx+58h], 0Fh 180004814: mov byte ptr [rbx+40h], 0 180004818: mov rdx, [rbx+30h] 18000481C: cmp rdx, 10h 180004820: jb short loc_18000484F 180004822: mov rcx, [rbx+18h] 180004826: inc rdx 180004829: cmp rdx, 1000h 180004830: jb short loc_18000484A 180004832: mov r8, [rcx-8] 180004836: add rdx, 27h ; ''' 18000483A: sub rcx, r8 18000483D: lea rax, [rcx-8] 180004841: cmp rax, 1Fh 180004845: ja short loc_180004898 180004847: mov rcx, r8; Block 18000484A: call j_j_free 18000484F: lea rax, off_18000F6D8 180004856: mov qword ptr [rbx+28h], 0 18000485E: mov qword ptr [rbx+30h], 0Fh 180004866: lea rcx, [rbx+8] 18000486A: mov byte ptr [rbx+18h], 0 18000486E: mov [rbx], rax 180004871: call cs:__std_exception_destroy 180004877: test dil, 1 18000487B: jz short loc_18000488A 18000487D: mov edx, 68h ; 'h' 180004882: mov rcx, rbx; Block 180004885: call j_j_free 18000488A: mov rax, rbx 18000488D: mov rbx, [rsp+28h+arg_8] 180004892: add rsp, 20h 180004896: pop rdi 180004897: retn 180004898: call cs:_invalid_parameter_noinfo_noreturn 18000489E: db 0CCh ### FUNC 1800048A0 - 180004B3C (668 bytes) name=sub_1800048A0 1800048A0: mov [rsp-8+arg_10], rbx 1800048A5: push rbp 1800048A6: push rsi 1800048A7: push rdi 1800048A8: push r14 1800048AA: push r15 1800048AC: lea rbp, [rsp-70h] 1800048B1: sub rsp, 170h 1800048B8: mov rax, cs:__security_cookie 1800048BF: xor rax, rsp 1800048C2: mov [rbp+90h+var_30], rax 1800048C6: mov rbx, rdx 1800048C9: mov rsi, rcx 1800048CC: mov [rsp+190h+var_148], rcx 1800048D1: xor r14d, r14d 1800048D4: mov [rsp+190h+var_170], r14d 1800048D9: xorps xmm0, xmm0 1800048DC: movups xmmword ptr [rcx+8], xmm0 1800048E0: lea rax, off_18000FCA8 1800048E7: mov [rcx], rax 1800048EA: lea rdi, [rcx+18h] 1800048EE: mov [rdi+10h], r14 1800048F2: mov qword ptr [rdi+18h], 0Fh 1800048FA: mov [rdi], r14b 1800048FD: xor edx, edx; Val 1800048FF: mov r8d, 0F8h; Size 180004905: lea rcx, [rsp+190h+var_130]; void * 18000490A: call memset 18000490F: lea rax, unk_18000FCB8 180004916: mov [rsp+190h+var_130], rax 18000491B: lea rax, unk_18000FBA8 180004922: mov [rsp+190h+var_120], rax 180004927: lea rcx, [rbp+90h+var_98] 18000492B: call cs:??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ; std::basic_ios>::basic_ios>(void) 180004931: nop 180004932: mov [rsp+190h+var_170], 1 18000493A: xor r8d, r8d 18000493D: lea rdx, [rsp+190h+var_118] 180004942: lea rcx, [rsp+190h+var_130] 180004947: call cs:??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z; std::basic_iostream>::basic_iostream>(std::basic_streambuf> *) 18000494D: nop 18000494E: mov rax, [rsp+190h+var_130] 180004953: movsxd rcx, dword ptr [rax+4] 180004957: lea r15, off_18000FC80 18000495E: mov [rsp+rcx+190h+var_130], r15 180004963: mov rax, [rsp+190h+var_130] 180004968: movsxd rcx, dword ptr [rax+4] 18000496C: lea edx, [rcx-98h] 180004972: mov [rsp+rcx+190h+var_134], edx 180004976: lea rcx, [rsp+190h+var_118] 18000497B: call cs:??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ; std::basic_streambuf>::basic_streambuf>(void) 180004981: lea rax, off_18000FBD0 180004988: mov [rsp+190h+var_118], rax 18000498D: mov [rbp+90h+var_B0], r14 180004991: mov [rbp+90h+var_A8], r14d 180004995: lea rdx, aPortnotopenede; "PortNotOpenedException " 18000499C: lea rcx, [rsp+190h+var_120] 1800049A1: call sub_180006310 1800049A6: mov rcx, rax 1800049A9: mov rdx, rbx 1800049AC: call sub_180006310 1800049B1: mov rcx, rax 1800049B4: lea rdx, aFailed; " failed." 1800049BB: call sub_180006310 1800049C0: nop 1800049C1: mov qword ptr [rsp+190h+var_158], r14 1800049C6: mov edx, 0Fh 1800049CB: mov qword ptr [rsp+190h+var_158+8], rdx 1800049D0: mov byte ptr [rsp+190h+Block], r14b 1800049D5: mov [rsp+190h+var_170], 5 1800049DD: mov ecx, [rbp+90h+var_A8] 1800049E0: test cl, 2 1800049E3: jnz short loc_180004A06 1800049E5: mov rax, [rbp+90h+var_D8] 1800049E9: mov r8, [rax] 1800049EC: test r8, r8 1800049EF: jz short loc_180004A06 1800049F1: mov rax, [rbp+90h+var_F8] 1800049F5: mov rdx, [rax] 1800049F8: cmp r8, [rbp+90h+var_B0] 1800049FC: cmovb r8, [rbp+90h+var_B0] 180004A01: sub r8, rdx 180004A04: jmp short loc_180004A2B 180004A06: test cl, 4 180004A09: jnz short loc_180004A3A 180004A0B: mov rax, [rbp+90h+var_E0] 180004A0F: mov rcx, [rax] 180004A12: test rcx, rcx 180004A15: jz short loc_180004A3A 180004A17: mov rax, [rbp+90h+var_100] 180004A1B: mov rdx, [rax]; Src 180004A1E: mov rax, [rbp+90h+var_C8] 180004A22: movsxd r8, dword ptr [rax] 180004A25: sub r8, rdx 180004A28: add r8, rcx; Size 180004A2B: lea rcx, [rsp+190h+Block]; void * 180004A30: call sub_180002610 180004A35: mov rdx, qword ptr [rsp+190h+var_158+8] 180004A3A: lea rax, [rsp+190h+Block] 180004A3F: cmp rdi, rax 180004A42: jz short loc_180004A98 180004A44: mov rdx, [rdi+18h] 180004A48: cmp rdx, 10h 180004A4C: jb short loc_180004A7A 180004A4E: mov rcx, [rdi] 180004A51: inc rdx 180004A54: cmp rdx, 1000h 180004A5B: jb short loc_180004A75 180004A5D: add rdx, 27h ; ''' 180004A61: mov r8, [rcx-8] 180004A65: sub rcx, r8 180004A68: lea rax, [rcx-8] 180004A6C: cmp rax, 1Fh 180004A70: ja short loc_180004AC7 180004A72: mov rcx, r8; Block 180004A75: call j_j_free 180004A7A: mov qword ptr [rdi+18h], 0Fh 180004A82: mov byte ptr [rdi], 0 180004A85: movups xmm0, xmmword ptr [rsp+190h+Block] 180004A8A: movups xmmword ptr [rdi], xmm0 180004A8D: movups xmm1, [rsp+190h+var_158] 180004A92: movups xmmword ptr [rdi+10h], xmm1 180004A96: jmp short loc_180004AD4 180004A98: cmp rdx, 10h 180004A9C: jb short loc_180004AD4 180004A9E: inc rdx 180004AA1: mov rcx, [rsp+190h+Block]; Block 180004AA6: mov rax, rcx 180004AA9: cmp rdx, 1000h 180004AB0: jb short loc_180004ACE 180004AB2: add rdx, 27h ; ''' 180004AB6: mov rcx, [rcx-8] 180004ABA: sub rax, rcx 180004ABD: add rax, 0FFFFFFFFFFFFFFF8h 180004AC1: cmp rax, 1Fh 180004AC5: jbe short loc_180004ACE 180004AC7: call cs:_invalid_parameter_noinfo_noreturn 180004ACD: int 3; Trap to Debugger 180004ACE: call j_j_free 180004AD3: nop 180004AD4: mov rax, [rsp+190h+var_130] 180004AD9: movsxd rcx, dword ptr [rax+4] 180004ADD: mov [rsp+rcx+190h+var_130], r15 180004AE2: mov rcx, [rsp+190h+var_130] 180004AE7: movsxd rdx, dword ptr [rcx+4] 180004AEB: lea r8d, [rdx-98h] 180004AF2: mov [rsp+rdx+190h+var_134], r8d 180004AF7: lea rcx, [rsp+190h+var_118] 180004AFC: call sub_180005F90 180004B01: lea rcx, [rbp+90h+var_110] 180004B05: call cs:??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UEAA@XZ; std::basic_iostream>::~basic_iostream>(void) 180004B0B: lea rcx, [rbp+90h+var_98] 180004B0F: call cs:??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ; std::basic_ios>::~basic_ios>(void) 180004B15: nop 180004B16: mov rax, rsi 180004B19: mov rcx, [rbp+90h+var_30] 180004B1D: xor rcx, rsp; StackCookie 180004B20: call __security_check_cookie 180004B25: mov rbx, [rsp+190h+arg_10] 180004B2D: add rsp, 170h 180004B34: pop r15 180004B36: pop r14 180004B38: pop rdi 180004B39: pop rsi 180004B3A: pop rbp 180004B3B: retn ### FUNC 180004B40 - 180004B75 (53 bytes) name=sub_180004B40 180004B40: mov [rsp+arg_0], rcx 180004B45: push rbx 180004B46: sub rsp, 20h 180004B4A: mov rbx, rcx 180004B4D: xorps xmm0, xmm0 180004B50: movups xmmword ptr [rcx+8], xmm0 180004B54: lea rax, off_18000FCA8 180004B5B: mov [rcx], rax 180004B5E: add rdx, 18h 180004B62: add rcx, 18h 180004B66: call sub_180002E60 180004B6B: nop 180004B6C: mov rax, rbx 180004B6F: add rsp, 20h 180004B73: pop rbx 180004B74: retn ### FUNC 180004B80 - 180004BFF (127 bytes) name=sub_180004B80 180004B80: push rbx 180004B82: sub rsp, 20h 180004B86: lea rax, off_18000FCA8 180004B8D: mov rbx, rcx 180004B90: mov [rcx], rax 180004B93: mov rdx, [rcx+30h] 180004B97: cmp rdx, 10h 180004B9B: jb short loc_180004BCA 180004B9D: mov rcx, [rcx+18h] 180004BA1: inc rdx 180004BA4: cmp rdx, 1000h 180004BAB: jb short loc_180004BC5 180004BAD: mov r8, [rcx-8] 180004BB1: add rdx, 27h ; ''' 180004BB5: sub rcx, r8 180004BB8: lea rax, [rcx-8] 180004BBC: cmp rax, 1Fh 180004BC0: ja short loc_180004BF8 180004BC2: mov rcx, r8; Block 180004BC5: call j_j_free 180004BCA: lea rax, off_18000F6D8 180004BD1: mov qword ptr [rbx+28h], 0 180004BD9: mov qword ptr [rbx+30h], 0Fh 180004BE1: lea rcx, [rbx+8] 180004BE5: mov byte ptr [rbx+18h], 0 180004BE9: mov [rbx], rax 180004BEC: add rsp, 20h 180004BF0: pop rbx 180004BF1: jmp cs:__std_exception_destroy 180004BF8: call cs:_invalid_parameter_noinfo_noreturn 180004BFE: db 0CCh ### FUNC 180004C00 - 180004CA0 (160 bytes) name=sub_180004C00 180004C00: mov [rsp+arg_8], rbx 180004C05: push rdi 180004C06: sub rsp, 20h 180004C0A: lea rax, off_18000FCA8 180004C11: mov edi, edx 180004C13: mov [rcx], rax 180004C16: mov rbx, rcx 180004C19: mov rdx, [rcx+30h] 180004C1D: cmp rdx, 10h 180004C21: jb short loc_180004C50 180004C23: mov rcx, [rcx+18h] 180004C27: inc rdx 180004C2A: cmp rdx, 1000h 180004C31: jb short loc_180004C4B 180004C33: mov r8, [rcx-8] 180004C37: add rdx, 27h ; ''' 180004C3B: sub rcx, r8 180004C3E: lea rax, [rcx-8] 180004C42: cmp rax, 1Fh 180004C46: ja short loc_180004C99 180004C48: mov rcx, r8; Block 180004C4B: call j_j_free 180004C50: lea rax, off_18000F6D8 180004C57: mov qword ptr [rbx+28h], 0 180004C5F: mov qword ptr [rbx+30h], 0Fh 180004C67: lea rcx, [rbx+8] 180004C6B: mov byte ptr [rbx+18h], 0 180004C6F: mov [rbx], rax 180004C72: call cs:__std_exception_destroy 180004C78: test dil, 1 180004C7C: jz short loc_180004C8B 180004C7E: mov edx, 38h ; '8' 180004C83: mov rcx, rbx; Block 180004C86: call j_j_free 180004C8B: mov rax, rbx 180004C8E: mov rbx, [rsp+28h+arg_8] 180004C93: add rsp, 20h 180004C97: pop rdi 180004C98: retn 180004C99: call cs:_invalid_parameter_noinfo_noreturn 180004C9F: align 20h ### FUNC 180004CA0 - 180004F8A (746 bytes) name=sub_180004CA0 180004CA0: mov [rsp+arg_10], rbx 180004CA5: mov [rsp+arg_18], rbp 180004CAA: push rsi 180004CAB: push rdi 180004CAC: push r12 180004CAE: push r14 180004CB0: push r15 180004CB2: sub rsp, 40h 180004CB6: mov rdi, rdx 180004CB9: mov rbx, rcx 180004CBC: mov [rsp+68h+var_30], rcx 180004CC1: xor esi, esi 180004CC3: mov [rsp+68h+var_38], esi 180004CC7: mov ecx, cs:TlsIndex 180004CCD: mov rax, gs:58h 180004CD6: mov r8d, 4 180004CDC: mov rdx, [rax+rcx*8] 180004CE0: lea ebp, [rsi+7] 180004CE3: lea r15, Src 180004CEA: mov eax, [r8+rdx] 180004CEE: cmp cs:dword_1800160E0, eax 180004CF4: jle short loc_180004D4C 180004CF6: lea rcx, dword_1800160E0 180004CFD: call _Init_thread_header 180004D02: cmp cs:dword_1800160E0, 0FFFFFFFFh 180004D09: jnz short loc_180004D4C 180004D0B: mov cs:qword_1800160D0, rsi 180004D12: mov cs:qword_1800160D8, rbp 180004D19: mov word ptr cs:Src, si 180004D20: lea r8d, [rsi+4] 180004D24: lea rdx, asc_18000F878; "\\\\.\\" 180004D2B: mov rcx, r15; void * 180004D2E: call sub_180003830 180004D33: lea rcx, sub_18000E680; void (__cdecl *)() 180004D3A: call atexit 180004D3F: nop 180004D40: lea rcx, dword_1800160E0 180004D47: call _Init_thread_footer 180004D4C: mov rcx, r15 180004D4F: cmp cs:qword_1800160D8, 8 180004D57: cmovnb rcx, cs:Src 180004D5F: mov r8, rdi 180004D62: cmp qword ptr [rdi+18h], 8 180004D67: jb short loc_180004D6C 180004D69: mov r8, [rdi] 180004D6C: mov r9, cs:qword_1800160D0 180004D73: lea r12, [rdi+10h] 180004D77: mov r10, [r12] 180004D7B: mov rdx, r10 180004D7E: cmp r9, r10 180004D81: cmovb rdx, r9 180004D85: test rdx, rdx 180004D88: jz short loc_180004DA8 180004D8A: sub r8, rcx 180004D8D: nop dword ptr [rax] 180004D90: movzx eax, word ptr [rcx] 180004D93: cmp [r8+rcx], ax 180004D98: jnz loc_180004E80 180004D9E: add rcx, 2 180004DA2: sub rdx, 1 180004DA6: jnz short loc_180004D90 180004DA8: cmp r10, r9 180004DAB: jb loc_180004E80 180004DB1: ja loc_180004E80 180004DB7: mov [rbx+10h], rsi 180004DBB: mov [rbx+18h], rsi 180004DBF: mov r14, [r12] 180004DC3: cmp qword ptr [rdi+18h], 8 180004DC8: jb short loc_180004DCD 180004DCA: mov rdi, [rdi] 180004DCD: cmp r14, 8 180004DD1: jnb short loc_180004DE6 180004DD3: movups xmm0, xmmword ptr [rdi] 180004DD6: movups xmmword ptr [rbx], xmm0 180004DD9: mov [rbx+10h], r14 180004DDD: mov [rbx+18h], rbp 180004DE1: jmp loc_180004F68 180004DE6: mov rbp, r14 180004DE9: or rbp, 7 180004DED: mov rax, 7FFFFFFFFFFFFFFEh 180004DF7: cmp rbp, rax 180004DFA: cmova rbp, rax 180004DFE: lea rcx, [rbp+1] 180004E02: mov rax, 7FFFFFFFFFFFFFFFh 180004E0C: cmp rcx, rax 180004E0F: ja loc_180004F84 180004E15: add rcx, rcx; Size 180004E18: cmp rcx, 1000h 180004E1F: jb short loc_180004E50 180004E21: lea rax, [rcx+27h] 180004E25: cmp rax, rcx 180004E28: jbe loc_180004F84 180004E2E: mov rcx, rax; Size 180004E31: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180004E36: test rax, rax 180004E39: jz short loc_180004E49 180004E3B: lea rsi, [rax+27h] 180004E3F: and rsi, 0FFFFFFFFFFFFFFE0h 180004E43: mov [rsi-8], rax 180004E47: jmp short loc_180004E5D 180004E49: call cs:_invalid_parameter_noinfo_noreturn 180004E4F: int 3; Trap to Debugger 180004E50: test rcx, rcx 180004E53: jz short loc_180004E5D 180004E55: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180004E5A: mov rsi, rax 180004E5D: mov [rbx], rsi 180004E60: lea r8, ds:2[r14*2]; Size 180004E68: mov rdx, rdi; Src 180004E6B: mov rcx, rsi; void * 180004E6E: call memcpy 180004E73: mov [rbx+10h], r14 180004E77: mov [rbx+18h], rbp 180004E7B: jmp loc_180004F68 180004E80: mov [rbx+10h], rsi 180004E84: mov [rbx+18h], rbp 180004E88: mov [rbx], si 180004E8B: mov [rsp+68h+var_38], 2 180004E93: mov rdx, cs:qword_1800160D0 180004E9A: add rdx, [r12] 180004E9E: mov rcx, rbx 180004EA1: call sub_180006860 180004EA6: cmp cs:qword_1800160D8, 8 180004EAE: cmovnb r15, cs:Src 180004EB6: mov rdx, cs:qword_1800160D0 180004EBD: mov rcx, [rbx+10h] 180004EC1: mov r8, [rbx+18h] 180004EC5: mov rax, r8 180004EC8: sub rax, rcx 180004ECB: cmp rdx, rax 180004ECE: ja short loc_180004EFB 180004ED0: lea rbp, [rcx+rdx] 180004ED4: mov [rbx+10h], rbp 180004ED8: mov r14, rbx 180004EDB: cmp r8, 8 180004EDF: jb short loc_180004EE4 180004EE1: mov r14, [rbx] 180004EE4: lea r8, [rdx+rdx]; Size 180004EE8: lea rcx, [r14+rcx*2]; void * 180004EEC: mov rdx, r15; Src 180004EEF: call memmove 180004EF4: mov [r14+rbp*2], si 180004EF9: jmp short loc_180004F0B 180004EFB: mov [rsp+68h+var_48], rdx; __int64 180004F00: mov r9, r15 180004F03: mov rcx, rbx; Src 180004F06: call sub_1800066A0 180004F0B: cmp qword ptr [rdi+18h], 8 180004F10: jb short loc_180004F15 180004F12: mov rdi, [rdi] 180004F15: mov rdx, [r12] 180004F19: mov rcx, [rbx+10h] 180004F1D: mov r8, [rbx+18h] 180004F21: mov rax, r8 180004F24: sub rax, rcx 180004F27: cmp rdx, rax 180004F2A: ja short loc_180004F57 180004F2C: lea rbp, [rcx+rdx] 180004F30: mov [rbx+10h], rbp 180004F34: mov r14, rbx 180004F37: cmp r8, 8 180004F3B: jb short loc_180004F40 180004F3D: mov r14, [rbx] 180004F40: lea r8, [rdx+rdx]; Size 180004F44: lea rcx, [r14+rcx*2]; void * 180004F48: mov rdx, rdi; Src 180004F4B: call memmove 180004F50: mov [r14+rbp*2], si 180004F55: jmp short loc_180004F68 180004F57: mov [rsp+68h+var_48], rdx; __int64 180004F5C: mov r9, rdi 180004F5F: mov rcx, rbx; Src 180004F62: call sub_1800066A0 180004F67: nop 180004F68: mov rax, rbx 180004F6B: lea r11, [rsp+68h+var_28] 180004F70: mov rbx, [r11+40h] 180004F74: mov rbp, [r11+48h] 180004F78: mov rsp, r11 180004F7B: pop r15 180004F7D: pop r14 180004F7F: pop r12 180004F81: pop rdi 180004F82: pop rsi 180004F83: retn 180004F84: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180004F89: db 0CCh ### FUNC 180004F90 - 18000503B (171 bytes) name=sub_180004F90 180004F90: mov [rsp+arg_8], rbx 180004F95: push rdi 180004F96: sub rsp, 20h 180004F9A: mov edi, edx 180004F9C: mov rbx, rcx 180004F9F: lea rax, off_18000FCC8 180004FA6: mov [rcx], rax 180004FA9: call sub_180005790 180004FAE: nop 180004FAF: mov rcx, [rbx+60h]; hObject 180004FB3: call cs:CloseHandle 180004FB9: nop 180004FBA: mov rcx, [rbx+68h]; hObject 180004FBE: call cs:CloseHandle 180004FC4: nop 180004FC5: mov rdx, [rbx+20h] 180004FC9: cmp rdx, 8 180004FCD: jb short loc_180005002 180004FCF: mov rcx, [rbx+8] 180004FD3: lea rdx, ds:2[rdx*2] 180004FDB: cmp rdx, 1000h 180004FE2: jb short loc_180004FFC 180004FE4: add rdx, 27h ; ''' 180004FE8: mov r8, [rcx-8] 180004FEC: sub rcx, r8 180004FEF: lea rax, [rcx-8] 180004FF3: cmp rax, 1Fh 180004FF7: ja short loc_180005034 180004FF9: mov rcx, r8; Block 180004FFC: call j_j_free 180005001: nop 180005002: xor eax, eax 180005004: mov [rbx+18h], rax 180005008: mov qword ptr [rbx+20h], 7 180005010: mov [rbx+8], ax 180005014: test dil, 1 180005018: jz short loc_180005026 18000501A: lea edx, [rax+70h] 18000501D: mov rcx, rbx; Block 180005020: call j_j_free 180005025: nop 180005026: mov rax, rbx 180005029: mov rbx, [rsp+28h+arg_8] 18000502E: add rsp, 20h 180005032: pop rdi 180005033: retn 180005034: call cs:_invalid_parameter_noinfo_noreturn 18000503A: nop ### FUNC 180005040 - 18000533D (765 bytes) name=sub_180005040 180005040: mov [rsp-8+arg_8], rbx 180005045: mov [rsp-8+arg_10], rsi 18000504A: mov [rsp-8+arg_18], rdi 18000504F: push rbp 180005050: lea rbp, [rsp-150h] 180005058: sub rsp, 250h 18000505F: mov rax, cs:__security_cookie 180005066: xor rax, rsp 180005069: mov [rbp+150h+var_10], rax 180005070: mov rbx, rcx 180005073: xor esi, esi 180005075: mov [rsp+250h+var_210], esi 180005079: cmp [rcx+18h], rsi 18000507D: jz loc_1800052FE 180005083: cmp byte ptr [rcx+30h], 1 180005087: jz loc_180005321 18000508D: lea rdx, [rcx+8]; void * 180005091: lea rcx, [rbp+150h+lpFileName]; Src 180005095: call sub_180004CA0 18000509A: nop 18000509B: lea rcx, [rbp+150h+lpFileName] 18000509F: cmp [rbp+150h+var_118], 8 1800050A4: cmovnb rcx, [rbp+150h+lpFileName]; lpFileName 1800050A9: mov [rsp+250h+hTemplateFile], rsi; hTemplateFile 1800050AE: mov [rsp+250h+dwFlagsAndAttributes], 80h; dwFlagsAndAttributes 1800050B6: mov [rsp+250h+dwCreationDisposition], 3; dwCreationDisposition 1800050BE: xor r9d, r9d; lpSecurityAttributes 1800050C1: xor r8d, r8d; dwShareMode 1800050C4: mov edx, 0C0000000h; dwDesiredAccess 1800050C9: call cs:CreateFileW 1800050CF: mov [rbx+28h], rax 1800050D3: cmp rax, 0FFFFFFFFFFFFFFFFh 1800050D7: jnz loc_180005187 1800050DD: call cs:GetLastError 1800050E3: mov edi, eax 1800050E5: xor edx, edx; Val 1800050E7: mov r8d, 0F8h; Size 1800050ED: lea rcx, [rbp+150h+var_110]; void * 1800050F1: call memset 1800050F6: lea rax, unk_18000FCB8 1800050FD: mov [rbp+150h+var_110], rax 180005101: lea rax, unk_18000FBA8 180005108: mov [rbp+150h+var_100], rax 18000510C: lea rcx, [rbp+150h+var_78] 180005113: call cs:??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ; std::basic_ios>::basic_ios>(void) 180005119: nop 18000511A: mov [rsp+250h+var_210], 1 180005122: xor r8d, r8d 180005125: lea rdx, [rbp+150h+var_F8] 180005129: lea rcx, [rbp+150h+var_110] 18000512D: call cs:??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z; std::basic_iostream>::basic_iostream>(std::basic_streambuf> *) 180005133: nop 180005134: mov rax, [rbp+150h+var_110] 180005138: movsxd rcx, dword ptr [rax+4] 18000513C: lea rax, off_18000FC80 180005143: mov [rbp+rcx+150h+var_110], rax 180005148: mov rax, [rbp+150h+var_110] 18000514C: movsxd rcx, dword ptr [rax+4] 180005150: lea edx, [rcx-98h] 180005156: mov dword ptr [rbp+rcx+150h+var_118+4], edx 18000515A: lea rcx, [rbp+150h+var_F8] 18000515E: call cs:??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ; std::basic_streambuf>::basic_streambuf>(void) 180005164: lea rax, off_18000FBD0 18000516B: mov [rbp+150h+var_F8], rax 18000516F: mov [rbp+150h+var_90], rsi 180005176: mov [rbp+150h+var_88], esi 18000517C: cmp edi, 2 18000517F: jnz loc_180005293 180005185: jmp short loc_1800051FE 180005187: mov rcx, rbx 18000518A: call sub_1800053C0 18000518F: mov byte ptr [rbx+30h], 1 180005193: mov rdx, [rbp+150h+var_118] 180005197: cmp rdx, 8 18000519B: jb short loc_1800051D6 18000519D: lea rdx, ds:2[rdx*2] 1800051A5: mov rcx, [rbp+150h+lpFileName]; Block 1800051A9: mov rax, rcx 1800051AC: cmp rdx, 1000h 1800051B3: jb short loc_1800051D1 1800051B5: add rdx, 27h ; ''' 1800051B9: mov rcx, [rcx-8] 1800051BD: sub rax, rcx 1800051C0: add rax, 0FFFFFFFFFFFFFFF8h 1800051C4: cmp rax, 1Fh 1800051C8: jbe short loc_1800051D1 1800051CA: call cs:_invalid_parameter_noinfo_noreturn 1800051D0: int 3; Trap to Debugger 1800051D1: call j_j_free 1800051D6: mov rcx, [rbp+150h+var_10] 1800051DD: xor rcx, rsp; StackCookie 1800051E0: call __security_check_cookie 1800051E5: lea r11, [rsp+250h+var_s0] 1800051ED: mov rbx, [r11+18h] 1800051F1: mov rsi, [r11+20h] 1800051F5: mov rdi, [r11+28h] 1800051F9: mov rsp, r11 1800051FC: pop rbp 1800051FD: retn 1800051FE: lea rdx, [rsp+250h+var_200] 180005203: mov rcx, rbx 180005206: call sub_1800059C0 18000520B: mov rbx, rax 18000520E: lea rdx, aSpecifiedPort; "Specified port, " 180005215: lea rcx, [rbp+150h+var_100] 180005219: call sub_180006310 18000521E: mov rcx, rax 180005221: mov rdx, rbx 180005224: call unknown_libname_19; Microsoft VisualC v14 64bit runtime 180005229: mov rcx, rax 18000522C: lea rdx, aDoesNotExist; ", does not exist." 180005233: call sub_180006310 180005238: nop 180005239: lea rcx, [rsp+250h+var_200] 18000523E: call sub_1800024B0 180005243: lea rdx, [rsp+250h+var_1E0] 180005248: lea rcx, [rbp+150h+var_110] 18000524C: call sub_180006050 180005251: mov rbx, rax 180005254: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 18000525B: lea rcx, [rsp+250h+var_200] 180005260: call sub_180002510 180005265: mov rdx, rax 180005268: mov rcx, rbx 18000526B: call sub_1800061B0 180005270: mov r9, rax 180005273: mov r8d, 53h ; 'S' 180005279: lea rcx, [rbp+150h+pExceptionObject] 18000527D: call sub_180004310 180005282: lea rdx, stru_1800134B8; pThrowInfo 180005289: lea rcx, [rbp+150h+pExceptionObject]; pExceptionObject 18000528D: call _CxxThrowException 180005292: db 90h 180005293: lea rdx, aUnknownErrorOp; "Unknown error opening the serial port: " 18000529A: lea rcx, [rbp+150h+var_100] 18000529E: call sub_180006310 1800052A3: mov rcx, rax 1800052A6: mov edx, edi 1800052A8: call cs:??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z; std::basic_ostream>::operator<<(ulong) 1800052AE: lea rdx, [rsp+250h+var_1E0] 1800052B3: lea rcx, [rbp+150h+var_110] 1800052B7: call sub_180006050 1800052BC: mov rbx, rax 1800052BF: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 1800052C6: lea rcx, [rsp+250h+var_200] 1800052CB: call sub_180002510 1800052D0: mov rdx, rax 1800052D3: mov rcx, rbx 1800052D6: call sub_1800061B0 1800052DB: mov r9, rax 1800052DE: mov r8d, 56h ; 'V' 1800052E4: lea rcx, [rbp+150h+pExceptionObject] 1800052E8: call sub_180004310 1800052ED: lea rdx, stru_1800134B8; pThrowInfo 1800052F4: lea rcx, [rbp+150h+pExceptionObject]; pExceptionObject 1800052F8: call _CxxThrowException 1800052FD: align 2 1800052FE: lea rdx, aEmptyPortIsInv; "Empty port is invalid." 180005305: lea rcx, [rsp+250h+var_200] 18000530A: call sub_180003E20 18000530F: lea rdx, stru_180013448; pThrowInfo 180005316: lea rcx, [rsp+250h+var_200]; pExceptionObject 18000531B: call _CxxThrowException 180005320: db 0CCh 180005321: lea rcx, [rsp+250h+var_1E0] 180005326: call sub_180003E90 18000532B: lea rdx, stru_1800133A0; pThrowInfo 180005332: lea rcx, [rsp+250h+var_1E0]; pExceptionObject 180005337: call _CxxThrowException 18000533C: db 0CCh ### FUNC 180005340 - 18000537D (61 bytes) name=sub_180005340 180005340: push rbx 180005342: sub rsp, 20h 180005346: mov rbx, rcx 180005349: mov rax, rdx 18000534C: lea rcx, off_18000F6D8 180005353: xorps xmm0, xmm0 180005356: lea rdx, [rbx+8] 18000535A: mov [rbx], rcx 18000535D: lea rcx, [rax+8] 180005361: movups xmmword ptr [rdx], xmm0 180005364: call cs:__std_exception_copy 18000536A: lea rax, off_18000FC50 180005371: mov [rbx], rax 180005374: mov rax, rbx 180005377: add rsp, 20h 18000537B: pop rbx 18000537C: retn ### FUNC 180005380 - 1800053BD (61 bytes) name=sub_180005380 180005380: push rbx 180005382: sub rsp, 20h 180005386: mov rbx, rcx 180005389: mov rax, rdx 18000538C: lea rcx, off_18000F6D8 180005393: xorps xmm0, xmm0 180005396: lea rdx, [rbx+8] 18000539A: mov [rbx], rcx 18000539D: lea rcx, [rax+8] 1800053A1: movups xmmword ptr [rdx], xmm0 1800053A4: call cs:__std_exception_copy 1800053AA: lea rax, off_18000FBB8 1800053B1: mov [rbx], rax 1800053B4: mov rax, rbx 1800053B7: add rsp, 20h 1800053BB: pop rbx 1800053BC: retn ### FUNC 1800053C0 - 18000578F (975 bytes) name=sub_1800053C0 1800053C0: mov [rsp-8+arg_8], rbx 1800053C5: push rbp 1800053C6: lea rbp, [rsp-57h] 1800053CB: sub rsp, 100h 1800053D2: mov rax, cs:__security_cookie 1800053D9: xor rax, rsp 1800053DC: mov [rbp+57h+var_8], rax 1800053E0: mov rbx, rcx 1800053E3: mov rcx, [rcx+28h]; hFile 1800053E7: cmp rcx, 0FFFFFFFFFFFFFFFFh 1800053EB: jz loc_180005657 1800053F1: xorps xmm0, xmm0 1800053F4: mov qword ptr [rbp+57h+DCB.StopBits], 0 1800053FC: lea rdx, [rbp+57h+DCB]; lpDCB 180005400: mov [rbp+57h+DCB.DCBlength], 1Ch 180005407: movdqu xmmword ptr [rbp+57h+DCB.BaudRate], xmm0 18000540C: call cs:GetCommState 180005412: test eax, eax 180005414: jz loc_180005692 18000541A: mov eax, [rbx+48h] 18000541D: cmp eax, 3840h 180005422: ja loc_1800054AB 180005428: jz short loc_1800054A2 18000542A: cmp eax, 4B0h 18000542F: ja short loc_180005476 180005431: jz short loc_18000546A 180005433: cmp eax, 6Eh ; 'n' 180005436: jz short loc_18000545E 180005438: cmp eax, 12Ch 18000543D: jz short loc_180005452 18000543F: cmp eax, 258h 180005444: jnz loc_1800054F7 18000544A: mov [rbp+57h+DCB.BaudRate], eax 18000544D: jmp loc_18000550C 180005452: mov [rbp+57h+DCB.BaudRate], 12Ch 180005459: jmp loc_18000550C 18000545E: mov [rbp+57h+DCB.BaudRate], 6Eh ; 'n' 180005465: jmp loc_18000550C 18000546A: mov [rbp+57h+DCB.BaudRate], 4B0h 180005471: jmp loc_18000550C 180005476: cmp eax, 960h 18000547B: jz short loc_180005499 18000547D: cmp eax, 12C0h 180005482: jz short loc_180005490 180005484: cmp eax, 2580h 180005489: jnz short loc_1800054F7 18000548B: mov [rbp+57h+DCB.BaudRate], eax 18000548E: jmp short loc_18000550C 180005490: mov [rbp+57h+DCB.BaudRate], 12C0h 180005497: jmp short loc_18000550C 180005499: mov [rbp+57h+DCB.BaudRate], 960h 1800054A0: jmp short loc_18000550C 1800054A2: mov [rbp+57h+DCB.BaudRate], 3840h 1800054A9: jmp short loc_18000550C 1800054AB: cmp eax, 1C200h 1800054B0: ja short loc_1800054E9 1800054B2: jz short loc_1800054E0 1800054B4: cmp eax, 4B00h 1800054B9: jz short loc_1800054D7 1800054BB: cmp eax, 9600h 1800054C0: jz short loc_1800054CE 1800054C2: cmp eax, 0E100h 1800054C7: jnz short loc_1800054F7 1800054C9: mov [rbp+57h+DCB.BaudRate], eax 1800054CC: jmp short loc_18000550C 1800054CE: mov [rbp+57h+DCB.BaudRate], 9600h 1800054D5: jmp short loc_18000550C 1800054D7: mov [rbp+57h+DCB.BaudRate], 4B00h 1800054DE: jmp short loc_18000550C 1800054E0: mov [rbp+57h+DCB.BaudRate], 1C200h 1800054E7: jmp short loc_18000550C 1800054E9: cmp eax, 1F400h 1800054EE: jz short loc_180005505 1800054F0: cmp eax, 3E800h 1800054F5: jz short loc_1800054FC 1800054F7: mov [rbp+57h+DCB.BaudRate], eax 1800054FA: jmp short loc_18000550C 1800054FC: mov [rbp+57h+DCB.BaudRate], 3E800h 180005503: jmp short loc_18000550C 180005505: mov [rbp+57h+DCB.BaudRate], 1F400h 18000550C: mov eax, [rbx+50h] 18000550F: cmp eax, 8 180005512: jnz short loc_180005519 180005514: mov [rbp+57h+DCB.ByteSize], al 180005517: jmp short loc_180005539 180005519: cmp eax, 7 18000551C: jnz short loc_180005523 18000551E: mov [rbp+57h+DCB.ByteSize], al 180005521: jmp short loc_180005539 180005523: cmp eax, 6 180005526: jnz short loc_18000552D 180005528: mov [rbp+57h+DCB.ByteSize], al 18000552B: jmp short loc_180005539 18000552D: cmp eax, 5 180005530: jnz loc_180005634 180005536: mov [rbp+57h+DCB.ByteSize], al 180005539: mov eax, [rbx+54h] 18000553C: cmp eax, 1 18000553F: jnz short loc_180005547 180005541: mov [rbp+57h+DCB.StopBits], 0 180005545: jmp short loc_18000555E 180005547: cmp eax, 3 18000554A: jnz short loc_180005552 18000554C: mov [rbp+57h+DCB.StopBits], 1 180005550: jmp short loc_18000555E 180005552: cmp eax, 2 180005555: jnz loc_18000576C 18000555B: mov [rbp+57h+DCB.StopBits], al 18000555E: mov eax, [rbx+4Ch] 180005561: test eax, eax 180005563: jnz short loc_18000556A 180005565: mov [rbp+57h+DCB.Parity], al 180005568: jmp short loc_180005594 18000556A: cmp eax, 2 18000556D: jnz short loc_180005574 18000556F: mov [rbp+57h+DCB.Parity], al 180005572: jmp short loc_180005594 180005574: cmp eax, 1 180005577: jnz short loc_18000557E 180005579: mov [rbp+57h+DCB.Parity], al 18000557C: jmp short loc_180005594 18000557E: cmp eax, 3 180005581: jnz short loc_180005588 180005583: mov [rbp+57h+DCB.Parity], al 180005586: jmp short loc_180005594 180005588: cmp eax, 4 18000558B: jnz loc_180005749 180005591: mov [rbp+57h+DCB.Parity], al 180005594: mov eax, [rbx+58h] 180005597: test eax, eax 180005599: jnz short loc_1800055A4 18000559B: and dword ptr [rbp+57h+DCB.fBinary], 0FFFFCCFBh 1800055A2: jmp short loc_1800055CD 1800055A4: cmp eax, 1 1800055A7: jnz short loc_1800055B8 1800055A9: mov eax, dword ptr [rbp+57h+DCB.fBinary] 1800055AC: and eax, 0FFFFCFFBh 1800055B1: or eax, 300h 1800055B6: jmp short loc_1800055CA 1800055B8: cmp eax, 2 1800055BB: jnz short loc_1800055CD 1800055BD: mov eax, dword ptr [rbp+57h+DCB.fBinary] 1800055C0: and eax, 0FFFFECFFh 1800055C5: or eax, 2004h 1800055CA: mov dword ptr [rbp+57h+DCB.fBinary], eax 1800055CD: mov rcx, [rbx+28h]; hFile 1800055D1: lea rdx, [rbp+57h+DCB]; lpDCB 1800055D5: call cs:SetCommState 1800055DB: mov rcx, [rbx+28h]; hObject 1800055DF: test eax, eax 1800055E1: jz loc_1800056CD 1800055E7: mov eax, [rbx+34h] 1800055EA: lea rdx, [rbp+57h+CommTimeouts]; lpCommTimeouts 1800055EE: mov [rbp+57h+CommTimeouts.ReadIntervalTimeout], eax 1800055F1: mov eax, [rbx+38h] 1800055F4: mov [rbp+57h+CommTimeouts.ReadTotalTimeoutConstant], eax 1800055F7: mov eax, [rbx+3Ch] 1800055FA: mov [rbp+57h+CommTimeouts.ReadTotalTimeoutMultiplier], eax 1800055FD: mov eax, [rbx+40h] 180005600: mov [rbp+57h+CommTimeouts.WriteTotalTimeoutConstant], eax 180005603: mov eax, [rbx+44h] 180005606: mov [rbp+57h+CommTimeouts.WriteTotalTimeoutMultiplier], eax 180005609: call cs:SetCommTimeouts 18000560F: test eax, eax 180005611: jz loc_18000570E 180005617: mov rcx, [rbp+57h+var_8] 18000561B: xor rcx, rsp; StackCookie 18000561E: call __security_check_cookie 180005623: mov rbx, [rsp+100h+arg_8] 18000562B: add rsp, 100h 180005632: pop rbp 180005633: retn 180005634: lea rdx, aInvalidCharLen; "invalid char len" 18000563B: lea rcx, [rsp+100h+pExceptionObject] 180005640: call sub_180003E20 180005645: lea rdx, stru_180013448; pThrowInfo 18000564C: lea rcx, [rsp+100h+pExceptionObject]; pExceptionObject 180005651: call _CxxThrowException 180005656: db 0CCh 180005657: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 18000565E: lea rcx, [rsp+100h+pExceptionObject] 180005663: call sub_180002510 180005668: lea r9, aInvalidFileDes; "Invalid file descriptor, is the serial "... 18000566F: mov r8d, 63h ; 'c' 180005675: mov rdx, rax 180005678: lea rcx, [rbp+57h+var_B0] 18000567C: call sub_180004310 180005681: lea rdx, stru_1800134B8; pThrowInfo 180005688: lea rcx, [rbp+57h+var_B0]; pExceptionObject 18000568C: call _CxxThrowException 180005691: align 2 180005692: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 180005699: lea rcx, [rsp+100h+pExceptionObject] 18000569E: call sub_180002510 1800056A3: lea r9, aErrorGettingTh; "Error getting the serial port state." 1800056AA: mov r8d, 6Ch ; 'l' 1800056B0: mov rdx, rax 1800056B3: lea rcx, [rbp+57h+var_B0] 1800056B7: call sub_180004310 1800056BC: lea rdx, stru_1800134B8; pThrowInfo 1800056C3: lea rcx, [rbp+57h+var_B0]; pExceptionObject 1800056C7: call _CxxThrowException 1800056CC: db 0CCh 1800056CD: call cs:CloseHandle 1800056D3: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 1800056DA: lea rcx, [rsp+100h+pExceptionObject] 1800056DF: call sub_180002510 1800056E4: lea r9, aErrorSettingSe; "Error setting serial port settings." 1800056EB: mov r8d, 106h 1800056F1: mov rdx, rax 1800056F4: lea rcx, [rbp+57h+var_B0] 1800056F8: call sub_180004310 1800056FD: lea rdx, stru_1800134B8; pThrowInfo 180005704: lea rcx, [rbp+57h+var_B0]; pExceptionObject 180005708: call _CxxThrowException 18000570D: align 2 18000570E: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 180005715: lea rcx, [rsp+100h+pExceptionObject] 18000571A: call sub_180002510 18000571F: lea r9, aErrorSettingTi; "Error setting timeouts." 180005726: mov r8d, 111h 18000572C: mov rdx, rax 18000572F: lea rcx, [rbp+57h+var_B0] 180005733: call sub_180004310 180005738: lea rdx, stru_1800134B8; pThrowInfo 18000573F: lea rcx, [rbp+57h+var_B0]; pExceptionObject 180005743: call _CxxThrowException 180005748: db 0CCh 180005749: lea rdx, aInvalidParity; "invalid parity" 180005750: lea rcx, [rsp+100h+pExceptionObject] 180005755: call sub_180003E20 18000575A: lea rdx, stru_180013448; pThrowInfo 180005761: lea rcx, [rsp+100h+pExceptionObject]; pExceptionObject 180005766: call _CxxThrowException 18000576B: align 4 18000576C: lea rdx, aInvalidStopBit; "invalid stop bit" 180005773: lea rcx, [rsp+100h+pExceptionObject] 180005778: call sub_180003E20 18000577D: lea rdx, stru_180013448; pThrowInfo 180005784: lea rcx, [rsp+100h+pExceptionObject]; pExceptionObject 180005789: call _CxxThrowException 18000578E: db 0CCh ### FUNC 180005790 - 180005885 (245 bytes) name=sub_180005790 180005790: push rbx 180005792: sub rsp, 1F0h 180005799: mov rax, cs:__security_cookie 1800057A0: xor rax, rsp 1800057A3: mov [rsp+1F8h+var_18], rax 1800057AB: mov rbx, rcx 1800057AE: cmp byte ptr [rcx+30h], 1 1800057B2: jnz short loc_1800057D4 1800057B4: mov rcx, [rcx+28h]; hObject 1800057B8: cmp rcx, 0FFFFFFFFFFFFFFFFh 1800057BC: jz short loc_1800057D0 1800057BE: call cs:CloseHandle 1800057C4: test eax, eax 1800057C6: jz short loc_1800057ED 1800057C8: mov qword ptr [rbx+28h], 0FFFFFFFFFFFFFFFFh 1800057D0: mov byte ptr [rbx+30h], 0 1800057D4: mov rcx, [rsp+1F8h+var_18] 1800057DC: xor rcx, rsp; StackCookie 1800057DF: call __security_check_cookie 1800057E4: add rsp, 1F0h 1800057EB: pop rbx 1800057EC: retn 1800057ED: lea rcx, [rsp+1F8h+var_118] 1800057F5: call sub_180004300 1800057FA: lea rcx, [rsp+1F8h+var_118] 180005802: call sub_1800060F0 180005807: nop 180005808: call cs:GetLastError 18000580E: mov ebx, eax 180005810: lea rdx, aErrorWhileClos; "Error while closing serial port: " 180005817: lea rcx, [rsp+1F8h+var_108] 18000581F: call sub_180006310 180005824: mov rcx, rax 180005827: mov edx, ebx 180005829: call cs:??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z; std::basic_ostream>::operator<<(ulong) 18000582F: lea rdx, [rsp+1F8h+var_1B0] 180005834: lea rcx, [rsp+1F8h+var_118] 18000583C: call sub_180006050 180005841: mov rbx, rax 180005844: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 18000584B: lea rcx, [rsp+1F8h+var_1D0] 180005850: call sub_180002510 180005855: mov rdx, rax 180005858: mov rcx, rbx 18000585B: call sub_1800061B0 180005860: mov r9, rax 180005863: mov r8d, 11Fh 180005869: lea rcx, [rsp+1F8h+pExceptionObject] 18000586E: call sub_180004310 180005873: lea rdx, stru_1800134B8; pThrowInfo 18000587A: lea rcx, [rsp+1F8h+pExceptionObject]; pExceptionObject 18000587F: call _CxxThrowException 180005884: db 0CCh ### FUNC 180005890 - 1800059B5 (293 bytes) name=sub_180005890 180005890: push rbx 180005892: sub rsp, 220h 180005899: mov rax, cs:__security_cookie 1800058A0: xor rax, rsp 1800058A3: mov [rsp+228h+var_18], rax 1800058AB: cmp byte ptr [rcx+30h], 0 1800058AF: jz loc_180005992 1800058B5: mov [rsp+228h+lpOverlapped], 0; lpOverlapped 1800058BE: lea r9, [rsp+228h+NumberOfBytesRead]; lpNumberOfBytesRead 1800058C6: mov rcx, [rcx+28h]; hFile 1800058CA: call cs:ReadFile 1800058D0: test eax, eax 1800058D2: jz short loc_1800058F4 1800058D4: mov eax, [rsp+228h+NumberOfBytesRead] 1800058DB: mov rcx, [rsp+228h+var_18] 1800058E3: xor rcx, rsp; StackCookie 1800058E6: call __security_check_cookie 1800058EB: add rsp, 220h 1800058F2: pop rbx 1800058F3: retn 1800058F4: lea rcx, [rsp+228h+var_118] 1800058FC: call sub_180004300 180005901: lea rcx, [rsp+228h+var_118] 180005909: call sub_1800060F0 18000590E: nop 18000590F: call cs:GetLastError 180005915: mov ebx, eax 180005917: lea rdx, aErrorWhileRead; "Error while reading from the serial por"... 18000591E: lea rcx, [rsp+228h+var_108] 180005926: call sub_180006310 18000592B: mov rcx, rax 18000592E: mov edx, ebx 180005930: call cs:??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z; std::basic_ostream>::operator<<(ulong) 180005936: lea rdx, [rsp+228h+var_1D0] 18000593B: lea rcx, [rsp+228h+var_118] 180005943: call sub_180006050 180005948: mov rbx, rax 18000594B: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 180005952: lea rcx, [rsp+228h+var_1F0] 180005957: call sub_180002510 18000595C: mov rdx, rax 18000595F: mov rcx, rbx 180005962: call sub_1800061B0 180005967: mov r9, rax 18000596A: mov r8d, 154h 180005970: lea rcx, [rsp+228h+pExceptionObject] 180005978: call sub_180004310 18000597D: lea rdx, stru_1800134B8; pThrowInfo 180005984: lea rcx, [rsp+228h+pExceptionObject]; pExceptionObject 18000598C: call _CxxThrowException 180005991: align 2 180005992: lea rdx, aSerialRead; "Serial::read" 180005999: lea rcx, [rsp+228h+var_1D0] 18000599E: call sub_1800048A0 1800059A3: lea rdx, stru_1800134D8; pThrowInfo 1800059AA: lea rcx, [rsp+228h+var_1D0]; pExceptionObject 1800059AF: call _CxxThrowException 1800059B4: db 0CCh ### FUNC 1800059C0 - 180005A85 (197 bytes) name=sub_1800059C0 1800059C0: mov [rsp+arg_0], rbx 1800059C5: mov [rsp+arg_10], rsi 1800059CA: push rdi 1800059CB: sub rsp, 30h 1800059CF: mov rbx, rdx 1800059D2: mov [rsp+38h+var_18], rdx 1800059D7: lea rdi, [rcx+8] 1800059DB: mov rcx, rdi 1800059DE: cmp qword ptr [rdi+18h], 8 1800059E3: jb short loc_1800059E8 1800059E5: mov rcx, [rdi] 1800059E8: mov rax, [rdi+10h] 1800059EC: lea rsi, [rcx+rax*2] 1800059F0: jb short loc_1800059F5 1800059F2: mov rdi, [rdi] 1800059F5: mov qword ptr [rdx+10h], 0 1800059FD: mov qword ptr [rdx+18h], 0Fh 180005A05: mov byte ptr [rdx], 0 180005A08: mov rdx, rsi 180005A0B: sub rdx, rdi 180005A0E: sar rdx, 1 180005A11: cmp rdx, 0Fh 180005A15: jbe short loc_180005A27 180005A17: mov rcx, rbx; Src 180005A1A: call sub_180006C50 180005A1F: mov qword ptr [rbx+10h], 0 180005A27: mov [rsp+38h+var_18], rbx 180005A2C: cmp rdi, rsi 180005A2F: jz short loc_180005A72 180005A31: movzx r9d, byte ptr [rdi] 180005A35: mov rcx, [rbx+10h] 180005A39: mov rdx, [rbx+18h] 180005A3D: cmp rcx, rdx 180005A40: jnb short loc_180005A61 180005A42: lea rax, [rcx+1] 180005A46: mov [rbx+10h], rax 180005A4A: mov rax, rbx 180005A4D: cmp rdx, 10h 180005A51: jb short loc_180005A56 180005A53: mov rax, [rbx] 180005A56: mov [rax+rcx], r9b 180005A5A: mov byte ptr [rax+rcx+1], 0 180005A5F: jmp short loc_180005A69 180005A61: mov rcx, rbx; Src 180005A64: call sub_180002770 180005A69: add rdi, 2 180005A6D: cmp rdi, rsi 180005A70: jnz short loc_180005A31 180005A72: mov rax, rbx 180005A75: mov rbx, [rsp+38h+arg_0] 180005A7A: mov rsi, [rsp+38h+arg_10] 180005A7F: add rsp, 30h 180005A83: pop rdi 180005A84: retn ### FUNC 180005A90 - 180005B79 (233 bytes) name=sub_180005A90 180005A90: mov [rsp+arg_0], rbx 180005A95: mov [rsp+arg_8], rsi 180005A9A: mov [rsp+arg_10], rdi 180005A9F: mov [rsp+arg_18], r14 180005AA4: mov r14, [rcx+38h] 180005AA8: mov r10, rcx 180005AAB: mov rax, [rcx+40h] 180005AAF: mov r11, [r8+8] 180005AB3: add r11, [r8] 180005AB6: mov rsi, [r14] 180005AB9: mov rcx, [rax] 180005ABC: test rcx, rcx 180005ABF: jz short loc_180005ACB 180005AC1: cmp [r10+68h], rcx 180005AC5: jnb short loc_180005ACB 180005AC7: mov [r10+68h], rcx 180005ACB: mov rax, [r10+18h] 180005ACF: mov rbx, [r10+68h] 180005AD3: mov rdi, [rax] 180005AD6: mov rax, rbx 180005AD9: sub rax, rdi 180005ADC: cmp r11, rax 180005ADF: ja short loc_180005B4C 180005AE1: test r11, r11 180005AE4: jz short loc_180005AFC 180005AE6: test r9b, 1 180005AEA: jz short loc_180005AF1 180005AEC: test rsi, rsi 180005AEF: jz short loc_180005B4C 180005AF1: test r9b, 2 180005AF5: jz short loc_180005AFC 180005AF7: test rcx, rcx 180005AFA: jz short loc_180005B4C 180005AFC: lea r8, [rdi+r11] 180005B00: test r9b, 1 180005B04: jz short loc_180005B17 180005B06: test rsi, rsi 180005B09: jz short loc_180005B17 180005B0B: mov [r14], r8 180005B0E: sub ebx, r8d 180005B11: mov rax, [r10+50h] 180005B15: mov [rax], ebx 180005B17: test r9b, 2 180005B1B: jz short loc_180005B47 180005B1D: test rcx, rcx 180005B20: jz short loc_180005B47 180005B22: mov rax, [r10+58h] 180005B26: movsxd rcx, dword ptr [rax] 180005B29: mov rax, [r10+40h] 180005B2D: add rcx, [rax] 180005B30: mov rax, [r10+20h] 180005B34: sub ecx, r8d 180005B37: mov [rax], rdi 180005B3A: mov rax, [r10+40h] 180005B3E: mov [rax], r8 180005B41: mov rax, [r10+58h] 180005B45: mov [rax], ecx 180005B47: mov [rdx], r11 180005B4A: jmp short loc_180005B53 180005B4C: mov qword ptr [rdx], 0FFFFFFFFFFFFFFFFh 180005B53: mov rbx, [rsp+arg_0] 180005B58: xor eax, eax 180005B5A: mov rsi, [rsp+arg_8] 180005B5F: mov rdi, [rsp+arg_10] 180005B64: mov r14, [rsp+arg_18] 180005B69: mov qword ptr [rdx+8], 0 180005B71: mov [rdx+10h], rax 180005B75: mov rax, rdx 180005B78: retn ### FUNC 180005B80 - 180005CD4 (340 bytes) name=sub_180005B80 180005B80: mov [rsp+arg_0], rbx 180005B85: mov [rsp+arg_8], rbp 180005B8A: mov [rsp+arg_10], rsi 180005B8F: mov [rsp+arg_18], rdi 180005B94: push r14 180005B96: mov r14, [rcx+38h] 180005B9A: mov r10, rcx 180005B9D: mov rax, [rcx+40h] 180005BA1: mov rbp, r8 180005BA4: mov rdi, [r14] 180005BA7: mov rcx, [rax] 180005BAA: test rcx, rcx 180005BAD: jz short loc_180005BB9 180005BAF: cmp [r10+68h], rcx 180005BB3: jnb short loc_180005BB9 180005BB5: mov [r10+68h], rcx 180005BB9: mov rax, [r10+18h] 180005BBD: mov rsi, [r10+68h] 180005BC1: mov r8d, [rsp+8+arg_20] 180005BC6: mov r11, rsi 180005BC9: mov rbx, [rax] 180005BCC: sub r11, rbx 180005BCF: test r9d, r9d 180005BD2: jz short loc_180005C2F 180005BD4: sub r9d, 1 180005BD8: jz short loc_180005BE9 180005BDA: cmp r9d, 1 180005BDE: jnz loc_180005CA5 180005BE4: mov rax, r11 180005BE7: jmp short loc_180005C31 180005BE9: mov eax, r8d 180005BEC: and eax, 3 180005BEF: cmp al, 3 180005BF1: jz loc_180005CA5 180005BF7: test r8b, 1 180005BFB: jz short loc_180005C13 180005BFD: test rdi, rdi 180005C00: jnz short loc_180005C0B 180005C02: test rbx, rbx 180005C05: jnz loc_180005CA5 180005C0B: mov rax, rdi 180005C0E: sub rax, rbx 180005C11: jmp short loc_180005C31 180005C13: test r8b, 2 180005C17: jz loc_180005CA5 180005C1D: test rcx, rcx 180005C20: jnz short loc_180005C27 180005C22: test rbx, rbx 180005C25: jnz short loc_180005CA5 180005C27: mov rax, rcx 180005C2A: sub rax, rbx 180005C2D: jmp short loc_180005C31 180005C2F: xor eax, eax 180005C31: lea r9, [rax+rbp] 180005C35: cmp r9, r11 180005C38: ja short loc_180005CA5 180005C3A: test r9, r9 180005C3D: jz short loc_180005C55 180005C3F: test r8b, 1 180005C43: jz short loc_180005C4A 180005C45: test rdi, rdi 180005C48: jz short loc_180005CA5 180005C4A: test r8b, 2 180005C4E: jz short loc_180005C55 180005C50: test rcx, rcx 180005C53: jz short loc_180005CA5 180005C55: lea r11, [rbx+r9] 180005C59: test r8b, 1 180005C5D: jz short loc_180005C70 180005C5F: test rdi, rdi 180005C62: jz short loc_180005C70 180005C64: mov [r14], r11 180005C67: sub esi, r11d 180005C6A: mov rax, [r10+50h] 180005C6E: mov [rax], esi 180005C70: test r8b, 2 180005C74: jz short loc_180005CA0 180005C76: test rcx, rcx 180005C79: jz short loc_180005CA0 180005C7B: mov rax, [r10+58h] 180005C7F: movsxd rcx, dword ptr [rax] 180005C82: mov rax, [r10+40h] 180005C86: add rcx, [rax] 180005C89: mov rax, [r10+20h] 180005C8D: sub ecx, r11d 180005C90: mov [rax], rbx 180005C93: mov rax, [r10+40h] 180005C97: mov [rax], r11 180005C9A: mov rax, [r10+58h] 180005C9E: mov [rax], ecx 180005CA0: mov [rdx], r9 180005CA3: jmp short loc_180005CAC 180005CA5: mov qword ptr [rdx], 0FFFFFFFFFFFFFFFFh 180005CAC: mov rbx, [rsp+8+arg_0] 180005CB1: xor eax, eax 180005CB3: mov rbp, [rsp+8+arg_8] 180005CB8: mov rsi, [rsp+8+arg_10] 180005CBD: mov rdi, [rsp+8+arg_18] 180005CC2: mov qword ptr [rdx+8], 0 180005CCA: mov [rdx+10h], rax 180005CCE: mov rax, rdx 180005CD1: pop r14 180005CD3: retn ### FUNC 180005CE0 - 180005D48 (104 bytes) name=sub_180005CE0 180005CE0: mov r10, [rcx+38h] 180005CE4: mov rdx, rcx 180005CE7: mov r8, [r10] 180005CEA: test r8, r8 180005CED: jz short loc_180005D42 180005CEF: mov rax, [rcx+50h] 180005CF3: movsxd rcx, dword ptr [rax] 180005CF6: add rcx, r8 180005CF9: cmp r8, rcx 180005CFC: jnb short loc_180005D03 180005CFE: movzx eax, byte ptr [r8] 180005D02: retn 180005D03: mov rax, [rdx+40h] 180005D07: mov r9, [rax] 180005D0A: test r9, r9 180005D0D: jz short loc_180005D42 180005D0F: test byte ptr [rdx+70h], 4 180005D13: jnz short loc_180005D42 180005D15: mov rcx, [rdx+68h] 180005D19: cmp rcx, r9 180005D1C: cmovb rcx, r9 180005D20: cmp rcx, r8 180005D23: jbe short loc_180005D42 180005D25: mov [rdx+68h], rcx 180005D29: mov rax, [r10] 180005D2C: mov [r10], rax 180005D2F: sub ecx, eax 180005D31: mov rax, [rdx+50h] 180005D35: mov [rax], ecx 180005D37: mov rax, [rdx+38h] 180005D3B: mov rcx, [rax] 180005D3E: movzx eax, byte ptr [rcx] 180005D41: retn 180005D42: mov eax, 0FFFFFFFFh 180005D47: retn ### FUNC 180005D50 - 180005DA2 (82 bytes) name=sub_180005D50 180005D50: mov rax, [rcx+38h] 180005D54: mov r8, [rax] 180005D57: test r8, r8 180005D5A: jz short loc_180005D9C 180005D5C: mov rax, [rcx+18h] 180005D60: cmp r8, [rax] 180005D63: jbe short loc_180005D9C 180005D65: cmp edx, 0FFFFFFFFh 180005D68: jz short loc_180005D76 180005D6A: cmp dl, [r8-1] 180005D6E: jz short loc_180005D76 180005D70: test byte ptr [rcx+70h], 2 180005D74: jnz short loc_180005D9C 180005D76: mov rax, [rcx+50h] 180005D7A: inc dword ptr [rax] 180005D7C: mov rax, [rcx+38h] 180005D80: dec qword ptr [rax] 180005D83: cmp edx, 0FFFFFFFFh 180005D86: jz short loc_180005D91 180005D88: mov rax, [rcx+38h] 180005D8C: mov rcx, [rax] 180005D8F: mov [rcx], dl 180005D91: xor eax, eax 180005D93: cmp edx, 0FFFFFFFFh 180005D96: cmovz edx, eax 180005D99: mov eax, edx 180005D9B: retn 180005D9C: mov eax, 0FFFFFFFFh 180005DA1: retn ### FUNC 180005DB0 - 180005F90 (480 bytes) name=sub_180005DB0 180005DB0: mov [rsp+arg_8], rbx 180005DB5: mov [rsp+arg_10], rbp 180005DBA: push rsi 180005DBB: push rdi 180005DBC: push r12 180005DBE: push r14 180005DC0: push r15 180005DC2: sub rsp, 20h 180005DC6: test byte ptr [rcx+70h], 2 180005DCA: mov r15d, edx 180005DCD: mov rbx, rcx 180005DD0: jnz loc_180005F6E 180005DD6: cmp edx, 0FFFFFFFFh 180005DD9: jnz short loc_180005DE2 180005DDB: xor eax, eax 180005DDD: jmp loc_180005F73 180005DE2: mov rax, [rcx+40h] 180005DE6: mov rsi, [rax] 180005DE9: mov rax, [rcx+58h] 180005DED: movsxd rdi, dword ptr [rax] 180005DF0: add rdi, rsi 180005DF3: test rsi, rsi 180005DF6: jz short loc_180005E16 180005DF8: cmp rsi, rdi 180005DFB: jnb short loc_180005E16 180005DFD: call cs:?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ; std::basic_streambuf>::_Pninc(void) 180005E03: mov [rax], r15b 180005E06: lea rax, [rsi+1] 180005E0A: mov [rbx+68h], rax 180005E0E: mov eax, r15d 180005E11: jmp loc_180005F73 180005E16: mov rax, [rcx+18h] 180005E1A: xor r12d, r12d 180005E1D: mov r14, [rax] 180005E20: sub rdi, r14 180005E23: test rsi, rsi 180005E26: cmovz rdi, r12 180005E2A: cmp rdi, 20h ; ' ' 180005E2E: jnb short loc_180005E41 180005E30: mov esi, 20h ; ' ' 180005E35: mov ecx, esi; Size 180005E37: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180005E3C: mov rbp, rax 180005E3F: jmp short loc_180005EA3 180005E41: cmp rdi, 3FFFFFFFh 180005E48: jnb short loc_180005E6E 180005E4A: lea rsi, [rdi+rdi] 180005E4E: cmp rsi, 1000h 180005E55: jnb short loc_180005E7C 180005E57: test rsi, rsi 180005E5A: jz short loc_180005E69 180005E5C: mov rcx, rsi; Size 180005E5F: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180005E64: mov rbp, rax 180005E67: jmp short loc_180005EA3 180005E69: mov rbp, r12 180005E6C: jmp short loc_180005EA3 180005E6E: mov esi, 7FFFFFFFh 180005E73: cmp rdi, rsi 180005E76: jnb loc_180005F6E 180005E7C: lea rcx, [rsi+27h]; Size 180005E80: cmp rcx, rsi 180005E83: jbe loc_180005F8A 180005E89: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180005E8E: test rax, rax 180005E91: jz loc_180005F67 180005E97: lea rbp, [rax+27h] 180005E9B: and rbp, 0FFFFFFFFFFFFFFE0h 180005E9F: mov [rbp-8], rax 180005EA3: mov r8, rdi; Size 180005EA6: mov rdx, r14; Src 180005EA9: mov rcx, rbp; void * 180005EAC: call memcpy 180005EB1: lea rdx, [rdi+rbp] 180005EB5: mov ecx, ebp 180005EB7: lea rax, [rdx+1] 180005EBB: sub ecx, edx 180005EBD: mov [rbx+68h], rax 180005EC1: add ecx, esi 180005EC3: mov rax, [rbx+20h] 180005EC7: mov [rax], rbp 180005ECA: mov rax, [rbx+40h] 180005ECE: mov [rax], rdx 180005ED1: mov rax, [rbx+58h] 180005ED5: mov [rax], ecx 180005ED7: test byte ptr [rbx+70h], 4 180005EDB: jz short loc_180005EF3 180005EDD: mov rax, [rbx+18h] 180005EE1: mov [rax], rbp 180005EE4: mov rax, [rbx+38h] 180005EE8: mov [rax], r12 180005EEB: mov rax, [rbx+50h] 180005EEF: mov [rax], ebp 180005EF1: jmp short loc_180005F1A 180005EF3: mov rax, [rbx+38h] 180005EF7: mov rdx, [rbx+68h] 180005EFB: mov rcx, [rax] 180005EFE: mov rax, [rbx+18h] 180005F02: sub rcx, r14 180005F05: add rcx, rbp 180005F08: sub edx, ecx 180005F0A: mov [rax], rbp 180005F0D: mov rax, [rbx+38h] 180005F11: mov [rax], rcx 180005F14: mov rax, [rbx+50h] 180005F18: mov [rax], edx 180005F1A: mov eax, [rbx+70h] 180005F1D: test al, 1 180005F1F: jz short loc_180005F50 180005F21: cmp rdi, 1000h 180005F28: jb short loc_180005F42 180005F2A: mov rdx, [r14-8] 180005F2E: add rdi, 27h ; ''' 180005F32: sub r14, rdx 180005F35: lea rax, [r14-8] 180005F39: cmp rax, 1Fh 180005F3D: ja short loc_180005F67 180005F3F: mov r14, rdx 180005F42: mov rdx, rdi 180005F45: mov rcx, r14; Block 180005F48: call j_j_free 180005F4D: mov eax, [rbx+70h] 180005F50: or eax, 1 180005F53: mov rcx, rbx 180005F56: mov [rbx+70h], eax 180005F59: call cs:?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ; std::basic_streambuf>::_Pninc(void) 180005F5F: mov [rax], r15b 180005F62: mov eax, r15d 180005F65: jmp short loc_180005F73 180005F67: call cs:_invalid_parameter_noinfo_noreturn 180005F6D: int 3; Trap to Debugger 180005F6E: mov eax, 0FFFFFFFFh 180005F73: mov rbx, [rsp+48h+arg_8] 180005F78: mov rbp, [rsp+48h+arg_10] 180005F7D: add rsp, 20h 180005F81: pop r15 180005F83: pop r14 180005F85: pop r12 180005F87: pop rdi 180005F88: pop rsi 180005F89: retn 180005F8A: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180005F8F: align 10h ### FUNC 180005F90 - 180006047 (183 bytes) name=sub_180005F90 180005F90: push rbx 180005F92: sub rsp, 20h 180005F96: test byte ptr [rcx+70h], 1 180005F9A: lea rax, off_18000FBD0 180005FA1: mov [rcx], rax 180005FA4: mov rbx, rcx 180005FA7: jz short loc_180005FFF 180005FA9: mov rax, [rcx+40h] 180005FAD: mov rcx, [rax] 180005FB0: test rcx, rcx 180005FB3: jz short loc_180005FC1 180005FB5: mov rax, [rbx+58h] 180005FB9: movsxd rdx, dword ptr [rax] 180005FBC: add rdx, rcx 180005FBF: jmp short loc_180005FCF 180005FC1: mov rax, [rbx+50h] 180005FC5: movsxd rdx, dword ptr [rax] 180005FC8: mov rax, [rbx+38h] 180005FCC: add rdx, [rax] 180005FCF: mov rax, [rbx+18h] 180005FD3: mov rcx, [rax] 180005FD6: sub rdx, rcx 180005FD9: cmp rdx, 1000h 180005FE0: jb short loc_180005FFA 180005FE2: mov r8, [rcx-8] 180005FE6: add rdx, 27h ; ''' 180005FEA: sub rcx, r8 180005FED: lea rax, [rcx-8] 180005FF1: cmp rax, 1Fh 180005FF5: ja short loc_180006040 180005FF7: mov rcx, r8; Block 180005FFA: call j_j_free 180005FFF: mov rax, [rbx+18h] 180006003: xor ecx, ecx 180006005: mov [rax], rcx 180006008: mov rax, [rbx+38h] 18000600C: mov [rax], rcx 18000600F: mov rax, [rbx+50h] 180006013: mov [rax], ecx 180006015: mov rax, [rbx+20h] 180006019: mov [rax], rcx 18000601C: mov rax, [rbx+40h] 180006020: mov [rax], rcx 180006023: mov rax, [rbx+58h] 180006027: mov [rax], ecx 180006029: and dword ptr [rbx+70h], 0FFFFFFFEh 18000602D: mov [rbx+68h], rcx 180006031: mov rcx, rbx 180006034: add rsp, 20h 180006038: pop rbx 180006039: jmp cs:??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ; std::basic_streambuf>::~basic_streambuf>(void) 180006040: call cs:_invalid_parameter_noinfo_noreturn 180006046: db 0CCh ### FUNC 180006050 - 1800060EC (156 bytes) name=sub_180006050 180006050: push rbx 180006052: sub rsp, 40h 180006056: mov rbx, rdx 180006059: mov [rsp+48h+var_18], rdx 18000605E: xor eax, eax 180006060: mov [rsp+48h+var_28], eax 180006064: mov [rdx+10h], rax 180006068: mov qword ptr [rdx+18h], 0Fh 180006070: mov [rdx], al 180006072: mov [rsp+48h+var_28], 2 18000607A: mov edx, [rcx+88h] 180006080: test dl, 2 180006083: jnz short loc_1800060B5 180006085: mov rax, [rcx+58h] 180006089: mov r9, [rax] 18000608C: test r9, r9 18000608F: jz short loc_1800060B5 180006091: mov rax, [rcx+38h] 180006095: mov rdx, [rax] 180006098: mov [rsp+48h+var_20], r9 18000609D: sub rcx, 0FFFFFFFFFFFFFF80h 1800060A1: lea r8, [rsp+48h+var_20] 1800060A6: cmp r9, [rcx] 1800060A9: cmovb r8, rcx 1800060AD: mov r8, [r8] 1800060B0: sub r8, rdx 1800060B3: jmp short loc_1800060DA 1800060B5: test dl, 4 1800060B8: jnz short loc_1800060E3 1800060BA: mov rax, [rcx+50h] 1800060BE: mov r9, [rax] 1800060C1: test r9, r9 1800060C4: jz short loc_1800060E3 1800060C6: mov rax, [rcx+30h] 1800060CA: mov rdx, [rax]; Src 1800060CD: mov rax, [rcx+68h] 1800060D1: movsxd r8, dword ptr [rax] 1800060D4: sub r8, rdx 1800060D7: add r8, r9; Size 1800060DA: mov rcx, rbx; void * 1800060DD: call sub_180002610 1800060E2: nop 1800060E3: mov rax, rbx 1800060E6: add rsp, 40h 1800060EA: pop rbx 1800060EB: retn ### FUNC 1800060F0 - 1800061A6 (182 bytes) name=sub_1800060F0 1800060F0: mov [rsp+arg_8], rbx 1800060F5: mov [rsp+arg_10], r8d 1800060FA: mov [rsp+arg_0], rcx 1800060FF: push rdi 180006100: sub rsp, 20h 180006104: mov rdi, rcx 180006107: mov [rsp+28h+arg_10], 0 18000610F: lea rax, unk_18000FCB8 180006116: mov [rcx], rax 180006119: lea rax, unk_18000FBA8 180006120: mov [rcx+10h], rax 180006124: add rcx, 98h 18000612B: call cs:??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ; std::basic_ios>::basic_ios>(void) 180006131: nop 180006132: mov [rsp+28h+arg_10], 1 18000613A: lea rbx, [rdi+18h] 18000613E: xor r8d, r8d 180006141: mov rdx, rbx 180006144: mov rcx, rdi 180006147: call cs:??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z; std::basic_iostream>::basic_iostream>(std::basic_streambuf> *) 18000614D: nop 18000614E: mov rax, [rdi] 180006151: movsxd rcx, dword ptr [rax+4] 180006155: lea rax, off_18000FC80 18000615C: mov [rcx+rdi], rax 180006160: mov rax, [rdi] 180006163: movsxd rcx, dword ptr [rax+4] 180006167: lea edx, [rcx-98h] 18000616D: mov [rcx+rdi-4], edx 180006171: mov [rsp+28h+arg_18], rbx 180006176: mov rcx, rbx 180006179: call cs:??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ; std::basic_streambuf>::basic_streambuf>(void) 18000617F: lea rax, off_18000FBD0 180006186: mov [rbx], rax 180006189: mov qword ptr [rbx+68h], 0 180006191: mov dword ptr [rbx+70h], 0 180006198: mov rax, rdi 18000619B: mov rbx, [rsp+28h+arg_8] 1800061A0: add rsp, 20h 1800061A4: pop rdi 1800061A5: retn ### FUNC 1800061B0 - 1800061BF (15 bytes) name=sub_1800061B0 1800061B0: cmp qword ptr [rcx+18h], 10h 1800061B5: jb short loc_1800061BB 1800061B7: mov rax, [rcx] 1800061BA: retn 1800061BB: mov rax, rcx 1800061BE: retn ### FUNC 1800061C0 - 1800061F4 (52 bytes) name=??_G?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAAPEAXI@Z 1800061C0: mov [rsp+arg_0], rbx 1800061C5: push rdi 1800061C6: sub rsp, 20h 1800061CA: mov ebx, edx 1800061CC: mov rdi, rcx 1800061CF: call sub_180005F90 1800061D4: test bl, 1 1800061D7: jz short loc_1800061E6 1800061D9: mov edx, 78h ; 'x' 1800061DE: mov rcx, rdi; Block 1800061E1: call j_j_free 1800061E6: mov rbx, [rsp+28h+arg_0] 1800061EB: mov rax, rdi 1800061EE: add rsp, 20h 1800061F2: pop rdi 1800061F3: retn ### FUNC 180006200 - 180006292 (146 bytes) name=sub_180006200 180006200: mov [rsp+arg_0], rbx 180006205: mov [rsp+arg_8], rsi 18000620A: push rdi 18000620B: sub rsp, 20h 18000620F: mov rax, [rcx-98h] 180006216: mov rbx, rcx 180006219: mov edi, edx 18000621B: movsxd r8, dword ptr [rax+4] 18000621F: lea rax, off_18000FC80 180006226: mov [r8+rcx-98h], rax 18000622E: mov rax, [rcx-98h] 180006235: movsxd r8, dword ptr [rax+4] 180006239: lea r9d, [r8-98h] 180006240: mov [r8+rcx-9Ch], r9d 180006248: add rcx, 0FFFFFFFFFFFFFF80h 18000624C: call sub_180005F90 180006251: lea rcx, [rbx-78h] 180006255: call cs:??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UEAA@XZ; std::basic_iostream>::~basic_iostream>(void) 18000625B: mov rcx, rbx 18000625E: call cs:??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ; std::basic_ios>::~basic_ios>(void) 180006264: test dil, 1 180006268: jz short loc_18000627B 18000626A: mov edx, 0F8h 18000626F: lea rcx, [rbx-98h]; Block 180006276: call j_j_free 18000627B: mov rsi, [rsp+28h+arg_8] 180006280: lea rax, [rbx-98h] 180006287: mov rbx, [rsp+28h+arg_0] 18000628C: add rsp, 20h 180006290: pop rdi 180006291: retn ### FUNC 1800062A0 - 1800062DF (63 bytes) name=sub_1800062A0 1800062A0: push rbx 1800062A2: sub rsp, 20h 1800062A6: mov rbx, rcx 1800062A9: call cs:?uncaught_exception@std@@YA_NXZ; std::uncaught_exception(void) 1800062AF: nop 1800062B0: test al, al 1800062B2: jnz short loc_1800062BE 1800062B4: mov rcx, [rbx] 1800062B7: call cs:?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ; std::basic_ostream>::_Osfx(void) 1800062BD: nop 1800062BE: mov rdx, [rbx] 1800062C1: mov rax, [rdx] 1800062C4: movsxd rcx, dword ptr [rax+4] 1800062C8: mov rcx, [rcx+rdx+48h] 1800062CD: test rcx, rcx 1800062D0: jz short loc_1800062D9 1800062D2: mov rax, [rcx] 1800062D5: call qword ptr [rax+10h] 1800062D8: nop 1800062D9: add rsp, 20h 1800062DD: pop rbx 1800062DE: retn ### FUNC 1800062E0 - 180006304 (36 bytes) name=sub_1800062E0 1800062E0: sub rsp, 28h 1800062E4: mov rdx, [rcx] 1800062E7: mov rax, [rdx] 1800062EA: movsxd rcx, dword ptr [rax+4] 1800062EE: mov rcx, [rcx+rdx+48h] 1800062F3: test rcx, rcx 1800062F6: jz short loc_1800062FF 1800062F8: mov rax, [rcx] 1800062FB: call qword ptr [rax+10h] 1800062FE: nop 1800062FF: add rsp, 28h 180006303: retn ### FUNC 180006310 - 1800064DA (458 bytes) name=sub_180006310 180006310: mov [rsp+arg_8], rbx 180006315: mov [rsp+arg_0], rcx 18000631A: push rsi 18000631B: push rdi 18000631C: push r12 18000631E: push r14 180006320: push r15 180006322: sub rsp, 30h 180006326: mov r15, rdx 180006329: mov rsi, rcx 18000632C: xor ebx, ebx 18000632E: mov [rsp+58h+arg_10], ebx 180006332: mov r14, 0FFFFFFFFFFFFFFFFh 180006339: nop dword ptr [rax+00000000h] 180006340: inc r14 180006343: cmp [rdx+r14], bl 180006347: jnz short loc_180006340 180006349: mov rcx, [rcx] 18000634C: movsxd rax, dword ptr [rcx+4] 180006350: mov rdi, [rax+rsi+28h] 180006355: test rdi, rdi 180006358: jle short loc_180006364 18000635A: cmp rdi, r14 18000635D: jle short loc_180006364 18000635F: sub rdi, r14 180006362: jmp short loc_180006366 180006364: xor edi, edi 180006366: mov r12, rsi 180006369: mov [rsp+58h+var_38], rsi 18000636E: mov r8, [rax+rsi+48h] 180006373: mov rdx, rcx 180006376: test r8, r8 180006379: jz short loc_18000638A 18000637B: mov rax, [r8] 18000637E: mov rcx, r8 180006381: call qword ptr [rax+8] 180006384: mov rcx, [rsi] 180006387: mov rdx, rcx 18000638A: movsxd rax, dword ptr [rcx+4] 18000638E: cmp dword ptr [rax+rsi+10h], 0 180006393: jz short loc_180006399 180006395: xor al, al 180006397: jmp short loc_1800063C7 180006399: mov rax, [rax+rsi+50h] 18000639E: test rax, rax 1800063A1: jz short loc_1800063C5 1800063A3: cmp rax, rsi 1800063A6: jz short loc_1800063C5 1800063A8: mov rcx, rax 1800063AB: call cs:?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ; std::basic_ostream>::flush(void) 1800063B1: mov rcx, [rsi] 1800063B4: movsxd rax, dword ptr [rcx+4] 1800063B8: cmp dword ptr [rax+rsi+10h], 0 1800063BD: setz al 1800063C0: mov rdx, rcx 1800063C3: jmp short loc_1800063C7 1800063C5: mov al, 1 1800063C7: mov [rsp+58h+var_30], al 1800063CB: test al, al 1800063CD: jnz short loc_1800063D9 1800063CF: mov ebx, 4 1800063D4: jmp loc_180006482 1800063D9: movsxd rax, dword ptr [rcx+4] 1800063DD: mov ecx, [rax+rsi+18h] 1800063E1: and ecx, 1C0h 1800063E7: cmp ecx, 40h ; '@' 1800063EA: jz short loc_180006419 1800063EC: nop dword ptr [rax+00h] 1800063F0: test rdi, rdi 1800063F3: jle short loc_180006416 1800063F5: mov rax, [rsi] 1800063F8: movsxd rcx, dword ptr [rax+4] 1800063FC: movzx edx, byte ptr [rcx+rsi+58h] 180006401: mov rcx, [rcx+rsi+48h] 180006406: call cs:?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z; std::basic_streambuf>::sputc(char) 18000640C: cmp eax, 0FFFFFFFFh 18000640F: jz short loc_180006459 180006411: dec rdi 180006414: jmp short loc_1800063F0 180006416: mov rdx, [rsi] 180006419: movsxd rax, dword ptr [rdx+4] 18000641D: mov r8, r14 180006420: mov rdx, r15 180006423: mov rcx, [rax+rsi+48h] 180006428: call cs:?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z; std::basic_streambuf>::sputn(char const *,__int64) 18000642E: cmp rax, r14 180006431: jnz short loc_180006459 180006433: test rdi, rdi 180006436: jle short loc_180006462 180006438: mov rax, [rsi] 18000643B: movsxd rcx, dword ptr [rax+4] 18000643F: movzx edx, byte ptr [rcx+rsi+58h] 180006444: mov rcx, [rcx+rsi+48h] 180006449: call cs:?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z; std::basic_streambuf>::sputc(char) 18000644F: cmp eax, 0FFFFFFFFh 180006452: jz short loc_180006459 180006454: dec rdi 180006457: jmp short loc_180006433 180006459: mov ebx, 4 18000645E: mov [rsp+58h+arg_10], ebx 180006462: mov rax, [rsi] 180006465: movsxd rcx, dword ptr [rax+4] 180006469: mov qword ptr [rcx+rsi+28h], 0 180006472: jmp short loc_180006482 180006474: mov rsi, [rsp+58h+arg_0] 180006479: mov ebx, [rsp+58h+arg_10] 18000647D: mov r12, [rsp+58h+var_38] 180006482: mov rax, [rsi] 180006485: movsxd rcx, dword ptr [rax+4] 180006489: add rcx, rsi 18000648C: xor r8d, r8d 18000648F: mov edx, ebx 180006491: call cs:?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z; std::basic_ios>::setstate(int,bool) 180006497: nop 180006498: call cs:?uncaught_exception@std@@YA_NXZ; std::uncaught_exception(void) 18000649E: test al, al 1800064A0: jnz short loc_1800064AC 1800064A2: mov rcx, r12 1800064A5: call cs:?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ; std::basic_ostream>::_Osfx(void) 1800064AB: nop 1800064AC: mov rax, [r12] 1800064B0: movsxd rcx, dword ptr [rax+4] 1800064B4: mov rcx, [rcx+r12+48h] 1800064B9: test rcx, rcx 1800064BC: jz short loc_1800064C5 1800064BE: mov rax, [rcx] 1800064C1: call qword ptr [rax+10h] 1800064C4: nop 1800064C5: mov rax, rsi 1800064C8: mov rbx, [rsp+58h+arg_8] 1800064CD: add rsp, 30h 1800064D1: pop r15 1800064D3: pop r14 1800064D5: pop r12 1800064D7: pop rdi 1800064D8: pop rsi 1800064D9: retn ### FUNC 1800064E0 - 1800064F9 (25 bytes) name=unknown_libname_19 1800064E0: cmp qword ptr [rdx+18h], 10h 1800064E5: mov rax, rdx 1800064E8: jb short loc_1800064ED 1800064EA: mov rax, [rdx] 1800064ED: mov r8, [rdx+10h] 1800064F1: mov rdx, rax 1800064F4: jmp sub_180006920 ### FUNC 180006500 - 180006695 (405 bytes) name=sub_180006500 180006500: push rbx 180006502: push rsi 180006503: push r12 180006505: push r14 180006507: sub rsp, 28h 18000650B: mov r14, [rcx+10h] 18000650F: mov rbx, 7FFFFFFFFFFFFFFEh 180006519: mov rax, rbx 18000651C: movzx r12d, r9w 180006520: sub rax, r14 180006523: mov rsi, rcx 180006526: cmp rax, 1 18000652A: jb loc_180006689 180006530: mov [rsp+48h+arg_8], rbp 180006535: mov rbp, [rcx+18h] 180006539: mov [rsp+48h+var_28], r15 18000653E: lea r15, [r14+1] 180006542: mov rcx, r15 180006545: or rcx, 7 180006549: cmp rcx, rbx 18000654C: ja short loc_18000656D 18000654E: mov rdx, rbp 180006551: mov rax, rbx 180006554: shr rdx, 1 180006557: sub rax, rdx 18000655A: cmp rbp, rax 18000655D: ja short loc_18000656D 18000655F: lea rax, [rdx+rbp] 180006563: mov rbx, rcx 180006566: cmp rcx, rax 180006569: cmovb rbx, rax 18000656D: mov rcx, 0FFFFFFFFFFFFFFFFh 180006574: mov [rsp+48h+arg_10], rdi 180006579: mov rax, rbx 18000657C: mov [rsp+48h+arg_18], r13 180006581: add rax, 1 180006585: cmovb rax, rcx 180006589: mov rcx, 7FFFFFFFFFFFFFFFh 180006593: cmp rax, rcx 180006596: ja loc_18000668F 18000659C: lea rcx, [rax+rax]; Size 1800065A0: xor r13d, r13d 1800065A3: cmp rcx, 1000h 1800065AA: jb short loc_1800065D8 1800065AC: lea rax, [rcx+27h] 1800065B0: cmp rax, rcx 1800065B3: jbe loc_18000668F 1800065B9: mov rcx, rax; Size 1800065BC: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 1800065C1: test rax, rax 1800065C4: jz loc_18000664A 1800065CA: lea rdi, [rax+27h] 1800065CE: and rdi, 0FFFFFFFFFFFFFFE0h 1800065D2: mov [rdi-8], rax 1800065D6: jmp short loc_1800065EA 1800065D8: test rcx, rcx 1800065DB: jz short loc_1800065E7 1800065DD: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 1800065E2: mov rdi, rax 1800065E5: jmp short loc_1800065EA 1800065E7: mov rdi, r13 1800065EA: add r14, r14 1800065ED: mov [rsi+10h], r15 1800065F1: mov [rsi+18h], rbx 1800065F5: mov r8, r14; Size 1800065F8: mov rcx, rdi; void * 1800065FB: cmp rbp, 8 1800065FF: jb short loc_180006651 180006601: mov rbx, [rsi] 180006604: mov rdx, rbx; Src 180006607: call memcpy 18000660C: lea rdx, ds:2[rbp*2] 180006614: mov [r14+rdi], r12w 180006619: mov [r14+rdi+2], r13w 18000661F: cmp rdx, 1000h 180006626: jb short loc_180006640 180006628: mov rcx, [rbx-8] 18000662C: add rdx, 27h ; ''' 180006630: sub rbx, rcx 180006633: lea rax, [rbx-8] 180006637: cmp rax, 1Fh 18000663B: ja short loc_18000664A 18000663D: mov rbx, rcx 180006640: mov rcx, rbx; Block 180006643: call j_j_free 180006648: jmp short loc_180006664 18000664A: call cs:_invalid_parameter_noinfo_noreturn 180006650: int 3; Trap to Debugger 180006651: mov rdx, rsi; Src 180006654: call memcpy 180006659: mov [r14+rdi], r12w 18000665E: mov [r14+rdi+2], r13w 180006664: mov [rsi], rdi 180006667: mov rax, rsi 18000666A: mov r13, [rsp+48h+arg_18] 18000666F: mov rdi, [rsp+48h+arg_10] 180006674: mov rbp, [rsp+48h+arg_8] 180006679: mov r15, [rsp+48h+var_28] 18000667E: add rsp, 28h 180006682: pop r14 180006684: pop r12 180006686: pop rsi 180006687: pop rbx 180006688: retn 180006689: call sub_180002B40 18000668E: db 0CCh 18000668F: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180006694: db 0CCh ### FUNC 1800066A0 - 180006854 (436 bytes) name=sub_1800066A0 1800066A0: push rsi 1800066A2: push rdi 1800066A3: push r13 1800066A5: push r14 1800066A7: sub rsp, 38h 1800066AB: mov r14, [rcx+10h] 1800066AF: mov rdi, 7FFFFFFFFFFFFFFEh 1800066B9: mov rax, rdi 1800066BC: mov r13, r9 1800066BF: sub rax, r14 1800066C2: mov rsi, rcx 1800066C5: cmp rax, rdx 1800066C8: jb loc_180006848 1800066CE: mov [rsp+58h+var_28], rbp 1800066D3: mov rbp, [rcx+18h] 1800066D7: mov [rsp+58h+var_38], r15 1800066DC: lea r15, [rdx+r14] 1800066E0: mov rcx, r15 1800066E3: or rcx, 7 1800066E7: cmp rcx, rdi 1800066EA: ja short loc_18000670B 1800066EC: mov rdx, rbp 1800066EF: mov rax, rdi 1800066F2: shr rdx, 1 1800066F5: sub rax, rdx 1800066F8: cmp rbp, rax 1800066FB: ja short loc_18000670B 1800066FD: lea rax, [rdx+rbp] 180006701: mov rdi, rcx 180006704: cmp rcx, rax 180006707: cmovb rdi, rax 18000670B: mov rcx, 0FFFFFFFFFFFFFFFFh 180006712: mov [rsp+58h+arg_10], rbx 180006717: mov rax, rdi 18000671A: mov [rsp+58h+var_30], r12 18000671F: add rax, 1 180006723: cmovb rax, rcx 180006727: mov rcx, 7FFFFFFFFFFFFFFFh 180006731: cmp rax, rcx 180006734: ja loc_18000684E 18000673A: lea rcx, [rax+rax]; Size 18000673E: xor eax, eax 180006740: cmp rcx, 1000h 180006747: jb short loc_180006775 180006749: lea rax, [rcx+27h] 18000674D: cmp rax, rcx 180006750: jbe loc_18000684E 180006756: mov rcx, rax; Size 180006759: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000675E: test rax, rax 180006761: jz loc_180006800 180006767: lea rbx, [rax+27h] 18000676B: and rbx, 0FFFFFFFFFFFFFFE0h 18000676F: mov [rbx-8], rax 180006773: jmp short loc_180006782 180006775: test rcx, rcx 180006778: jz short loc_18000677F 18000677A: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000677F: mov rbx, rax 180006782: mov rax, [rsp+58h+arg_20] 18000678A: lea r8, [r14+r14]; Size 18000678E: mov [rsi+10h], r15 180006792: lea r12, [r8+rbx] 180006796: mov [rsi+18h], rdi 18000679A: mov rcx, rbx; void * 18000679D: lea r15, [rax+rax] 1800067A1: add rax, r14 1800067A4: lea r14, [rbx+rax*2] 1800067A8: cmp rbp, 8 1800067AC: jb short loc_180006807 1800067AE: mov rdi, [rsi] 1800067B1: mov rdx, rdi; Src 1800067B4: call memcpy 1800067B9: mov r8, r15; Size 1800067BC: mov rdx, r13; Src 1800067BF: mov rcx, r12; void * 1800067C2: call memcpy 1800067C7: xor eax, eax 1800067C9: lea rdx, ds:2[rbp*2] 1800067D1: mov [r14], ax 1800067D5: cmp rdx, 1000h 1800067DC: jb short loc_1800067F6 1800067DE: mov rcx, [rdi-8] 1800067E2: add rdx, 27h ; ''' 1800067E6: sub rdi, rcx 1800067E9: lea rax, [rdi-8] 1800067ED: cmp rax, 1Fh 1800067F1: ja short loc_180006800 1800067F3: mov rdi, rcx 1800067F6: mov rcx, rdi; Block 1800067F9: call j_j_free 1800067FE: jmp short loc_180006823 180006800: call cs:_invalid_parameter_noinfo_noreturn 180006806: int 3; Trap to Debugger 180006807: mov rdx, rsi; Src 18000680A: call memcpy 18000680F: mov r8, r15; Size 180006812: mov rdx, r13; Src 180006815: mov rcx, r12; void * 180006818: call memcpy 18000681D: xor eax, eax 18000681F: mov [r14], ax 180006823: mov [rsi], rbx 180006826: mov rax, rsi 180006829: mov r12, [rsp+58h+var_30] 18000682E: mov rbx, [rsp+58h+arg_10] 180006833: mov rbp, [rsp+58h+var_28] 180006838: mov r15, [rsp+58h+var_38] 18000683D: add rsp, 38h 180006841: pop r14 180006843: pop r13 180006845: pop rdi 180006846: pop rsi 180006847: retn 180006848: call sub_180002B40 18000684D: align 2 18000684E: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180006853: db 0CCh ### FUNC 180006860 - 180006914 (180 bytes) name=sub_180006860 180006860: mov [rsp+arg_18], rsi 180006865: push rdi 180006866: sub rsp, 20h 18000686A: mov rsi, [rcx+10h] 18000686E: mov rdi, rcx 180006871: cmp rsi, rdx 180006874: ja loc_180006902 18000687A: mov rax, [rcx+18h] 18000687E: cmp rax, rdx 180006881: jz short loc_180006902 180006883: jnb short loc_18000689C 180006885: sub rdx, rsi 180006888: call sub_180006AE0 18000688D: mov [rdi+10h], rsi 180006891: mov rsi, [rsp+28h+arg_18] 180006896: add rsp, 20h 18000689A: pop rdi 18000689B: retn 18000689C: cmp rdx, 8 1800068A0: jnb short loc_180006902 1800068A2: cmp rax, 8 1800068A6: jb short loc_180006902 1800068A8: mov [rsp+28h+arg_10], rbx 1800068AD: lea r8, ds:2[rsi*2]; Size 1800068B5: mov rbx, [rcx] 1800068B8: mov rdx, rbx; Src 1800068BB: call memcpy 1800068C0: mov rax, [rdi+18h] 1800068C4: lea rdx, ds:2[rax*2] 1800068CC: cmp rdx, 1000h 1800068D3: jb short loc_1800068ED 1800068D5: mov rcx, [rbx-8] 1800068D9: add rdx, 27h ; ''' 1800068DD: sub rbx, rcx 1800068E0: lea rax, [rbx-8] 1800068E4: cmp rax, 1Fh 1800068E8: ja short loc_18000690D 1800068EA: mov rbx, rcx 1800068ED: mov rcx, rbx; Block 1800068F0: call j_j_free 1800068F5: mov rbx, [rsp+28h+arg_10] 1800068FA: mov qword ptr [rdi+18h], 7 180006902: mov rsi, [rsp+28h+arg_18] 180006907: add rsp, 20h 18000690B: pop rdi 18000690C: retn 18000690D: call cs:_invalid_parameter_noinfo_noreturn 180006913: db 0CCh ### FUNC 180006920 - 180006ADF (447 bytes) name=sub_180006920 180006920: mov [rsp+arg_8], rbx 180006925: mov [rsp+arg_0], rcx 18000692A: push rsi 18000692B: push rdi 18000692C: push r12 18000692E: push r14 180006930: push r15 180006932: sub rsp, 30h 180006936: mov r15, r8 180006939: mov r12, rdx 18000693C: mov rsi, rcx 18000693F: xor ebx, ebx 180006941: mov [rsp+58h+arg_18], ebx 180006945: mov rcx, [rcx] 180006948: movsxd rax, dword ptr [rcx+4] 18000694C: mov rdi, [rax+rsi+28h] 180006951: test rdi, rdi 180006954: jle short loc_180006960 180006956: cmp rdi, r8 180006959: jbe short loc_180006960 18000695B: sub rdi, r8 18000695E: jmp short loc_180006962 180006960: xor edi, edi 180006962: mov r14, rsi 180006965: mov [rsp+58h+var_38], rsi 18000696A: mov r8, [rax+rsi+48h] 18000696F: mov rdx, rcx 180006972: test r8, r8 180006975: jz short loc_180006986 180006977: mov rax, [r8] 18000697A: mov rcx, r8 18000697D: call qword ptr [rax+8] 180006980: mov rcx, [rsi] 180006983: mov rdx, rcx 180006986: movsxd rax, dword ptr [rcx+4] 18000698A: cmp dword ptr [rax+rsi+10h], 0 18000698F: jz short loc_180006995 180006991: xor al, al 180006993: jmp short loc_1800069C3 180006995: mov rax, [rax+rsi+50h] 18000699A: test rax, rax 18000699D: jz short loc_1800069C1 18000699F: cmp rax, rsi 1800069A2: jz short loc_1800069C1 1800069A4: mov rcx, rax 1800069A7: call cs:?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ; std::basic_ostream>::flush(void) 1800069AD: mov rcx, [rsi] 1800069B0: movsxd rax, dword ptr [rcx+4] 1800069B4: cmp dword ptr [rax+rsi+10h], 0 1800069B9: setz al 1800069BC: mov rdx, rcx 1800069BF: jmp short loc_1800069C3 1800069C1: mov al, 1 1800069C3: mov [rsp+58h+var_30], al 1800069C7: test al, al 1800069C9: jnz short loc_1800069D5 1800069CB: mov ebx, 4 1800069D0: jmp loc_180006A88 1800069D5: movsxd rax, dword ptr [rcx+4] 1800069D9: mov ecx, [rax+rsi+18h] 1800069DD: and ecx, 1C0h 1800069E3: cmp ecx, 40h ; '@' 1800069E6: jz short loc_180006A54 1800069E8: test rdi, rdi 1800069EB: jz short loc_180006A51 1800069ED: mov rax, [rsi] 1800069F0: movsxd rcx, dword ptr [rax+4] 1800069F4: movzx edx, byte ptr [rcx+rsi+58h] 1800069F9: mov rcx, [rcx+rsi+48h] 1800069FE: call cs:?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z; std::basic_streambuf>::sputc(char) 180006A04: cmp eax, 0FFFFFFFFh 180006A07: jnz short loc_180006A4C 180006A09: mov ebx, 4 180006A0E: mov [rsp+58h+arg_18], ebx 180006A12: test rdi, rdi 180006A15: jz short loc_180006A3A 180006A17: mov rax, [rsi] 180006A1A: movsxd rcx, dword ptr [rax+4] 180006A1E: movzx edx, byte ptr [rcx+rsi+58h] 180006A23: mov rcx, [rcx+rsi+48h] 180006A28: call cs:?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z; std::basic_streambuf>::sputc(char) 180006A2E: cmp eax, 0FFFFFFFFh 180006A31: jnz short loc_180006A75 180006A33: or ebx, 4 180006A36: mov [rsp+58h+arg_18], ebx 180006A3A: mov rax, [rsi] 180006A3D: movsxd rcx, dword ptr [rax+4] 180006A41: mov qword ptr [rcx+rsi+28h], 0 180006A4A: jmp short loc_180006A88 180006A4C: dec rdi 180006A4F: jmp short loc_1800069E8 180006A51: mov rdx, [rsi] 180006A54: movsxd rax, dword ptr [rdx+4] 180006A58: mov r8, r15 180006A5B: mov rdx, r12 180006A5E: mov rcx, [rax+rsi+48h] 180006A63: call cs:?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z; std::basic_streambuf>::sputn(char const *,__int64) 180006A69: cmp rax, r15 180006A6C: jz short loc_180006A12 180006A6E: mov ebx, 4 180006A73: jmp short loc_180006A36 180006A75: dec rdi 180006A78: jmp short loc_180006A12 180006A7A: mov rsi, [rsp+58h+arg_0] 180006A7F: mov ebx, [rsp+58h+arg_18] 180006A83: mov r14, [rsp+58h+var_38] 180006A88: mov rax, [rsi] 180006A8B: movsxd rcx, dword ptr [rax+4] 180006A8F: add rcx, rsi 180006A92: xor r8d, r8d 180006A95: mov edx, ebx 180006A97: call cs:?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z; std::basic_ios>::setstate(int,bool) 180006A9D: nop 180006A9E: call cs:?uncaught_exception@std@@YA_NXZ; std::uncaught_exception(void) 180006AA4: test al, al 180006AA6: jnz short loc_180006AB2 180006AA8: mov rcx, r14 180006AAB: call cs:?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ; std::basic_ostream>::_Osfx(void) 180006AB1: nop 180006AB2: mov rax, [r14] 180006AB5: movsxd rcx, dword ptr [rax+4] 180006AB9: mov rcx, [rcx+r14+48h] 180006ABE: test rcx, rcx 180006AC1: jz short loc_180006ACA 180006AC3: mov rax, [rcx] 180006AC6: call qword ptr [rax+10h] 180006AC9: nop 180006ACA: mov rax, rsi 180006ACD: mov rbx, [rsp+58h+arg_8] 180006AD2: add rsp, 30h 180006AD6: pop r15 180006AD8: pop r14 180006ADA: pop r12 180006ADC: pop rdi 180006ADD: pop rsi 180006ADE: retn ### FUNC 180006AE0 - 180006C45 (357 bytes) name=sub_180006AE0 180006AE0: push rbx 180006AE2: push rsi 180006AE3: push r14 180006AE5: sub rsp, 30h 180006AE9: mov r14, [rcx+10h] 180006AED: mov rbx, 7FFFFFFFFFFFFFFEh 180006AF7: mov rax, rbx 180006AFA: mov rsi, rcx 180006AFD: sub rax, r14 180006B00: cmp rax, rdx 180006B03: jb loc_180006C39 180006B09: mov [rsp+48h+arg_10], rbp 180006B0E: mov rbp, [rcx+18h] 180006B12: mov [rsp+48h+var_28], r15 180006B17: lea r15, [rdx+r14] 180006B1B: mov rdx, r15 180006B1E: or rdx, 7 180006B22: cmp rdx, rbx 180006B25: ja short loc_180006B46 180006B27: mov rcx, rbp 180006B2A: mov rax, rbx 180006B2D: shr rcx, 1 180006B30: sub rax, rcx 180006B33: cmp rbp, rax 180006B36: ja short loc_180006B46 180006B38: lea rax, [rcx+rbp] 180006B3C: mov rbx, rdx 180006B3F: cmp rdx, rax 180006B42: cmovb rbx, rax 180006B46: mov rax, 0FFFFFFFFFFFFFFFFh 180006B4D: mov [rsp+48h+var_20], rdi 180006B52: mov rcx, rbx 180006B55: add rcx, 1 180006B59: cmovb rcx, rax 180006B5D: mov rax, 7FFFFFFFFFFFFFFFh 180006B67: cmp rcx, rax 180006B6A: ja loc_180006C3F 180006B70: add rcx, rcx; Size 180006B73: cmp rcx, 1000h 180006B7A: jb short loc_180006BA4 180006B7C: lea rax, [rcx+27h] 180006B80: cmp rax, rcx 180006B83: jbe loc_180006C3F 180006B89: mov rcx, rax; Size 180006B8C: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180006B91: test rax, rax 180006B94: jz short loc_180006C0C 180006B96: lea rdi, [rax+27h] 180006B9A: and rdi, 0FFFFFFFFFFFFFFE0h 180006B9E: mov [rdi-8], rax 180006BA2: jmp short loc_180006BB5 180006BA4: test rcx, rcx 180006BA7: jz short loc_180006BB3 180006BA9: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180006BAE: mov rdi, rax 180006BB1: jmp short loc_180006BB5 180006BB3: xor edi, edi 180006BB5: mov [rsi+10h], r15 180006BB9: lea r8, ds:2[r14*2]; Size 180006BC1: mov [rsi+18h], rbx 180006BC5: mov rcx, rdi; void * 180006BC8: cmp rbp, 8 180006BCC: jb short loc_180006C13 180006BCE: mov rbx, [rsi] 180006BD1: mov rdx, rbx; Src 180006BD4: call memcpy 180006BD9: lea rdx, ds:2[rbp*2] 180006BE1: cmp rdx, 1000h 180006BE8: jb short loc_180006C02 180006BEA: mov rcx, [rbx-8] 180006BEE: add rdx, 27h ; ''' 180006BF2: sub rbx, rcx 180006BF5: lea rax, [rbx-8] 180006BF9: cmp rax, 1Fh 180006BFD: ja short loc_180006C0C 180006BFF: mov rbx, rcx 180006C02: mov rcx, rbx; Block 180006C05: call j_j_free 180006C0A: jmp short loc_180006C1B 180006C0C: call cs:_invalid_parameter_noinfo_noreturn 180006C12: int 3; Trap to Debugger 180006C13: mov rdx, rsi; Src 180006C16: call memcpy 180006C1B: mov [rsi], rdi 180006C1E: mov rax, rsi 180006C21: mov rdi, [rsp+48h+var_20] 180006C26: mov rbp, [rsp+48h+arg_10] 180006C2B: mov r15, [rsp+48h+var_28] 180006C30: add rsp, 30h 180006C34: pop r14 180006C36: pop rsi 180006C37: pop rbx 180006C38: retn 180006C39: call sub_180002B40 180006C3E: db 0CCh 180006C3F: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180006C44: db 0CCh ### FUNC 180006C50 - 180006D97 (327 bytes) name=sub_180006C50 180006C50: push rbx 180006C52: push rsi 180006C53: push r14 180006C55: sub rsp, 30h 180006C59: mov r14, [rcx+10h] 180006C5D: mov rbx, 7FFFFFFFFFFFFFFFh 180006C67: mov rax, rbx 180006C6A: mov rsi, rcx 180006C6D: sub rax, r14 180006C70: cmp rax, rdx 180006C73: jb loc_180006D91 180006C79: mov [rsp+48h+arg_10], rbp 180006C7E: mov rbp, [rcx+18h] 180006C82: mov [rsp+48h+var_28], r15 180006C87: lea r15, [rdx+r14] 180006C8B: mov rdx, r15 180006C8E: or rdx, 0Fh 180006C92: cmp rdx, rbx 180006C95: ja short loc_180006CB6 180006C97: mov rcx, rbp 180006C9A: mov rax, rbx 180006C9D: shr rcx, 1 180006CA0: sub rax, rcx 180006CA3: cmp rbp, rax 180006CA6: ja short loc_180006CB6 180006CA8: lea rax, [rcx+rbp] 180006CAC: mov rbx, rdx 180006CAF: cmp rdx, rax 180006CB2: cmovb rbx, rax 180006CB6: mov rcx, rbx 180006CB9: mov [rsp+48h+var_20], rdi 180006CBE: add rcx, 1 180006CC2: mov rax, 0FFFFFFFFFFFFFFFFh 180006CC9: cmovb rcx, rax; Size 180006CCD: cmp rcx, 1000h 180006CD4: jb short loc_180006CFE 180006CD6: lea rax, [rcx+27h] 180006CDA: cmp rax, rcx 180006CDD: jbe loc_180006D8B 180006CE3: mov rcx, rax; Size 180006CE6: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180006CEB: test rax, rax 180006CEE: jz short loc_180006D5E 180006CF0: lea rdi, [rax+27h] 180006CF4: and rdi, 0FFFFFFFFFFFFFFE0h 180006CF8: mov [rdi-8], rax 180006CFC: jmp short loc_180006D0F 180006CFE: test rcx, rcx 180006D01: jz short loc_180006D0D 180006D03: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180006D08: mov rdi, rax 180006D0B: jmp short loc_180006D0F 180006D0D: xor edi, edi 180006D0F: mov [rsi+10h], r15 180006D13: lea r8, [r14+1]; Size 180006D17: mov [rsi+18h], rbx 180006D1B: mov rcx, rdi; void * 180006D1E: cmp rbp, 10h 180006D22: jb short loc_180006D65 180006D24: mov rbx, [rsi] 180006D27: mov rdx, rbx; Src 180006D2A: call memcpy 180006D2F: lea rdx, [rbp+1] 180006D33: cmp rdx, 1000h 180006D3A: jb short loc_180006D54 180006D3C: mov rcx, [rbx-8] 180006D40: add rdx, 27h ; ''' 180006D44: sub rbx, rcx 180006D47: lea rax, [rbx-8] 180006D4B: cmp rax, 1Fh 180006D4F: ja short loc_180006D5E 180006D51: mov rbx, rcx 180006D54: mov rcx, rbx; Block 180006D57: call j_j_free 180006D5C: jmp short loc_180006D6D 180006D5E: call cs:_invalid_parameter_noinfo_noreturn 180006D64: int 3; Trap to Debugger 180006D65: mov rdx, rsi; Src 180006D68: call memcpy 180006D6D: mov [rsi], rdi 180006D70: mov rax, rsi 180006D73: mov rdi, [rsp+48h+var_20] 180006D78: mov rbp, [rsp+48h+arg_10] 180006D7D: mov r15, [rsp+48h+var_28] 180006D82: add rsp, 30h 180006D86: pop r14 180006D88: pop rsi 180006D89: pop rbx 180006D8A: retn 180006D8B: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180006D90: db 0CCh 180006D91: call sub_180002B40 180006D96: db 0CCh ### FUNC 180006DA0 - 180006E04 (100 bytes) name=sub_180006DA0 180006DA0: push rbx 180006DA2: sub rsp, 20h 180006DA6: mov rbx, [rcx] 180006DA9: test rbx, rbx 180006DAC: jz short loc_180006DF7 180006DAE: mov rdx, [rbx+18h] 180006DB2: cmp rdx, 10h 180006DB6: jb short loc_180006DE4 180006DB8: mov rcx, [rbx] 180006DBB: inc rdx 180006DBE: cmp rdx, 1000h 180006DC5: jb short loc_180006DDF 180006DC7: mov r8, [rcx-8] 180006DCB: add rdx, 27h ; ''' 180006DCF: sub rcx, r8 180006DD2: lea rax, [rcx-8] 180006DD6: cmp rax, 1Fh 180006DDA: ja short loc_180006DFD 180006DDC: mov rcx, r8; Block 180006DDF: call j_j_free 180006DE4: mov qword ptr [rbx+10h], 0 180006DEC: mov qword ptr [rbx+18h], 0Fh 180006DF4: mov byte ptr [rbx], 0 180006DF7: add rsp, 20h 180006DFB: pop rbx 180006DFC: retn 180006DFD: call cs:_invalid_parameter_noinfo_noreturn 180006E03: db 0CCh ### FUNC 180006E10 - 180006E77 (103 bytes) name=sub_180006E10 180006E10: push rbx 180006E12: sub rsp, 20h 180006E16: mov rbx, [rcx] 180006E19: test rbx, rbx 180006E1C: jz short loc_180006E6A 180006E1E: mov rdx, [rbx+18h] 180006E22: cmp rdx, 8 180006E26: jb short loc_180006E59 180006E28: mov rcx, [rbx] 180006E2B: lea rdx, ds:2[rdx*2] 180006E33: cmp rdx, 1000h 180006E3A: jb short loc_180006E54 180006E3C: mov r8, [rcx-8] 180006E40: add rdx, 27h ; ''' 180006E44: sub rcx, r8 180006E47: lea rax, [rcx-8] 180006E4B: cmp rax, 1Fh 180006E4F: ja short loc_180006E70 180006E51: mov rcx, r8; Block 180006E54: call j_j_free 180006E59: xor eax, eax 180006E5B: mov qword ptr [rbx+18h], 7 180006E63: mov [rbx+10h], rax 180006E67: mov [rbx], ax 180006E6A: add rsp, 20h 180006E6E: pop rbx 180006E6F: retn 180006E70: call cs:_invalid_parameter_noinfo_noreturn 180006E76: db 0CCh ### FUNC 180006E78 - 180006E84 (12 bytes) name=sub_180006E78 180006E78: movsxd rax, dword ptr [rcx-4] 180006E7C: sub rcx, rax 180006E7F: jmp sub_180006200 ### FUNC 180006E90 - 180006EEF (95 bytes) name=sub_180006E90 180006E90: sub rsp, 0B8h 180006E97: mov rcx, [rcx] 180006E9A: mov rcx, [rcx+60h]; hMutex 180006E9E: call cs:ReleaseMutex 180006EA4: nop 180006EA5: test eax, eax 180006EA7: jz short loc_180006EB1 180006EA9: add rsp, 0B8h 180006EB0: retn 180006EB1: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 180006EB8: lea rcx, [rsp+0B8h+var_98] 180006EBD: call sub_180002510 180006EC2: nop 180006EC3: mov rdx, rax 180006EC6: lea r9, aErrorReleasing; "Error releasing read mutex." 180006ECD: mov r8d, 271h 180006ED3: lea rcx, [rsp+0B8h+pExceptionObject] 180006ED8: call sub_180004310 180006EDD: nop 180006EDE: lea rdx, stru_1800134B8; pThrowInfo 180006EE5: lea rcx, [rsp+0B8h+pExceptionObject]; pExceptionObject 180006EEA: call _CxxThrowException ### FUNC 180006EF0 - 180006F4F (95 bytes) name=sub_180006EF0 180006EF0: sub rsp, 0B8h 180006EF7: mov rcx, [rcx] 180006EFA: mov rcx, [rcx+68h]; hMutex 180006EFE: call cs:ReleaseMutex 180006F04: nop 180006F05: test eax, eax 180006F07: jz short loc_180006F11 180006F09: add rsp, 0B8h 180006F10: retn 180006F11: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 180006F18: lea rcx, [rsp+0B8h+var_98] 180006F1D: call sub_180002510 180006F22: nop 180006F23: mov rdx, rax 180006F26: lea r9, aErrorReleasing_0; "Error releasing write mutex." 180006F2D: mov r8d, 281h 180006F33: lea rcx, [rsp+0B8h+pExceptionObject] 180006F38: call sub_180004310 180006F3D: nop 180006F3E: lea rdx, stru_1800134B8; pThrowInfo 180006F45: lea rcx, [rsp+0B8h+pExceptionObject]; pExceptionObject 180006F4A: call _CxxThrowException ### FUNC 180006F50 - 1800070F3 (419 bytes) name=sub_180006F50 180006F50: mov [rsp+arg_8], rbx 180006F55: mov [rsp+arg_10], rbp 180006F5A: mov [rsp+arg_18], rsi 180006F5F: push rdi 180006F60: push r12 180006F62: push r13 180006F64: push r14 180006F66: push r15 180006F68: sub rsp, 30h 180006F6C: mov r13, r9 180006F6F: mov ebp, r8d 180006F72: mov rsi, rdx 180006F75: mov r15, rcx 180006F78: lea rax, off_18000FCD8 180006F7F: mov [rcx], rax 180006F82: mov ecx, 70h ; 'p'; Size 180006F87: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180006F8C: mov rdi, rax 180006F8F: mov [rsp+58h+var_38], rax 180006F94: xorps xmm0, xmm0 180006F97: movups xmmword ptr [rax], xmm0 180006F9A: movups xmmword ptr [rax+10h], xmm0 180006F9E: movups xmmword ptr [rax+20h], xmm0 180006FA2: movups xmmword ptr [rax+30h], xmm0 180006FA6: movups xmmword ptr [rax+40h], xmm0 180006FAA: movups xmmword ptr [rax+50h], xmm0 180006FAE: movups xmmword ptr [rax+60h], xmm0 180006FB2: lea rax, off_18000FCC8 180006FB9: mov [rdi], rax 180006FBC: mov rcx, rsi 180006FBF: mov rdx, [rsi+18h] 180006FC3: cmp rdx, 10h 180006FC7: jb short loc_180006FCC 180006FC9: mov rcx, [rsi] 180006FCC: mov rbx, [rsi+10h] 180006FD0: add rbx, rcx 180006FD3: cmp rdx, 10h 180006FD7: jb short loc_180006FDC 180006FD9: mov rsi, [rsi] 180006FDC: lea r14, [rdi+8] 180006FE0: xor r12d, r12d 180006FE3: mov [r14+10h], r12 180006FE7: mov qword ptr [r14+18h], 7 180006FEF: mov [r14], r12w 180006FF3: mov rdx, rbx 180006FF6: sub rdx, rsi 180006FF9: mov rcx, r14 180006FFC: call sub_180006860 180007001: mov [rsp+58h+var_30], r14 180007006: cmp rsi, rbx 180007009: jz short loc_180007052 18000700B: nop dword ptr [rax+rax+00h] 180007010: movsx r9d, byte ptr [rsi] 180007014: mov rcx, [r14+10h] 180007018: mov rdx, [r14+18h] 18000701C: cmp rcx, rdx 18000701F: jnb short loc_180007042 180007021: lea rax, [rcx+1] 180007025: mov [r14+10h], rax 180007029: mov rax, r14 18000702C: cmp rdx, 8 180007030: jb short loc_180007035 180007032: mov rax, [r14] 180007035: mov [rax+rcx*2], r9w 18000703A: mov [rax+rcx*2+2], r12w 180007040: jmp short loc_18000704A 180007042: mov rcx, r14; Src 180007045: call sub_180006500 18000704A: inc rsi 18000704D: cmp rsi, rbx 180007050: jnz short loc_180007010 180007052: mov qword ptr [rdi+28h], 0FFFFFFFFFFFFFFFFh 18000705A: mov byte ptr [rdi+30h], 0 18000705E: mov [rdi+34h], r12 180007062: mov [rdi+3Ch], r12 180007066: mov [rdi+44h], r12d 18000706A: mov [rdi+48h], ebp 18000706D: mov [rdi+4Ch], r12d 180007071: mov dword ptr [rdi+50h], 8 180007078: mov qword ptr [rdi+54h], 1 180007080: cmp qword ptr [rdi+18h], 0 180007085: jz short loc_18000708F 180007087: mov rcx, rdi 18000708A: call sub_180005040 18000708F: xor r8d, r8d; lpName 180007092: xor edx, edx; bInitialOwner 180007094: xor ecx, ecx; lpMutexAttributes 180007096: call cs:CreateMutexW 18000709C: mov [rdi+60h], rax 1800070A0: xor r8d, r8d; lpName 1800070A3: xor edx, edx; bInitialOwner 1800070A5: xor ecx, ecx; lpMutexAttributes 1800070A7: call cs:CreateMutexW 1800070AD: mov [rdi+68h], rax 1800070B1: mov [r15+8], rdi 1800070B5: movups xmm0, xmmword ptr [r13+0] 1800070BA: movups xmmword ptr [rdi+34h], xmm0 1800070BE: mov ecx, [r13+10h] 1800070C2: mov [rdi+44h], ecx 1800070C5: cmp byte ptr [rdi+30h], 0 1800070C9: jz short loc_1800070D3 1800070CB: mov rcx, rdi 1800070CE: call sub_1800053C0 1800070D3: mov rax, r15 1800070D6: mov rbx, [rsp+58h+arg_8] 1800070DB: mov rbp, [rsp+58h+arg_10] 1800070E0: mov rsi, [rsp+58h+arg_18] 1800070E5: add rsp, 30h 1800070E9: pop r15 1800070EB: pop r14 1800070ED: pop r13 1800070EF: pop r12 1800070F1: pop rdi 1800070F2: retn ### FUNC 180007100 - 18000714D (77 bytes) name=sub_180007100 180007100: mov [rsp+arg_0], rbx 180007105: push rdi 180007106: sub rsp, 20h 18000710A: lea rax, off_18000FCD8 180007111: mov rbx, rcx 180007114: mov [rcx], rax 180007117: mov edi, edx 180007119: mov rcx, [rcx+8] 18000711D: test rcx, rcx 180007120: jz short loc_18000712C 180007122: mov rax, [rcx] 180007125: mov edx, 1 18000712A: call qword ptr [rax] 18000712C: test dil, 1 180007130: jz short loc_18000713F 180007132: mov edx, 10h 180007137: mov rcx, rbx; Block 18000713A: call j_j_free 18000713F: mov rax, rbx 180007142: mov rbx, [rsp+28h+arg_0] 180007147: add rsp, 20h 18000714B: pop rdi 18000714C: retn ### FUNC 180007150 - 18000727C (300 bytes) name=sub_180007150 180007150: push rbx 180007152: sub rsp, 240h 180007159: mov rax, cs:__security_cookie 180007160: xor rax, rsp 180007163: mov [rsp+248h+var_18], rax 18000716B: mov rcx, [rcx+8] 18000716F: cmp byte ptr [rcx+30h], 0 180007173: jz loc_180007259 180007179: mov [rsp+248h+lpOverlapped], 0; lpOverlapped 180007182: lea r9, [rsp+248h+NumberOfBytesWritten]; lpNumberOfBytesWritten 18000718A: mov rcx, [rcx+28h]; hFile 18000718E: call cs:WriteFile 180007194: test eax, eax 180007196: jz short loc_1800071B8 180007198: mov eax, [rsp+248h+NumberOfBytesWritten] 18000719F: mov rcx, [rsp+248h+var_18] 1800071A7: xor rcx, rsp; StackCookie 1800071AA: call __security_check_cookie 1800071AF: add rsp, 240h 1800071B6: pop rbx 1800071B7: retn 1800071B8: lea rcx, [rsp+248h+var_118] 1800071C0: call sub_180004300 1800071C5: lea rcx, [rsp+248h+var_118] 1800071CD: call sub_1800060F0 1800071D2: nop 1800071D3: call cs:GetLastError 1800071D9: mov ebx, eax 1800071DB: lea rdx, aErrorWhileWrit; "Error while writing to the serial port:"... 1800071E2: lea rcx, [rsp+248h+var_108] 1800071EA: call sub_180006310 1800071EF: mov rcx, rax 1800071F2: mov edx, ebx 1800071F4: call cs:??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z; std::basic_ostream>::operator<<(ulong) 1800071FA: lea rdx, [rsp+248h+var_1B8] 180007202: lea rcx, [rsp+248h+var_118] 18000720A: call sub_180006050 18000720F: mov rbx, rax 180007212: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 180007219: lea rcx, [rsp+248h+var_210] 18000721E: call sub_180002510 180007223: mov rdx, rax 180007226: mov rcx, rbx 180007229: call sub_1800061B0 18000722E: mov r9, rax 180007231: mov r8d, 163h 180007237: lea rcx, [rsp+248h+pExceptionObject] 18000723F: call sub_180004310 180007244: lea rdx, stru_1800134B8; pThrowInfo 18000724B: lea rcx, [rsp+248h+pExceptionObject]; pExceptionObject 180007253: call _CxxThrowException 180007258: db 90h 180007259: lea rdx, aSerialWrite; "Serial::write" 180007260: lea rcx, [rsp+248h+var_1F0] 180007265: call sub_1800048A0 18000726A: lea rdx, stru_1800134D8; pThrowInfo 180007271: lea rcx, [rsp+248h+var_1F0]; pExceptionObject 180007276: call _CxxThrowException 18000727B: db 0CCh ### FUNC 180007280 - 180007304 (132 bytes) name=sub_180007280 180007280: mov [rsp+arg_8], rbx 180007285: mov [rsp+arg_10], rbp 18000728A: mov [rsp+arg_18], rsi 18000728F: push rdi 180007290: sub rsp, 20h 180007294: mov rbx, rcx 180007297: mov rsi, r9 18000729A: mov rcx, [rcx] 18000729D: mov rbp, r8 1800072A0: mov rdi, rdx 1800072A3: test rcx, rcx 1800072A6: jz short loc_1800072D5 1800072A8: mov rdx, [rbx+10h] 1800072AC: sub rdx, rcx 1800072AF: cmp rdx, 1000h 1800072B6: jb short loc_1800072D0 1800072B8: mov r8, [rcx-8] 1800072BC: add rdx, 27h ; ''' 1800072C0: sub rcx, r8 1800072C3: lea rax, [rcx-8] 1800072C7: cmp rax, 1Fh 1800072CB: ja short loc_1800072FD 1800072CD: mov rcx, r8; Block 1800072D0: call j_j_free 1800072D5: lea rax, [rdi+rbp] 1800072D9: mov [rbx], rdi 1800072DC: mov rbp, [rsp+28h+arg_10] 1800072E1: mov [rbx+8], rax 1800072E5: lea rax, [rdi+rsi] 1800072E9: mov rsi, [rsp+28h+arg_18] 1800072EE: mov [rbx+10h], rax 1800072F2: mov rbx, [rsp+28h+arg_8] 1800072F7: add rsp, 20h 1800072FB: pop rdi 1800072FC: retn 1800072FD: call cs:_invalid_parameter_noinfo_noreturn 180007303: db 0CCh ### FUNC 180007310 - 18000731F (15 bytes) name=sub_180007310 180007310: sub rsp, 28h 180007314: mov rax, [rcx] 180007317: call qword ptr [rax] 180007319: nop 18000731A: add rsp, 28h 18000731E: retn ### FUNC 180007320 - 180007354 (52 bytes) name=sub_180007320 180007320: mov [rsp+arg_0], rbx 180007325: push rdi 180007326: sub rsp, 20h 18000732A: mov ebx, edx 18000732C: mov rdi, rcx 18000732F: call sub_180007360 180007334: test bl, 1 180007337: jz short loc_180007346 180007339: mov edx, 30h ; '0' 18000733E: mov rcx, rdi; Block 180007341: call j_j_free 180007346: mov rbx, [rsp+28h+arg_0] 18000734B: mov rax, rdi 18000734E: add rsp, 20h 180007352: pop rdi 180007353: retn ### FUNC 180007360 - 1800073EA (138 bytes) name=sub_180007360 180007360: push rbx 180007362: sub rsp, 20h 180007366: mov rbx, rcx 180007369: lea rax, off_18000FCE8 180007370: mov [rcx], rax 180007373: cmp qword ptr [rcx+20h], 0 180007378: jz short loc_1800073BB 18000737A: movzx eax, byte ptr [rcx+18h] 18000737E: cmp al, 1 180007380: jnz short loc_1800073BB 180007382: mov rax, [rcx] 180007385: call qword ptr [rax+28h] 180007388: nop 180007389: test al, al 18000738B: jz short loc_1800073BB 18000738D: mov byte ptr [rbx+18h], 0 180007391: mov rcx, [rbx+20h] 180007395: mov rcx, [rcx+8] 180007399: call sub_180005790 18000739E: nop 18000739F: mov rcx, [rbx+20h] 1800073A3: test rcx, rcx 1800073A6: jz short loc_1800073B3 1800073A8: mov rax, [rcx] 1800073AB: mov edx, 1 1800073B0: call qword ptr [rax] 1800073B2: nop 1800073B3: mov qword ptr [rbx+20h], 0 1800073BB: mov rcx, [rbx+20h] 1800073BF: test rcx, rcx 1800073C2: jz short loc_1800073CF 1800073C4: mov rax, [rcx] 1800073C7: mov edx, 1 1800073CC: call qword ptr [rax] 1800073CE: nop 1800073CF: mov qword ptr [rbx+20h], 0 1800073D7: cmp dword ptr [rbx+10h], 0 1800073DB: jz short loc_1800073E4 1800073DD: call cs:terminate 1800073E3: nop 1800073E4: add rsp, 20h 1800073E8: pop rbx 1800073E9: retn ### FUNC 1800073F0 - 180007511 (289 bytes) name=sub_1800073F0 1800073F0: mov [rsp+arg_10], rbx 1800073F5: push rsi 1800073F6: push rdi 1800073F7: push r14 1800073F9: sub rsp, 80h 180007400: mov rax, cs:__security_cookie 180007407: xor rax, rsp 18000740A: mov [rsp+98h+var_28], rax 18000740F: mov edi, r8d 180007412: mov rsi, rdx 180007415: mov rbx, rcx 180007418: mov [rsp+98h+var_38], rcx 18000741D: mov rax, [rcx] 180007420: call qword ptr [rax+28h] 180007423: test al, al 180007425: jz short loc_180007431 180007427: mov rax, [rbx] 18000742A: mov rcx, rbx 18000742D: call qword ptr [rax+20h] 180007430: nop 180007431: mov ecx, 10h; Size 180007436: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000743B: mov [rsp+98h+var_30], rax 180007440: xorps xmm0, xmm0 180007443: movups xmmword ptr [rax], xmm0 180007446: xor r14d, r14d 180007449: mov qword ptr [rsp+98h+var_58], r14 18000744E: mov qword ptr [rsp+98h+var_58+8], r14 180007453: movups xmm0, xmmword ptr [rsp+98h+var_58] 180007458: movaps xmmword ptr [rsp+98h+var_58], xmm0 18000745D: mov [rsp+98h+var_48], r14d 180007462: lea r9, [rsp+98h+var_58] 180007467: mov r8d, edi 18000746A: mov rdx, rsi 18000746D: mov rcx, rax 180007470: call sub_180006F50 180007475: nop 180007476: mov [rbx+20h], rax 18000747A: lea ecx, [r14+10h]; Size 18000747E: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180007483: mov [rax], rbx 180007486: lea rcx, sub_180007310 18000748D: mov [rax+8], rcx 180007491: mov [rsp+98h+var_30], rax 180007496: lea rcx, [rsp+98h+var_58+8] 18000749B: mov [rsp+98h+ThrdAddr], rcx; ThrdAddr 1800074A0: mov [rsp+98h+InitFlag], r14d; InitFlag 1800074A5: mov r9, rax; ArgList 1800074A8: lea r8, StartAddress; StartAddress 1800074AF: xor edx, edx; StackSize 1800074B1: xor ecx, ecx; Security 1800074B3: call cs:_beginthreadex 1800074B9: mov qword ptr [rsp+98h+var_58], rax 1800074BE: test rax, rax 1800074C1: jz short loc_1800074DD 1800074C3: cmp [rbx+10h], r14d 1800074C7: jnz short loc_1800074D6 1800074C9: movaps xmm0, xmmword ptr [rsp+98h+var_58] 1800074CE: movups xmmword ptr [rbx+8], xmm0 1800074D2: mov al, 1 1800074D4: jmp short loc_1800074F0 1800074D6: call cs:terminate 1800074DC: nop 1800074DD: mov [rsp+98h+var_58+8], r14d 1800074E2: mov ecx, 6 1800074E7: call cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int) 1800074ED: nop 1800074EE: xor al, al 1800074F0: mov rcx, [rsp+98h+var_28] 1800074F5: xor rcx, rsp; StackCookie 1800074F8: call __security_check_cookie 1800074FD: mov rbx, [rsp+98h+arg_10] 180007505: add rsp, 80h 18000750C: pop r14 18000750E: pop rdi 18000750F: pop rsi 180007510: retn ### FUNC 180007520 - 180007565 (69 bytes) name=sub_180007520 180007520: push rbx 180007522: sub rsp, 20h 180007526: mov rax, [rcx] 180007529: mov rbx, rcx 18000752C: call qword ptr [rax+28h] 18000752F: test al, al 180007531: jz short loc_18000755F 180007533: mov rcx, [rbx+20h] 180007537: mov byte ptr [rbx+18h], 0 18000753B: mov rcx, [rcx+8] 18000753F: call sub_180005790 180007544: mov rcx, [rbx+20h] 180007548: test rcx, rcx 18000754B: jz short loc_180007557 18000754D: mov rax, [rcx] 180007550: mov edx, 1 180007555: call qword ptr [rax] 180007557: mov qword ptr [rbx+20h], 0 18000755F: add rsp, 20h 180007563: pop rbx 180007564: retn ### FUNC 180007570 - 180007583 (19 bytes) name=sub_180007570 180007570: cmp qword ptr [rcx+20h], 0 180007575: jz short loc_180007580 180007577: movzx eax, byte ptr [rcx+18h] 18000757B: cmp al, 1 18000757D: jnz short loc_180007580 18000757F: retn 180007580: xor al, al 180007582: retn ### FUNC 180007590 - 1800076B6 (294 bytes) name=sub_180007590 180007590: mov [rsp+arg_18], rbx 180007595: push rbp 180007596: push rsi 180007597: push rdi 180007598: sub rsp, 150h 18000759F: mov rax, cs:__security_cookie 1800075A6: xor rax, rsp 1800075A9: mov [rsp+168h+var_20], rax 1800075B1: movsxd rbp, r8d 1800075B4: mov rsi, rdx 1800075B7: mov rbx, rcx 1800075BA: mov rax, [rcx] 1800075BD: call qword ptr [rax+28h] 1800075C0: test al, al 1800075C2: jnz short loc_1800075CB 1800075C4: mov eax, 0FFFFFFFFh 1800075C9: jmp short loc_180007613 1800075CB: mov rdi, [rbx+20h] 1800075CF: mov rbx, [rdi+8] 1800075D3: mov [rsp+168h+var_28], rbx 1800075DB: mov edx, 0FFFFFFFFh; dwMilliseconds 1800075E0: mov rcx, [rbx+68h]; hHandle 1800075E4: call cs:WaitForSingleObject 1800075EA: test eax, eax 1800075EC: jnz loc_180007679 1800075F2: mov r8, rbp 1800075F5: mov rdx, rsi 1800075F8: mov rcx, rdi 1800075FB: call sub_180007150 180007600: mov rdi, rax 180007603: mov rcx, [rbx+68h]; hMutex 180007607: call cs:ReleaseMutex 18000760D: test eax, eax 18000760F: jz short loc_180007636 180007611: mov eax, edi 180007613: mov rcx, [rsp+168h+var_20] 18000761B: xor rcx, rsp; StackCookie 18000761E: call __security_check_cookie 180007623: mov rbx, [rsp+168h+arg_18] 18000762B: add rsp, 150h 180007632: pop rdi 180007633: pop rsi 180007634: pop rbp 180007635: retn 180007636: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 18000763D: lea rcx, [rsp+168h+var_128] 180007642: call sub_180002510 180007647: lea r9, aErrorReleasing_0; "Error releasing write mutex." 18000764E: mov r8d, 281h 180007654: mov rdx, rax 180007657: lea rcx, [rsp+168h+pExceptionObject] 18000765F: call sub_180004310 180007664: lea rdx, stru_1800134B8; pThrowInfo 18000766B: lea rcx, [rsp+168h+pExceptionObject]; pExceptionObject 180007673: call _CxxThrowException 180007678: db 90h 180007679: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 180007680: lea rcx, [rsp+168h+var_148] 180007685: call sub_180002510 18000768A: lea r9, aErrorClaimingW; "Error claiming write mutex." 180007691: mov r8d, 279h 180007697: mov rdx, rax 18000769A: lea rcx, [rsp+168h+var_108] 18000769F: call sub_180004310 1800076A4: lea rdx, stru_1800134B8; pThrowInfo 1800076AB: lea rcx, [rsp+168h+var_108]; pExceptionObject 1800076B0: call _CxxThrowException 1800076B5: db 0CCh ### FUNC 1800076C0 - 180007906 (582 bytes) name=sub_1800076C0 1800076C0: mov [rsp-8+arg_8], rbx 1800076C5: mov [rsp-8+arg_10], rsi 1800076CA: mov [rsp-8+arg_18], rdi 1800076CF: push rbp 1800076D0: push r14 1800076D2: push r15 1800076D4: lea rbp, [rsp-620h] 1800076DC: sub rsp, 720h 1800076E3: mov rax, cs:__security_cookie 1800076EA: xor rax, rsp 1800076ED: mov [rbp+630h+var_20], rax 1800076F4: mov rsi, rcx 1800076F7: mov byte ptr [rcx+18h], 1 1800076FB: movzx eax, byte ptr [rcx+18h] 1800076FF: test al, al 180007701: jz loc_1800077CD 180007707: mov r15d, 400h 18000770D: nop dword ptr [rax] 180007710: mov rax, [rsi+20h] 180007714: mov rcx, [rax+8] 180007718: cmp byte ptr [rcx+30h], 0 18000771C: jnz short loc_180007722 18000771E: xor edi, edi 180007720: jmp short loc_180007743 180007722: lea r8, [rbp+630h+Stat]; lpStat 180007729: xor edx, edx; lpErrors 18000772B: mov rcx, [rcx+28h]; hFile 18000772F: call cs:ClearCommError 180007735: test eax, eax 180007737: jz loc_180007834 18000773D: mov edi, [rbp+630h+Stat.cbInQue] 180007743: test edi, edi 180007745: jle short loc_1800077C1 180007747: mov r8, r15; Size 18000774A: xor edx, edx; Val 18000774C: lea rcx, [rbp+630h+var_420]; void * 180007753: call memset 180007758: cmp edi, r15d 18000775B: cmovg edi, r15d 18000775F: mov r14, [rsi+20h] 180007763: mov rbx, [r14+8] 180007767: mov [rbp+630h+var_540], rbx 18000776E: mov edx, 0FFFFFFFFh; dwMilliseconds 180007773: mov rcx, [rbx+60h]; hHandle 180007777: call cs:WaitForSingleObject 18000777D: test eax, eax 18000777F: jnz short loc_1800077F9 180007781: mov r8d, edi 180007784: lea rdx, [rbp+630h+var_420] 18000778B: mov rcx, [r14+8] 18000778F: call sub_180005890 180007794: mov rdi, rax 180007797: mov rcx, [rbx+60h]; hMutex 18000779B: call cs:ReleaseMutex 1800077A1: test eax, eax 1800077A3: jz loc_1800078CB 1800077A9: mov rcx, [rsi+28h] 1800077AD: test rcx, rcx 1800077B0: jz short loc_1800077C1 1800077B2: mov rax, [rcx] 1800077B5: mov r8d, edi 1800077B8: lea rdx, [rbp+630h+var_420] 1800077BF: call qword ptr [rax] 1800077C1: movzx eax, byte ptr [rsi+18h] 1800077C5: test al, al 1800077C7: jnz loc_180007710 1800077CD: mov rcx, [rbp+630h+var_20] 1800077D4: xor rcx, rsp; StackCookie 1800077D7: call __security_check_cookie 1800077DC: lea r11, [rsp+730h+var_10] 1800077E4: mov rbx, [r11+28h] 1800077E8: mov rsi, [r11+30h] 1800077EC: mov rdi, [r11+38h] 1800077F0: mov rsp, r11 1800077F3: pop r15 1800077F5: pop r14 1800077F7: pop rbp 1800077F8: retn 1800077F9: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 180007800: lea rcx, [rsp+730h+var_6F0] 180007805: call sub_180002510 18000780A: lea r9, aErrorClaimingR; "Error claiming read mutex." 180007811: mov r8d, 269h 180007817: mov rdx, rax 18000781A: lea rcx, [rbp+630h+pExceptionObject] 18000781E: call sub_180004310 180007823: lea rdx, stru_1800134B8; pThrowInfo 18000782A: lea rcx, [rbp+630h+pExceptionObject]; pExceptionObject 18000782E: call _CxxThrowException 180007833: align 4 180007834: lea rcx, [rbp+630h+var_520] 18000783B: call sub_180004300 180007840: lea rcx, [rbp+630h+var_520] 180007847: call sub_1800060F0 18000784C: nop 18000784D: call cs:GetLastError 180007853: mov ebx, eax 180007855: lea rdx, aErrorWhileChec; "Error while checking status of the seri"... 18000785C: lea rcx, [rbp+630h+var_510] 180007863: call sub_180006310 180007868: mov rcx, rax 18000786B: mov edx, ebx 18000786D: call cs:??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z; std::basic_ostream>::operator<<(ulong) 180007873: lea rdx, [rbp+630h+var_6B0] 180007877: lea rcx, [rbp+630h+var_520] 18000787E: call sub_180006050 180007883: mov rbx, rax 180007886: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 18000788D: lea rcx, [rsp+730h+var_6D0] 180007892: call sub_180002510 180007897: mov rdx, rax 18000789A: mov rcx, rbx 18000789D: call sub_1800061B0 1800078A2: mov r9, rax 1800078A5: mov r8d, 138h 1800078AB: lea rcx, [rbp+630h+var_5B0] 1800078B2: call sub_180004310 1800078B7: lea rdx, stru_1800134B8; pThrowInfo 1800078BE: lea rcx, [rbp+630h+var_5B0]; pExceptionObject 1800078C5: call _CxxThrowException 1800078CA: db 90h 1800078CB: lea rdx, aCUsersDerekSou; "C:\\Users\\Derek\\source\\repos\\EloThe"... 1800078D2: lea rcx, [rsp+730h+var_710] 1800078D7: call sub_180002510 1800078DC: lea r9, aErrorReleasing; "Error releasing read mutex." 1800078E3: mov r8d, 271h 1800078E9: mov rdx, rax 1800078EC: lea rcx, [rbp+630h+var_690] 1800078F0: call sub_180004310 1800078F5: lea rdx, stru_1800134B8; pThrowInfo 1800078FC: lea rcx, [rbp+630h+var_690]; pExceptionObject 180007900: call _CxxThrowException 180007905: db 0CCh ### FUNC 180007930 - 18000795D (45 bytes) name=StartAddress 180007930: push rbx 180007932: sub rsp, 20h 180007936: mov rbx, rcx 180007939: mov rcx, [rcx] 18000793C: call qword ptr [rbx+8] 18000793F: nop 180007940: call cs:_Cnd_do_broadcast_at_thread_exit 180007946: nop 180007947: mov edx, 10h 18000794C: mov rcx, rbx; Block 18000794F: call j_j_free 180007954: nop 180007955: xor eax, eax 180007957: add rsp, 20h 18000795B: pop rbx 18000795C: retn ### FUNC 180007960 - 1800079B5 (85 bytes) name=sub_180007960 180007960: mov [rsp+arg_0], rcx 180007965: mov qword ptr [rsp+arg_8], rdx 18000796A: mov [rsp+arg_10], r8 18000796F: mov [rsp+arg_18], r9 180007974: push rbx 180007975: push rsi 180007976: push rdi 180007977: sub rsp, 30h 18000797B: mov rdi, rcx 18000797E: lea rsi, [rsp+48h+arg_8] 180007983: mov ecx, 1; Ix 180007988: call cs:__acrt_iob_func 18000798E: mov rbx, rax 180007991: call sub_180002FC0 180007996: xor r9d, r9d; Locale 180007999: mov [rsp+48h+ArgList], rsi; ArgList 18000799E: mov r8, rdi; Format 1800079A1: mov rdx, rbx; Stream 1800079A4: mov rcx, [rax]; Options 1800079A7: call cs:__stdio_common_vfprintf 1800079AD: add rsp, 30h 1800079B1: pop rdi 1800079B2: pop rsi 1800079B3: pop rbx 1800079B4: retn ### FUNC 1800079C0 - 180007A37 (119 bytes) name=sub_1800079C0 1800079C0: mov [rsp+arg_8], rbx 1800079C5: mov [rsp+arg_10], rsi 1800079CA: push rdi 1800079CB: sub rsp, 20h 1800079CF: lea rax, off_1800101B8 1800079D6: mov rsi, rcx 1800079D9: mov [rcx], rax 1800079DC: mov edi, edx 1800079DE: sub rcx, 0FFFFFFFFFFFFFF80h; _Mtx_t 1800079E2: call cs:_Mtx_destroy_in_situ 1800079E8: lea rcx, [rsi+38h]; _Cnd_t 1800079EC: call cs:_Cnd_destroy_in_situ 1800079F2: lea rcx, [rsi+8] 1800079F6: call sub_180002550 1800079FB: mov rcx, [rsi+8]; Block 1800079FF: mov edx, 10h 180007A04: mov qword ptr [rsi+8], 0 180007A0C: call j_j_free 180007A11: test dil, 1 180007A15: jz short loc_180007A24 180007A17: mov edx, 0D8h 180007A1C: mov rcx, rsi; Block 180007A1F: call j_j_free 180007A24: mov rbx, [rsp+28h+arg_8] 180007A29: mov rax, rsi 180007A2C: mov rsi, [rsp+28h+arg_10] 180007A31: add rsp, 20h 180007A35: pop rdi 180007A36: retn ### FUNC 180007A40 - 180007CCC (652 bytes) name=sub_180007A40 180007A40: mov [rsp-18h+arg_8], rbx 180007A45: mov [rsp-18h+arg_10], rsi 180007A4A: push rbp 180007A4B: push rdi 180007A4C: push r14 180007A4E: mov rbp, rsp 180007A51: sub rsp, 70h 180007A55: mov rax, cs:__security_cookie 180007A5C: xor rax, rsp 180007A5F: mov [rbp+var_10], rax 180007A63: mov rdi, rcx 180007A66: test edx, edx 180007A68: jnz short loc_180007A71 180007A6A: mov al, 1 180007A6C: jmp loc_180007CAB 180007A71: mov ebx, 80h 180007A76: cmp edx, ebx 180007A78: jg short loc_180007A86 180007A7A: mov ebx, edx 180007A7C: mov eax, 0FFFFFF80h 180007A81: cmp edx, eax 180007A83: cmovl ebx, eax 180007A86: xorps xmm1, xmm1 180007A89: movdqu xmmword ptr [rbp+Block], xmm1 180007A8E: xor r14d, r14d 180007A91: mov [rbp+var_38], r14 180007A95: lea r8, [rbp+var_50] 180007A99: xor edx, edx 180007A9B: lea rcx, [rbp+Block] 180007A9F: test ebx, ebx 180007AA1: jns short loc_180007AD5 180007AA3: mov [rbp+var_50], 1 180007AA7: call sub_180007D30 180007AAC: neg bl 180007AAE: mov [rbp+var_50], bl 180007AB1: mov rdx, [rbp+Block+8] 180007AB5: cmp rdx, [rbp+var_38] 180007AB9: jz short loc_180007AC6 180007ABB: mov [rdx], bl 180007ABD: inc rdx 180007AC0: mov [rbp+Block+8], rdx 180007AC4: jmp short loc_180007B03 180007AC6: lea r8, [rbp+var_50] 180007ACA: lea rcx, [rbp+Block] 180007ACE: call sub_180007D30 180007AD3: jmp short loc_180007B03 180007AD5: mov [rbp+var_50], 0 180007AD9: call sub_180007D30 180007ADE: mov [rbp+var_50], bl 180007AE1: mov rdx, [rbp+Block+8] 180007AE5: cmp rdx, [rbp+var_38] 180007AE9: jz short loc_180007AF6 180007AEB: mov [rdx], bl 180007AED: inc rdx 180007AF0: mov [rbp+Block+8], rdx 180007AF4: jmp short loc_180007B03 180007AF6: lea r8, [rbp+var_50] 180007AFA: lea rcx, [rbp+Block] 180007AFE: call sub_180007D30 180007B03: mov byte ptr [rdi+30h], 0 180007B07: mov ecx, 28h ; '('; Size 180007B0C: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180007B11: mov rbx, rax 180007B14: mov qword ptr [rbp+var_30], rax 180007B18: xorps xmm0, xmm0 180007B1B: xor eax, eax 180007B1D: movups xmmword ptr [rbx], xmm0 180007B20: movups xmmword ptr [rbx+10h], xmm0 180007B24: mov [rbx+20h], rax 180007B28: lea rax, off_1800100F8 180007B2F: mov [rbx], rax 180007B32: mov [rbx+8], r14 180007B36: mov [rbx+10h], r14 180007B3A: mov [rbx+18h], r14 180007B3E: lea r9, [rbp+Block] 180007B42: mov r8b, 77h ; 'w' 180007B45: mov rcx, rbx 180007B48: call sub_180009D70 180007B4D: nop 180007B4E: mov rcx, [rdi+0D0h] 180007B55: test rcx, rcx 180007B58: jz short loc_180007B6C 180007B5A: mov rdx, [rbx+8] 180007B5E: mov r8, [rbx+10h] 180007B62: sub r8, rdx 180007B65: mov r9, [rcx] 180007B68: call qword ptr [r9+8] 180007B6C: mov rax, [rbx] 180007B6F: mov esi, 1 180007B74: mov edx, esi 180007B76: mov rcx, rbx 180007B79: call qword ptr [rax] 180007B7B: xorps xmm0, xmm0 180007B7E: movups [rbp+var_30], xmm0 180007B82: lea rbx, [rdi+80h] 180007B89: mov qword ptr [rbp+var_30], rbx 180007B8D: mov byte ptr [rbp+var_30+8], 0 180007B91: mov rcx, rbx; _Mtx_t 180007B94: call cs:_Mtx_lock 180007B9A: test eax, eax 180007B9C: jz short loc_180007BA7 180007B9E: mov ecx, eax 180007BA0: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180007BA6: int 3; Trap to Debugger 180007BA7: mov byte ptr [rbp+var_30+8], sil 180007BAB: call cs:_Xtime_get_ticks 180007BB1: add rax, 0F4240h 180007BB7: imul rcx, rax, 64h ; 'd' 180007BBB: mov rax, 112E0BE826D694B3h 180007BC5: imul rcx 180007BC8: sar rdx, 1Ah 180007BCC: mov rax, rdx 180007BCF: shr rax, 3Fh 180007BD3: add rdx, rax 180007BD6: mov [rbp+var_20.sec], rdx 180007BDA: imul rax, rdx, 3B9ACA00h 180007BE1: sub rcx, rax 180007BE4: mov [rbp+var_20.nsec], ecx 180007BE7: mov rcx, rbx; _Mtx_t 180007BEA: call cs:_Mtx_current_owns 180007BF0: test eax, eax 180007BF2: jnz short loc_180007BFE 180007BF4: lea ecx, [rax+4] 180007BF7: call cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int) 180007BFD: int 3; Trap to Debugger 180007BFE: lea rcx, [rdi+38h]; _Cnd_t 180007C02: lea r8, [rbp+var_20]; xtime * 180007C06: mov rdx, rbx; _Mtx_t 180007C09: call cs:_Cnd_timedwait 180007C0F: test eax, eax 180007C11: jz short loc_180007C21 180007C13: cmp eax, 2 180007C16: jz short loc_180007C24 180007C18: mov ecx, eax 180007C1A: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180007C20: int 3; Trap to Debugger 180007C21: mov esi, r14d 180007C24: cmp cs:byte_180015FF0, 0 180007C2B: jz short loc_180007C50 180007C2D: cmp esi, 1 180007C30: jnz short loc_180007C40 180007C32: lea rcx, Format; "EloMotorDevice timeout\n" 180007C39: call sub_180007960 180007C3E: jmp short loc_180007C50 180007C40: movzx edx, byte ptr [rdi+30h] 180007C44: lea rcx, aElomotordevice_0; "EloMotorDevice:%d\n" 180007C4B: call sub_180007960 180007C50: movzx edi, byte ptr [rdi+30h] 180007C54: mov rcx, rbx; _Mtx_t 180007C57: call cs:_Mtx_unlock 180007C5D: test eax, eax 180007C5F: jz short loc_180007C6A 180007C61: mov ecx, eax 180007C63: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180007C69: nop 180007C6A: mov rcx, [rbp+Block]; Block 180007C6E: test rcx, rcx 180007C71: jz short loc_180007CA7 180007C73: mov rdx, [rbp+var_38] 180007C77: sub rdx, rcx 180007C7A: mov rax, rcx 180007C7D: cmp rdx, 1000h 180007C84: jb short loc_180007CA2 180007C86: add rdx, 27h ; ''' 180007C8A: mov rcx, [rcx-8] 180007C8E: sub rax, rcx 180007C91: add rax, 0FFFFFFFFFFFFFFF8h 180007C95: cmp rax, 1Fh 180007C99: jbe short loc_180007CA2 180007C9B: call cs:_invalid_parameter_noinfo_noreturn 180007CA1: int 3; Trap to Debugger 180007CA2: call j_j_free 180007CA7: movzx eax, dil 180007CAB: mov rcx, [rbp+var_10] 180007CAF: xor rcx, rsp; StackCookie 180007CB2: call __security_check_cookie 180007CB7: lea r11, [rsp+70h+var_s0] 180007CBC: mov rbx, [r11+28h] 180007CC0: mov rsi, [r11+30h] 180007CC4: mov rsp, r11 180007CC7: pop r14 180007CC9: pop rdi 180007CCA: pop rbp 180007CCB: retn ### FUNC 180007CD0 - 180007CE1 (17 bytes) name=sub_180007CD0 180007CD0: cmp dl, 2 180007CD3: jnz short loc_180007CDE 180007CD5: cmp r8b, 77h ; 'w' 180007CD9: jnz short loc_180007CDE 180007CDB: mov al, 1 180007CDD: retn 180007CDE: xor al, al 180007CE0: retn ### FUNC 180007CF0 - 180007D29 (57 bytes) name=sub_180007CF0 180007CF0: sub rsp, 28h 180007CF4: mov rax, [rdx] 180007CF7: cmp byte ptr [rax+4], 2 180007CFB: jnz short loc_180007D24 180007CFD: cmp byte ptr [rax+5], 77h ; 'w' 180007D01: jnz short loc_180007D24 180007D03: cmp byte ptr [rax+8], 1 180007D07: setz al 180007D0A: mov [rcx+30h], al 180007D0D: add rcx, 38h ; '8'; _Cnd_t 180007D11: call cs:_Cnd_broadcast 180007D17: test eax, eax 180007D19: jz short loc_180007D24 180007D1B: mov ecx, eax 180007D1D: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180007D23: nop 180007D24: add rsp, 28h 180007D28: retn ### FUNC 180007D30 - 180007E67 (311 bytes) name=sub_180007D30 180007D30: mov [rsp+arg_10], rbp 180007D35: mov [rsp+arg_18], rsi 180007D3A: push r12 180007D3C: push r14 180007D3E: push r15 180007D40: sub rsp, 20h 180007D44: mov rsi, rcx 180007D47: mov r14, rdx 180007D4A: mov rcx, [rcx] 180007D4D: mov r9, 7FFFFFFFFFFFFFFFh 180007D57: sub r14, rcx 180007D5A: mov r12, r8 180007D5D: mov r15, rdx 180007D60: mov rbp, [rsi+8] 180007D64: sub rbp, rcx 180007D67: cmp rbp, r9 180007D6A: jz loc_180007E61 180007D70: mov rax, [rsi+10h] 180007D74: inc rbp 180007D77: sub rax, rcx 180007D7A: mov [rsp+38h+arg_0], rbx 180007D7F: mov rcx, rax 180007D82: shr rcx, 1 180007D85: sub r9, rcx 180007D88: cmp rax, r9 180007D8B: jbe short loc_180007D92 180007D8D: mov rbx, rbp 180007D90: jmp short loc_180007D9D 180007D92: lea rbx, [rcx+rax] 180007D96: cmp rbx, rbp 180007D99: cmovb rbx, rbp 180007D9D: mov [rsp+38h+arg_8], rdi 180007DA2: cmp rbx, 1000h 180007DA9: jb short loc_180007DD7 180007DAB: lea rcx, [rbx+27h]; Size 180007DAF: cmp rcx, rbx 180007DB2: jbe loc_180007E5B 180007DB8: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180007DBD: test rax, rax 180007DC0: jz short loc_180007DD0 180007DC2: lea rdi, [rax+27h] 180007DC6: and rdi, 0FFFFFFFFFFFFFFE0h 180007DCA: mov [rdi-8], rax 180007DCE: jmp short loc_180007DEB 180007DD0: call cs:_invalid_parameter_noinfo_noreturn 180007DD6: int 3; Trap to Debugger 180007DD7: test rbx, rbx 180007DDA: jz short loc_180007DE9 180007DDC: mov rcx, rbx; Size 180007DDF: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180007DE4: mov rdi, rax 180007DE7: jmp short loc_180007DEB 180007DE9: xor edi, edi 180007DEB: movzx eax, byte ptr [r12] 180007DF0: add r14, rdi 180007DF3: mov rcx, rdi; void * 180007DF6: mov [r14], al 180007DF9: mov r8, [rsi+8] 180007DFD: mov rdx, [rsi]; Src 180007E00: cmp r15, r8 180007E03: jnz short loc_180007E0A 180007E05: sub r8, rdx 180007E08: jmp short loc_180007E23 180007E0A: mov r8, r15 180007E0D: sub r8, rdx; Size 180007E10: call memmove 180007E15: mov r8, [rsi+8] 180007E19: lea rcx, [r14+1]; void * 180007E1D: sub r8, r15; Size 180007E20: mov rdx, r15; Src 180007E23: call memmove 180007E28: mov r9, rbx 180007E2B: mov r8, rbp 180007E2E: mov rdx, rdi 180007E31: mov rcx, rsi 180007E34: call sub_180007280 180007E39: mov rdi, [rsp+38h+arg_8] 180007E3E: mov rax, r14 180007E41: mov rbx, [rsp+38h+arg_0] 180007E46: mov rbp, [rsp+38h+arg_10] 180007E4B: mov rsi, [rsp+38h+arg_18] 180007E50: add rsp, 20h 180007E54: pop r15 180007E56: pop r14 180007E58: pop r12 180007E5A: retn 180007E5B: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180007E60: db 0CCh 180007E61: call sub_180002B80 180007E66: db 0CCh ### FUNC 180007E70 - 180007EE7 (119 bytes) name=sub_180007E70 180007E70: mov [rsp+arg_8], rbx 180007E75: mov [rsp+arg_10], rsi 180007E7A: push rdi 180007E7B: sub rsp, 20h 180007E7F: lea rax, off_1800101B8 180007E86: mov rsi, rcx 180007E89: mov [rcx], rax 180007E8C: mov edi, edx 180007E8E: sub rcx, 0FFFFFFFFFFFFFF80h; _Mtx_t 180007E92: call cs:_Mtx_destroy_in_situ 180007E98: lea rcx, [rsi+38h]; _Cnd_t 180007E9C: call cs:_Cnd_destroy_in_situ 180007EA2: lea rcx, [rsi+8] 180007EA6: call sub_180002550 180007EAB: mov rcx, [rsi+8]; Block 180007EAF: mov edx, 10h 180007EB4: mov qword ptr [rsi+8], 0 180007EBC: call j_j_free 180007EC1: test dil, 1 180007EC5: jz short loc_180007ED4 180007EC7: mov edx, 0E0h 180007ECC: mov rcx, rsi; Block 180007ECF: call j_j_free 180007ED4: mov rbx, [rsp+28h+arg_8] 180007ED9: mov rax, rsi 180007EDC: mov rsi, [rsp+28h+arg_10] 180007EE1: add rsp, 20h 180007EE5: pop rdi 180007EE6: retn ### FUNC 180007EF0 - 180007F01 (17 bytes) name=sub_180007EF0 180007EF0: cmp dl, 2 180007EF3: jnz short loc_180007EFE 180007EF5: cmp r8b, 78h ; 'x' 180007EF9: jnz short loc_180007EFE 180007EFB: mov al, 1 180007EFD: retn 180007EFE: xor al, al 180007F00: retn ### FUNC 180007F10 - 180007F4C (60 bytes) name=sub_180007F10 180007F10: mov rax, [rdx] 180007F13: cmp byte ptr [rax+4], 2 180007F17: jnz short locret_180007F4B 180007F19: cmp byte ptr [rax+5], 78h ; 'x' 180007F1D: jnz short locret_180007F4B 180007F1F: cmp byte ptr [rax+8], 0 180007F23: jnz short loc_180007F2C 180007F25: mov edx, 0FFFFFFFFh 180007F2A: jmp short loc_180007F39 180007F2C: movzx edx, byte ptr [rax+9] 180007F30: movzx eax, byte ptr [rax+0Ah] 180007F34: shl edx, 8 180007F37: or edx, eax 180007F39: mov rcx, [rcx+0D8h] 180007F40: test rcx, rcx 180007F43: jz short locret_180007F4B 180007F45: mov rax, [rcx] 180007F48: jmp qword ptr [rax] 180007F4B: retn ### FUNC 180007F70 - 180007FA9 (57 bytes) name=sub_180007F70 180007F70: sub rsp, 28h 180007F74: mov rax, [rdx] 180007F77: cmp byte ptr [rax+4], 2 180007F7B: jnz short loc_180007FA4 180007F7D: cmp byte ptr [rax+5], 50h ; 'P' 180007F81: jnz short loc_180007FA4 180007F83: cmp byte ptr [rax+8], 1 180007F87: setz al 180007F8A: mov [rcx+30h], al 180007F8D: add rcx, 38h ; '8'; _Cnd_t 180007F91: call cs:_Cnd_broadcast 180007F97: test eax, eax 180007F99: jz short loc_180007FA4 180007F9B: mov ecx, eax 180007F9D: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180007FA3: nop 180007FA4: add rsp, 28h 180007FA8: retn ### FUNC 180007FB0 - 180007FC1 (17 bytes) name=sub_180007FB0 180007FB0: cmp dl, 2 180007FB3: jnz short loc_180007FBE 180007FB5: cmp r8b, 31h ; '1' 180007FB9: jnz short loc_180007FBE 180007FBB: mov al, 1 180007FBD: retn 180007FBE: xor al, al 180007FC0: retn ### FUNC 180007FD0 - 180008009 (57 bytes) name=sub_180007FD0 180007FD0: sub rsp, 28h 180007FD4: mov rax, [rdx] 180007FD7: cmp byte ptr [rax+4], 2 180007FDB: jnz short loc_180008004 180007FDD: cmp byte ptr [rax+5], 31h ; '1' 180007FE1: jnz short loc_180008004 180007FE3: cmp byte ptr [rax+8], 1 180007FE7: setz al 180007FEA: mov [rcx+30h], al 180007FED: add rcx, 38h ; '8'; _Cnd_t 180007FF1: call cs:_Cnd_broadcast 180007FF7: test eax, eax 180007FF9: jz short loc_180008004 180007FFB: mov ecx, eax 180007FFD: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180008003: nop 180008004: add rsp, 28h 180008008: retn ### FUNC 180008010 - 180008021 (17 bytes) name=sub_180008010 180008010: cmp dl, 2 180008013: jnz short loc_18000801E 180008015: cmp r8b, 41h ; 'A' 180008019: jnz short loc_18000801E 18000801B: mov al, 1 18000801D: retn 18000801E: xor al, al 180008020: retn ### FUNC 180008030 - 180008069 (57 bytes) name=sub_180008030 180008030: sub rsp, 28h 180008034: mov rax, [rdx] 180008037: cmp byte ptr [rax+4], 2 18000803B: jnz short loc_180008064 18000803D: cmp byte ptr [rax+5], 41h ; 'A' 180008041: jnz short loc_180008064 180008043: cmp byte ptr [rax+8], 1 180008047: setz al 18000804A: mov [rcx+30h], al 18000804D: add rcx, 38h ; '8'; _Cnd_t 180008051: call cs:_Cnd_broadcast 180008057: test eax, eax 180008059: jz short loc_180008064 18000805B: mov ecx, eax 18000805D: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180008063: nop 180008064: add rsp, 28h 180008068: retn ### FUNC 180008070 - 1800080A4 (52 bytes) name=sub_180008070 180008070: mov [rsp+arg_0], rbx 180008075: push rdi 180008076: sub rsp, 20h 18000807A: mov ebx, edx 18000807C: mov rdi, rcx 18000807F: call sub_1800080B0 180008084: test bl, 1 180008087: jz short loc_180008096 180008089: mov edx, 138h 18000808E: mov rcx, rdi; Block 180008091: call j_j_free 180008096: mov rbx, [rsp+28h+arg_0] 18000809B: mov rax, rdi 18000809E: add rsp, 20h 1800080A2: pop rdi 1800080A3: retn ### FUNC 1800080B0 - 180008287 (471 bytes) name=sub_1800080B0 1800080B0: mov [rsp+arg_8], rbx 1800080B5: mov [rsp+arg_10], rbp 1800080BA: mov [rsp+arg_18], rsi 1800080BF: push rdi 1800080C0: sub rsp, 20h 1800080C4: mov rsi, [rcx+0F0h] 1800080CB: lea rax, off_180010028 1800080D2: mov [rcx], rax 1800080D5: xor ebp, ebp 1800080D7: lea rax, off_180010048 1800080DE: mov rdi, rcx 1800080E1: mov [rcx+0D8h], rax 1800080E8: test rsi, rsi 1800080EB: jz loc_180008185 1800080F1: lea rax, off_18000F7E0 1800080F8: lea rcx, [rsi+0A0h]; _Mtx_t 1800080FF: mov [rsi], rax 180008102: call cs:_Mtx_destroy_in_situ 180008108: lea rcx, [rsi+58h]; _Cnd_t 18000810C: call cs:_Cnd_destroy_in_situ 180008112: lea rcx, [rsi+20h] 180008116: call sub_180002550 18000811B: mov rcx, [rsi+20h]; Block 18000811F: lea edx, [rbp+10h] 180008122: mov [rsi+20h], rbp 180008126: call j_j_free 18000812B: mov rcx, [rsi+8] 18000812F: test rcx, rcx 180008132: jz short loc_180008171 180008134: mov rdx, [rsi+18h] 180008138: sub rdx, rcx 18000813B: cmp rdx, 1000h 180008142: jb short loc_180008160 180008144: mov r8, [rcx-8] 180008148: add rdx, 27h ; ''' 18000814C: sub rcx, r8 18000814F: lea rax, [rcx-8] 180008153: cmp rax, 1Fh 180008157: ja loc_180008280 18000815D: mov rcx, r8; Block 180008160: call j_j_free 180008165: mov [rsi+8], rbp 180008169: mov [rsi+10h], rbp 18000816D: mov [rsi+18h], rbp 180008171: mov edx, 0F0h 180008176: mov rcx, rsi; Block 180008179: call j_j_free 18000817E: mov [rdi+0F0h], rbp 180008185: mov rcx, [rdi+118h] 18000818C: test rcx, rcx 18000818F: jz short loc_1800081DA 180008191: mov rdx, [rdi+128h] 180008198: sub rdx, rcx 18000819B: cmp rdx, 1000h 1800081A2: jb short loc_1800081C0 1800081A4: mov r8, [rcx-8] 1800081A8: add rdx, 27h ; ''' 1800081AC: sub rcx, r8 1800081AF: lea rax, [rcx-8] 1800081B3: cmp rax, 1Fh 1800081B7: ja loc_180008280 1800081BD: mov rcx, r8; Block 1800081C0: call j_j_free 1800081C5: mov [rdi+118h], rbp 1800081CC: mov [rdi+120h], rbp 1800081D3: mov [rdi+128h], rbp 1800081DA: mov rdx, [rdi+110h] 1800081E1: cmp rdx, 10h 1800081E5: jb short loc_180008217 1800081E7: mov rcx, [rdi+0F8h] 1800081EE: inc rdx 1800081F1: cmp rdx, 1000h 1800081F8: jb short loc_180008212 1800081FA: mov r8, [rcx-8] 1800081FE: add rdx, 27h ; ''' 180008202: sub rcx, r8 180008205: lea rax, [rcx-8] 180008209: cmp rax, 1Fh 18000820D: ja short loc_180008280 18000820F: mov rcx, r8; Block 180008212: call j_j_free 180008217: lea rax, off_1800101B8 18000821E: mov [rdi+108h], rbp 180008225: mov qword ptr [rdi+110h], 0Fh 180008230: lea rcx, [rdi+80h]; _Mtx_t 180008237: mov [rdi+0F8h], bpl 18000823E: mov [rdi], rax 180008241: call cs:_Mtx_destroy_in_situ 180008247: lea rcx, [rdi+38h]; _Cnd_t 18000824B: call cs:_Cnd_destroy_in_situ 180008251: lea rcx, [rdi+8] 180008255: call sub_180002550 18000825A: mov rcx, [rdi+8]; Block 18000825E: mov edx, 10h 180008263: mov [rdi+8], rbp 180008267: mov rbx, [rsp+28h+arg_8] 18000826C: mov rbp, [rsp+28h+arg_10] 180008271: mov rsi, [rsp+28h+arg_18] 180008276: add rsp, 20h 18000827A: pop rdi 18000827B: jmp j_j_free 180008280: call cs:_invalid_parameter_noinfo_noreturn 180008286: db 0CCh ### FUNC 180008290 - 1800082C2 (50 bytes) name=sub_180008290 180008290: cmp dl, 81h 180008293: jnz short loc_18000829E 180008295: cmp r8b, 3 180008299: jz short loc_1800082BF 18000829B: xor al, al 18000829D: retn 18000829E: cmp dl, 2 1800082A1: jnz short loc_18000829B 1800082A3: lea eax, [r8-60h] 1800082A7: cmp al, 0Fh 1800082A9: ja short loc_1800082B5 1800082AB: mov ecx, 0A3FFh 1800082B0: bt ecx, eax 1800082B3: jb short loc_1800082BF 1800082B5: sub r8b, 8 1800082B9: cmp r8b, 3 1800082BD: ja short loc_18000829B 1800082BF: mov al, 1 1800082C1: retn ### FUNC 1800082D0 - 180008A48 (1912 bytes) name=sub_1800082D0 1800082D0: mov [rsp-28h+arg_8], rbx 1800082D5: mov [rsp-28h+arg_10], rsi 1800082DA: mov [rsp-28h+arg_18], rdi 1800082DF: push rbp 1800082E0: push r12 1800082E2: push r13 1800082E4: push r14 1800082E6: push r15 1800082E8: mov rbp, rsp 1800082EB: sub rsp, 80h 1800082F2: mov rax, cs:__security_cookie 1800082F9: xor rax, rsp 1800082FC: mov [rbp+var_10], rax 180008300: mov rdi, rdx 180008303: mov r15, rcx 180008306: mov rcx, [rdx] 180008309: movzx r13d, byte ptr [rcx+4] 18000830E: movzx r14d, byte ptr [rcx+5] 180008313: xor esi, esi 180008315: lea rdx, off_1800100F8 18000831C: cmp r13b, 81h 180008320: jnz short loc_18000832D 180008322: cmp r14b, 3 180008326: jz short loc_180008341 180008328: jmp loc_1800089F7 18000832D: cmp r13b, 2 180008331: jnz loc_1800089F7 180008337: cmp r14b, 60h ; '`' 18000833B: jnz loc_180008534 180008341: mov rax, [rdi+8] 180008345: sub rax, rcx 180008348: lea ecx, [rax-1] 18000834B: mov rdx, rsi 18000834E: mov qword ptr [rbp+var_28], rdx 180008352: mov r8d, 0Fh 180008358: mov qword ptr [rbp+var_28+8], r8 18000835C: mov byte ptr [rbp+Src], dl 18000835F: mov ebx, 8 180008364: movsxd r12, ecx 180008367: cmp rbx, r12 18000836A: jge short loc_1800083B6 18000836C: nop dword ptr [rax+00h] 180008370: mov rax, [rdi] 180008373: movzx r9d, byte ptr [rbx+rax] 180008378: cmp rdx, r8 18000837B: jnb short loc_18000839D 18000837D: lea rax, [rdx+1] 180008381: mov qword ptr [rbp+var_28], rax 180008385: lea rax, [rbp+Src] 180008389: cmp r8, 10h 18000838D: cmovnb rax, [rbp+Src] 180008392: mov [rax+rdx], r9b 180008396: mov byte ptr [rax+rdx+1], 0 18000839B: jmp short loc_1800083A6 18000839D: lea rcx, [rbp+Src]; Src 1800083A1: call sub_180002770 1800083A6: inc rbx 1800083A9: mov r8, qword ptr [rbp+var_28+8] 1800083AD: mov rdx, qword ptr [rbp+var_28] 1800083B1: cmp rbx, r12 1800083B4: jl short loc_180008370 1800083B6: cmp rdx, r8 1800083B9: jnb short loc_1800083D8 1800083BB: lea rax, [rdx+1] 1800083BF: mov qword ptr [rbp+var_28], rax 1800083C3: lea rax, [rbp+Src] 1800083C7: cmp r8, 10h 1800083CB: cmovnb rax, [rbp+Src] 1800083D0: mov word ptr [rax+rdx], 0 1800083D6: jmp short loc_1800083E4 1800083D8: xor r9d, r9d 1800083DB: lea rcx, [rbp+Src]; Src 1800083DF: call sub_180002770 1800083E4: mov rax, [r15+0E0h] 1800083EB: test rax, rax 1800083EE: jz short loc_180008400 1800083F0: lea rcx, [rbp+Src] 1800083F4: cmp qword ptr [rbp+var_28+8], 10h 1800083F9: cmovnb rcx, [rbp+Src] 1800083FE: call rax 180008400: cmp r13b, 2 180008404: jnz loc_1800084E5 18000840A: cmp r14b, 60h ; '`' 18000840E: jnz loc_1800084E5 180008414: xorps xmm1, xmm1 180008417: movdqu xmmword ptr [rbp+Block], xmm1 18000841C: mov [rbp+var_40], rsi 180008420: mov [rbp+var_60], 1 180008424: lea r8, [rbp+var_60] 180008428: xor edx, edx 18000842A: lea rcx, [rbp+Block] 18000842E: call sub_180007D30 180008433: mov ecx, 28h ; '('; Size 180008438: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000843D: mov rbx, rax 180008440: mov [rbp+var_58], rax 180008444: xorps xmm0, xmm0 180008447: xor eax, eax 180008449: movups xmmword ptr [rbx], xmm0 18000844C: movups xmmword ptr [rbx+10h], xmm0 180008450: mov [rbx+20h], rax 180008454: lea rax, off_1800100F8 18000845B: mov [rbx], rax 18000845E: mov [rbx+8], rsi 180008462: mov [rbx+10h], rsi 180008466: mov [rbx+18h], rsi 18000846A: lea r9, [rbp+Block] 18000846E: movzx r8d, r14b 180008472: mov rcx, rbx 180008475: call sub_180009D70 18000847A: nop 18000847B: mov rcx, [r15+0D0h] 180008482: test rcx, rcx 180008485: jz short loc_180008499 180008487: mov rdx, [rbx+8] 18000848B: mov r8, [rbx+10h] 18000848F: sub r8, rdx 180008492: mov r9, [rcx] 180008495: call qword ptr [r9+8] 180008499: mov rax, [rbx] 18000849C: mov edx, 1 1800084A1: mov rcx, rbx 1800084A4: call qword ptr [rax] 1800084A6: nop 1800084A7: mov rcx, [rbp+Block]; Block 1800084AB: test rcx, rcx 1800084AE: jz short loc_1800084E5 1800084B0: mov rdx, [rbp+var_40] 1800084B4: sub rdx, rcx 1800084B7: mov rax, rcx 1800084BA: cmp rdx, 1000h 1800084C1: jb short loc_1800084DF 1800084C3: add rdx, 27h ; ''' 1800084C7: mov rcx, [rcx-8] 1800084CB: sub rax, rcx 1800084CE: add rax, 0FFFFFFFFFFFFFFF8h 1800084D2: cmp rax, 1Fh 1800084D6: jbe short loc_1800084DF 1800084D8: call cs:_invalid_parameter_noinfo_noreturn 1800084DE: int 3; Trap to Debugger 1800084DF: call j_j_free 1800084E4: nop 1800084E5: mov rdx, qword ptr [rbp+var_28+8] 1800084E9: cmp rdx, 10h 1800084ED: jb short loc_180008523 1800084EF: inc rdx 1800084F2: mov rcx, [rbp+Src]; Block 1800084F6: mov rax, rcx 1800084F9: cmp rdx, 1000h 180008500: jb short loc_18000851E 180008502: add rdx, 27h ; ''' 180008506: mov rcx, [rcx-8] 18000850A: sub rax, rcx 18000850D: add rax, 0FFFFFFFFFFFFFFF8h 180008511: cmp rax, 1Fh 180008515: jbe short loc_18000851E 180008517: call cs:_invalid_parameter_noinfo_noreturn 18000851D: int 3; Trap to Debugger 18000851E: call j_j_free 180008523: cmp r13b, 2 180008527: jnz loc_1800089F7 18000852D: lea rdx, off_1800100F8 180008534: lea eax, [r14-61h] 180008538: cmp al, 8 18000853A: jbe loc_1800089D2 180008540: cmp r14b, 8 180008544: jnz loc_1800086E4 18000854A: xorps xmm0, xmm0 18000854D: xor eax, eax 18000854F: movups xmmword ptr [rbp+Src], xmm0 180008553: movups [rbp+var_28], xmm0 180008557: mov [rbp+var_18], rax 18000855B: mov [rbp+Src], rdx 18000855F: movdqu xmmword ptr [rbp+Src+8], xmm0 180008564: mov qword ptr [rbp+var_28+8], rsi 180008568: mov rbx, [rdi] 18000856B: movzx eax, byte ptr [rbx+4] 18000856F: mov byte ptr [rbp+var_18+4], al 180008572: movzx eax, byte ptr [rbx+5] 180008576: mov byte ptr [rbp+var_18+5], al 180008579: mov rdi, [rdi+8] 18000857D: mov rcx, rdi 180008580: sub rcx, rbx 180008583: add ecx, 0FFFFFFF7h 180008586: cmovs ecx, esi 180008589: mov dword ptr [rbp+var_18], ecx 18000858C: sub rdi, rbx 18000858F: jz short loc_18000859D 180008591: mov rdx, rdi 180008594: lea rcx, [rbp+Src+8] 180008598: call sub_180002BA0 18000859D: mov r8, rdi; Size 1800085A0: mov rdx, rbx; Src 1800085A3: mov rbx, [rbp+Src+8] 1800085A7: mov rcx, rbx; void * 1800085AA: call memmove 1800085AF: lea rax, [rbx+rdi] 1800085B3: mov qword ptr [rbp+var_28], rax 1800085B7: xorps xmm0, xmm0 1800085BA: xor eax, eax 1800085BC: movups xmmword ptr [rbp+Block], xmm0 1800085C0: mov [rbp+var_40], rax 1800085C4: lea rdx, [rbp+Block] 1800085C8: lea rcx, [rbp+Src] 1800085CC: call sub_18000A360 1800085D1: nop 1800085D2: lea rbx, [r15+0F8h] 1800085D9: mov [rbx+10h], rsi 1800085DD: mov rax, rbx 1800085E0: cmp qword ptr [rbx+18h], 10h 1800085E5: jb short loc_1800085EA 1800085E7: mov rax, [rbx] 1800085EA: mov byte ptr [rax], 0 1800085ED: mov r14, [rbp+Block+8] 1800085F1: mov rdi, [rbp+Block] 1800085F5: cmp rdi, r14 1800085F8: jz short loc_180008640 1800085FA: nop word ptr [rax+rax+00h] 180008600: movzx r9d, byte ptr [rdi] 180008604: mov rcx, [rbx+10h] 180008608: mov rdx, [rbx+18h] 18000860C: cmp rcx, rdx 18000860F: jnb short loc_180008630 180008611: lea rax, [rcx+1] 180008615: mov [rbx+10h], rax 180008619: mov rax, rbx 18000861C: cmp rdx, 10h 180008620: jb short loc_180008625 180008622: mov rax, [rbx] 180008625: mov [rax+rcx], r9b 180008629: mov byte ptr [rax+rcx+1], 0 18000862E: jmp short loc_180008638 180008630: mov rcx, rbx; Src 180008633: call sub_180002770 180008638: inc rdi 18000863B: cmp rdi, r14 18000863E: jnz short loc_180008600 180008640: lea rcx, [r15+38h]; _Cnd_t 180008644: call cs:_Cnd_broadcast 18000864A: test eax, eax 18000864C: jz short loc_180008657 18000864E: mov ecx, eax 180008650: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180008656: nop 180008657: mov rcx, [rbp+Block]; Block 18000865B: test rcx, rcx 18000865E: jz short loc_1800086A0 180008660: mov rdx, [rbp+var_40] 180008664: sub rdx, rcx 180008667: mov rax, rcx 18000866A: cmp rdx, 1000h 180008671: jb short loc_18000868F 180008673: add rdx, 27h ; ''' 180008677: mov rcx, [rcx-8] 18000867B: sub rax, rcx 18000867E: add rax, 0FFFFFFFFFFFFFFF8h 180008682: cmp rax, 1Fh 180008686: jbe short loc_18000868F 180008688: call cs:_invalid_parameter_noinfo_noreturn 18000868E: int 3; Trap to Debugger 18000868F: call j_j_free 180008694: xorps xmm0, xmm0 180008697: movdqu xmmword ptr [rbp+Block], xmm0 18000869C: mov [rbp+var_40], rsi 1800086A0: mov rcx, [rbp+Src+8]; Block 1800086A4: test rcx, rcx 1800086A7: jz loc_1800089F7 1800086AD: mov rdx, qword ptr [rbp+var_28+8] 1800086B1: sub rdx, rcx 1800086B4: mov rax, rcx 1800086B7: cmp rdx, 1000h 1800086BE: jb loc_1800087FA 1800086C4: add rdx, 27h ; ''' 1800086C8: mov rcx, [rcx-8] 1800086CC: sub rax, rcx 1800086CF: add rax, 0FFFFFFFFFFFFFFF8h 1800086D3: cmp rax, 1Fh 1800086D7: jbe loc_1800087FA 1800086DD: call cs:_invalid_parameter_noinfo_noreturn 1800086E3: int 3; Trap to Debugger 1800086E4: cmp r14b, 9 1800086E8: jnz short loc_180008713 1800086EA: mov rax, [rdi] 1800086ED: cmp byte ptr [rax+8], 1 1800086F1: setz al 1800086F4: mov [r15+30h], al 1800086F8: lea rcx, [r15+38h]; _Cnd_t 1800086FC: call cs:_Cnd_broadcast 180008702: test eax, eax 180008704: jz loc_1800089F7 18000870A: mov ecx, eax 18000870C: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180008712: nop 180008713: cmp r14b, 0Ah 180008717: jnz short loc_180008742 180008719: mov rax, [rdi] 18000871C: cmp byte ptr [rax+8], 1 180008720: setz al 180008723: mov [r15+30h], al 180008727: lea rcx, [r15+38h]; _Cnd_t 18000872B: call cs:_Cnd_broadcast 180008731: test eax, eax 180008733: jz loc_1800089F7 180008739: mov ecx, eax 18000873B: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180008741: nop 180008742: cmp r14b, 0Bh 180008746: jnz loc_180008804 18000874C: mov rcx, [rdi+8] 180008750: sub rcx, [rdi] 180008753: add ecx, 0FFFFFFF7h 180008756: xorps xmm1, xmm1 180008759: movdqu xmmword ptr [rbp+Block], xmm1 18000875E: mov [rbp+var_40], rsi 180008762: mov rbx, rsi 180008765: movsxd r14, ecx 180008768: test ecx, ecx 18000876A: jle short loc_1800087AD 18000876C: mov rdx, [rbp+Block+8] 180008770: mov r8, [rdi] 180008773: add r8, 8 180008777: add r8, rbx 18000877A: cmp rdx, rsi 18000877D: jz short loc_180008792 18000877F: movzx eax, byte ptr [r8] 180008783: mov [rdx], al 180008785: mov rdx, [rbp+Block+8] 180008789: inc rdx 18000878C: mov [rbp+Block+8], rdx 180008790: jmp short loc_18000879F 180008792: lea rcx, [rbp+Block] 180008796: call sub_180007D30 18000879B: mov rdx, [rbp+Block+8] 18000879F: inc rbx 1800087A2: cmp rbx, r14 1800087A5: jge short loc_1800087AD 1800087A7: mov rsi, [rbp+var_40] 1800087AB: jmp short loc_180008770 1800087AD: mov rcx, [r15+0F0h] 1800087B4: mov rax, [rcx] 1800087B7: lea rdx, [rbp+Block] 1800087BB: call qword ptr [rax] 1800087BD: nop 1800087BE: mov rcx, [rbp+Block] 1800087C2: test rcx, rcx 1800087C5: jz loc_1800089F7 1800087CB: mov rdx, [rbp+var_40] 1800087CF: sub rdx, rcx 1800087D2: mov rax, rcx 1800087D5: cmp rdx, 1000h 1800087DC: jb short loc_1800087FA 1800087DE: add rdx, 27h ; ''' 1800087E2: mov rcx, [rcx-8] 1800087E6: sub rax, rcx 1800087E9: add rax, 0FFFFFFFFFFFFFFF8h 1800087ED: cmp rax, 1Fh 1800087F1: jbe short loc_1800087FA 1800087F3: call cs:_invalid_parameter_noinfo_noreturn 1800087F9: int 3; Trap to Debugger 1800087FA: call j_j_free 1800087FF: jmp loc_1800089F7 180008804: cmp r14b, 6Fh ; 'o' 180008808: jnz loc_1800089F7 18000880E: mov rax, [rdi] 180008811: movzx ebx, byte ptr [rax+8] 180008815: mov qword ptr [rbp+var_28], rsi 180008819: mov qword ptr [rbp+var_28+8], 0Fh 180008821: mov byte ptr [rbp+Src], 0 180008825: xor r8d, r8d; Size 180008828: lea rdx, unk_18000FDE8; Src 18000882F: lea rcx, [rbp+Src]; void * 180008833: call sub_180002610 180008838: nop 180008839: lea eax, [rbx-61h]; switch 9 cases 18000883C: cmp eax, 8 18000883F: ja def_180008858; jumptable 0000000180008858 default case 180008845: cdqe 180008847: lea rdx, cs:180000000h 18000884E: mov ecx, ds:(jpt_180008858 - 180000000h)[rdx+rax*4] 180008855: add rcx, rdx 180008858: jmp rcx; switch jump 18000885A: lea rdx, qword_180015180; jumptable 0000000180008858 case 97 180008861: cmp cs:qword_180015198, 10h 180008869: cmovnb rdx, cs:qword_180015180 180008871: mov r8, cs:qword_180015190 180008878: jmp loc_180008987 18000887D: lea rdx, qword_1800150E0; jumptable 0000000180008858 case 98 180008884: cmp cs:qword_1800150F8, 10h 18000888C: cmovnb rdx, cs:qword_1800150E0 180008894: mov r8, cs:qword_1800150F0 18000889B: jmp loc_180008987 1800088A0: lea rdx, qword_180015160; jumptable 0000000180008858 case 99 1800088A7: cmp cs:qword_180015178, 10h 1800088AF: cmovnb rdx, cs:qword_180015160 1800088B7: mov r8, cs:qword_180015170 1800088BE: jmp loc_180008987 1800088C3: lea rdx, qword_1800151C0; jumptable 0000000180008858 case 100 1800088CA: cmp cs:qword_1800151D8, 10h 1800088D2: cmovnb rdx, cs:qword_1800151C0 1800088DA: mov r8, cs:qword_1800151D0 1800088E1: jmp loc_180008987 1800088E6: lea rdx, qword_180015120; jumptable 0000000180008858 case 101 1800088ED: cmp cs:qword_180015138, 10h 1800088F5: cmovnb rdx, cs:qword_180015120 1800088FD: mov r8, cs:qword_180015130 180008904: jmp loc_180008987 180008909: lea rdx, qword_1800150C0; jumptable 0000000180008858 case 102 180008910: cmp cs:qword_1800150D8, 10h 180008918: cmovnb rdx, cs:qword_1800150C0 180008920: mov r8, cs:qword_1800150D0 180008927: jmp short loc_180008987 180008929: lea rdx, qword_180015140; jumptable 0000000180008858 case 103 180008930: cmp cs:qword_180015158, 10h 180008938: cmovnb rdx, cs:qword_180015140 180008940: mov r8, cs:qword_180015150 180008947: jmp short loc_180008987 180008949: lea rdx, qword_1800151A0; jumptable 0000000180008858 case 105 180008950: cmp cs:qword_1800151B8, 10h 180008958: cmovnb rdx, cs:qword_1800151A0 180008960: mov r8, cs:qword_1800151B0 180008967: jmp short loc_180008987 180008969: lea rdx, qword_180015080; jumptable 0000000180008858 case 104 180008970: cmp cs:qword_180015098, 10h 180008978: cmovnb rdx, cs:qword_180015080; Src 180008980: mov r8, cs:Size; Size 180008987: lea rcx, [rbp+Src]; void * 18000898B: call sub_180002610 180008990: nop 180008991: mov rdx, qword ptr [rbp+var_28+8]; jumptable 0000000180008858 default case 180008995: cmp rdx, 10h 180008999: jb short loc_1800089F7 18000899B: inc rdx 18000899E: mov rcx, [rbp+Src] 1800089A2: mov rax, rcx 1800089A5: cmp rdx, 1000h 1800089AC: jb loc_1800087FA 1800089B2: add rdx, 27h ; ''' 1800089B6: mov rcx, [rcx-8] 1800089BA: sub rax, rcx 1800089BD: add rax, 0FFFFFFFFFFFFFFF8h 1800089C1: cmp rax, 1Fh 1800089C5: jbe loc_1800087FA 1800089CB: call cs:_invalid_parameter_noinfo_noreturn 1800089D1: int 3; Trap to Debugger 1800089D2: mov rax, [rdi] 1800089D5: cmp byte ptr [rax+8], 1 1800089D9: setz al 1800089DC: mov [r15+30h], al 1800089E0: lea rcx, [r15+38h]; _Cnd_t 1800089E4: call cs:_Cnd_broadcast 1800089EA: test eax, eax 1800089EC: jz short loc_1800089F7 1800089EE: mov ecx, eax 1800089F0: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 1800089F6: nop 1800089F7: mov rcx, [rbp+var_10] 1800089FB: xor rcx, rsp; StackCookie 1800089FE: call __security_check_cookie 180008A03: lea r11, [rsp+80h+var_s0] 180008A0B: mov rbx, [r11+38h] 180008A0F: mov rsi, [r11+40h] 180008A13: mov rdi, [r11+48h] 180008A17: mov rsp, r11 180008A1A: pop r15 180008A1C: pop r14 180008A1E: pop r13 180008A20: pop r12 180008A22: pop rbp 180008A23: retn 180008A24: dd offset loc_18000885A - 180000000h; jump table for switch statement ### FUNC 180008A50 - 180008BDD (397 bytes) name=sub_180008A50 180008A50: mov [rsp+arg_10], rbx 180008A55: mov [rsp+arg_18], rbp 180008A5A: push rsi 180008A5B: push rdi 180008A5C: push r14 180008A5E: sub rsp, 50h 180008A62: mov rbp, rcx 180008A65: xorps xmm0, xmm0 180008A68: movdqu xmmword ptr [rsp+68h+Block], xmm0 180008A6E: xor r14d, r14d 180008A71: mov [rsp+68h+var_38], r14 180008A76: mov rsi, [rdx] 180008A79: mov rdi, [rdx+8] 180008A7D: cmp rsi, rdi 180008A80: jz short loc_180008AF2 180008A82: sub rdi, rsi 180008A85: cmp rdi, 1000h 180008A8C: jb short loc_180008ABA 180008A8E: lea rcx, [rdi+27h]; Size 180008A92: cmp rcx, rdi 180008A95: jbe loc_180008BD7 180008A9B: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180008AA0: mov rcx, rax 180008AA3: test rax, rax 180008AA6: jz loc_180008BB6 180008AAC: add rax, 27h ; ''' 180008AB0: and rax, 0FFFFFFFFFFFFFFE0h 180008AB4: mov [rax-8], rcx 180008AB8: jmp short loc_180008ACC 180008ABA: test rdi, rdi 180008ABD: jz short loc_180008AC9 180008ABF: mov rcx, rdi; Size 180008AC2: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180008AC7: jmp short loc_180008ACC 180008AC9: mov rax, r14 180008ACC: mov [rsp+68h+Block], rax 180008AD1: mov [rsp+68h+Block+8], rax 180008AD6: lea rbx, [rax+rdi] 180008ADA: mov [rsp+68h+var_38], rbx 180008ADF: mov r8, rdi; Size 180008AE2: mov rdx, rsi; Src 180008AE5: mov rcx, rax; void * 180008AE8: call memmove 180008AED: mov [rsp+68h+Block+8], rbx 180008AF2: lea rax, [rsp+68h+Block] 180008AF7: mov [rsp+68h+var_30], rax 180008AFC: cmp cs:byte_180015FF0, 0 180008B03: jz short loc_180008B11 180008B05: lea rcx, aTransmitdata; "transmitData\n" 180008B0C: call sub_180007960 180008B11: mov ecx, 28h ; '('; Size 180008B16: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180008B1B: mov rbx, rax 180008B1E: mov [rsp+68h+var_28], rax 180008B23: xorps xmm0, xmm0 180008B26: xor eax, eax 180008B28: movups xmmword ptr [rbx], xmm0 180008B2B: movups xmmword ptr [rbx+10h], xmm0 180008B2F: mov [rbx+20h], rax 180008B33: lea rax, off_1800100F8 180008B3A: mov [rbx], rax 180008B3D: mov [rbx+8], r14 180008B41: mov [rbx+10h], r14 180008B45: mov [rbx+18h], r14 180008B49: lea r9, [rsp+68h+Block] 180008B4E: mov r8b, 0Bh 180008B51: mov rcx, rbx 180008B54: call sub_180009D70 180008B59: nop 180008B5A: mov rcx, [rbp-8] 180008B5E: test rcx, rcx 180008B61: jz short loc_180008B75 180008B63: mov rdx, [rbx+8] 180008B67: mov r8, [rbx+10h] 180008B6B: sub r8, rdx 180008B6E: mov r9, [rcx] 180008B71: call qword ptr [r9+8] 180008B75: mov rax, [rbx] 180008B78: mov edx, 1 180008B7D: mov rcx, rbx 180008B80: call qword ptr [rax] 180008B82: nop 180008B83: mov rcx, [rsp+68h+Block]; Block 180008B88: test rcx, rcx 180008B8B: jz short loc_180008BC2 180008B8D: mov rdx, [rsp+68h+var_38] 180008B92: sub rdx, rcx 180008B95: mov rax, rcx 180008B98: cmp rdx, 1000h 180008B9F: jb short loc_180008BBD 180008BA1: add rdx, 27h ; ''' 180008BA5: mov rcx, [rcx-8] 180008BA9: sub rax, rcx 180008BAC: add rax, 0FFFFFFFFFFFFFFF8h 180008BB0: cmp rax, 1Fh 180008BB4: jbe short loc_180008BBD 180008BB6: call cs:_invalid_parameter_noinfo_noreturn 180008BBC: int 3; Trap to Debugger 180008BBD: call j_j_free 180008BC2: lea r11, [rsp+68h+var_18] 180008BC7: mov rbx, [r11+30h] 180008BCB: mov rbp, [r11+38h] 180008BCF: mov rsp, r11 180008BD2: pop r14 180008BD4: pop rdi 180008BD5: pop rsi 180008BD6: retn 180008BD7: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180008BDC: db 0CCh ### FUNC 180008BE0 - 180008CC8 (232 bytes) name=sub_180008BE0 180008BE0: mov [rsp+arg_10], rbp 180008BE5: mov [rsp+arg_18], rsi 180008BEA: push rdi 180008BEB: sub rsp, 20h 180008BEF: lea rax, off_180010058 180008BF6: mov rdi, rcx 180008BF9: mov [rcx], rax 180008BFC: xor ebp, ebp 180008BFE: mov rcx, [rcx+0E0h] 180008C05: mov esi, edx 180008C07: test rcx, rcx 180008C0A: jz short loc_180008C55 180008C0C: mov rdx, [rdi+0F0h] 180008C13: sub rdx, rcx 180008C16: cmp rdx, 1000h 180008C1D: jb short loc_180008C3B 180008C1F: mov r8, [rcx-8] 180008C23: add rdx, 27h ; ''' 180008C27: sub rcx, r8 180008C2A: lea rax, [rcx-8] 180008C2E: cmp rax, 1Fh 180008C32: ja loc_180008CC1 180008C38: mov rcx, r8; Block 180008C3B: call j_j_free 180008C40: mov [rdi+0E0h], rbp 180008C47: mov [rdi+0E8h], rbp 180008C4E: mov [rdi+0F0h], rbp 180008C55: lea rax, off_1800101B8 180008C5C: mov [rsp+28h+arg_8], rbx 180008C61: lea rcx, [rdi+80h]; _Mtx_t 180008C68: mov [rdi], rax 180008C6B: call cs:_Mtx_destroy_in_situ 180008C71: lea rcx, [rdi+38h]; _Cnd_t 180008C75: call cs:_Cnd_destroy_in_situ 180008C7B: lea rcx, [rdi+8] 180008C7F: call sub_180002550 180008C84: mov rcx, [rdi+8]; Block 180008C88: mov edx, 10h 180008C8D: mov [rdi+8], rbp 180008C91: call j_j_free 180008C96: mov rbx, [rsp+28h+arg_8] 180008C9B: test sil, 1 180008C9F: jz short loc_180008CAE 180008CA1: mov edx, 0F8h 180008CA6: mov rcx, rdi; Block 180008CA9: call j_j_free 180008CAE: mov rbp, [rsp+28h+arg_10] 180008CB3: mov rax, rdi 180008CB6: mov rsi, [rsp+28h+arg_18] 180008CBB: add rsp, 20h 180008CBF: pop rdi 180008CC0: retn 180008CC1: call cs:_invalid_parameter_noinfo_noreturn 180008CC7: db 0CCh ### FUNC 180008CD0 - 180008CE5 (21 bytes) name=sub_180008CD0 180008CD0: cmp dl, 2 180008CD3: jnz short loc_180008CE2 180008CD5: sub r8b, 21h ; '!' 180008CD9: cmp r8b, 5 180008CDD: ja short loc_180008CE2 180008CDF: mov al, 1 180008CE1: retn 180008CE2: xor al, al 180008CE4: retn ### FUNC 180008CF0 - 180008E9E (430 bytes) name=sub_180008CF0 180008CF0: mov [rsp+arg_0], rbx 180008CF5: mov [rsp+arg_8], rbp 180008CFA: mov [rsp+arg_10], rsi 180008CFF: mov [rsp+arg_18], rdi 180008D04: push r14 180008D06: sub rsp, 20h 180008D0A: mov r14, rdx 180008D0D: mov rsi, rcx 180008D10: mov r8, [rdx] 180008D13: movzx eax, byte ptr [r8+5] 180008D18: cmp byte ptr [r8+4], 2 180008D1D: jnz loc_180008E83 180008D23: cmp al, 21h ; '!' 180008D25: jnz short loc_180008D4D 180008D27: cmp byte ptr [r8+8], 1 180008D2C: setz al 180008D2F: mov [rcx+30h], al 180008D32: add rcx, 38h ; '8'; _Cnd_t 180008D36: call cs:_Cnd_broadcast 180008D3C: test eax, eax 180008D3E: jz loc_180008E83 180008D44: mov ecx, eax 180008D46: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180008D4C: nop 180008D4D: cmp al, 22h ; '"' 180008D4F: jnz short loc_180008D99 180008D51: movzx ecx, byte ptr [r8+8] 180008D56: shl ecx, 8 180008D59: movzx eax, byte ptr [r8+9] 180008D5E: or ecx, eax 180008D60: shl ecx, 8 180008D63: movzx eax, byte ptr [r8+0Ah] 180008D68: or ecx, eax 180008D6A: shl ecx, 8 180008D6D: movzx eax, byte ptr [r8+0Bh] 180008D72: or ecx, eax 180008D74: mov [rsi+0D8h], ecx 180008D7A: mov byte ptr [rsi+30h], 1 180008D7E: lea rcx, [rsi+38h]; _Cnd_t 180008D82: call cs:_Cnd_broadcast 180008D88: test eax, eax 180008D8A: jz loc_180008E83 180008D90: mov ecx, eax 180008D92: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180008D98: nop 180008D99: cmp al, 23h ; '#' 180008D9B: jnz short loc_180008DC3 180008D9D: cmp byte ptr [r8+8], 1 180008DA2: setz al 180008DA5: mov [rcx+30h], al 180008DA8: add rcx, 38h ; '8'; _Cnd_t 180008DAC: call cs:_Cnd_broadcast 180008DB2: test eax, eax 180008DB4: jz loc_180008E83 180008DBA: mov ecx, eax 180008DBC: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180008DC2: nop 180008DC3: cmp al, 24h ; '$' 180008DC5: jnz short loc_180008DED 180008DC7: cmp byte ptr [r8+8], 1 180008DCC: setz al 180008DCF: mov [rcx+30h], al 180008DD2: add rcx, 38h ; '8'; _Cnd_t 180008DD6: call cs:_Cnd_broadcast 180008DDC: test eax, eax 180008DDE: jz loc_180008E83 180008DE4: mov ecx, eax 180008DE6: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180008DEC: nop 180008DED: cmp al, 25h ; '%' 180008DEF: jnz short loc_180008E5D 180008DF1: mov rcx, [rdx+8] 180008DF5: sub rcx, r8 180008DF8: add ecx, 0FFFFFFF7h 180008DFB: lea rbx, [rsi+0E0h] 180008E02: mov rax, [rbx] 180008E05: mov [rbx+8], rax 180008E09: movsxd rbp, ecx 180008E0C: test ecx, ecx 180008E0E: jle short loc_180008E42 180008E10: xor edi, edi 180008E12: mov r8, [r14] 180008E15: add r8, 8 180008E19: add r8, rdi 180008E1C: mov rdx, [rbx+8] 180008E20: cmp rdx, [rbx+10h] 180008E24: jz short loc_180008E32 180008E26: movzx eax, byte ptr [r8] 180008E2A: mov [rdx], al 180008E2C: inc qword ptr [rbx+8] 180008E30: jmp short loc_180008E3A 180008E32: mov rcx, rbx 180008E35: call sub_180007D30 180008E3A: inc rdi 180008E3D: cmp rdi, rbp 180008E40: jl short loc_180008E12 180008E42: mov byte ptr [rsi+30h], 1 180008E46: lea rcx, [rsi+38h]; _Cnd_t 180008E4A: call cs:_Cnd_broadcast 180008E50: test eax, eax 180008E52: jz short loc_180008E83 180008E54: mov ecx, eax 180008E56: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180008E5C: nop 180008E5D: cmp al, 26h ; '&' 180008E5F: jnz short loc_180008E83 180008E61: cmp byte ptr [r8+8], 1 180008E66: setz al 180008E69: mov [rcx+30h], al 180008E6C: add rcx, 38h ; '8'; _Cnd_t 180008E70: call cs:_Cnd_broadcast 180008E76: test eax, eax 180008E78: jz short loc_180008E83 180008E7A: mov ecx, eax 180008E7C: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180008E82: nop 180008E83: mov rbx, [rsp+28h+arg_0] 180008E88: mov rbp, [rsp+28h+arg_8] 180008E8D: mov rsi, [rsp+28h+arg_10] 180008E92: mov rdi, [rsp+28h+arg_18] 180008E97: add rsp, 20h 180008E9B: pop r14 180008E9D: retn ### FUNC 180008EA0 - 180008FF2 (338 bytes) name=sub_180008EA0 180008EA0: mov [rsp+arg_18], rsi 180008EA5: push rdi 180008EA6: sub rsp, 20h 180008EAA: cmp dword ptr [rcx+120h], 0 180008EB1: lea rax, off_1800100D8 180008EB8: mov [rcx], rax 180008EBB: mov esi, edx 180008EBD: mov rdi, rcx 180008EC0: jz short loc_180008EC9 180008EC2: call cs:terminate 180008EC8: int 3; Trap to Debugger 180008EC9: mov rcx, [rcx+100h] 180008ED0: mov [rsp+28h+arg_10], rbp 180008ED5: xor ebp, ebp 180008ED7: test rcx, rcx 180008EDA: jz short loc_180008F25 180008EDC: mov rdx, [rdi+110h] 180008EE3: sub rdx, rcx 180008EE6: cmp rdx, 1000h 180008EED: jb short loc_180008F0B 180008EEF: mov r8, [rcx-8] 180008EF3: add rdx, 27h ; ''' 180008EF7: sub rcx, r8 180008EFA: lea rax, [rcx-8] 180008EFE: cmp rax, 1Fh 180008F02: ja loc_180008FEB 180008F08: mov rcx, r8; Block 180008F0B: call j_j_free 180008F10: mov [rdi+100h], rbp 180008F17: mov [rdi+108h], rbp 180008F1E: mov [rdi+110h], rbp 180008F25: mov rdx, [rdi+0F8h] 180008F2C: cmp rdx, 10h 180008F30: jb short loc_180008F66 180008F32: mov rcx, [rdi+0E0h] 180008F39: inc rdx 180008F3C: cmp rdx, 1000h 180008F43: jb short loc_180008F61 180008F45: mov r8, [rcx-8] 180008F49: add rdx, 27h ; ''' 180008F4D: sub rcx, r8 180008F50: lea rax, [rcx-8] 180008F54: cmp rax, 1Fh 180008F58: ja loc_180008FEB 180008F5E: mov rcx, r8; Block 180008F61: call j_j_free 180008F66: lea rax, off_1800101B8 180008F6D: mov [rdi+0F0h], rbp 180008F74: mov qword ptr [rdi+0F8h], 0Fh 180008F7F: lea rcx, [rdi+80h]; _Mtx_t 180008F86: mov [rdi+0E0h], bpl 180008F8D: mov [rdi], rax 180008F90: mov [rsp+28h+arg_8], rbx 180008F95: call cs:_Mtx_destroy_in_situ 180008F9B: lea rcx, [rdi+38h]; _Cnd_t 180008F9F: call cs:_Cnd_destroy_in_situ 180008FA5: lea rcx, [rdi+8] 180008FA9: call sub_180002550 180008FAE: mov rcx, [rdi+8]; Block 180008FB2: mov edx, 10h 180008FB7: mov [rdi+8], rbp 180008FBB: call j_j_free 180008FC0: mov rbx, [rsp+28h+arg_8] 180008FC5: test sil, 1 180008FC9: jz short loc_180008FD8 180008FCB: mov edx, 128h 180008FD0: mov rcx, rdi; Block 180008FD3: call j_j_free 180008FD8: mov rbp, [rsp+28h+arg_10] 180008FDD: mov rax, rdi 180008FE0: mov rsi, [rsp+28h+arg_18] 180008FE5: add rsp, 20h 180008FE9: pop rdi 180008FEA: retn 180008FEB: call cs:_invalid_parameter_noinfo_noreturn 180008FF1: db 0CCh ### FUNC 180009000 - 1800091D3 (467 bytes) name=sub_180009000 180009000: mov [rsp+arg_10], rbx 180009005: push rbp 180009006: push rsi 180009007: push rdi 180009008: sub rsp, 50h 18000900C: mov rax, cs:__security_cookie 180009013: xor rax, rsp 180009016: mov [rsp+68h+var_28], rax 18000901B: mov rsi, rdx 18000901E: mov rbp, rcx 180009021: mov qword ptr [rsp+68h+var_48], rdx 180009026: cmp cs:byte_180015FF0, 0 18000902D: jz short loc_18000903B 18000902F: lea rcx, aAskversion; "askVersion\n" 180009036: call sub_180007960 18000903B: xor r8d, r8d; Size 18000903E: lea rdx, unk_18000FDE8; Src 180009045: lea rcx, [rbp+0E0h]; void * 18000904C: call sub_180002610 180009051: mov ecx, 28h ; '('; Size 180009056: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000905B: mov qword ptr [rsp+68h+var_48], rax 180009060: xorps xmm0, xmm0 180009063: xor ecx, ecx 180009065: movups xmmword ptr [rax], xmm0 180009068: movups xmmword ptr [rax+10h], xmm0 18000906C: mov [rax+20h], rcx 180009070: mov r8b, 4 180009073: mov rcx, rax 180009076: call sub_18000A240 18000907B: mov rdi, rax 18000907E: test rax, rax 180009081: jz short loc_1800090AE 180009083: mov rcx, [rbp+0D0h] 18000908A: test rcx, rcx 18000908D: jz short loc_1800090A1 18000908F: mov rdx, [rax+8] 180009093: mov r8, [rax+10h] 180009097: sub r8, rdx 18000909A: mov r9, [rcx] 18000909D: call qword ptr [r9+8] 1800090A1: mov rax, [rdi] 1800090A4: mov edx, 1 1800090A9: mov rcx, rdi 1800090AC: call qword ptr [rax] 1800090AE: xorps xmm0, xmm0 1800090B1: movups [rsp+68h+var_48], xmm0 1800090B6: lea rdi, [rbp+80h] 1800090BD: mov qword ptr [rsp+68h+var_48], rdi 1800090C2: mov byte ptr [rsp+68h+var_48+8], 0 1800090C7: mov rcx, rdi; _Mtx_t 1800090CA: call cs:_Mtx_lock 1800090D0: test eax, eax 1800090D2: jz short loc_1800090DD 1800090D4: mov ecx, eax 1800090D6: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 1800090DC: int 3; Trap to Debugger 1800090DD: mov byte ptr [rsp+68h+var_48+8], 1 1800090E2: call cs:_Xtime_get_ticks 1800090E8: add rax, 0F4240h 1800090EE: imul rcx, rax, 64h ; 'd' 1800090F2: mov rax, 112E0BE826D694B3h 1800090FC: imul rcx 1800090FF: sar rdx, 1Ah 180009103: mov rax, rdx 180009106: shr rax, 3Fh 18000910A: add rdx, rax 18000910D: mov [rsp+68h+var_38.sec], rdx 180009112: imul rax, rdx, 3B9ACA00h 180009119: sub rcx, rax 18000911C: mov [rsp+68h+var_38.nsec], ecx 180009120: mov rcx, rdi; _Mtx_t 180009123: call cs:_Mtx_current_owns 180009129: test eax, eax 18000912B: jnz short loc_180009137 18000912D: lea ecx, [rax+4] 180009130: call cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int) 180009136: int 3; Trap to Debugger 180009137: lea rcx, [rbp+38h]; _Cnd_t 18000913B: lea r8, [rsp+68h+var_38]; xtime * 180009140: mov rdx, rdi; _Mtx_t 180009143: call cs:_Cnd_timedwait 180009149: test eax, eax 18000914B: jz short loc_180009169 18000914D: cmp eax, 2 180009150: jz short loc_18000915B 180009152: mov ecx, eax 180009154: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 18000915A: int 3; Trap to Debugger 18000915B: lea rcx, aAskversionTime; "askVersion timeout\n" 180009162: call sub_180007960 180009167: jmp short loc_18000918D 180009169: lea rdx, [rbp+0E0h] 180009170: cmp qword ptr [rbp+0F8h], 10h 180009178: jb short loc_180009181 18000917A: mov rdx, [rbp+0E0h] 180009181: lea rcx, aAskversionS; "askVersion:%s\n" 180009188: call sub_180007960 18000918D: lea rdx, [rbp+0E0h] 180009194: mov rcx, rsi 180009197: call sub_180002E60 18000919C: nop 18000919D: mov rcx, rdi; _Mtx_t 1800091A0: call cs:_Mtx_unlock 1800091A6: test eax, eax 1800091A8: jz short loc_1800091B3 1800091AA: mov ecx, eax 1800091AC: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 1800091B2: nop 1800091B3: mov rax, rsi 1800091B6: mov rcx, [rsp+68h+var_28] 1800091BB: xor rcx, rsp; StackCookie 1800091BE: call __security_check_cookie 1800091C3: mov rbx, [rsp+68h+arg_10] 1800091CB: add rsp, 50h 1800091CF: pop rdi 1800091D0: pop rsi 1800091D1: pop rbp 1800091D2: retn ### FUNC 1800091E0 - 180009502 (802 bytes) name=sub_1800091E0 1800091E0: mov [rsp+arg_8], rbx 1800091E5: mov [rsp+arg_10], rbp 1800091EA: mov [rsp+arg_18], rsi 1800091EF: push rdi 1800091F0: push r12 1800091F2: push r13 1800091F4: push r14 1800091F6: push r15 1800091F8: sub rsp, 70h 1800091FC: mov rax, cs:__security_cookie 180009203: xor rax, rsp 180009206: mov [rsp+98h+var_38], rax 18000920B: mov r14, rcx 18000920E: mov rax, [rcx+108h] 180009215: cmp rax, [rcx+100h] 18000921C: jnz short loc_180009237 18000921E: mov rax, [rcx+0D8h] 180009225: test rax, rax 180009228: jz loc_1800094D1 18000922E: xor edx, edx 180009230: xor ecx, ecx 180009232: jmp loc_1800094CF 180009237: call sub_180009510 18000923C: test al, al 18000923E: jnz short loc_180009268 180009240: lea rcx, aBeginupdateFai; "beginUpdate fail\n" 180009247: call sub_180007960 18000924C: mov rax, [r14+0D8h] 180009253: test rax, rax 180009256: jz loc_1800094D1 18000925C: mov edx, 1 180009261: xor ecx, ecx 180009263: jmp loc_1800094CF 180009268: mov rax, [r14+0D8h] 18000926F: test rax, rax 180009272: jz short loc_18000927E 180009274: mov edx, 1 180009279: movzx ecx, dl 18000927C: call rax 18000927E: mov rax, [r14+108h] 180009285: sub rax, [r14+100h] 18000928C: add rax, 7Fh 180009290: shr rax, 7 180009294: mov [rsp+98h+var_78], rax 180009299: xor r15d, r15d 18000929C: test eax, eax 18000929E: jle loc_180009423 1800092A4: xor r12d, r12d 1800092A7: mov edx, 80h 1800092AC: lea r13d, [r15+62h] 1800092B0: mov rcx, [r14+100h] 1800092B7: mov rax, [r14+108h] 1800092BE: sub rax, rcx 1800092C1: sub eax, r12d 1800092C4: cmp eax, edx 1800092C6: cmovg eax, edx 1800092C9: xorps xmm1, xmm1 1800092CC: movdqu xmmword ptr [rsp+98h+Src], xmm1 1800092D2: xor ebp, ebp 1800092D4: mov [rsp+98h+var_40], rbp 1800092D9: movsxd rsi, eax 1800092DC: movsxd rbx, r12d 1800092DF: add rbx, rcx 1800092E2: test eax, eax 1800092E4: jz short loc_1800092F8 1800092E6: mov rdx, rsi 1800092E9: lea rcx, [rsp+98h+Src] 1800092EE: call sub_180002BA0 1800092F3: mov rbp, [rsp+98h+var_40] 1800092F8: mov r8, rsi; Size 1800092FB: mov rdx, rbx; Src 1800092FE: mov rbx, [rsp+98h+Src] 180009303: mov rcx, rbx; void * 180009306: call memmove 18000930B: lea rax, [rbx+rsi] 18000930F: mov [rsp+98h+Src+8], rax 180009314: xorps xmm0, xmm0 180009317: movdqu [rsp+98h+var_70], xmm0 18000931D: mov [rsp+98h+var_60], 0 180009326: cmp rbx, rax 180009329: jz short loc_180009397 18000932B: cmp rsi, 1000h 180009332: jb short loc_180009360 180009334: lea rcx, [rsi+27h]; Size 180009338: cmp rcx, rsi 18000933B: jbe loc_1800094FC 180009341: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 180009346: mov rcx, rax 180009349: test rax, rax 18000934C: jz loc_180009458 180009352: add rax, 27h ; ''' 180009356: and rax, 0FFFFFFFFFFFFFFE0h 18000935A: mov [rax-8], rcx 18000935E: jmp short loc_180009371 180009360: test rsi, rsi 180009363: jz short loc_18000936F 180009365: mov rcx, rsi; Size 180009368: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000936D: jmp short loc_180009371 18000936F: xor eax, eax 180009371: mov qword ptr [rsp+98h+var_70], rax 180009376: mov qword ptr [rsp+98h+var_70+8], rax 18000937B: lea rdi, [rax+rsi] 18000937F: mov [rsp+98h+var_60], rdi 180009384: mov r8, rsi; Size 180009387: mov rdx, rbx; Src 18000938A: mov rcx, rax; void * 18000938D: call memmove 180009392: mov qword ptr [rsp+98h+var_70+8], rdi 180009397: mov r8d, r15d 18000939A: lea rdx, [rsp+98h+var_70] 18000939F: mov rcx, r14 1800093A2: call sub_180009850 1800093A7: movzx ecx, al 1800093AA: mov eax, r13d 1800093AD: cdq 1800093AE: mov rsi, [rsp+98h+var_78] 1800093B3: idiv esi 1800093B5: mov edi, eax 1800093B7: test cl, cl 1800093B9: jz loc_18000945F 1800093BF: mov rax, [r14+0D8h] 1800093C6: test rax, rax 1800093C9: jz short loc_1800093D3 1800093CB: lea edx, [rdi+1] 1800093CE: mov cl, 1 1800093D0: call rax 1800093D2: nop 1800093D3: test rbx, rbx 1800093D6: jz short loc_18000940B 1800093D8: sub rbp, rbx 1800093DB: mov rax, rbx 1800093DE: cmp rbp, 1000h 1800093E5: jb short loc_180009400 1800093E7: add rbp, 27h ; ''' 1800093EB: mov rbx, [rbx-8] 1800093EF: sub rax, rbx 1800093F2: add rax, 0FFFFFFFFFFFFFFF8h 1800093F6: cmp rax, 1Fh 1800093FA: ja loc_1800094A8 180009400: mov rdx, rbp 180009403: mov rcx, rbx; Block 180009406: call j_j_free 18000940B: inc r15d 18000940E: mov edx, 80h 180009413: add r12d, edx 180009416: add r13d, 62h ; 'b' 18000941A: cmp r15d, esi 18000941D: jl loc_1800092B0 180009423: mov rcx, r14 180009426: call sub_1800096B0 18000942B: test al, al 18000942D: jnz loc_1800094BC 180009433: lea rcx, aCompleteupdate; "completeUpdate fail\n" 18000943A: call sub_180007960 18000943F: mov rax, [r14+0D8h] 180009446: test rax, rax 180009449: jz loc_1800094D1 18000944F: mov edx, 63h ; 'c' 180009454: xor ecx, ecx 180009456: jmp short loc_1800094CF 180009458: call cs:_invalid_parameter_noinfo_noreturn 18000945E: int 3; Trap to Debugger 18000945F: lea rcx, aTransmitdataFa; "transmitData fail\n" 180009466: call sub_180007960 18000946B: mov rax, [r14+0D8h] 180009472: test rax, rax 180009475: jz short loc_18000947F 180009477: lea edx, [rdi+1] 18000947A: xor ecx, ecx 18000947C: call rax 18000947E: nop 18000947F: test rbx, rbx 180009482: jz short loc_1800094D1 180009484: sub rbp, rbx 180009487: mov rax, rbx 18000948A: cmp rbp, 1000h 180009491: jb short loc_1800094AF 180009493: add rbp, 27h ; ''' 180009497: mov rbx, [rbx-8] 18000949B: sub rax, rbx 18000949E: add rax, 0FFFFFFFFFFFFFFF8h 1800094A2: cmp rax, 1Fh 1800094A6: jbe short loc_1800094AF 1800094A8: call cs:_invalid_parameter_noinfo_noreturn 1800094AE: int 3; Trap to Debugger 1800094AF: mov rdx, rbp 1800094B2: mov rcx, rbx; Block 1800094B5: call j_j_free 1800094BA: jmp short loc_1800094D1 1800094BC: mov rax, [r14+0D8h] 1800094C3: test rax, rax 1800094C6: jz short loc_1800094D1 1800094C8: mov edx, 64h ; 'd' 1800094CD: mov cl, 1 1800094CF: call rax 1800094D1: mov rcx, [rsp+98h+var_38] 1800094D6: xor rcx, rsp; StackCookie 1800094D9: call __security_check_cookie 1800094DE: lea r11, [rsp+98h+var_28] 1800094E3: mov rbx, [r11+38h] 1800094E7: mov rbp, [r11+40h] 1800094EB: mov rsi, [r11+48h] 1800094EF: mov rsp, r11 1800094F2: pop r15 1800094F4: pop r14 1800094F6: pop r13 1800094F8: pop r12 1800094FA: pop rdi 1800094FB: retn 1800094FC: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 180009501: align 2 ### FUNC 180009510 - 1800096A2 (402 bytes) name=sub_180009510 180009510: mov [rsp+arg_8], rbx 180009515: push rdi 180009516: sub rsp, 50h 18000951A: mov rax, cs:__security_cookie 180009521: xor rax, rsp 180009524: mov [rsp+58h+var_18], rax 180009529: mov rbx, rcx 18000952C: cmp cs:byte_180015FF0, 0 180009533: jz short loc_180009541 180009535: lea rcx, aBeginupdate; "beginUpdate\n" 18000953C: call sub_180007960 180009541: mov byte ptr [rbx+30h], 0 180009545: mov ecx, 28h ; '('; Size 18000954A: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000954F: mov qword ptr [rsp+58h+var_38], rax 180009554: xorps xmm0, xmm0 180009557: xor ecx, ecx 180009559: movups xmmword ptr [rax], xmm0 18000955C: movups xmmword ptr [rax+10h], xmm0 180009560: mov [rax+20h], rcx 180009564: mov r8b, 5 180009567: mov rcx, rax 18000956A: call sub_18000A240 18000956F: mov rdi, rax 180009572: test rax, rax 180009575: jz short loc_1800095A2 180009577: mov rcx, [rbx+0D0h] 18000957E: test rcx, rcx 180009581: jz short loc_180009595 180009583: mov rdx, [rax+8] 180009587: mov r8, [rax+10h] 18000958B: sub r8, rdx 18000958E: mov r9, [rcx] 180009591: call qword ptr [r9+8] 180009595: mov rax, [rdi] 180009598: mov edx, 1 18000959D: mov rcx, rdi 1800095A0: call qword ptr [rax] 1800095A2: xorps xmm0, xmm0 1800095A5: movups [rsp+58h+var_38], xmm0 1800095AA: lea rdi, [rbx+80h] 1800095B1: mov qword ptr [rsp+58h+var_38], rdi 1800095B6: mov byte ptr [rsp+58h+var_38+8], 0 1800095BB: mov rcx, rdi; _Mtx_t 1800095BE: call cs:_Mtx_lock 1800095C4: test eax, eax 1800095C6: jz short loc_1800095D1 1800095C8: mov ecx, eax 1800095CA: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 1800095D0: int 3; Trap to Debugger 1800095D1: mov byte ptr [rsp+58h+var_38+8], 1 1800095D6: call cs:_Xtime_get_ticks 1800095DC: add rax, 1C9C380h 1800095E2: imul rcx, rax, 64h ; 'd' 1800095E6: mov rax, 112E0BE826D694B3h 1800095F0: imul rcx 1800095F3: sar rdx, 1Ah 1800095F7: mov rax, rdx 1800095FA: shr rax, 3Fh 1800095FE: add rdx, rax 180009601: mov [rsp+58h+var_28.sec], rdx 180009606: imul rax, rdx, 3B9ACA00h 18000960D: sub rcx, rax 180009610: mov [rsp+58h+var_28.nsec], ecx 180009614: mov rcx, rdi; _Mtx_t 180009617: call cs:_Mtx_current_owns 18000961D: test eax, eax 18000961F: jnz short loc_18000962B 180009621: lea ecx, [rax+4] 180009624: call cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int) 18000962A: int 3; Trap to Debugger 18000962B: lea rcx, [rbx+38h]; _Cnd_t 18000962F: lea r8, [rsp+58h+var_28]; xtime * 180009634: mov rdx, rdi; _Mtx_t 180009637: call cs:_Cnd_timedwait 18000963D: test eax, eax 18000963F: jz short loc_18000965D 180009641: cmp eax, 2 180009644: jz short loc_18000964F 180009646: mov ecx, eax 180009648: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 18000964E: int 3; Trap to Debugger 18000964F: lea rcx, aBeginupdateTim; "beginUpdate timeout\n" 180009656: call sub_180007960 18000965B: jmp short loc_18000966D 18000965D: movzx edx, byte ptr [rbx+30h] 180009661: lea rcx, aBeginupdateD; "beginUpdate:%d\n" 180009668: call sub_180007960 18000966D: movzx ebx, byte ptr [rbx+30h] 180009671: mov rcx, rdi; _Mtx_t 180009674: call cs:_Mtx_unlock 18000967A: test eax, eax 18000967C: jz short loc_180009687 18000967E: mov ecx, eax 180009680: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180009686: nop 180009687: movzx eax, bl 18000968A: mov rcx, [rsp+58h+var_18] 18000968F: xor rcx, rsp; StackCookie 180009692: call __security_check_cookie 180009697: mov rbx, [rsp+58h+arg_8] 18000969C: add rsp, 50h 1800096A0: pop rdi 1800096A1: retn ### FUNC 1800096B0 - 180009842 (402 bytes) name=sub_1800096B0 1800096B0: mov [rsp+arg_8], rbx 1800096B5: push rdi 1800096B6: sub rsp, 50h 1800096BA: mov rax, cs:__security_cookie 1800096C1: xor rax, rsp 1800096C4: mov [rsp+58h+var_18], rax 1800096C9: mov rbx, rcx 1800096CC: cmp cs:byte_180015FF0, 0 1800096D3: jz short loc_1800096E1 1800096D5: lea rcx, aCompleteupdate_0; "completeUpdate\n" 1800096DC: call sub_180007960 1800096E1: mov byte ptr [rbx+30h], 0 1800096E5: mov ecx, 28h ; '('; Size 1800096EA: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 1800096EF: mov qword ptr [rsp+58h+var_38], rax 1800096F4: xorps xmm0, xmm0 1800096F7: xor ecx, ecx 1800096F9: movups xmmword ptr [rax], xmm0 1800096FC: movups xmmword ptr [rax+10h], xmm0 180009700: mov [rax+20h], rcx 180009704: mov r8b, 6 180009707: mov rcx, rax 18000970A: call sub_18000A240 18000970F: mov rdi, rax 180009712: test rax, rax 180009715: jz short loc_180009742 180009717: mov rcx, [rbx+0D0h] 18000971E: test rcx, rcx 180009721: jz short loc_180009735 180009723: mov rdx, [rax+8] 180009727: mov r8, [rax+10h] 18000972B: sub r8, rdx 18000972E: mov r9, [rcx] 180009731: call qword ptr [r9+8] 180009735: mov rax, [rdi] 180009738: mov edx, 1 18000973D: mov rcx, rdi 180009740: call qword ptr [rax] 180009742: xorps xmm0, xmm0 180009745: movups [rsp+58h+var_38], xmm0 18000974A: lea rdi, [rbx+80h] 180009751: mov qword ptr [rsp+58h+var_38], rdi 180009756: mov byte ptr [rsp+58h+var_38+8], 0 18000975B: mov rcx, rdi; _Mtx_t 18000975E: call cs:_Mtx_lock 180009764: test eax, eax 180009766: jz short loc_180009771 180009768: mov ecx, eax 18000976A: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180009770: int 3; Trap to Debugger 180009771: mov byte ptr [rsp+58h+var_38+8], 1 180009776: call cs:_Xtime_get_ticks 18000977C: add rax, 8F0D180h 180009782: imul rcx, rax, 64h ; 'd' 180009786: mov rax, 112E0BE826D694B3h 180009790: imul rcx 180009793: sar rdx, 1Ah 180009797: mov rax, rdx 18000979A: shr rax, 3Fh 18000979E: add rdx, rax 1800097A1: mov [rsp+58h+var_28.sec], rdx 1800097A6: imul rax, rdx, 3B9ACA00h 1800097AD: sub rcx, rax 1800097B0: mov [rsp+58h+var_28.nsec], ecx 1800097B4: mov rcx, rdi; _Mtx_t 1800097B7: call cs:_Mtx_current_owns 1800097BD: test eax, eax 1800097BF: jnz short loc_1800097CB 1800097C1: lea ecx, [rax+4] 1800097C4: call cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int) 1800097CA: int 3; Trap to Debugger 1800097CB: lea rcx, [rbx+38h]; _Cnd_t 1800097CF: lea r8, [rsp+58h+var_28]; xtime * 1800097D4: mov rdx, rdi; _Mtx_t 1800097D7: call cs:_Cnd_timedwait 1800097DD: test eax, eax 1800097DF: jz short loc_1800097FD 1800097E1: cmp eax, 2 1800097E4: jz short loc_1800097EF 1800097E6: mov ecx, eax 1800097E8: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 1800097EE: int 3; Trap to Debugger 1800097EF: lea rcx, aCompleteupdate_1; "completeUpdate timeout\n" 1800097F6: call sub_180007960 1800097FB: jmp short loc_18000980D 1800097FD: movzx edx, byte ptr [rbx+30h] 180009801: lea rcx, aCompleteupdate_2; "completeUpdate:%d\n" 180009808: call sub_180007960 18000980D: movzx ebx, byte ptr [rbx+30h] 180009811: mov rcx, rdi; _Mtx_t 180009814: call cs:_Mtx_unlock 18000981A: test eax, eax 18000981C: jz short loc_180009827 18000981E: mov ecx, eax 180009820: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180009826: nop 180009827: movzx eax, bl 18000982A: mov rcx, [rsp+58h+var_18] 18000982F: xor rcx, rsp; StackCookie 180009832: call __security_check_cookie 180009837: mov rbx, [rsp+58h+arg_8] 18000983C: add rsp, 50h 180009840: pop rdi 180009841: retn ### FUNC 180009850 - 180009A3F (495 bytes) name=sub_180009850 180009850: push rbx 180009852: push rsi 180009853: push rdi 180009854: sub rsp, 60h 180009858: mov rax, cs:__security_cookie 18000985F: xor rax, rsp 180009862: mov [rsp+78h+var_20], rax 180009867: mov esi, r8d 18000986A: mov rbx, rdx 18000986D: mov rdi, rcx 180009870: mov [rsp+78h+var_48], rdx 180009875: cmp cs:byte_180015FF0, 0 18000987C: jz short loc_18000988D 18000987E: mov edx, r8d 180009881: lea rcx, aTransmitdataD; "transmitData %d\n" 180009888: call sub_180007960 18000988D: mov byte ptr [rdi+30h], 0 180009891: mov ecx, 28h ; '('; Size 180009896: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000989B: mov qword ptr [rsp+78h+var_40], rax 1800098A0: xorps xmm0, xmm0 1800098A3: xor ecx, ecx 1800098A5: movups xmmword ptr [rax], xmm0 1800098A8: movups xmmword ptr [rax+10h], xmm0 1800098AC: mov [rax+20h], rcx 1800098B0: lea ecx, [rsi+8001h] 1800098B6: mov [rsp+78h+var_58], ecx 1800098BA: mov r9, rbx 1800098BD: mov rcx, rax 1800098C0: call sub_180009FA0 1800098C5: mov rsi, rax 1800098C8: test rax, rax 1800098CB: jz short loc_1800098F8 1800098CD: mov rcx, [rdi+0D0h] 1800098D4: test rcx, rcx 1800098D7: jz short loc_1800098EB 1800098D9: mov rdx, [rax+8] 1800098DD: mov r8, [rax+10h] 1800098E1: sub r8, rdx 1800098E4: mov r9, [rcx] 1800098E7: call qword ptr [r9+8] 1800098EB: mov rax, [rsi] 1800098EE: mov edx, 1 1800098F3: mov rcx, rsi 1800098F6: call qword ptr [rax] 1800098F8: xorps xmm0, xmm0 1800098FB: movups [rsp+78h+var_40], xmm0 180009900: lea rsi, [rdi+80h] 180009907: mov qword ptr [rsp+78h+var_40], rsi 18000990C: mov byte ptr [rsp+78h+var_40+8], 0 180009911: mov rcx, rsi; _Mtx_t 180009914: call cs:_Mtx_lock 18000991A: test eax, eax 18000991C: jz short loc_180009927 18000991E: mov ecx, eax 180009920: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 180009926: int 3; Trap to Debugger 180009927: mov byte ptr [rsp+78h+var_40+8], 1 18000992C: call cs:_Xtime_get_ticks 180009932: add rax, 4C4B40h 180009938: imul rcx, rax, 64h ; 'd' 18000993C: mov rax, 112E0BE826D694B3h 180009946: imul rcx 180009949: sar rdx, 1Ah 18000994D: mov rax, rdx 180009950: shr rax, 3Fh 180009954: add rdx, rax 180009957: mov [rsp+78h+var_30.sec], rdx 18000995C: imul rax, rdx, 3B9ACA00h 180009963: sub rcx, rax 180009966: mov [rsp+78h+var_30.nsec], ecx 18000996A: mov rcx, rsi; _Mtx_t 18000996D: call cs:_Mtx_current_owns 180009973: test eax, eax 180009975: jnz short loc_180009981 180009977: lea ecx, [rax+4] 18000997A: call cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int) 180009980: int 3; Trap to Debugger 180009981: lea rcx, [rdi+38h]; _Cnd_t 180009985: lea r8, [rsp+78h+var_30]; xtime * 18000998A: mov rdx, rsi; _Mtx_t 18000998D: call cs:_Cnd_timedwait 180009993: test eax, eax 180009995: jz short loc_1800099B3 180009997: cmp eax, 2 18000999A: jz short loc_1800099A5 18000999C: mov ecx, eax 18000999E: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 1800099A4: int 3; Trap to Debugger 1800099A5: lea rcx, aTransmitdataTi; "transmitData timeout\n" 1800099AC: call sub_180007960 1800099B1: jmp short loc_1800099C3 1800099B3: movzx edx, byte ptr [rdi+30h] 1800099B7: lea rcx, aTransmitdataD_0; "transmitData:%d\n" 1800099BE: call sub_180007960 1800099C3: movzx edi, byte ptr [rdi+30h] 1800099C7: mov rcx, rsi; _Mtx_t 1800099CA: call cs:_Mtx_unlock 1800099D0: test eax, eax 1800099D2: jz short loc_1800099DD 1800099D4: mov ecx, eax 1800099D6: call cs:?_Throw_C_error@std@@YAXH@Z; std::_Throw_C_error(int) 1800099DC: nop 1800099DD: mov rcx, [rbx] 1800099E0: test rcx, rcx 1800099E3: jz short loc_180009A1F 1800099E5: mov rdx, [rbx+10h] 1800099E9: sub rdx, rcx 1800099EC: cmp rdx, 1000h 1800099F3: jb short loc_180009A0D 1800099F5: add rdx, 27h ; ''' 1800099F9: mov r8, [rcx-8] 1800099FD: sub rcx, r8 180009A00: lea rax, [rcx-8] 180009A04: cmp rax, 1Fh 180009A08: ja short loc_180009A38 180009A0A: mov rcx, r8; Block 180009A0D: call j_j_free 180009A12: xor eax, eax 180009A14: mov [rbx], rax 180009A17: mov [rbx+8], rax 180009A1B: mov [rbx+10h], rax 180009A1F: movzx eax, dil 180009A23: mov rcx, [rsp+78h+var_20] 180009A28: xor rcx, rsp; StackCookie 180009A2B: call __security_check_cookie 180009A30: add rsp, 60h 180009A34: pop rdi 180009A35: pop rsi 180009A36: pop rbx 180009A37: retn 180009A38: call cs:_invalid_parameter_noinfo_noreturn 180009A3E: db 0CCh ### FUNC 180009A40 - 180009A64 (36 bytes) name=sub_180009A40 180009A40: cmp dl, 2 180009A43: jnz short loc_180009A4F 180009A45: sub r8b, 4 180009A49: cmp r8b, 3 180009A4D: jmp short loc_180009A5C 180009A4F: cmp dl, 81h 180009A52: jnz short loc_180009A61 180009A54: sub r8b, 0Ah 180009A58: cmp r8b, 2 180009A5C: ja short loc_180009A61 180009A5E: mov al, 1 180009A60: retn 180009A61: xor al, al 180009A63: retn ### FUNC 180009A70 - 180009D65 (757 bytes) name=??$common_mktime@_J@@YA_JQEAUtm@@_N@Z 180009A70: mov [rsp-18h+arg_8], rbx 180009A75: mov [rsp-18h+arg_10], rsi 180009A7A: mov [rsp-18h+arg_18], rdi 180009A7F: push rbp 180009A80: push r14 180009A82: push r15 180009A84: mov rbp, rsp 180009A87: sub rsp, 70h 180009A8B: mov rax, cs:__security_cookie 180009A92: xor rax, rsp 180009A95: mov [rbp+var_10], rax 180009A99: mov rsi, rcx 180009A9C: mov rbx, [rdx] 180009A9F: movzx ecx, byte ptr [rbx+4] 180009AA3: movzx eax, byte ptr [rbx+5] 180009AA7: cmp cl, 2 180009AAA: jnz loc_180009CCB 180009AB0: cmp al, 4 180009AB2: jnz loc_180009C56 180009AB8: xorps xmm0, xmm0 180009ABB: xor r8d, r8d 180009ABE: movups xmmword ptr [rbp+var_38], xmm0 180009AC2: movups [rbp+var_28], xmm0 180009AC6: mov [rbp+var_18], r8 180009ACA: lea r8, off_1800100F8 180009AD1: mov [rbp+var_38], r8 180009AD5: movdqu xmmword ptr [rbp+var_38+8], xmm0 180009ADA: xor r15d, r15d 180009ADD: mov qword ptr [rbp+var_28+8], r15 180009AE1: mov byte ptr [rbp+var_18+4], cl 180009AE4: mov byte ptr [rbp+var_18+5], al 180009AE7: mov rdi, [rdx+8] 180009AEB: sub rdi, rbx 180009AEE: lea eax, [rdi-9] 180009AF1: test eax, eax 180009AF3: cmovs eax, r15d 180009AF7: mov dword ptr [rbp+var_18], eax 180009AFA: test rdi, rdi 180009AFD: jz short loc_180009B0B 180009AFF: mov rdx, rdi 180009B02: lea rcx, [rbp+var_38+8] 180009B06: call sub_180002BA0 180009B0B: mov r8, rdi; Size 180009B0E: mov rdx, rbx; Src 180009B11: mov rbx, [rbp+var_38+8] 180009B15: mov rcx, rbx; void * 180009B18: call memmove 180009B1D: lea rax, [rbx+rdi] 180009B21: mov qword ptr [rbp+var_28], rax 180009B25: xorps xmm0, xmm0 180009B28: xor eax, eax 180009B2A: movups xmmword ptr [rbp+Block], xmm0 180009B2E: mov [rbp+var_40], rax 180009B32: lea rdx, [rbp+Block] 180009B36: lea rcx, [rbp+var_38] 180009B3A: call sub_18000A360 180009B3F: nop 180009B40: lea rbx, [rsi+0E0h] 180009B47: mov [rbx+10h], r15 180009B4B: mov rax, rbx 180009B4E: cmp qword ptr [rbx+18h], 10h 180009B53: jb short loc_180009B58 180009B55: mov rax, [rbx] 180009B58: mov byte ptr [rax], 0 180009B5B: mov r14, [rbp+Block+8] 180009B5F: mov rdi, [rbp+Block] 180009B63: cmp rdi, r14 180009B66: jz short loc_180009BB0 180009B68: nop dword ptr [rax+rax+00000000h] 180009B70: movzx r9d, byte ptr [rdi] 180009B74: mov rcx, [rbx+10h] 180009B78: mov rdx, [rbx+18h] 180009B7C: cmp rcx, rdx 180009B7F: jnb short loc_180009BA0 180009B81: lea rax, [rcx+1] 180009B85: mov [rbx+10h], rax 180009B89: mov rax, rbx 180009B8C: cmp rdx, 10h 180009B90: jb short loc_180009B95 180009B92: mov rax, [rbx] 180009B95: mov [rax+rcx], r9b 180009B99: mov byte ptr [rax+rcx+1], 0 180009B9E: jmp short loc_180009BA8 180009BA0: mov rcx, rbx; Src 180009BA3: call sub_180002770 180009BA8: inc rdi 180009BAB: cmp rdi, r14 180009BAE: jnz short loc_180009B70 180009BB0: lea rcx, [rsi+38h]; _Cnd_t 180009BB4: call cs:_Cnd_broadcast 180009BBA: test eax, eax 180009BBC: jz short loc_180009BC7 180009BBE: mov ecx, eax 180009BC0: call cs:?_Throw_C_error@std@@YAXH@Z 180009BC6: nop 180009BC7: mov rcx, [rbp+Block]; Block 180009BCB: test rcx, rcx 180009BCE: jz short loc_180009C10 180009BD0: mov rdx, [rbp+var_40] 180009BD4: sub rdx, rcx 180009BD7: mov rax, rcx 180009BDA: cmp rdx, 1000h 180009BE1: jb short loc_180009BFF 180009BE3: add rdx, 27h ; ''' 180009BE7: mov rcx, [rcx-8] 180009BEB: sub rax, rcx 180009BEE: add rax, 0FFFFFFFFFFFFFFF8h 180009BF2: cmp rax, 1Fh 180009BF6: jbe short loc_180009BFF 180009BF8: call cs:_invalid_parameter_noinfo_noreturn 180009BFE: int 3; Trap to Debugger 180009BFF: call j_j_free 180009C04: xorps xmm0, xmm0 180009C07: movdqu xmmword ptr [rbp+Block], xmm0 180009C0C: mov [rbp+var_40], r15 180009C10: mov rcx, [rbp+var_38+8]; Block 180009C14: test rcx, rcx 180009C17: jz loc_180009D3F 180009C1D: mov rdx, qword ptr [rbp+var_28+8] 180009C21: sub rdx, rcx 180009C24: mov rax, rcx 180009C27: cmp rdx, 1000h 180009C2E: jb short loc_180009C4C 180009C30: add rdx, 27h ; ''' 180009C34: mov rcx, [rcx-8] 180009C38: sub rax, rcx 180009C3B: add rax, 0FFFFFFFFFFFFFFF8h 180009C3F: cmp rax, 1Fh 180009C43: jbe short loc_180009C4C 180009C45: call cs:_invalid_parameter_noinfo_noreturn 180009C4B: int 3; Trap to Debugger 180009C4C: call j_j_free 180009C51: jmp loc_180009D3F 180009C56: cmp al, 5 180009C58: jnz short loc_180009C7B 180009C5A: cmp byte ptr [rbx+8], 1 180009C5E: setz al 180009C61: mov [rsi+30h], al 180009C64: lea rcx, [rsi+38h]; _Cnd_t 180009C68: call cs:_Cnd_broadcast 180009C6E: test eax, eax 180009C70: jz short loc_180009CC9 180009C72: mov ecx, eax 180009C74: call cs:?_Throw_C_error@std@@YAXH@Z 180009C7A: nop 180009C7B: cmp al, 6 180009C7D: jnz short loc_180009CA0 180009C7F: cmp byte ptr [rbx+8], 1 180009C83: setz al 180009C86: mov [rsi+30h], al 180009C89: lea rcx, [rsi+38h]; _Cnd_t 180009C8D: call cs:_Cnd_broadcast 180009C93: test eax, eax 180009C95: jz short loc_180009CC9 180009C97: mov ecx, eax 180009C99: call cs:?_Throw_C_error@std@@YAXH@Z 180009C9F: nop 180009CA0: cmp al, 7 180009CA2: jnz loc_180009D3F 180009CA8: cmp byte ptr [rbx+8], 1 180009CAC: setz al 180009CAF: mov [rsi+30h], al 180009CB2: lea rcx, [rsi+38h]; _Cnd_t 180009CB6: call cs:_Cnd_broadcast 180009CBC: test eax, eax 180009CBE: jz short loc_180009CC9 180009CC0: mov ecx, eax 180009CC2: call cs:?_Throw_C_error@std@@YAXH@Z 180009CC8: nop 180009CC9: jmp short loc_180009D3F 180009CCB: cmp cl, 81h 180009CCE: jnz short loc_180009D3F 180009CD0: cmp al, 0Ch 180009CD2: jnz short loc_180009CF5 180009CD4: cmp byte ptr [rbx+8], 1 180009CD8: setz al 180009CDB: mov [rsi+30h], al 180009CDE: lea rcx, [rsi+38h]; _Cnd_t 180009CE2: call cs:_Cnd_broadcast 180009CE8: test eax, eax 180009CEA: jz short loc_180009D3F 180009CEC: mov ecx, eax 180009CEE: call cs:?_Throw_C_error@std@@YAXH@Z 180009CF4: nop 180009CF5: cmp al, 0Ah 180009CF7: jnz short loc_180009D1A 180009CF9: cmp byte ptr [rbx+8], 1 180009CFD: setz al 180009D00: mov [rsi+30h], al 180009D03: lea rcx, [rsi+38h]; _Cnd_t 180009D07: call cs:_Cnd_broadcast 180009D0D: test eax, eax 180009D0F: jz short loc_180009D3F 180009D11: mov ecx, eax 180009D13: call cs:?_Throw_C_error@std@@YAXH@Z 180009D19: nop 180009D1A: cmp al, 0Bh 180009D1C: jnz short loc_180009D3F 180009D1E: cmp byte ptr [rbx+8], 1 180009D22: setz al 180009D25: mov [rsi+30h], al 180009D28: lea rcx, [rsi+38h]; _Cnd_t 180009D2C: call cs:_Cnd_broadcast 180009D32: test eax, eax 180009D34: jz short loc_180009D3F 180009D36: mov ecx, eax 180009D38: call cs:?_Throw_C_error@std@@YAXH@Z 180009D3E: nop 180009D3F: mov rcx, [rbp+var_10] 180009D43: xor rcx, rsp; StackCookie 180009D46: call __security_check_cookie 180009D4B: lea r11, [rsp+70h+var_s0] 180009D50: mov rbx, [r11+28h] 180009D54: mov rsi, [r11+30h] 180009D58: mov rdi, [r11+38h] 180009D5C: mov rsp, r11 180009D5F: pop r15 180009D61: pop r14 180009D63: pop rbp 180009D64: retn ### FUNC 180009D70 - 180009F95 (549 bytes) name=sub_180009D70 180009D70: mov [rsp+arg_0], rbx 180009D75: mov [rsp+arg_8], rbp 180009D7A: mov [rsp+arg_10], rsi 180009D7F: mov [rsp+arg_18], rdi 180009D84: push r13 180009D86: push r14 180009D88: push r15 180009D8A: sub rsp, 20h 180009D8E: mov eax, [r9+8] 180009D92: lea rbx, [rcx+8] 180009D96: sub eax, [r9] 180009D99: mov rdi, r9 180009D9C: mov [rcx+20h], eax 180009D9F: movzx r15d, r8b 180009DA3: mov byte ptr [rcx+24h], 2 180009DA7: mov [rcx+25h], r8b 180009DAB: mov rbp, [rbx+8] 180009DAF: lea r14d, [rax+5] 180009DB3: mov rdx, [rbx] 180009DB6: lea r13d, [r14+4] 180009DBA: mov rcx, rbp 180009DBD: movsxd rsi, r13d 180009DC0: sub rcx, rdx 180009DC3: cmp rsi, rcx 180009DC6: jnb short loc_180009DCE 180009DC8: lea rax, [rdx+rsi] 180009DCC: jmp short loc_180009DFD 180009DCE: jbe short loc_180009E01 180009DD0: mov rax, [rbx+10h] 180009DD4: sub rax, rdx 180009DD7: cmp rsi, rax 180009DDA: jbe short loc_180009DE9 180009DDC: mov rdx, rsi 180009DDF: mov rcx, rbx 180009DE2: call sub_18000A400 180009DE7: jmp short loc_180009E01 180009DE9: sub rsi, rcx 180009DEC: xor edx, edx; Val 180009DEE: mov r8, rsi; Size 180009DF1: mov rcx, rbp; void * 180009DF4: call memset 180009DF9: lea rax, [rsi+rbp] 180009DFD: mov [rbx+8], rax 180009E01: mov rax, [rbx] 180009E04: mov ecx, r14d 180009E07: sar ecx, 8 180009E0A: xor sil, sil 180009E0D: mov r8d, 3 180009E13: mov byte ptr [rax], 7Eh ; '~' 180009E16: mov rax, [rbx] 180009E19: mov [rax+1], cl 180009E1C: mov rax, [rbx] 180009E1F: mov [rax+2], r14b 180009E23: mov rcx, [rbx+8] 180009E27: mov rdx, [rbx] 180009E2A: mov rax, rcx 180009E2D: sub rax, rdx 180009E30: cmp rax, r8 180009E33: jnb short loc_180009E3B 180009E35: mov r8d, ecx 180009E38: sub r8d, edx 180009E3B: movsxd r11, r8d 180009E3E: xor cl, cl 180009E40: xor r8d, r8d 180009E43: xor r9b, r9b 180009E46: test r11, r11 180009E49: jle short loc_180009E8A 180009E4B: mov eax, r8d 180009E4E: cmp r11, 2 180009E52: jl short loc_180009E80 180009E54: lea r10, [r11-1] 180009E58: nop dword ptr [rax+rax+00000000h] 180009E60: add cl, [rax+rdx] 180009E63: add r9b, [rax+rdx+1] 180009E68: add rax, 2 180009E6C: cmp rax, r10 180009E6F: jl short loc_180009E60 180009E71: cmp rax, r11 180009E74: jge short loc_180009E84 180009E76: nop word ptr [rax+rax+00000000h] 180009E80: movzx esi, byte ptr [rax+rdx] 180009E84: add cl, r9b 180009E87: add sil, cl 180009E8A: mov [rdx+3], sil 180009E8E: mov rax, [rbx] 180009E91: mov esi, cs:dword_180015038 180009E97: mov ecx, esi 180009E99: sar ecx, 8 180009E9C: mov byte ptr [rax+4], 2 180009EA0: mov rax, [rbx] 180009EA3: mov [rax+5], r15b 180009EA7: mov rax, [rbx] 180009EAA: mov [rax+6], cl 180009EAD: mov rax, [rbx] 180009EB0: mov [rax+7], sil 180009EB4: mov rax, [rdi+8] 180009EB8: cmp rax, [rdi] 180009EBB: jz short loc_180009EE5 180009EBD: mov rdx, r8 180009EC0: mov rax, [rdi] 180009EC3: lea rdx, [rdx+1] 180009EC7: mov rcx, [rbx] 180009ECA: inc r8d 180009ECD: movzx eax, byte ptr [rdx+rax-1] 180009ED2: mov [rdx+rcx+7], al 180009ED6: mov rcx, [rdi+8] 180009EDA: sub rcx, [rdi] 180009EDD: movsxd rax, r8d 180009EE0: cmp rax, rcx 180009EE3: jb short loc_180009EC0 180009EE5: mov rcx, [rbx+8] 180009EE9: lea r9d, [r13-1] 180009EED: mov rdx, [rbx] 180009EF0: mov rax, rcx 180009EF3: sub rax, rdx 180009EF6: movsxd rdi, r9d 180009EF9: xor r10b, r10b 180009EFC: cmp rdi, rax 180009EFF: jbe short loc_180009F07 180009F01: mov r9d, ecx 180009F04: sub r9d, edx 180009F07: xor cl, cl 180009F09: movsxd r11, r9d 180009F0C: xor r8b, r8b 180009F0F: cmp r11, 4 180009F13: jle short loc_180009F5B 180009F15: mov eax, 4 180009F1A: cmp r11, 6 180009F1E: jl short loc_180009F50 180009F20: lea r9, [r11-1] 180009F24: nop dword ptr [rax+00h] 180009F28: nop dword ptr [rax+rax+00000000h] 180009F30: add cl, [rdx+rax] 180009F33: add r8b, [rdx+rax+1] 180009F38: add rax, 2 180009F3C: cmp rax, r9 180009F3F: jl short loc_180009F30 180009F41: cmp rax, r11 180009F44: jge short loc_180009F55 180009F46: nop word ptr [rax+rax+00000000h] 180009F50: movzx r10d, byte ptr [rdx+rax] 180009F55: add cl, r8b 180009F58: add r10b, cl 180009F5B: mov rbx, [rsp+38h+arg_0] 180009F60: lea ecx, [rsi+1] 180009F63: mov rbp, [rsp+38h+arg_8] 180009F68: cmp ecx, 8000h 180009F6E: mov rsi, [rsp+38h+arg_10] 180009F73: mov eax, 1 180009F78: cmovl eax, ecx 180009F7B: mov [rdi+rdx], r10b 180009F7F: mov rdi, [rsp+38h+arg_18] 180009F84: mov cs:dword_180015038, eax 180009F8A: add rsp, 20h 180009F8E: pop r15 180009F90: pop r14 180009F92: pop r13 180009F94: retn ### FUNC 180009FA0 - 18000A1AF (527 bytes) name=sub_180009FA0 180009FA0: mov [rsp+arg_8], rbx 180009FA5: mov [rsp+arg_10], rbp 180009FAA: mov [rsp+arg_18], rsi 180009FAF: mov [rsp+arg_0], rcx 180009FB4: push rdi 180009FB5: push r12 180009FB7: push r13 180009FB9: push r14 180009FBB: push r15 180009FBD: sub rsp, 20h 180009FC1: mov rsi, r9 180009FC4: mov r15, rcx 180009FC7: lea rax, off_1800100F8 180009FCE: mov [rcx], rax 180009FD1: xor edi, edi 180009FD3: mov [rcx+8], rdi 180009FD7: mov [rcx+10h], rdi 180009FDB: mov [rcx+18h], rdi 180009FDF: mov rax, [r9+8] 180009FE3: sub rax, [r9] 180009FE6: mov [rcx+20h], eax 180009FE9: mov word ptr [rcx+24h], 702h 180009FEF: lea r13d, [rax+5] 180009FF3: lea r12d, [r13+4] 180009FF7: movsxd rbp, r12d 180009FFA: mov r14, [rcx+10h] 180009FFE: cmp rbp, r14 18000A001: jnb short loc_18000A009 18000A003: mov [rcx+10h], rbp 18000A007: jmp short loc_18000A036 18000A009: jbe short loc_18000A036 18000A00B: test r12d, r12d 18000A00E: jz short loc_18000A01E 18000A010: mov rdx, rbp 18000A013: add rcx, 8 18000A017: call sub_18000A400 18000A01C: jmp short loc_18000A036 18000A01E: sub rbp, r14 18000A021: mov r8, rbp; Size 18000A024: xor edx, edx; Val 18000A026: mov rcx, r14; void * 18000A029: call memset 18000A02E: lea rax, [r14+rbp] 18000A032: mov [r15+10h], rax 18000A036: mov rax, [r15+8] 18000A03A: mov byte ptr [rax], 7Eh ; '~' 18000A03D: mov rcx, [r15+8] 18000A041: mov eax, r13d 18000A044: sar eax, 8 18000A047: mov [rcx+1], al 18000A04A: mov rax, [r15+8] 18000A04E: mov [rax+2], r13b 18000A052: mov ecx, 3 18000A057: xor r10b, r10b 18000A05A: mov r8, [r15+8] 18000A05E: mov rax, [r15+10h] 18000A062: sub rax, r8 18000A065: cmp rax, rcx 18000A068: cmovb ecx, eax 18000A06B: xor dl, dl 18000A06D: xor r9b, r9b 18000A070: movsxd r11, ecx 18000A073: test ecx, ecx 18000A075: jle short loc_18000A0BB 18000A077: mov rax, rdi 18000A07A: cmp r11, 2 18000A07E: jl short loc_18000A0B0 18000A080: lea rcx, [r11-1] 18000A084: nop dword ptr [rax+00h] 18000A088: nop dword ptr [rax+rax+00000000h] 18000A090: add dl, [rax+r8] 18000A094: add r9b, [rax+r8+1] 18000A099: add rax, 2 18000A09D: cmp rax, rcx 18000A0A0: jl short loc_18000A090 18000A0A2: cmp rax, r11 18000A0A5: jge short loc_18000A0B5 18000A0A7: nop word ptr [rax+rax+00000000h] 18000A0B0: movzx r10d, byte ptr [rax+r8] 18000A0B5: add dl, r9b 18000A0B8: add r10b, dl 18000A0BB: mov [r8+3], r10b 18000A0BF: mov rax, [r15+8] 18000A0C3: mov byte ptr [rax+4], 2 18000A0C7: mov rax, [r15+8] 18000A0CB: mov byte ptr [rax+5], 7 18000A0CF: mov rcx, [r15+8] 18000A0D3: mov edx, [rsp+48h+arg_20] 18000A0D7: mov eax, edx 18000A0D9: sar eax, 8 18000A0DC: mov [rcx+6], al 18000A0DF: mov rax, [r15+8] 18000A0E3: mov [rax+7], dl 18000A0E6: mov rax, [rsi+8] 18000A0EA: cmp rax, [rsi] 18000A0ED: jz short loc_18000A118 18000A0EF: mov r8, rdi 18000A0F2: mov rdx, [r15+8] 18000A0F6: mov rax, [rsi] 18000A0F9: movzx ecx, byte ptr [r8+rax] 18000A0FE: mov [rdx+r8+8], cl 18000A103: inc edi 18000A105: lea r8, [r8+1] 18000A109: mov rcx, [rsi+8] 18000A10D: sub rcx, [rsi] 18000A110: movsxd rax, edi 18000A113: cmp rax, rcx 18000A116: jb short loc_18000A0F2 18000A118: lea ecx, [r12-1] 18000A11D: xor r10b, r10b 18000A120: mov r8, [r15+8] 18000A124: mov rax, [r15+10h] 18000A128: sub rax, r8 18000A12B: movsxd rdi, ecx 18000A12E: xor dl, dl 18000A130: xor r9b, r9b 18000A133: cmp rdi, rax 18000A136: cmovbe eax, ecx 18000A139: movsxd r11, eax 18000A13C: cmp r11, 4 18000A140: jle short loc_18000A18B 18000A142: mov eax, 4 18000A147: cmp r11, 6 18000A14B: jl short loc_18000A180 18000A14D: lea rcx, [r11-1] 18000A151: nop dword ptr [rax+00h] 18000A155: nop word ptr [rax+rax+00000000h] 18000A160: add dl, [rax+r8] 18000A164: add r9b, [rax+r8+1] 18000A169: add rax, 2 18000A16D: cmp rax, rcx 18000A170: jl short loc_18000A160 18000A172: cmp rax, r11 18000A175: jge short loc_18000A185 18000A177: nop word ptr [rax+rax+00000000h] 18000A180: movzx r10d, byte ptr [rax+r8] 18000A185: add dl, r9b 18000A188: add r10b, dl 18000A18B: mov [rdi+r8], r10b 18000A18F: mov rax, r15 18000A192: mov rbx, [rsp+48h+arg_8] 18000A197: mov rbp, [rsp+48h+arg_10] 18000A19C: mov rsi, [rsp+48h+arg_18] 18000A1A1: add rsp, 20h 18000A1A5: pop r15 18000A1A7: pop r14 18000A1A9: pop r13 18000A1AB: pop r12 18000A1AD: pop rdi 18000A1AE: retn ### FUNC 18000A1B0 - 18000A235 (133 bytes) name=sub_18000A1B0 18000A1B0: mov [rsp+arg_8], rbx 18000A1B5: push rdi 18000A1B6: sub rsp, 20h 18000A1BA: lea rax, off_1800100F8 18000A1C1: mov rbx, rcx 18000A1C4: mov [rcx], rax 18000A1C7: mov edi, edx 18000A1C9: mov rcx, [rcx+8] 18000A1CD: test rcx, rcx 18000A1D0: jz short loc_18000A20D 18000A1D2: mov rdx, [rbx+18h] 18000A1D6: sub rdx, rcx 18000A1D9: cmp rdx, 1000h 18000A1E0: jb short loc_18000A1FA 18000A1E2: mov r8, [rcx-8] 18000A1E6: add rdx, 27h ; ''' 18000A1EA: sub rcx, r8 18000A1ED: lea rax, [rcx-8] 18000A1F1: cmp rax, 1Fh 18000A1F5: ja short loc_18000A22E 18000A1F7: mov rcx, r8; Block 18000A1FA: call j_j_free 18000A1FF: xor eax, eax 18000A201: mov [rbx+8], rax 18000A205: mov [rbx+10h], rax 18000A209: mov [rbx+18h], rax 18000A20D: test dil, 1 18000A211: jz short loc_18000A220 18000A213: mov edx, 28h ; '(' 18000A218: mov rcx, rbx; Block 18000A21B: call j_j_free 18000A220: mov rax, rbx 18000A223: mov rbx, [rsp+28h+arg_8] 18000A228: add rsp, 20h 18000A22C: pop rdi 18000A22D: retn 18000A22E: call cs:_invalid_parameter_noinfo_noreturn 18000A234: db 0CCh ### FUNC 18000A240 - 18000A2E7 (167 bytes) name=sub_18000A240 18000A240: push rbx 18000A242: sub rsp, 50h 18000A246: mov rax, cs:__security_cookie 18000A24D: xor rax, rsp 18000A250: mov [rsp+58h+var_18], rax 18000A255: mov rbx, rcx 18000A258: mov [rsp+58h+var_38], rcx 18000A25D: lea rax, off_1800100F8 18000A264: mov [rcx], rax 18000A267: xor ecx, ecx 18000A269: mov [rbx+8], rcx 18000A26D: mov [rbx+10h], rcx 18000A271: mov [rbx+18h], rcx 18000A275: xorps xmm1, xmm1 18000A278: movdqu xmmword ptr [rsp+58h+Block], xmm1 18000A27E: mov [rsp+58h+var_20], rcx 18000A283: lea r9, [rsp+58h+Block] 18000A288: mov rcx, rbx 18000A28B: call sub_180009D70 18000A290: nop 18000A291: mov rcx, [rsp+58h+Block]; Block 18000A296: test rcx, rcx 18000A299: jz short loc_18000A2D1 18000A29B: mov rdx, [rsp+58h+var_20] 18000A2A0: sub rdx, rcx 18000A2A3: mov rax, rcx 18000A2A6: cmp rdx, 1000h 18000A2AD: jb short loc_18000A2CB 18000A2AF: add rdx, 27h ; ''' 18000A2B3: mov rcx, [rcx-8] 18000A2B7: sub rax, rcx 18000A2BA: add rax, 0FFFFFFFFFFFFFFF8h 18000A2BE: cmp rax, 1Fh 18000A2C2: jbe short loc_18000A2CB 18000A2C4: call cs:_invalid_parameter_noinfo_noreturn 18000A2CA: int 3; Trap to Debugger 18000A2CB: call j_j_free 18000A2D0: nop 18000A2D1: mov rax, rbx 18000A2D4: mov rcx, [rsp+58h+var_18] 18000A2D9: xor rcx, rsp; StackCookie 18000A2DC: call __security_check_cookie 18000A2E1: add rsp, 50h 18000A2E5: pop rbx 18000A2E6: retn ### FUNC 18000A2F0 - 18000A354 (100 bytes) name=sub_18000A2F0 18000A2F0: push rbx 18000A2F2: sub rsp, 20h 18000A2F6: lea rax, off_1800100F8 18000A2FD: mov rbx, rcx 18000A300: mov [rcx], rax 18000A303: mov rcx, [rcx+8] 18000A307: test rcx, rcx 18000A30A: jz short loc_18000A347 18000A30C: mov rdx, [rbx+18h] 18000A310: sub rdx, rcx 18000A313: cmp rdx, 1000h 18000A31A: jb short loc_18000A334 18000A31C: mov r8, [rcx-8] 18000A320: add rdx, 27h ; ''' 18000A324: sub rcx, r8 18000A327: lea rax, [rcx-8] 18000A32B: cmp rax, 1Fh 18000A32F: ja short loc_18000A34D 18000A331: mov rcx, r8; Block 18000A334: call j_j_free 18000A339: xor eax, eax 18000A33B: mov [rbx+8], rax 18000A33F: mov [rbx+10h], rax 18000A343: mov [rbx+18h], rax 18000A347: add rsp, 20h 18000A34B: pop rbx 18000A34C: retn 18000A34D: call cs:_invalid_parameter_noinfo_noreturn 18000A353: db 0CCh ### FUNC 18000A360 - 18000A3FC (156 bytes) name=sub_18000A360 18000A360: mov [rsp+arg_0], rbx 18000A365: mov [rsp+arg_10], rbp 18000A36A: mov [rsp+arg_18], rsi 18000A36F: mov [rsp+arg_8], rdx 18000A374: push rdi 18000A375: sub rsp, 30h 18000A379: mov rbx, rdx 18000A37C: mov rbp, rcx 18000A37F: xor edi, edi 18000A381: mov [rsp+38h+var_18], edi 18000A385: xorps xmm0, xmm0 18000A388: movups xmmword ptr [rdx], xmm0 18000A38B: mov [rdx], rdi 18000A38E: mov [rdx+8], rdi 18000A392: mov [rdx+10h], rdi 18000A396: mov [rsp+38h+var_18], 1 18000A39E: cmp [rcx+20h], edi 18000A3A1: jle short loc_18000A3E3 18000A3A3: mov esi, edi 18000A3A5: nop word ptr [rax+rax+00000000h] 18000A3B0: mov r8, [rbp+8] 18000A3B4: add r8, 8 18000A3B8: add r8, rsi 18000A3BB: mov rdx, [rbx+8] 18000A3BF: cmp rdx, [rbx+10h] 18000A3C3: jz short loc_18000A3D1 18000A3C5: movzx eax, byte ptr [r8] 18000A3C9: mov [rdx], al 18000A3CB: inc qword ptr [rbx+8] 18000A3CF: jmp short loc_18000A3D9 18000A3D1: mov rcx, rbx 18000A3D4: call sub_180007D30 18000A3D9: inc edi 18000A3DB: inc rsi 18000A3DE: cmp edi, [rbp+20h] 18000A3E1: jl short loc_18000A3B0 18000A3E3: mov rax, rbx 18000A3E6: mov rbx, [rsp+38h+arg_0] 18000A3EB: mov rbp, [rsp+38h+arg_10] 18000A3F0: mov rsi, [rsp+38h+arg_18] 18000A3F5: add rsp, 30h 18000A3F9: pop rdi 18000A3FA: retn 18000A3FB: db 0CCh ### FUNC 18000A400 - 18000A502 (258 bytes) name=sub_18000A400 18000A400: mov [rsp+arg_18], rsi 18000A405: push r14 18000A407: sub rsp, 20h 18000A40B: mov rsi, rdx 18000A40E: mov r14, rcx 18000A411: mov rdx, 7FFFFFFFFFFFFFFFh 18000A41B: cmp rsi, rdx 18000A41E: ja loc_18000A4FC 18000A424: mov [rsp+28h+arg_0], rbx 18000A429: mov [rsp+28h+arg_8], rbp 18000A42E: mov rbp, [rcx+8] 18000A432: sub rbp, [rcx] 18000A435: mov rcx, [rcx+10h] 18000A439: sub rcx, [r14] 18000A43C: mov rax, rcx 18000A43F: shr rax, 1 18000A442: sub rdx, rax 18000A445: cmp rcx, rdx 18000A448: jbe short loc_18000A44F 18000A44A: mov rbx, rsi 18000A44D: jmp short loc_18000A45A 18000A44F: lea rbx, [rax+rcx] 18000A453: cmp rbx, rsi 18000A456: cmovb rbx, rsi 18000A45A: mov [rsp+28h+arg_10], rdi 18000A45F: cmp rbx, 1000h 18000A466: jb short loc_18000A494 18000A468: lea rcx, [rbx+27h]; Size 18000A46C: cmp rcx, rbx 18000A46F: jbe loc_18000A4F6 18000A475: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000A47A: test rax, rax 18000A47D: jz short loc_18000A48D 18000A47F: lea rdi, [rax+27h] 18000A483: and rdi, 0FFFFFFFFFFFFFFE0h 18000A487: mov [rdi-8], rax 18000A48B: jmp short loc_18000A4A8 18000A48D: call cs:_invalid_parameter_noinfo_noreturn 18000A493: int 3; Trap to Debugger 18000A494: test rbx, rbx 18000A497: jz short loc_18000A4A6 18000A499: mov rcx, rbx; Size 18000A49C: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000A4A1: mov rdi, rax 18000A4A4: jmp short loc_18000A4A8 18000A4A6: xor edi, edi 18000A4A8: mov r8, rsi 18000A4AB: lea rcx, [rdi+rbp]; void * 18000A4AF: sub r8, rbp; Size 18000A4B2: xor edx, edx; Val 18000A4B4: call memset 18000A4B9: mov rdx, [r14]; Src 18000A4BC: mov rcx, rdi; void * 18000A4BF: mov r8, [r14+8] 18000A4C3: sub r8, rdx; Size 18000A4C6: call memmove 18000A4CB: mov r9, rbx 18000A4CE: mov r8, rsi 18000A4D1: mov rdx, rdi 18000A4D4: mov rcx, r14 18000A4D7: mov rdi, [rsp+28h+arg_10] 18000A4DC: mov rbx, [rsp+28h+arg_0] 18000A4E1: mov rbp, [rsp+28h+arg_8] 18000A4E6: mov rsi, [rsp+28h+arg_18] 18000A4EB: add rsp, 20h 18000A4EF: pop r14 18000A4F1: jmp sub_180007280 18000A4F6: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 18000A4FB: align 4 18000A4FC: call sub_180002B80 18000A501: db 0CCh ### FUNC 18000A510 - 18000A95D (1101 bytes) name=sub_18000A510 18000A510: mov [rsp-28h+arg_10], rbx 18000A515: mov [rsp-28h+arg_0], rcx 18000A51A: push rbp 18000A51B: push rsi 18000A51C: push rdi 18000A51D: push r14 18000A51F: push r15 18000A521: mov rbp, rsp 18000A524: sub rsp, 20h 18000A528: mov r14, rcx 18000A52B: lea rax, off_180010110 18000A532: mov [rcx], rax 18000A535: lea rsi, [rcx+8] 18000A539: lea rax, off_18000FCE8 18000A540: mov [rsi], rax 18000A543: xorps xmm0, xmm0 18000A546: movups xmmword ptr [rsi+8], xmm0 18000A54A: mov byte ptr [rsi+18h], 0 18000A54E: xor r15d, r15d 18000A551: mov [rsi+20h], r15 18000A555: mov [rsi+28h], r15 18000A559: lea rbx, [rcx+38h] 18000A55D: mov [rbx], r15 18000A560: mov [rbx+8], r15 18000A564: mov [rbx+10h], r15 18000A568: mov [rbx+18h], r15 18000A56C: mov [rbx+20h], r15 18000A570: lea ecx, [r15+10h]; Size 18000A574: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000A579: mov [rax+8], r15 18000A57D: mov [rbx], rax 18000A580: mov [rax], rbx 18000A583: mov [r14+60h], r15 18000A587: mov [r14+68h], r15 18000A58B: mov [r14+70h], r15 18000A58F: mov ecx, 0D8h; Size 18000A594: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000A599: mov rdi, rax 18000A59C: mov [rbp+arg_8], rax 18000A5A0: xor edx, edx; Val 18000A5A2: mov r8d, 0D8h; Size 18000A5A8: mov rcx, rax; void * 18000A5AB: call memset 18000A5B0: mov rcx, rdi 18000A5B3: call sub_18000B410 18000A5B8: lea rax, off_18000FD90 18000A5BF: mov [rdi], rax 18000A5C2: mov [rdi+30h], r15b 18000A5C6: mov [rbp+arg_8], rdi 18000A5CA: mov rdx, [r14+68h] 18000A5CE: cmp rdx, [r14+70h] 18000A5D2: jz short loc_18000A5DE 18000A5D4: mov [rdx], rdi 18000A5D7: add qword ptr [r14+68h], 8 18000A5DC: jmp short loc_18000A5EB 18000A5DE: lea r8, [rbp+arg_8] 18000A5E2: lea rcx, [r14+60h] 18000A5E6: call sub_18000B280 18000A5EB: mov ecx, 0D8h; Size 18000A5F0: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000A5F5: mov rdi, rax 18000A5F8: mov [rbp+arg_8], rax 18000A5FC: xor edx, edx; Val 18000A5FE: mov r8d, 0D8h; Size 18000A604: mov rcx, rax; void * 18000A607: call memset 18000A60C: mov rcx, rdi 18000A60F: call sub_18000B410 18000A614: lea rax, off_18000FDB0 18000A61B: mov [rdi], rax 18000A61E: mov byte ptr [rdi+30h], 0 18000A622: mov [rbp+arg_8], rdi 18000A626: mov rdx, [r14+68h] 18000A62A: cmp rdx, [r14+70h] 18000A62E: jz short loc_18000A63A 18000A630: mov [rdx], rdi 18000A633: add qword ptr [r14+68h], 8 18000A638: jmp short loc_18000A647 18000A63A: lea r8, [rbp+arg_8] 18000A63E: lea rcx, [r14+60h] 18000A642: call sub_18000B280 18000A647: mov ecx, 0D8h; Size 18000A64C: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000A651: mov rdi, rax 18000A654: mov [rbp+arg_8], rax 18000A658: xor edx, edx; Val 18000A65A: mov r8d, 0D8h; Size 18000A660: mov rcx, rax; void * 18000A663: call memset 18000A668: mov rcx, rdi 18000A66B: call sub_18000B410 18000A670: lea rax, off_18000FDD0 18000A677: mov [rdi], rax 18000A67A: mov byte ptr [rdi+30h], 0 18000A67E: mov [rbp+arg_8], rdi 18000A682: mov rdx, [r14+68h] 18000A686: cmp rdx, [r14+70h] 18000A68A: jz short loc_18000A696 18000A68C: mov [rdx], rdi 18000A68F: add qword ptr [r14+68h], 8 18000A694: jmp short loc_18000A6A3 18000A696: lea r8, [rbp+arg_8] 18000A69A: lea rcx, [r14+60h] 18000A69E: call sub_18000B280 18000A6A3: mov ecx, 138h; Size 18000A6A8: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000A6AD: mov rdi, rax 18000A6B0: mov [rbp+arg_8], rax 18000A6B4: xor edx, edx; Val 18000A6B6: mov r8d, 138h; Size 18000A6BC: mov rcx, rax; void * 18000A6BF: call memset 18000A6C4: mov rcx, rdi 18000A6C7: call sub_18000B410 18000A6CC: lea rax, off_180010028 18000A6D3: mov [rdi], rax 18000A6D6: lea rax, off_180010048 18000A6DD: mov [rdi+0D8h], rax 18000A6E4: mov [rdi+108h], r15 18000A6EB: mov qword ptr [rdi+110h], 0Fh 18000A6F6: mov byte ptr [rdi+0F8h], 0 18000A6FD: mov [rdi+118h], r15 18000A704: mov [rdi+120h], r15 18000A70B: mov [rdi+128h], r15 18000A712: mov [rdi+0E0h], r15 18000A719: mov [rdi+0E8h], r15 18000A720: mov [rdi+0F0h], r15 18000A727: mov byte ptr [rdi+30h], 0 18000A72B: mov byte ptr [rdi+130h], 0 18000A732: mov [rbp+arg_8], rdi 18000A736: mov rdx, [r14+68h] 18000A73A: cmp rdx, [r14+70h] 18000A73E: jz short loc_18000A74A 18000A740: mov [rdx], rdi 18000A743: add qword ptr [r14+68h], 8 18000A748: jmp short loc_18000A757 18000A74A: lea r8, [rbp+arg_8] 18000A74E: lea rcx, [r14+60h] 18000A752: call sub_18000B280 18000A757: mov ecx, 0F8h; Size 18000A75C: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000A761: mov rdi, rax 18000A764: mov [rbp+arg_8], rax 18000A768: xor edx, edx; Val 18000A76A: mov r8d, 0F8h; Size 18000A770: mov rcx, rax; void * 18000A773: call memset 18000A778: mov rcx, rdi 18000A77B: call sub_18000B410 18000A780: lea rax, off_180010058 18000A787: mov [rdi], rax 18000A78A: mov [rdi+0E0h], r15 18000A791: mov [rdi+0E8h], r15 18000A798: mov [rdi+0F0h], r15 18000A79F: mov byte ptr [rdi+30h], 0 18000A7A3: mov [rdi+0D8h], r15d 18000A7AA: mov [rbp+arg_8], rdi 18000A7AE: mov rdx, [r14+68h] 18000A7B2: cmp rdx, [r14+70h] 18000A7B6: jz short loc_18000A7C2 18000A7B8: mov [rdx], rdi 18000A7BB: add qword ptr [r14+68h], 8 18000A7C0: jmp short loc_18000A7CF 18000A7C2: lea r8, [rbp+arg_8] 18000A7C6: lea rcx, [r14+60h] 18000A7CA: call sub_18000B280 18000A7CF: mov ecx, 128h; Size 18000A7D4: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000A7D9: mov rdi, rax 18000A7DC: mov [rbp+arg_8], rax 18000A7E0: xor edx, edx; Val 18000A7E2: mov r8d, 128h; Size 18000A7E8: mov rcx, rax; void * 18000A7EB: call memset 18000A7F0: mov rcx, rdi 18000A7F3: call sub_18000B410 18000A7F8: lea rax, off_1800100D8 18000A7FF: mov [rdi], rax 18000A802: mov [rdi+0F0h], r15 18000A809: mov qword ptr [rdi+0F8h], 0Fh 18000A814: mov byte ptr [rdi+0E0h], 0 18000A81B: mov [rdi+100h], r15 18000A822: mov [rdi+108h], r15 18000A829: mov [rdi+110h], r15 18000A830: xorps xmm0, xmm0 18000A833: movups xmmword ptr [rdi+118h], xmm0 18000A83A: mov [rdi+0D8h], r15 18000A841: mov [rbp+arg_8], rdi 18000A845: mov rdx, [r14+68h] 18000A849: cmp rdx, [r14+70h] 18000A84D: jz short loc_18000A859 18000A84F: mov [rdx], rdi 18000A852: add qword ptr [r14+68h], 8 18000A857: jmp short loc_18000A866 18000A859: lea r8, [rbp+arg_8] 18000A85D: lea rcx, [r14+60h] 18000A861: call sub_18000B280 18000A866: mov ecx, 0D8h; Size 18000A86B: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000A870: mov rdi, rax 18000A873: mov [rbp+arg_8], rax 18000A877: xor edx, edx; Val 18000A879: mov r8d, 0D8h; Size 18000A87F: mov rcx, rax; void * 18000A882: call memset 18000A887: mov rcx, rdi 18000A88A: call sub_18000B410 18000A88F: lea rax, off_18000FD50 18000A896: mov [rdi], rax 18000A899: mov byte ptr [rdi+30h], 0 18000A89D: mov [rbp+arg_8], rdi 18000A8A1: mov rdx, [r14+68h] 18000A8A5: cmp rdx, [r14+70h] 18000A8A9: jz short loc_18000A8B5 18000A8AB: mov [rdx], rdi 18000A8AE: add qword ptr [r14+68h], 8 18000A8B3: jmp short loc_18000A8C2 18000A8B5: lea r8, [rbp+arg_8] 18000A8B9: lea rcx, [r14+60h] 18000A8BD: call sub_18000B280 18000A8C2: mov ecx, 0E0h; Size 18000A8C7: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000A8CC: mov rdi, rax 18000A8CF: mov [rbp+arg_8], rax 18000A8D3: xor edx, edx; Val 18000A8D5: mov r8d, 0E0h; Size 18000A8DB: mov rcx, rax; void * 18000A8DE: call memset 18000A8E3: mov rcx, rdi 18000A8E6: call sub_18000B410 18000A8EB: lea rax, off_18000FD70 18000A8F2: mov [rdi], rax 18000A8F5: mov byte ptr [rdi+30h], 0 18000A8F9: mov [rdi+0D8h], r15 18000A900: mov [rbp+arg_8], rdi 18000A904: mov rdx, [r14+68h] 18000A908: cmp rdx, [r14+70h] 18000A90C: jz short loc_18000A918 18000A90E: mov [rdx], rdi 18000A911: add qword ptr [r14+68h], 8 18000A916: jmp short loc_18000A925 18000A918: lea r8, [rbp+arg_8] 18000A91C: lea rcx, [r14+60h] 18000A920: call sub_18000B280 18000A925: mov rdx, [r14+68h] 18000A929: mov rcx, [r14+60h] 18000A92D: cmp rcx, rdx 18000A930: jz short loc_18000A945 18000A932: mov rax, [rcx] 18000A935: mov [rax+0D0h], rsi 18000A93C: add rcx, 8 18000A940: cmp rcx, rdx 18000A943: jnz short loc_18000A932 18000A945: mov [r14+30h], r14 18000A949: mov rax, r14 18000A94C: mov rbx, [rsp+20h+arg_10] 18000A951: add rsp, 20h 18000A955: pop r15 18000A957: pop r14 18000A959: pop rdi 18000A95A: pop rsi 18000A95B: pop rbp 18000A95C: retn ### FUNC 18000A960 - 18000ABC7 (615 bytes) name=sub_18000A960 18000A960: mov [rsp-8+arg_8], rbx 18000A965: mov [rsp-8+arg_10], rsi 18000A96A: push rbp 18000A96B: push rdi 18000A96C: push r13 18000A96E: push r14 18000A970: push r15 18000A972: lea rbp, [rsp-10h] 18000A977: sub rsp, 110h 18000A97E: mov rax, cs:__security_cookie 18000A985: xor rax, rsp 18000A988: mov [rbp+30h+var_30], rax 18000A98C: mov r13, rcx 18000A98F: xorps xmm0, xmm0 18000A992: xor eax, eax 18000A994: movups xmmword ptr [rbp+30h+Block], xmm0 18000A998: mov [rbp+30h+var_98], rax 18000A99C: lea rcx, [rbp+30h+Block] 18000A9A0: call sub_180002FD0 18000A9A5: nop 18000A9A6: mov rdi, [rbp+30h+Block] 18000A9AA: mov r15, [rbp+30h+Block+8] 18000A9AE: cmp rdi, r15 18000A9B1: jz loc_18000AACA 18000A9B7: nop word ptr [rax+rax+00000000h] 18000A9C0: mov rdx, rdi 18000A9C3: lea rcx, [rbp+30h+var_90] 18000A9C7: call sub_180002E60 18000A9CC: nop 18000A9CD: lea rdx, [rdi+20h] 18000A9D1: lea rcx, [rbp+30h+var_70] 18000A9D5: call sub_180002E60 18000A9DA: nop 18000A9DB: lea rdx, [rdi+40h] 18000A9DF: lea rcx, [rbp+30h+var_50] 18000A9E3: call sub_180002E60 18000A9E8: nop 18000A9E9: lea rax, [rsp+130h+var_108] 18000A9EE: mov [rsp+130h+var_110], rax 18000A9F3: lea rdx, [rbp+30h+var_90] 18000A9F7: lea rcx, [rsp+130h+var_108] 18000A9FC: call sub_180002E60 18000AA01: nop 18000AA02: lea rdx, [rbp+30h+var_70] 18000AA06: lea rcx, [rsp+130h+var_E8] 18000AA0B: call sub_180002E60 18000AA10: nop 18000AA11: lea rdx, [rbp+30h+var_50] 18000AA15: lea rcx, [rsp+130h+Buf] 18000AA1A: call sub_180002E60 18000AA1F: nop 18000AA20: lea r14, [rsp+130h+Buf] 18000AA25: cmp [rbp+30h+var_B0], 10h 18000AA2A: cmovnb r14, [rsp+130h+Buf] 18000AA30: mov rax, [rsp+130h+var_B8] 18000AA35: cmp rax, 21h ; '!' 18000AA39: jb short loc_18000AA9C 18000AA3B: lea rsi, [rax+r14] 18000AA3F: lea r8, [rsi-20h] 18000AA43: sub r8, r14; MaxCount 18000AA46: mov edx, 46h ; 'F'; Val 18000AA4B: mov rcx, r14; Buf 18000AA4E: call memchr 18000AA53: mov rbx, rax 18000AA56: test rax, rax 18000AA59: jz short loc_18000AA9C 18000AA5B: nop dword ptr [rax+rax+00h] 18000AA60: mov r8d, 21h ; '!'; Size 18000AA66: lea rdx, aFtdibusComport; "FTDIBUS\\COMPORT&VID_0403&PID_6001" 18000AA6D: mov rcx, rbx; Buf1 18000AA70: call memcmp 18000AA75: test eax, eax 18000AA77: jz loc_18000AB47 18000AA7D: inc rbx 18000AA80: lea r8, [rsi-20h] 18000AA84: sub r8, rbx; MaxCount 18000AA87: mov edx, 46h ; 'F'; Val 18000AA8C: mov rcx, rbx; Buf 18000AA8F: call memchr 18000AA94: mov rbx, rax 18000AA97: test rax, rax 18000AA9A: jnz short loc_18000AA60 18000AA9C: xor bl, bl 18000AA9E: lea rcx, [rsp+130h+var_108] 18000AAA3: call sub_180002CA0 18000AAA8: test bl, bl 18000AAAA: jnz loc_18000AB5B 18000AAB0: lea rcx, [rbp+30h+var_90] 18000AAB4: call sub_180002CA0 18000AAB9: add rdi, 60h ; '`' 18000AABD: cmp rdi, r15 18000AAC0: jnz loc_18000A9C0 18000AAC6: mov rdi, [rbp+30h+Block] 18000AACA: xor sil, sil 18000AACD: test rdi, rdi 18000AAD0: jz loc_18000AB9B 18000AAD6: mov rbx, [rbp+30h+Block+8] 18000AADA: cmp rdi, rbx 18000AADD: jz short loc_18000AAF5 18000AADF: nop 18000AAE0: mov rcx, rdi 18000AAE3: call sub_180002CA0 18000AAE8: add rdi, 60h ; '`' 18000AAEC: cmp rdi, rbx 18000AAEF: jnz short loc_18000AAE0 18000AAF1: mov rdi, [rbp+30h+Block] 18000AAF5: mov rcx, [rbp+30h+var_98] 18000AAF9: sub rcx, rdi 18000AAFC: mov rax, 2AAAAAAAAAAAAAABh 18000AB06: imul rcx 18000AB09: sar rdx, 4 18000AB0D: mov rax, rdx 18000AB10: shr rax, 3Fh 18000AB14: add rdx, rax 18000AB17: lea rdx, [rdx+rdx*2] 18000AB1B: shl rdx, 5 18000AB1F: mov rax, rdi 18000AB22: cmp rdx, 1000h 18000AB29: jb short loc_18000AB93 18000AB2B: add rdx, 27h ; ''' 18000AB2F: mov rdi, [rdi-8] 18000AB33: sub rax, rdi 18000AB36: add rax, 0FFFFFFFFFFFFFFF8h 18000AB3A: cmp rax, 1Fh 18000AB3E: jbe short loc_18000AB93 18000AB40: call cs:_invalid_parameter_noinfo_noreturn 18000AB46: nop 18000AB47: sub rbx, r14 18000AB4A: cmp rbx, 0FFFFFFFFFFFFFFFFh 18000AB4E: jz loc_18000AA9C 18000AB54: mov bl, 1 18000AB56: jmp loc_18000AA9E 18000AB5B: lea rcx, [r13+8] 18000AB5F: mov rax, [rcx] 18000AB62: mov r8d, 1C200h 18000AB68: lea rdx, [rbp+30h+var_90] 18000AB6C: call qword ptr [rax+18h] 18000AB6F: movzx esi, al 18000AB72: mov edx, esi 18000AB74: lea rcx, aTcmOpenD; "TCM Open:%d\n" 18000AB7B: call sub_180007960 18000AB80: nop 18000AB81: lea rcx, [rbp+30h+var_90] 18000AB85: call sub_180002CA0 18000AB8A: mov rdi, [rbp+30h+Block] 18000AB8E: jmp loc_18000AACD 18000AB93: mov rcx, rdi; Block 18000AB96: call j_j_free 18000AB9B: movzx eax, sil 18000AB9F: mov rcx, [rbp+30h+var_30] 18000ABA3: xor rcx, rsp; StackCookie 18000ABA6: call __security_check_cookie 18000ABAB: lea r11, [rsp+130h+var_20] 18000ABB3: mov rbx, [r11+38h] 18000ABB7: mov rsi, [r11+40h] 18000ABBB: mov rsp, r11 18000ABBE: pop r15 18000ABC0: pop r14 18000ABC2: pop r13 18000ABC4: pop rdi 18000ABC5: pop rbp 18000ABC6: retn ### FUNC 18000ABD0 - 18000AC7D (173 bytes) name=sub_18000ABD0 18000ABD0: mov [rsp+arg_0], rbx 18000ABD5: mov [rsp+arg_10], rbp 18000ABDA: mov [rsp+arg_18], rsi 18000ABDF: push rdi 18000ABE0: sub rsp, 30h 18000ABE4: mov rbx, rdx 18000ABE7: mov rbp, rcx 18000ABEA: mov [rsp+38h+var_10], rdx 18000ABEF: xor edi, edi 18000ABF1: mov [rsp+38h+var_14], edi 18000ABF5: xorps xmm0, xmm0 18000ABF8: movups xmmword ptr [rdx], xmm0 18000ABFB: mov [rdx], rdi 18000ABFE: mov [rdx+8], rdi 18000AC02: mov [rdx+10h], rdi 18000AC06: mov [rsp+38h+var_14], 1 18000AC0E: lea esi, [rdi+4] 18000AC11: mov rdx, [rbp+50h] 18000AC15: add rdx, rdi 18000AC18: mov rcx, rdx 18000AC1B: shr rcx, 4 18000AC1F: mov rax, [rbp+48h] 18000AC23: dec rax 18000AC26: and rcx, rax 18000AC29: mov rax, [rbp+40h] 18000AC2D: and edx, 0Fh 18000AC30: mov rax, [rax+rcx*8] 18000AC34: movzx ecx, byte ptr [rdx+rax] 18000AC38: mov [rsp+38h+var_18], cl 18000AC3C: mov rdx, [rbx+8] 18000AC40: cmp rdx, [rbx+10h] 18000AC44: jz short loc_18000AC4E 18000AC46: mov [rdx], cl 18000AC48: inc qword ptr [rbx+8] 18000AC4C: jmp short loc_18000AC5B 18000AC4E: lea r8, [rsp+38h+var_18] 18000AC53: mov rcx, rbx 18000AC56: call sub_180007D30 18000AC5B: inc rdi 18000AC5E: sub rsi, 1 18000AC62: jnz short loc_18000AC11 18000AC64: mov rax, rbx 18000AC67: mov rbx, [rsp+38h+arg_0] 18000AC6C: mov rbp, [rsp+38h+arg_10] 18000AC71: mov rsi, [rsp+38h+arg_18] 18000AC76: add rsp, 30h 18000AC7A: pop rdi 18000AC7B: retn 18000AC7C: db 0CCh ### FUNC 18000AC80 - 18000B212 (1426 bytes) name=sub_18000AC80 18000AC80: mov [rsp-28h+arg_8], rbx 18000AC85: mov [rsp-28h+arg_10], rsi 18000AC8A: mov [rsp-28h+arg_18], rdi 18000AC8F: push rbp 18000AC90: push r12 18000AC92: push r13 18000AC94: push r14 18000AC96: push r15 18000AC98: mov rbp, rsp 18000AC9B: sub rsp, 70h 18000AC9F: mov rax, cs:__security_cookie 18000ACA6: xor rax, rsp 18000ACA9: mov [rbp+var_8], rax 18000ACAD: mov rax, rdx 18000ACB0: mov [rbp+var_48], rdx 18000ACB4: mov rbx, rcx 18000ACB7: mov [rbp+var_40], rcx 18000ACBB: movsxd r13, r8d 18000ACBE: xor r15d, r15d 18000ACC1: test r8d, r8d 18000ACC4: jle loc_18000AD78 18000ACCA: mov r14d, r15d 18000ACCD: mov rcx, [rcx+58h] 18000ACD1: movzx r12d, byte ptr [r14+rax] 18000ACD6: mov rdx, [rbx+50h] 18000ACDA: mov r8, rcx 18000ACDD: lea eax, [rcx+rdx] 18000ACE0: test al, 0Fh 18000ACE2: jnz short loc_18000AD03 18000ACE4: lea rax, [rcx+10h] 18000ACE8: shr rax, 4 18000ACEC: cmp [rbx+48h], rax 18000ACF0: ja short loc_18000AD03 18000ACF2: lea rcx, [rbx+38h] 18000ACF6: call sub_1800028D0 18000ACFB: mov rdx, [rbx+50h] 18000ACFF: mov r8, [rbx+58h] 18000AD03: mov rcx, [rbx+48h] 18000AD07: mov rax, rcx 18000AD0A: shl rax, 4 18000AD0E: dec rax 18000AD11: and rax, rdx 18000AD14: mov [rbx+50h], rax 18000AD18: lea rsi, [rax+r8] 18000AD1C: dec rcx 18000AD1F: mov rax, rsi 18000AD22: shr rax, 4 18000AD26: and rcx, rax 18000AD29: mov rax, [rbx+40h] 18000AD2D: lea r15, ds:0[rcx*8] 18000AD35: cmp qword ptr [r15+rax], 0 18000AD3A: jnz short loc_18000AD52 18000AD3C: mov ecx, 10h; Size 18000AD41: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000AD46: mov rcx, [rbx+40h] 18000AD4A: mov [r15+rcx], rax 18000AD4E: mov rax, [rbx+40h] 18000AD52: and esi, 0Fh 18000AD55: mov rax, [r15+rax] 18000AD59: mov [rsi+rax], r12b 18000AD5D: inc qword ptr [rbx+58h] 18000AD61: mov rcx, [rbx+58h] 18000AD65: inc r14 18000AD68: cmp r14, r13 18000AD6B: mov rax, [rbp+var_48] 18000AD6F: jl loc_18000ACD1 18000AD75: xor r15d, r15d 18000AD78: mov esi, [rbx+58h] 18000AD7B: cmp esi, 9 18000AD7E: jl loc_18000B1E8 18000AD84: nop dword ptr [rax+00h] 18000AD88: nop dword ptr [rax+rax+00000000h] 18000AD90: xorps xmm0, xmm0 18000AD93: xor eax, eax 18000AD95: movups xmmword ptr [rbp+Block], xmm0 18000AD99: mov [rbp+var_10], rax 18000AD9D: lea rdx, [rbp+Block] 18000ADA1: mov rcx, rbx 18000ADA4: call sub_18000ABD0 18000ADA9: nop 18000ADAA: mov r8, [rbp+Block] 18000ADAE: movzx eax, cs:byte_180010101 18000ADB5: cmp [r8], al 18000ADB8: jnz loc_18000AEE2 18000ADBE: mov rdx, [rbp+Block+8] 18000ADC2: sub rdx, r8 18000ADC5: lea r14, [r8+rdx] 18000ADC9: lea ecx, [rdx-1] 18000ADCC: xor dil, dil 18000ADCF: movsxd rax, ecx 18000ADD2: xor r10b, r10b 18000ADD5: xor r11b, r11b 18000ADD8: mov r9, r15 18000ADDB: cmp rax, rdx 18000ADDE: cmovbe edx, ecx 18000ADE1: movsxd rcx, edx 18000ADE4: test edx, edx 18000ADE6: jle short loc_18000AE22 18000ADE8: cmp rcx, 2 18000ADEC: jl short loc_18000AE17 18000ADEE: lea rax, [rcx-1] 18000ADF2: nop dword ptr [rax+00h] 18000ADF6: nop word ptr [rax+rax+00000000h] 18000AE00: add r10b, [r8+r9] 18000AE04: add r11b, [r8+r9+1] 18000AE09: add r9, 2 18000AE0D: cmp r9, rax 18000AE10: jl short loc_18000AE00 18000AE12: cmp r9, rcx 18000AE15: jge short loc_18000AE1C 18000AE17: movzx edi, byte ptr [r8+r9] 18000AE1C: add r10b, r11b 18000AE1F: add dil, r10b 18000AE22: cmp [r14-1], dil 18000AE26: jnz loc_18000AEE2 18000AE2C: movzx ecx, byte ptr [r8+1] 18000AE31: shl ecx, 8 18000AE34: movzx eax, byte ptr [r8+2] 18000AE39: or ecx, eax 18000AE3B: lea r14d, [rcx+4] 18000AE3F: cmp esi, r14d 18000AE42: jb loc_18000B1AF 18000AE48: mov edx, 4 18000AE4D: xor r10b, r10b 18000AE50: dec ecx 18000AE52: test ecx, ecx 18000AE54: jle short loc_18000AE93 18000AE56: mov r11, [rbx+50h] 18000AE5A: mov rdi, [rbx+48h] 18000AE5E: dec rdi 18000AE61: mov rsi, [rbx+40h] 18000AE65: mov r9d, ecx 18000AE68: nop dword ptr [rax+rax+00000000h] 18000AE70: movsxd rcx, edx 18000AE73: add rcx, r11 18000AE76: mov rax, rcx 18000AE79: shr rax, 4 18000AE7D: and rax, rdi 18000AE80: and ecx, 0Fh 18000AE83: mov rax, [rsi+rax*8] 18000AE87: add r10b, [rcx+rax] 18000AE8B: inc edx 18000AE8D: sub r9, 1 18000AE91: jnz short loc_18000AE70 18000AE93: mov r9, [rbx+50h] 18000AE97: movsxd rdx, edx 18000AE9A: add rdx, r9 18000AE9D: mov rcx, [rbx+48h] 18000AEA1: dec rcx 18000AEA4: mov rax, rdx 18000AEA7: shr rax, 4 18000AEAB: and rcx, rax 18000AEAE: and edx, 0Fh 18000AEB1: mov rax, [rbx+40h] 18000AEB5: mov rcx, [rax+rcx*8] 18000AEB9: movzx eax, byte ptr [rdx+rcx] 18000AEBD: cmp r10b, al 18000AEC0: jz short loc_18000AEF6 18000AEC2: cmp cs:byte_180015FF0, 0 18000AEC9: jz short loc_18000AEE2 18000AECB: mov r8d, eax 18000AECE: movzx edx, r10b 18000AED2: lea rcx, aChecksumNotSam; "checksum not same:%.2x, %.2x" 18000AED9: call sub_180007960 18000AEDE: mov r8, [rbp+Block] 18000AEE2: sub qword ptr [rbx+58h], 1 18000AEE7: jnz loc_18000B15F 18000AEED: mov [rbx+50h], r15 18000AEF1: jmp loc_18000B163 18000AEF6: xorps xmm1, xmm1 18000AEF9: movdqu [rbp+var_38], xmm1 18000AEFE: mov r8, r15 18000AF01: mov [rbp+var_28], r15 18000AF05: test r14d, r14d 18000AF08: jz short loc_18000AF7F 18000AF0A: mov edi, r14d 18000AF0D: mov rdx, qword ptr [rbp+var_38+8] 18000AF11: mov rcx, [rbx+48h] 18000AF15: dec rcx 18000AF18: mov rax, r9 18000AF1B: shr rax, 4 18000AF1F: and rcx, rax 18000AF22: and r9d, 0Fh 18000AF26: mov rax, [rbx+40h] 18000AF2A: mov rcx, [rax+rcx*8] 18000AF2E: movzx eax, byte ptr [r9+rcx] 18000AF33: mov [rbp+var_50], al 18000AF36: cmp rdx, r8 18000AF39: jz short loc_18000AF4A 18000AF3B: mov [rdx], al 18000AF3D: mov rdx, qword ptr [rbp+var_38+8] 18000AF41: inc rdx 18000AF44: mov qword ptr [rbp+var_38+8], rdx 18000AF48: jmp short loc_18000AF5B 18000AF4A: lea r8, [rbp+var_50] 18000AF4E: lea rcx, [rbp+var_38] 18000AF52: call sub_180007D30 18000AF57: mov rdx, qword ptr [rbp+var_38+8] 18000AF5B: sub qword ptr [rbx+58h], 1 18000AF60: jnz short loc_18000AF6B 18000AF62: mov [rbx+50h], r15 18000AF66: mov r9, r15 18000AF69: jmp short loc_18000AF73 18000AF6B: inc qword ptr [rbx+50h] 18000AF6F: mov r9, [rbx+50h] 18000AF73: sub rdi, 1 18000AF77: jz short loc_18000AF7F 18000AF79: mov r8, [rbp+var_28] 18000AF7D: jmp short loc_18000AF11 18000AF7F: mov rax, qword ptr [rbp+var_38] 18000AF83: movzx r12d, byte ptr [rax+4] 18000AF88: movzx r14d, byte ptr [rax+5] 18000AF8D: mov [rbp+var_50], r14b 18000AF91: movzx r13d, byte ptr [rax+6] 18000AF96: shl r13d, 8 18000AF9A: movzx eax, byte ptr [rax+7] 18000AF9E: or r13d, eax 18000AFA1: cmp cs:byte_180015FF0, 0 18000AFA8: jz short loc_18000B00A 18000AFAA: lea rcx, aRecv; "\nRecv:" 18000AFB1: call sub_180007960 18000AFB6: mov edi, r15d 18000AFB9: mov rsi, r15 18000AFBC: mov rax, qword ptr [rbp+var_38+8] 18000AFC0: mov rcx, qword ptr [rbp+var_38] 18000AFC4: sub rax, rcx 18000AFC7: test eax, eax 18000AFC9: jle short loc_18000AFF5 18000AFCB: nop dword ptr [rax+rax+00h] 18000AFD0: movzx edx, byte ptr [rcx+rsi] 18000AFD4: lea rcx, a2x; "%.2X " 18000AFDB: call sub_180007960 18000AFE0: inc edi 18000AFE2: lea rsi, [rsi+1] 18000AFE6: mov rax, qword ptr [rbp+var_38+8] 18000AFEA: mov rcx, qword ptr [rbp+var_38] 18000AFEE: sub rax, rcx 18000AFF1: cmp edi, eax 18000AFF3: jl short loc_18000AFD0 18000AFF5: mov r8d, r14d 18000AFF8: mov edx, r12d 18000AFFB: mov r9d, r13d 18000AFFE: lea rcx, aMain2xSub2xFra; "Main:%.2X Sub:%.2X Frame:%d \n" 18000B005: call sub_180007960 18000B00A: lea ecx, [r13+1] 18000B00E: mov eax, 1 18000B013: cmp ecx, 8000h 18000B019: cmovb eax, ecx 18000B01C: mov cs:dword_180015038, eax 18000B022: xor r15b, r15b 18000B025: mov r14, [rbx+68h] 18000B029: mov rdi, [rbx+60h] 18000B02D: cmp rdi, r14 18000B030: jz short loc_18000B079 18000B032: movzx ebx, [rbp+var_50] 18000B036: nop word ptr [rax+rax+00000000h] 18000B040: mov rsi, [rdi] 18000B043: mov rax, [rsi] 18000B046: movzx r8d, bl 18000B04A: movzx edx, r12b 18000B04E: mov rcx, rsi 18000B051: call qword ptr [rax] 18000B053: test al, al 18000B055: jz short loc_18000B067 18000B057: mov r15b, 1 18000B05A: mov rax, [rsi] 18000B05D: lea rdx, [rbp+var_38] 18000B061: mov rcx, rsi 18000B064: call qword ptr [rax+8] 18000B067: add rdi, 8 18000B06B: cmp rdi, r14 18000B06E: jnz short loc_18000B040 18000B070: mov rbx, [rbp+var_40] 18000B074: test r15b, r15b 18000B077: jnz short loc_18000B0DD 18000B079: lea rcx, aUnhandled; "Unhandled:" 18000B080: call sub_180007960 18000B085: xor edi, edi 18000B087: xor esi, esi 18000B089: mov rax, qword ptr [rbp+var_38+8] 18000B08D: mov rcx, qword ptr [rbp+var_38] 18000B091: sub rax, rcx 18000B094: test eax, eax 18000B096: jle short loc_18000B0C5 18000B098: nop dword ptr [rax+rax+00000000h] 18000B0A0: movzx edx, byte ptr [rcx+rsi] 18000B0A4: lea rcx, a2x; "%.2X " 18000B0AB: call sub_180007960 18000B0B0: inc edi 18000B0B2: lea rsi, [rsi+1] 18000B0B6: mov rax, qword ptr [rbp+var_38+8] 18000B0BA: mov rcx, qword ptr [rbp+var_38] 18000B0BE: sub rax, rcx 18000B0C1: cmp edi, eax 18000B0C3: jl short loc_18000B0A0 18000B0C5: movzx r8d, [rbp+var_50] 18000B0CA: mov edx, r12d 18000B0CD: mov r9d, r13d 18000B0D0: lea rcx, aMain2xSub2xFra; "Main:%.2X Sub:%.2X Frame:%d \n" 18000B0D7: call sub_180007960 18000B0DC: nop 18000B0DD: mov rcx, qword ptr [rbp+var_38] 18000B0E1: test rcx, rcx 18000B0E4: jz short loc_18000B127 18000B0E6: mov rdx, [rbp+var_28] 18000B0EA: sub rdx, rcx 18000B0ED: mov rax, rcx 18000B0F0: cmp rdx, 1000h 18000B0F7: jb short loc_18000B112 18000B0F9: add rdx, 27h ; ''' 18000B0FD: mov rcx, [rcx-8]; Block 18000B101: sub rax, rcx 18000B104: add rax, 0FFFFFFFFFFFFFFF8h 18000B108: cmp rax, 1Fh 18000B10C: ja loc_18000B1A8 18000B112: call j_j_free 18000B117: xorps xmm0, xmm0 18000B11A: movdqu [rbp+var_38], xmm0 18000B11F: mov [rbp+var_28], 0 18000B127: mov rcx, [rbp+Block] 18000B12B: test rcx, rcx 18000B12E: jz short loc_18000B198 18000B130: mov rdx, [rbp+var_10] 18000B134: sub rdx, rcx 18000B137: mov rax, rcx 18000B13A: cmp rdx, 1000h 18000B141: jb short loc_18000B193 18000B143: add rdx, 27h ; ''' 18000B147: mov rcx, [rcx-8] 18000B14B: sub rax, rcx 18000B14E: add rax, 0FFFFFFFFFFFFFFF8h 18000B152: cmp rax, 1Fh 18000B156: jbe short loc_18000B193 18000B158: call cs:_invalid_parameter_noinfo_noreturn 18000B15E: nop 18000B15F: inc qword ptr [rbx+50h] 18000B163: test r8, r8 18000B166: jz short loc_18000B198 18000B168: mov rdx, [rbp+var_10] 18000B16C: sub rdx, r8 18000B16F: cmp rdx, 1000h 18000B176: mov rax, r8 18000B179: jb short loc_18000B190 18000B17B: mov r8, [r8-8] 18000B17F: sub rax, r8 18000B182: add rdx, 27h ; ''' 18000B186: add rax, 0FFFFFFFFFFFFFFF8h 18000B18A: cmp rax, 1Fh 18000B18E: ja short loc_18000B158 18000B190: mov rcx, r8; Block 18000B193: call j_j_free 18000B198: mov esi, [rbx+58h] 18000B19B: cmp esi, 9 18000B19E: jl short loc_18000B1E8 18000B1A0: xor r15d, r15d 18000B1A3: jmp loc_18000AD90 18000B1A8: call cs:_invalid_parameter_noinfo_noreturn 18000B1AE: nop 18000B1AF: test r8, r8 18000B1B2: jz short loc_18000B1E8 18000B1B4: mov rdx, [rbp+var_10] 18000B1B8: sub rdx, r8 18000B1BB: mov rax, r8 18000B1BE: cmp rdx, 1000h 18000B1C5: jb short loc_18000B1E0 18000B1C7: add rdx, 27h ; ''' 18000B1CB: mov r8, [r8-8] 18000B1CF: sub rax, r8 18000B1D2: add rax, 0FFFFFFFFFFFFFFF8h 18000B1D6: cmp rax, 1Fh 18000B1DA: ja loc_18000B158 18000B1E0: mov rcx, r8; Block 18000B1E3: call j_j_free 18000B1E8: mov rcx, [rbp+var_8] 18000B1EC: xor rcx, rsp; StackCookie 18000B1EF: call __security_check_cookie 18000B1F4: lea r11, [rsp+70h+var_s0] 18000B1F9: mov rbx, [r11+38h] 18000B1FD: mov rsi, [r11+40h] 18000B201: mov rdi, [r11+48h] 18000B205: mov rsp, r11 18000B208: pop r15 18000B20A: pop r14 18000B20C: pop r13 18000B20E: pop r12 18000B210: pop rbp 18000B211: retn ### FUNC 18000B220 - 18000B27C (92 bytes) name=sub_18000B220 18000B220: push rbx 18000B222: sub rsp, 20h 18000B226: mov rbx, rcx 18000B229: mov rcx, [rcx] 18000B22C: test rcx, rcx 18000B22F: jz short loc_18000B26F 18000B231: mov rdx, [rbx+10h] 18000B235: sub rdx, rcx 18000B238: and rdx, 0FFFFFFFFFFFFFFF8h 18000B23C: cmp rdx, 1000h 18000B243: jb short loc_18000B25D 18000B245: mov r8, [rcx-8] 18000B249: add rdx, 27h ; ''' 18000B24D: sub rcx, r8 18000B250: lea rax, [rcx-8] 18000B254: cmp rax, 1Fh 18000B258: ja short loc_18000B275 18000B25A: mov rcx, r8; Block 18000B25D: call j_j_free 18000B262: xor eax, eax 18000B264: mov [rbx], rax 18000B267: mov [rbx+8], rax 18000B26B: mov [rbx+10h], rax 18000B26F: add rsp, 20h 18000B273: pop rbx 18000B274: retn 18000B275: call cs:_invalid_parameter_noinfo_noreturn 18000B27B: db 0CCh ### FUNC 18000B280 - 18000B410 (400 bytes) name=sub_18000B280 18000B280: push rdi 18000B282: push r12 18000B284: push r14 18000B286: push r15 18000B288: sub rsp, 28h 18000B28C: mov rax, [rcx+8] 18000B290: mov r15, rdx 18000B293: mov rdx, [rcx] 18000B296: mov r14, r15 18000B299: sub r14, rdx 18000B29C: sub rax, rdx 18000B29F: mov r12, r8 18000B2A2: sar r14, 3 18000B2A6: sar rax, 3 18000B2AA: mov r8, 1FFFFFFFFFFFFFFFh 18000B2B4: mov rdi, rcx 18000B2B7: cmp rax, r8 18000B2BA: jz loc_18000B404 18000B2C0: mov rcx, [rcx+10h] 18000B2C4: sub rcx, rdx 18000B2C7: mov [rsp+48h+arg_18], rbp 18000B2CC: sar rcx, 3 18000B2D0: lea rbp, [rax+1] 18000B2D4: mov rdx, rcx 18000B2D7: mov rax, r8 18000B2DA: shr rdx, 1 18000B2DD: sub rax, rdx 18000B2E0: cmp rcx, rax 18000B2E3: jbe short loc_18000B2EA 18000B2E5: mov rax, rbp 18000B2E8: jmp short loc_18000B2F5 18000B2EA: lea rax, [rdx+rcx] 18000B2EE: cmp rax, rbp 18000B2F1: cmovb rax, rbp 18000B2F5: mov [rsp+48h+arg_10], rbx 18000B2FA: mov [rsp+48h+var_28], rsi 18000B2FF: cmp rax, r8 18000B302: ja loc_18000B40A 18000B308: lea rsi, ds:0[rax*8] 18000B310: cmp rsi, 1000h 18000B317: jb short loc_18000B342 18000B319: lea rcx, [rsi+27h]; Size 18000B31D: cmp rcx, rsi 18000B320: jbe loc_18000B40A 18000B326: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000B32B: test rax, rax 18000B32E: jz loc_18000B3FD 18000B334: lea rbx, [rax+27h] 18000B338: and rbx, 0FFFFFFFFFFFFFFE0h 18000B33C: mov [rbx-8], rax 18000B340: jmp short loc_18000B356 18000B342: test rsi, rsi 18000B345: jz short loc_18000B354 18000B347: mov rcx, rsi; Size 18000B34A: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000B34F: mov rbx, rax 18000B352: jmp short loc_18000B356 18000B354: xor ebx, ebx 18000B356: mov rax, [r12] 18000B35A: lea r14, [rbx+r14*8] 18000B35E: mov [r14], rax 18000B361: mov rcx, rbx; void * 18000B364: mov r8, [rdi+8] 18000B368: mov rdx, [rdi]; Src 18000B36B: cmp r15, r8 18000B36E: jnz short loc_18000B375 18000B370: sub r8, rdx 18000B373: jmp short loc_18000B38E 18000B375: mov r8, r15 18000B378: sub r8, rdx; Size 18000B37B: call memmove 18000B380: mov r8, [rdi+8] 18000B384: lea rcx, [r14+8]; void * 18000B388: sub r8, r15; Size 18000B38B: mov rdx, r15; Src 18000B38E: call memmove 18000B393: mov rcx, [rdi] 18000B396: test rcx, rcx 18000B399: jz short loc_18000B3CC 18000B39B: mov rdx, [rdi+10h] 18000B39F: sub rdx, rcx 18000B3A2: and rdx, 0FFFFFFFFFFFFFFF8h 18000B3A6: cmp rdx, 1000h 18000B3AD: jb short loc_18000B3C7 18000B3AF: mov r8, [rcx-8] 18000B3B3: add rdx, 27h ; ''' 18000B3B7: sub rcx, r8 18000B3BA: lea rax, [rcx-8] 18000B3BE: cmp rax, 1Fh 18000B3C2: ja short loc_18000B3FD 18000B3C4: mov rcx, r8; Block 18000B3C7: call j_j_free 18000B3CC: lea rcx, [rbx+rbp*8] 18000B3D0: mov [rdi], rbx 18000B3D3: mov rbp, [rsp+48h+arg_18] 18000B3D8: mov rax, r14 18000B3DB: mov [rdi+8], rcx 18000B3DF: lea rcx, [rsi+rbx] 18000B3E3: mov rbx, [rsp+48h+arg_10] 18000B3E8: mov rsi, [rsp+48h+var_28] 18000B3ED: mov [rdi+10h], rcx 18000B3F1: add rsp, 28h 18000B3F5: pop r15 18000B3F7: pop r14 18000B3F9: pop r12 18000B3FB: pop rdi 18000B3FC: retn 18000B3FD: call cs:_invalid_parameter_noinfo_noreturn 18000B403: int 3; Trap to Debugger 18000B404: call sub_180002B80 18000B409: align 2 18000B40A: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 18000B40F: align 10h ### FUNC 18000B410 - 18000B48B (123 bytes) name=sub_18000B410 18000B410: mov [rsp+arg_0], rbx 18000B415: mov [rsp+arg_8], rsi 18000B41A: push rdi 18000B41B: sub rsp, 20h 18000B41F: lea rbx, [rcx+8] 18000B423: xor esi, esi 18000B425: lea rax, off_1800101B8 18000B42C: mov rdi, rcx 18000B42F: mov [rcx], rax 18000B432: mov [rbx], rsi 18000B435: lea ecx, [rsi+10h]; Size 18000B438: mov [rbx+8], rsi 18000B43C: mov [rbx+10h], rsi 18000B440: mov [rbx+18h], rsi 18000B444: mov [rbx+20h], rsi 18000B448: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000B44D: lea rcx, [rdi+38h]; _Cnd_t 18000B451: mov [rax+8], rsi 18000B455: mov [rbx], rax 18000B458: mov [rax], rbx 18000B45B: call cs:_Cnd_init_in_situ 18000B461: lea rcx, [rdi+80h]; _Mtx_t 18000B468: lea edx, [rsi+2]; int 18000B46B: call cs:_Mtx_init_in_situ 18000B471: mov rbx, [rsp+28h+arg_0] 18000B476: mov rax, rdi 18000B479: mov [rdi+0D0h], rsi 18000B480: mov rsi, [rsp+28h+arg_8] 18000B485: add rsp, 20h 18000B489: pop rdi 18000B48A: retn ### FUNC 18000B490 - 18000B493 (3 bytes) name=_guard_check_icall_nop 18000B490: retn 0 ### FUNC 18000B4B0 - 18000B524 (116 bytes) name=sub_18000B4B0 18000B4B0: sub rsp, 28h 18000B4B4: cmp [rsp+28h+arg_20], 2 18000B4B9: jnz short loc_18000B51F 18000B4BB: mov [rsp+28h+var_8], rbx 18000B4C0: mov r9d, 1 18000B4C6: mov rbx, [rsp+28h+arg_28] 18000B4CB: mov r8d, [rbx+218h] 18000B4D2: mov ecx, [rbx+18h] 18000B4D5: mov [rbx+240h], edx 18000B4DB: mov rdx, [rbx+220h] 18000B4E2: call cs:MAG_GetOutputBMPdataRGB24 18000B4E8: mov rax, [rbx+228h] 18000B4EF: test rax, rax 18000B4F2: jz short loc_18000B51A 18000B4F4: mov r8d, [rbx+20Ch] 18000B4FB: mov r9d, 3 18000B501: mov edx, [rbx+208h] 18000B507: mov rcx, [rbx+220h] 18000B50E: mov rbx, [rsp+28h+var_8] 18000B513: add rsp, 28h 18000B517: jmp rax 18000B51A: mov rbx, [rsp+28h+var_8] 18000B51F: add rsp, 28h 18000B523: retn ### FUNC 18000B530 - 18000B6EA (442 bytes) name=sub_18000B530 18000B530: mov [rsp+arg_10], rbx 18000B535: push rbp 18000B536: push rsi 18000B537: push rdi 18000B538: sub rsp, 30h 18000B53C: mov rax, cs:qword_180015FF8 18000B543: test rax, rax 18000B546: jnz loc_18000B6DD 18000B54C: mov ecx, 2B0h; Size 18000B551: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000B556: mov rdi, rax 18000B559: mov [rsp+48h+arg_0], rax 18000B55E: xor edx, edx; Val 18000B560: mov r8d, 2B0h; Size 18000B566: mov rcx, rax; void * 18000B569: call memset 18000B56E: lea rax, off_1800101D8 18000B575: mov [rdi], rax 18000B578: lea rcx, [rdi+8] 18000B57C: xor ebp, ebp 18000B57E: mov [rcx], ebp 18000B580: mov [rcx+8], rbp 18000B584: mov dword ptr [rcx+10h], 0FFFFFFFFh 18000B58B: mov [rcx+1E8h], rbp 18000B592: mov [rcx+1F0h], ebp 18000B598: xorps xmm0, xmm0 18000B59B: xor eax, eax 18000B59D: movups xmmword ptr [rcx+14h], xmm0 18000B5A1: movups xmmword ptr [rcx+24h], xmm0 18000B5A5: movups xmmword ptr [rcx+34h], xmm0 18000B5A9: movups xmmword ptr [rcx+44h], xmm0 18000B5AD: mov [rcx+54h], rax 18000B5B1: call sub_1800015D0 18000B5B6: nop 18000B5B7: mov [rdi+220h], rbp 18000B5BE: mov [rdi+228h], rbp 18000B5C5: mov [rdi+238h], rbp 18000B5CC: mov [rdi+27Ch], ebp 18000B5D2: mov [rdi+240h], rbp 18000B5D9: mov rax, 3FEF5C28F5C28F5Ch 18000B5E3: mov [rdi+248h], rax 18000B5EA: mov [rdi+298h], rbp 18000B5F1: mov qword ptr [rdi+2A0h], 0FFFFFFFFFFFFFFFFh 18000B5FC: mov rax, 4040000000000000h 18000B606: mov [rdi+288h], rax 18000B60D: mov rax, 4044000000000000h 18000B617: mov [rdi+290h], rax 18000B61E: mov rax, 4042800000000000h 18000B628: mov [rdi+280h], rax 18000B62F: mov [rdi+2A8h], bp 18000B636: mov rax, cs:qword_180015FE8 18000B63D: test rax, rax 18000B640: jnz short loc_18000B683 18000B642: lea ecx, [rbp+78h]; Size 18000B645: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000B64A: mov [rsp+48h+arg_8], rax 18000B64F: xorps xmm0, xmm0 18000B652: xor ecx, ecx 18000B654: movups xmmword ptr [rax], xmm0 18000B657: movups xmmword ptr [rax+10h], xmm0 18000B65B: movups xmmword ptr [rax+20h], xmm0 18000B65F: movups xmmword ptr [rax+30h], xmm0 18000B663: movups xmmword ptr [rax+40h], xmm0 18000B667: movups xmmword ptr [rax+50h], xmm0 18000B66B: movups xmmword ptr [rax+60h], xmm0 18000B66F: mov [rax+70h], rcx 18000B673: mov rcx, rax; int 18000B676: call sub_18000A510 18000B67B: nop 18000B67C: mov cs:qword_180015FE8, rax 18000B683: mov [rdi+230h], rax 18000B68A: mov rbx, [rax+60h] 18000B68E: mov rsi, [rax+68h] 18000B692: cmp rbx, rsi 18000B695: jz short loc_18000B6D3 18000B697: nop word ptr [rax+rax+00000000h] 18000B6A0: mov [rsp+48h+var_28], ebp 18000B6A4: lea r9, off_180015798 18000B6AB: lea r8, off_180015718 18000B6B2: xor edx, edx 18000B6B4: mov rcx, [rbx] 18000B6B7: call __RTDynamicCast 18000B6BC: test rax, rax 18000B6BF: jnz short loc_18000B6CC 18000B6C1: add rbx, 8 18000B6C5: cmp rbx, rsi 18000B6C8: jnz short loc_18000B6A0 18000B6CA: jmp short loc_18000B6D3 18000B6CC: mov [rax+0D8h], rdi 18000B6D3: mov cs:qword_180015FF8, rdi 18000B6DA: mov rax, rdi 18000B6DD: mov rbx, [rsp+48h+arg_10] 18000B6E2: add rsp, 30h 18000B6E6: pop rdi 18000B6E7: pop rsi 18000B6E8: pop rbp 18000B6E9: retn ### FUNC 18000B6F0 - 18000B899 (425 bytes) name=sub_18000B6F0 18000B6F0: sub rsp, 38h 18000B6F4: cmp dword ptr [rcx+8], 0 18000B6F8: mov [rsp+38h+arg_0], rbx 18000B6FD: mov [rsp+38h+arg_8], rsi 18000B702: mov rsi, rcx 18000B705: jz loc_18000B84B 18000B70B: mov ecx, [rcx+18h] 18000B70E: call cs:MAG_EnumCameras 18000B714: mov ecx, 32h ; '2'; dwMilliseconds 18000B719: call cs:Sleep 18000B71F: cmp dword ptr [rsi+8], 0 18000B723: jz loc_18000B84B 18000B729: xor edx, edx 18000B72B: xor ecx, ecx 18000B72D: call cs:MAG_GetTerminalList 18000B733: test eax, eax 18000B735: jz loc_18000B84B 18000B73B: mov ecx, [rsi+18h] 18000B73E: xor edx, edx 18000B740: mov r8d, 3E8h 18000B746: call cs:MAG_LinkCamera 18000B74C: test eax, eax 18000B74E: jz loc_18000B84B 18000B754: mov ecx, [rsi+18h] 18000B757: lea rbx, [rsi+1Ch] 18000B75B: mov rdx, rbx 18000B75E: mov r8d, 48h ; 'H' 18000B764: call cs:MAG_GetCamInfo 18000B76A: test rbx, rbx 18000B76D: jz loc_18000B84B 18000B773: mov eax, [rbx] 18000B775: lea rdx, [rsi+250h] 18000B77C: mov ecx, [rsi+18h] 18000B77F: mov [rsi+200h], eax 18000B785: mov eax, [rbx+4] 18000B788: mov [rsi+204h], eax 18000B78E: mov eax, [rbx+40h] 18000B791: mov [rsi+208h], eax 18000B797: mov eax, [rbx+44h] 18000B79A: mov [rsi+20Ch], eax 18000B7A0: mov dword ptr [rsi+210h], 10h 18000B7AA: mov eax, [rbx+44h] 18000B7AD: mov [rsi+214h], eax 18000B7B3: mov [rsp+38h+var_8], rdi 18000B7B8: call cs:MAG_GetFixPara 18000B7BE: movsd xmm0, qword ptr [rsi+248h] 18000B7C6: lea rdx, [rsi+250h] 18000B7CD: mov ecx, [rsi+18h] 18000B7D0: mov r8d, 2 18000B7D6: cvtpd2ps xmm0, xmm0 18000B7DA: mov dword ptr [rsi+250h], 3F266666h 18000B7E4: movss dword ptr [rsi+254h], xmm0 18000B7EC: call cs:MAG_SetFixPara 18000B7F2: mov eax, [rsi+208h] 18000B7F8: imul eax, [rsi+20Ch] 18000B7FF: lea eax, [rax+rax*2] 18000B802: movsxd rcx, eax; Size 18000B805: mov [rsi+218h], eax 18000B80B: call j_??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000B810: mov ecx, [rsi+18h] 18000B813: lea r8, sub_18000B4B0 18000B81A: mov r9d, 2 18000B820: mov [rsi+220h], rax 18000B827: lea rdx, [rsi+200h] 18000B82E: mov [rsp+38h+var_18], rsi 18000B833: call cs:MAG_StartProcessImage 18000B839: mov ecx, [rsi+18h] 18000B83C: mov rdi, [rsp+38h+var_8] 18000B841: test eax, eax 18000B843: jnz short loc_18000B883 18000B845: call cs:MAG_DisLinkCamera 18000B84B: xor al, al 18000B84D: mov rcx, [rsi+230h] 18000B854: mov [rsi+2A8h], al 18000B85A: call sub_18000A960 18000B85F: cmp byte ptr [rsi+2A8h], 0 18000B866: mov rbx, [rsp+38h+arg_0] 18000B86B: mov [rsi+2A9h], al 18000B871: mov rsi, [rsp+38h+arg_8] 18000B876: jz short loc_18000B892 18000B878: test al, al 18000B87A: jz short loc_18000B892 18000B87C: mov al, 1 18000B87E: add rsp, 38h 18000B882: retn 18000B883: mov edx, 2 18000B888: call cs:MAG_SetColorPalette 18000B88E: mov al, 1 18000B890: jmp short loc_18000B84D 18000B892: xor al, al 18000B894: add rsp, 38h 18000B898: retn ### FUNC 18000B8A0 - 18000B951 (177 bytes) name=sub_18000B8A0 18000B8A0: push rbx 18000B8A2: sub rsp, 30h 18000B8A6: mov rax, [rcx+238h] 18000B8AD: mov rbx, rcx 18000B8B0: mov [rcx+2A0h], edx 18000B8B6: test rax, rax 18000B8B9: jz loc_18000B94B 18000B8BF: movaps [rsp+38h+var_18], xmm6 18000B8C4: movd xmm6, edx 18000B8C8: cvtdq2ps xmm6, xmm6 18000B8CB: test edx, edx 18000B8CD: jns short loc_18000B91D 18000B8CF: movaps xmm0, xmm6 18000B8D2: call rax 18000B8D4: call cs:GetTickCount 18000B8DA: mov ecx, eax 18000B8DC: sub ecx, [rbx+244h] 18000B8E2: cmp ecx, 0EA60h 18000B8E8: jbe short loc_18000B946 18000B8EA: sub eax, [rbx+2A4h] 18000B8F0: cmp eax, 1388h 18000B8F5: jbe short loc_18000B946 18000B8F7: cmp dword ptr [rbx+8], 0 18000B8FB: jz short loc_18000B906 18000B8FD: mov ecx, [rbx+18h] 18000B900: call cs:MAG_TriggerFFC 18000B906: call cs:GetTickCount 18000B90C: movaps xmm6, [rsp+38h+var_18] 18000B911: mov [rbx+244h], eax 18000B917: add rsp, 30h 18000B91B: pop rbx 18000B91C: retn 18000B91D: call cs:GetTickCount 18000B923: cmp dword ptr [rbx+27Ch], 0 18000B92A: mov [rbx+2A4h], eax 18000B930: mov rax, [rbx+238h] 18000B937: jz short loc_18000B941 18000B939: mulss xmm6, cs:dword_1800101E0 18000B941: movaps xmm0, xmm6 18000B944: call rax 18000B946: movaps xmm6, [rsp+38h+var_18] 18000B94B: add rsp, 30h 18000B94F: pop rbx 18000B950: retn ### FUNC 18000B960 - 18000BB2C (460 bytes) name=sub_18000B960 18000B960: mov [rsp+arg_8], rbx 18000B965: mov [rsp+arg_10], rsi 18000B96A: push rdi 18000B96B: push r14 18000B96D: push r15 18000B96F: sub rsp, 40h 18000B973: mov r15d, 9Fh 18000B979: mov esi, r9d 18000B97C: mov r14d, r8d 18000B97F: mov rbx, rdx 18000B982: mov rdi, rcx 18000B985: cmp r8d, r15d 18000B988: ja loc_18000BAE2 18000B98E: cmp r9d, 77h ; 'w' 18000B992: ja loc_18000BAE2 18000B998: mov ecx, [rcx+18h] 18000B99B: mov r9d, 3 18000B9A1: mov [rsp+58h+arg_0], rbp 18000B9A6: mov r8d, esi 18000B9A9: mov edx, r14d 18000B9AC: movaps [rsp+58h+var_28], xmm7 18000B9B1: call cs:MAG_GetTemperatureProbe 18000B9B7: movss xmm2, dword ptr [rdi+254h] 18000B9BF: mov r9d, r14d 18000B9C2: mov ecx, [rdi+18h] 18000B9C5: mov edx, eax 18000B9C7: mov [rsp+58h+var_38], esi 18000B9CB: call cs:MAG_FixTemperature 18000B9D1: xor ebp, ebp 18000B9D3: lea ecx, [r14-1] 18000B9D7: test ecx, ecx 18000B9D9: mov edx, ebp 18000B9DB: mov r8d, ebp 18000B9DE: cmovns edx, ecx 18000B9E1: movd xmm7, eax 18000B9E5: lea ecx, [r14+1] 18000B9E9: cmp ecx, r15d 18000B9EC: lea eax, [rsi+1] 18000B9EF: cvtdq2pd xmm7, xmm7 18000B9F3: cmovl r15d, ecx 18000B9F7: lea ecx, [rsi-1] 18000B9FA: test ecx, ecx 18000B9FC: mov r9d, r15d 18000B9FF: cmovns r8d, ecx 18000BA03: mov ecx, 77h ; 'w' 18000BA08: cmp eax, ecx 18000BA0A: mulsd xmm7, cs:qword_1800101E8 18000BA12: cmovl ecx, eax 18000BA15: mov [rsp+58h+var_38], ecx 18000BA19: mov ecx, [rdi+18h] 18000BA1C: call cs:MAG_EstimateUnderArmTempFromForeheadRect 18000BA22: movd xmm2, eax 18000BA26: mov eax, [rdi+27Ch] 18000BA2C: cvtdq2pd xmm2, xmm2 18000BA30: mulsd xmm2, cs:qword_1800101E8 18000BA38: cmp eax, 1 18000BA3B: jnz short loc_18000BA5D 18000BA3D: mulsd xmm7, cs:qword_1800101F0 18000BA45: mulsd xmm2, cs:qword_1800101F0 18000BA4D: addsd xmm7, cs:qword_1800101F8 18000BA55: addsd xmm2, cs:qword_1800101F8 18000BA5D: movsd xmm0, qword ptr [rdi+298h] 18000BA65: addsd xmm2, xmm0 18000BA69: addsd xmm7, xmm0 18000BA6D: comisd xmm2, qword ptr [rdi+290h] 18000BA75: ja short loc_18000BA93 18000BA77: movsd xmm0, qword ptr [rdi+288h] 18000BA7F: comisd xmm0, xmm2 18000BA83: ja short loc_18000BA93 18000BA85: comisd xmm2, qword ptr [rdi+280h] 18000BA8D: setnb bpl 18000BA91: jmp short loc_18000BA98 18000BA93: mov ebp, 0FFFFFFFFh 18000BA98: movd xmm0, r14d 18000BA9D: cvtdq2ps xmm0, xmm0 18000BAA0: mov [rbx+24h], ebp 18000BAA3: mov rbp, [rsp+58h+arg_0] 18000BAA8: mov [rbx+20h], eax 18000BAAB: movd xmm1, esi 18000BAAF: divss xmm0, cs:dword_180010204 18000BAB7: cvtdq2ps xmm1, xmm1 18000BABA: cvtps2pd xmm0, xmm0 18000BABD: divss xmm1, cs:dword_180010200 18000BAC5: movsd qword ptr [rbx], xmm0 18000BAC9: cvtps2pd xmm0, xmm1 18000BACC: movsd qword ptr [rbx+10h], xmm7 18000BAD1: movaps xmm7, [rsp+58h+var_28] 18000BAD6: movsd qword ptr [rbx+8], xmm0 18000BADB: movsd qword ptr [rbx+18h], xmm2 18000BAE0: jmp short loc_18000BB15 18000BAE2: mov rax, 0BFF0000000000000h 18000BAEC: mov dword ptr [rdx+24h], 0FA0A1F00h 18000BAF3: mov [rdx], rax 18000BAF6: mov [rdx+8], rax 18000BAFA: mov rax, 0C197D78400000000h 18000BB04: mov [rdx+18h], rax 18000BB08: mov [rdx+10h], rax 18000BB0C: mov eax, [rcx+27Ch] 18000BB12: mov [rdx+20h], eax 18000BB15: mov rsi, [rsp+58h+arg_10] 18000BB1A: mov rax, rbx 18000BB1D: mov rbx, [rsp+58h+arg_8] 18000BB22: add rsp, 40h 18000BB26: pop r15 18000BB28: pop r14 18000BB2A: pop rdi 18000BB2B: retn ### FUNC 18000BB30 - 18000BB36 (6 bytes) name=GetSDKVersion 18000BB30: mov eax, 2710h 18000BB35: retn ### FUNC 18000BB40 - 18000BB55 (21 bytes) name=Start 18000BB40: sub rsp, 28h 18000BB44: call sub_18000B530 18000BB49: mov rcx, rax 18000BB4C: add rsp, 28h 18000BB50: jmp sub_18000B6F0 ### FUNC 18000BB60 - 18000BBF8 (152 bytes) name=Stop 18000BB60: push rbx 18000BB62: sub rsp, 20h 18000BB66: call sub_18000B530 18000BB6B: mov rbx, rax 18000BB6E: mov ecx, [rax+18h] 18000BB71: call cs:MAG_IsProcessingImage 18000BB77: test eax, eax 18000BB79: jz short loc_18000BBBD 18000BB7B: cmp dword ptr [rbx+1F0h], 0 18000BB82: jz short loc_18000BB97 18000BB84: mov ecx, [rbx+18h] 18000BB87: call cs:MAG_LocalStorageAviStop 18000BB8D: mov dword ptr [rbx+1F0h], 0 18000BB97: cmp dword ptr [rbx+1F4h], 0 18000BB9E: jz short loc_18000BBB4 18000BBA0: mov ecx, [rbx+18h] 18000BBA3: call cs:MAG_LocalStorageMgsStop 18000BBA9: mov qword ptr [rbx+1F4h], 0 18000BBB4: mov ecx, [rbx+18h] 18000BBB7: call cs:MAG_StopProcessImage 18000BBBD: mov ecx, [rbx+18h] 18000BBC0: call cs:MAG_IsLinked 18000BBC6: test eax, eax 18000BBC8: jz short loc_18000BBD3 18000BBCA: mov ecx, [rbx+18h] 18000BBCD: call cs:MAG_DisLinkCamera 18000BBD3: mov rcx, [rbx+230h] 18000BBDA: add rcx, 8 18000BBDE: mov byte ptr [rbx+2A8h], 0 18000BBE5: mov rax, [rcx] 18000BBE8: call qword ptr [rax+20h] 18000BBEB: mov byte ptr [rbx+2A9h], 0 18000BBF2: add rsp, 20h 18000BBF6: pop rbx 18000BBF7: retn ### FUNC 18000BC00 - 18000BC29 (41 bytes) name=IsWorking 18000BC00: sub rsp, 28h 18000BC04: call sub_18000B530 18000BC09: cmp byte ptr [rax+2A8h], 0 18000BC10: jz short loc_18000BC22 18000BC12: cmp byte ptr [rax+2A9h], 0 18000BC19: jz short loc_18000BC22 18000BC1B: mov al, 1 18000BC1D: add rsp, 28h 18000BC21: retn 18000BC22: xor al, al 18000BC24: add rsp, 28h 18000BC28: retn ### FUNC 18000BC30 - 18000BC4B (27 bytes) name=SetNewIRFrameDelegate 18000BC30: push rbx 18000BC32: sub rsp, 20h 18000BC36: mov rbx, rcx 18000BC39: call sub_18000B530 18000BC3E: mov [rax+228h], rbx 18000BC45: add rsp, 20h 18000BC49: pop rbx 18000BC4A: retn ### FUNC 18000BC50 - 18000BC6B (27 bytes) name=SetNewDistanceDelegate 18000BC50: push rbx 18000BC52: sub rsp, 20h 18000BC56: mov rbx, rcx 18000BC59: call sub_18000B530 18000BC5E: mov [rax+238h], rbx 18000BC65: add rsp, 20h 18000BC69: pop rbx 18000BC6A: retn ### FUNC 18000BC70 - 18000BCEA (122 bytes) name=ReadTemperatureAtPoint 18000BC70: mov [rsp+arg_0], rbx 18000BC75: mov [rsp+arg_8], rbp 18000BC7A: mov [rsp+arg_10], rsi 18000BC7F: push rdi 18000BC80: sub rsp, 50h 18000BC84: mov rbp, r8 18000BC87: mov ebx, edx 18000BC89: mov edi, ecx 18000BC8B: call sub_18000B530 18000BC90: mov rsi, rax 18000BC93: mov ecx, [rax+18h] 18000BC96: call cs:MAG_LockFrame 18000BC9C: mov r9d, ebx 18000BC9F: lea rdx, [rsp+58h+var_38] 18000BCA4: mov r8d, edi 18000BCA7: mov rcx, rsi 18000BCAA: call sub_18000B960 18000BCAF: mov ecx, [rsi+18h] 18000BCB2: call cs:MAG_UnLockFrame 18000BCB8: movups xmm0, [rsp+58h+var_38] 18000BCBD: mov rbx, [rsp+58h+arg_0] 18000BCC2: movups xmm1, [rsp+58h+var_28] 18000BCC7: mov rsi, [rsp+58h+arg_10] 18000BCCC: movups xmmword ptr [rbp+0], xmm0 18000BCD0: movsd xmm0, [rsp+58h+var_18] 18000BCD6: movups xmmword ptr [rbp+10h], xmm1 18000BCDA: movsd qword ptr [rbp+20h], xmm0 18000BCDF: mov rbp, [rsp+58h+arg_8] 18000BCE4: add rsp, 50h 18000BCE8: pop rdi 18000BCE9: retn ### FUNC 18000BCF0 - 18000BE59 (361 bytes) name=ReadTemperatureInRect 18000BCF0: push rbx 18000BCF2: push rbp 18000BCF3: push rsi 18000BCF4: push rdi 18000BCF5: push r14 18000BCF7: push r15 18000BCF9: sub rsp, 98h 18000BD00: movaps [rsp+0C8h+var_48], xmm6 18000BD08: mov rax, cs:__security_cookie 18000BD0F: xor rax, rsp 18000BD12: mov [rsp+0C8h+var_58], rax 18000BD17: mov r15, [rsp+0C8h+arg_20] 18000BD1F: mov edi, r9d 18000BD22: mov esi, r8d 18000BD25: mov ebx, edx 18000BD27: mov ebp, ecx 18000BD29: call sub_18000B530 18000BD2E: mov r14, rax 18000BD31: mov ecx, [rax+18h] 18000BD34: call cs:MAG_LockFrame 18000BD3A: xor eax, eax 18000BD3C: xor r9d, r9d 18000BD3F: mov r8d, 77h ; 'w' 18000BD45: mov [rsp+0C8h+var_60], eax 18000BD49: mov eax, r8d 18000BD4C: test ebx, ebx 18000BD4E: xorps xmm0, xmm0 18000BD51: mov edx, ebp 18000BD53: cmovns r9d, ebx 18000BD57: movups [rsp+0C8h+var_70], xmm0 18000BD5C: lea ecx, [r9+rdi] 18000BD60: cmp ecx, 78h ; 'x' 18000BD63: cmovge ecx, r8d 18000BD67: sub eax, r9d 18000BD6A: sub r8d, ecx 18000BD6D: lea r9d, [rsi+rbp] 18000BD71: lea rcx, [rsp+0C8h+var_70] 18000BD76: mov [rsp+0C8h+var_A0], rcx 18000BD7B: mov ecx, [r14+18h] 18000BD7F: mov [rsp+0C8h+var_A8], eax 18000BD83: call cs:MAG_GetRectTemperatureInfo 18000BD89: test al, al 18000BD8B: jz short loc_18000BDEA 18000BD8D: mov edi, [rsp+0C8h+var_60] 18000BD91: mov eax, 66666667h 18000BD96: movss xmm2, dword ptr [r14+254h] 18000BD9F: mov ecx, [r14+18h] 18000BDA3: imul edi 18000BDA5: mov ebx, edx 18000BDA7: mov edx, dword ptr [rsp+0C8h+var_70+4] 18000BDAB: sar ebx, 6 18000BDAE: mov eax, ebx 18000BDB0: shr eax, 1Fh 18000BDB3: add ebx, eax 18000BDB5: mov [rsp+0C8h+var_A8], ebx 18000BDB9: lea eax, [rbx+rbx*4] 18000BDBC: shl eax, 5 18000BDBF: sub edi, eax 18000BDC1: mov r9d, edi 18000BDC4: call cs:MAG_FixTemperature 18000BDCA: mov r9d, 78h ; 'x' 18000BDD0: lea rdx, [rsp+0C8h+var_98] 18000BDD5: sub r9d, ebx 18000BDD8: mov r8d, edi 18000BDDB: mov rcx, r14 18000BDDE: call sub_18000B960 18000BDE3: movups xmm6, [rsp+0C8h+var_98] 18000BDE8: jmp short loc_18000BE10 18000BDEA: movaps xmm0, cs:xmmword_180010220 18000BDF1: mov eax, [r14+27Ch] 18000BDF8: movaps xmm6, cs:xmmword_180010210 18000BDFF: movups [rsp+0C8h+var_88], xmm0 18000BE04: mov dword ptr [rsp+0C8h+var_78], eax 18000BE08: mov dword ptr [rsp+0C8h+var_78+4], 0FA0A1F00h 18000BE10: mov ecx, [r14+18h] 18000BE14: call cs:MAG_UnLockFrame 18000BE1A: movups xmm0, [rsp+0C8h+var_88] 18000BE1F: movsd xmm1, [rsp+0C8h+var_78] 18000BE25: movups xmmword ptr [r15], xmm6 18000BE29: movups xmmword ptr [r15+10h], xmm0 18000BE2E: movsd qword ptr [r15+20h], xmm1 18000BE34: mov rcx, [rsp+0C8h+var_58] 18000BE39: xor rcx, rsp; StackCookie 18000BE3C: call __security_check_cookie 18000BE41: movaps xmm6, [rsp+0C8h+var_48] 18000BE49: add rsp, 98h 18000BE50: pop r15 18000BE52: pop r14 18000BE54: pop rdi 18000BE55: pop rsi 18000BE56: pop rbp 18000BE57: pop rbx 18000BE58: retn ### FUNC 18000BE60 - 18000BEB1 (81 bytes) name=SetTempBoundary 18000BE60: sub rsp, 58h 18000BE64: movaps [rsp+58h+var_18], xmm6 18000BE69: movaps xmm6, xmm0 18000BE6C: movaps [rsp+58h+var_28], xmm7 18000BE71: movaps xmm7, xmm1 18000BE74: movaps [rsp+58h+var_38], xmm8 18000BE7A: movaps xmm8, xmm2 18000BE7E: call sub_18000B530 18000BE83: movsd qword ptr [rax+288h], xmm6 18000BE8B: movaps xmm6, [rsp+58h+var_18] 18000BE90: movsd qword ptr [rax+290h], xmm7 18000BE98: movaps xmm7, [rsp+58h+var_28] 18000BE9D: movsd qword ptr [rax+280h], xmm8 18000BEA6: movaps xmm8, [rsp+58h+var_38] 18000BEAC: add rsp, 58h 18000BEB0: retn ### FUNC 18000BEC0 - 18000BEE3 (35 bytes) name=SetTempOffset 18000BEC0: sub rsp, 38h 18000BEC4: movaps [rsp+38h+var_18], xmm6 18000BEC9: movaps xmm6, xmm0 18000BECC: call sub_18000B530 18000BED1: movsd qword ptr [rax+298h], xmm6 18000BED9: movaps xmm6, [rsp+38h+var_18] 18000BEDE: add rsp, 38h 18000BEE2: retn ### FUNC 18000BEF0 - 18000BF09 (25 bytes) name=SetUnitMode 18000BEF0: push rbx 18000BEF2: sub rsp, 20h 18000BEF6: mov ebx, ecx 18000BEF8: call sub_18000B530 18000BEFD: mov [rax+27Ch], ebx 18000BF03: add rsp, 20h 18000BF07: pop rbx 18000BF08: retn ### FUNC 18000BF10 - 18000BF8C (124 bytes) name=Rotate 18000BF10: mov [rsp+arg_8], rbx 18000BF15: mov [rsp+arg_10], rsi 18000BF1A: push rdi 18000BF1B: sub rsp, 30h 18000BF1F: mov esi, ecx 18000BF21: call sub_18000B530 18000BF26: mov rdx, [rax+230h] 18000BF2D: mov rbx, [rdx+60h] 18000BF31: mov rdi, [rdx+68h] 18000BF35: cmp rbx, rdi 18000BF38: jz short loc_18000BF7C 18000BF3A: mov [rsp+38h+arg_0], rbp 18000BF3F: xor ebp, ebp 18000BF41: mov rcx, [rbx] 18000BF44: lea r9, off_180015740 18000BF4B: lea r8, off_180015718 18000BF52: mov dword ptr [rsp+38h+var_18], ebp; void * 18000BF56: xor edx, edx 18000BF58: call __RTDynamicCast 18000BF5D: test rax, rax 18000BF60: jnz short loc_18000BF6D 18000BF62: add rbx, 8 18000BF66: cmp rbx, rdi 18000BF69: jnz short loc_18000BF41 18000BF6B: jmp short loc_18000BF77 18000BF6D: mov edx, esi; int 18000BF6F: mov rcx, rax; int 18000BF72: call sub_180007A40 18000BF77: mov rbp, [rsp+38h+arg_0] 18000BF7C: mov rbx, [rsp+38h+arg_8] 18000BF81: mov rsi, [rsp+38h+arg_10] 18000BF86: add rsp, 30h 18000BF8A: pop rdi 18000BF8B: retn ### FUNC 18000BF90 - 18000BFCB (59 bytes) name=GetInnerIRCameraTemp 18000BF90: sub rsp, 28h 18000BF94: call sub_18000B530 18000BF99: cmp dword ptr [rax+27Ch], 1 18000BFA0: movd xmm0, dword ptr [rax+240h] 18000BFA8: cvtdq2pd xmm0, xmm0 18000BFAC: mulsd xmm0, cs:qword_1800101E8 18000BFB4: jnz short loc_18000BFC6 18000BFB6: mulsd xmm0, cs:qword_1800101F0 18000BFBE: addsd xmm0, cs:qword_1800101F8 18000BFC6: add rsp, 28h 18000BFCA: retn ### FUNC 18000BFD0 - 18000C028 (88 bytes) name=SetEmissivity 18000BFD0: sub rsp, 38h 18000BFD4: movaps [rsp+38h+var_18], xmm6 18000BFD9: movaps xmm6, xmm0 18000BFDC: call sub_18000B530 18000BFE1: cmp dword ptr [rax+8], 0 18000BFE5: jnz short loc_18000BFF9 18000BFE7: movsd qword ptr [rax+248h], xmm6 18000BFEF: movaps xmm6, [rsp+38h+var_18] 18000BFF4: add rsp, 38h 18000BFF8: retn 18000BFF9: mov ecx, [rax+18h] 18000BFFC: lea rdx, [rax+250h] 18000C003: xorps xmm0, xmm0 18000C006: mov r8d, 2 18000C00C: cvtsd2ss xmm0, xmm6 18000C010: movss dword ptr [rax+254h], xmm0 18000C018: movaps xmm6, [rsp+38h+var_18] 18000C01D: add rsp, 38h 18000C021: jmp cs:MAG_SetFixPara ### FUNC 18000C030 - 18000C05F (47 bytes) name=Trigger 18000C030: push rbx 18000C032: sub rsp, 20h 18000C036: call sub_18000B530 18000C03B: mov rbx, rax 18000C03E: cmp dword ptr [rax+8], 0 18000C042: jz short loc_18000C04D 18000C044: mov ecx, [rax+18h] 18000C047: call cs:MAG_TriggerFFC 18000C04D: call cs:GetTickCount 18000C053: mov [rbx+244h], eax 18000C059: add rsp, 20h 18000C05D: pop rbx 18000C05E: retn ### FUNC 18000C060 - 18000C160 (256 bytes) name=GetTCMVersion 18000C060: mov [rsp+arg_10], rbx 18000C065: mov [rsp+arg_18], rsi 18000C06A: push rdi 18000C06B: sub rsp, 60h 18000C06F: mov rax, cs:__security_cookie 18000C076: xor rax, rsp 18000C079: mov [rsp+68h+var_18], rax 18000C07E: mov rsi, rcx 18000C081: call sub_18000B530 18000C086: mov rcx, [rax+230h] 18000C08D: mov rbx, [rcx+60h] 18000C091: mov rdi, [rcx+68h] 18000C095: cmp rbx, rdi 18000C098: jz loc_18000C141 18000C09E: mov [rsp+68h+arg_8], rbp 18000C0A3: xor ebp, ebp 18000C0A5: mov rcx, [rbx] 18000C0A8: lea r9, off_1800158D0 18000C0AF: lea r8, off_180015718 18000C0B6: mov [rsp+68h+var_48], ebp 18000C0BA: xor edx, edx 18000C0BC: call __RTDynamicCast 18000C0C1: test rax, rax 18000C0C4: jnz short loc_18000C0D1 18000C0C6: add rbx, 8 18000C0CA: cmp rbx, rdi 18000C0CD: jnz short loc_18000C0A5 18000C0CF: jmp short loc_18000C13C 18000C0D1: lea rdx, [rsp+68h+Src] 18000C0D6: mov rcx, rax 18000C0D9: call sub_180009000 18000C0DE: mov rdi, [rsp+68h+var_20] 18000C0E3: lea rdx, [rsp+68h+Src] 18000C0E8: mov rbx, [rsp+68h+Src] 18000C0ED: cmp rdi, 10h 18000C0F1: movsxd r8, [rsp+68h+var_28]; Size 18000C0F6: mov rcx, rsi; void * 18000C0F9: cmovnb rdx, rbx; Src 18000C0FD: call memcpy 18000C102: cmp rdi, 10h 18000C106: jb short loc_18000C13C 18000C108: lea rdx, [rdi+1] 18000C10C: mov rax, rbx 18000C10F: cmp rdx, 1000h 18000C116: jb short loc_18000C134 18000C118: mov rbx, [rbx-8] 18000C11C: add rdx, 27h ; ''' 18000C120: sub rax, rbx 18000C123: add rax, 0FFFFFFFFFFFFFFF8h 18000C127: cmp rax, 1Fh 18000C12B: jbe short loc_18000C134 18000C12D: call cs:_invalid_parameter_noinfo_noreturn 18000C133: int 3; Trap to Debugger 18000C134: mov rcx, rbx; Block 18000C137: call j_j_free 18000C13C: mov rbp, [rsp+68h+arg_8] 18000C141: mov rcx, [rsp+68h+var_18] 18000C146: xor rcx, rsp; StackCookie 18000C149: call __security_check_cookie 18000C14E: lea r11, [rsp+68h+var_8] 18000C153: mov rbx, [r11+20h] 18000C157: mov rsi, [r11+28h] 18000C15B: mov rsp, r11 18000C15E: pop rdi 18000C15F: retn ### FUNC 18000C160 - 18000C2F7 (407 bytes) name=SetFirmwareData 18000C160: push rbx 18000C162: push rbp 18000C163: push rsi 18000C164: push r15 18000C166: sub rsp, 58h 18000C16A: mov rax, cs:__security_cookie 18000C171: xor rax, rsp 18000C174: mov [rsp+78h+var_30], rax 18000C179: movsxd rbp, edx 18000C17C: mov r15, rcx 18000C17F: call sub_18000B530 18000C184: mov rcx, [rax+230h] 18000C18B: mov rbx, [rcx+60h] 18000C18F: mov rsi, [rcx+68h] 18000C193: cmp rbx, rsi 18000C196: jz loc_18000C2DA 18000C19C: mov [rsp+78h+arg_10], rdi 18000C1A4: xor edi, edi 18000C1A6: mov [rsp+78h+var_28], r14 18000C1AB: nop dword ptr [rax+rax+00h] 18000C1B0: mov rcx, [rbx] 18000C1B3: lea r9, off_1800158D0 18000C1BA: lea r8, off_180015718 18000C1C1: mov [rsp+78h+var_58], edi 18000C1C5: xor edx, edx 18000C1C7: call __RTDynamicCast 18000C1CC: mov r14, rax 18000C1CF: test rax, rax 18000C1D2: jnz short loc_18000C1E2 18000C1D4: add rbx, 8 18000C1D8: cmp rbx, rsi 18000C1DB: jnz short loc_18000C1B0 18000C1DD: jmp loc_18000C2CD 18000C1E2: mov [rsp+78h+var_38], rdi 18000C1E7: xorps xmm0, xmm0 18000C1EA: movdqu xmmword ptr [rsp+78h+Src], xmm0 18000C1F0: test ebp, ebp 18000C1F2: jz short loc_18000C219 18000C1F4: mov rax, 7FFFFFFFFFFFFFFFh 18000C1FE: cmp rbp, rax 18000C201: ja loc_18000C2F1 18000C207: mov rdx, rbp 18000C20A: lea rcx, [rsp+78h+Src] 18000C20F: call sub_18000C470 18000C214: mov rdi, [rsp+78h+var_38] 18000C219: mov rbx, [rsp+78h+Src] 18000C21E: mov rax, rdi 18000C221: sub rax, rbx 18000C224: cmp rbp, rax 18000C227: jbe short loc_18000C240 18000C229: mov rdx, rbp 18000C22C: lea rcx, [rsp+78h+Src] 18000C231: call sub_180002BA0 18000C236: mov rdi, [rsp+78h+var_38] 18000C23B: mov rbx, [rsp+78h+Src] 18000C240: mov r8, rbp; Size 18000C243: mov rdx, r15; Src 18000C246: mov rcx, rbx; void * 18000C249: call memmove 18000C24E: lea rax, [rsp+78h+Src] 18000C253: add r14, 100h 18000C25A: cmp r14, rax 18000C25D: jz short loc_18000C292 18000C25F: mov r15, [r14] 18000C262: mov rax, [r14+10h] 18000C266: sub rax, r15 18000C269: cmp rbp, rax 18000C26C: jbe short loc_18000C27C 18000C26E: mov rdx, rbp 18000C271: mov rcx, r14 18000C274: call sub_180002BA0 18000C279: mov r15, [r14] 18000C27C: mov r8, rbp; Size 18000C27F: mov rdx, rbx; Src 18000C282: mov rcx, r15; void * 18000C285: call memmove 18000C28A: lea rax, [r15+rbp] 18000C28E: mov [r14+8], rax 18000C292: test rbx, rbx 18000C295: jz short loc_18000C2CD 18000C297: sub rdi, rbx 18000C29A: mov rax, rbx 18000C29D: cmp rdi, 1000h 18000C2A4: jb short loc_18000C2C2 18000C2A6: mov rbx, [rbx-8] 18000C2AA: add rdi, 27h ; ''' 18000C2AE: sub rax, rbx 18000C2B1: add rax, 0FFFFFFFFFFFFFFF8h 18000C2B5: cmp rax, 1Fh 18000C2B9: jbe short loc_18000C2C2 18000C2BB: call cs:_invalid_parameter_noinfo_noreturn 18000C2C1: int 3; Trap to Debugger 18000C2C2: mov rdx, rdi 18000C2C5: mov rcx, rbx; Block 18000C2C8: call j_j_free 18000C2CD: mov rdi, [rsp+78h+arg_10] 18000C2D5: mov r14, [rsp+78h+var_28] 18000C2DA: mov rcx, [rsp+78h+var_30] 18000C2DF: xor rcx, rsp; StackCookie 18000C2E2: call __security_check_cookie 18000C2E7: add rsp, 58h 18000C2EB: pop r15 18000C2ED: pop rsi 18000C2EE: pop rbp 18000C2EF: pop rbx 18000C2F0: retn 18000C2F1: call sub_180002B80 18000C2F6: db 0CCh ### FUNC 18000C300 - 18000C37A (122 bytes) name=SetUpdateCallback 18000C300: mov [rsp+arg_8], rbx 18000C305: mov [rsp+arg_10], rsi 18000C30A: push rdi 18000C30B: sub rsp, 30h 18000C30F: mov rsi, rcx 18000C312: call sub_18000B530 18000C317: mov rdx, [rax+230h] 18000C31E: mov rbx, [rdx+60h] 18000C322: mov rdi, [rdx+68h] 18000C326: cmp rbx, rdi 18000C329: jz short loc_18000C36A 18000C32B: mov [rsp+38h+arg_0], rbp 18000C330: xor ebp, ebp 18000C332: mov rcx, [rbx] 18000C335: lea r9, off_1800158D0 18000C33C: lea r8, off_180015718 18000C343: mov [rsp+38h+var_18], ebp 18000C347: xor edx, edx 18000C349: call __RTDynamicCast 18000C34E: test rax, rax 18000C351: jnz short loc_18000C35E 18000C353: add rbx, 8 18000C357: cmp rbx, rdi 18000C35A: jnz short loc_18000C332 18000C35C: jmp short loc_18000C365 18000C35E: mov [rax+0D8h], rsi 18000C365: mov rbp, [rsp+38h+arg_0] 18000C36A: mov rbx, [rsp+38h+arg_8] 18000C36F: mov rsi, [rsp+38h+arg_10] 18000C374: add rsp, 30h 18000C378: pop rdi 18000C379: retn ### FUNC 18000C380 - 18000C463 (227 bytes) name=StartUpdate 18000C380: mov [rsp+arg_10], rbx 18000C385: push rsi 18000C386: sub rsp, 40h 18000C38A: call sub_18000B530 18000C38F: mov rcx, [rax+230h] 18000C396: mov rbx, [rcx+60h] 18000C39A: mov rsi, [rcx+68h] 18000C39E: cmp rbx, rsi 18000C3A1: jz short loc_18000C3E7 18000C3A3: mov [rsp+48h+arg_0], rbp 18000C3A8: xor ebp, ebp 18000C3AA: mov [rsp+48h+arg_8], rdi 18000C3AF: nop 18000C3B0: mov rcx, [rbx] 18000C3B3: lea r9, off_1800158D0 18000C3BA: lea r8, off_180015718 18000C3C1: mov [rsp+48h+InitFlag], ebp 18000C3C5: xor edx, edx 18000C3C7: call __RTDynamicCast 18000C3CC: mov rdi, rax 18000C3CF: test rax, rax 18000C3D2: jnz short loc_18000C3F2 18000C3D4: add rbx, 8 18000C3D8: cmp rbx, rsi 18000C3DB: jnz short loc_18000C3B0 18000C3DD: mov rbp, [rsp+48h+arg_0] 18000C3E2: mov rdi, [rsp+48h+arg_8] 18000C3E7: mov rbx, [rsp+48h+arg_10] 18000C3EC: add rsp, 40h 18000C3F0: pop rsi 18000C3F1: retn 18000C3F2: mov ecx, 10h; Size 18000C3F7: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000C3FC: lea rcx, sub_1800091E0 18000C403: mov r9, rax; ArgList 18000C406: lea r8, StartAddress; StartAddress 18000C40D: xor edx, edx; StackSize 18000C40F: mov [rax+8], rcx 18000C413: lea rcx, [rsp+48h+var_18+8] 18000C418: mov [rsp+48h+ThrdAddr], rcx; ThrdAddr 18000C41D: xor ecx, ecx; Security 18000C41F: mov [rax], rdi 18000C422: mov [rsp+48h+InitFlag], ebp; InitFlag 18000C426: call cs:_beginthreadex 18000C42C: mov qword ptr [rsp+48h+var_18], rax 18000C431: test rax, rax 18000C434: jz short loc_18000C453 18000C436: cmp [rdi+120h], ebp 18000C43C: jnz short loc_18000C44C 18000C43E: movaps xmm0, xmmword ptr [rsp+48h+var_18] 18000C443: movups xmmword ptr [rdi+118h], xmm0 18000C44A: jmp short loc_18000C3DD 18000C44C: call cs:terminate 18000C452: int 3; Trap to Debugger 18000C453: mov ecx, 6 18000C458: mov [rsp+48h+var_18+8], ebp 18000C45C: call cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int) 18000C462: db 0CCh ### FUNC 18000C470 - 18000C513 (163 bytes) name=sub_18000C470 18000C470: mov [rsp+arg_0], rbx 18000C475: mov [rsp+arg_8], rbp 18000C47A: mov [rsp+arg_10], rsi 18000C47F: push rdi 18000C480: sub rsp, 20h 18000C484: mov rbp, [rcx+8] 18000C488: mov rdi, rdx 18000C48B: sub rbp, [rcx] 18000C48E: mov rsi, rcx 18000C491: cmp rdx, 1000h 18000C498: jb short loc_18000C4C2 18000C49A: lea rcx, [rdx+27h]; Size 18000C49E: cmp rcx, rdx 18000C4A1: jbe short loc_18000C50D 18000C4A3: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000C4A8: test rax, rax 18000C4AB: jz short loc_18000C4BB 18000C4AD: lea rbx, [rax+27h] 18000C4B1: and rbx, 0FFFFFFFFFFFFFFE0h 18000C4B5: mov [rbx-8], rax 18000C4B9: jmp short loc_18000C4D6 18000C4BB: call cs:_invalid_parameter_noinfo_noreturn 18000C4C1: int 3; Trap to Debugger 18000C4C2: test rdi, rdi 18000C4C5: jz short loc_18000C4D4 18000C4C7: mov rcx, rdi; Size 18000C4CA: call ??2@YAPEAX_K@Z; operator new(unsigned __int64) 18000C4CF: mov rbx, rax 18000C4D2: jmp short loc_18000C4D6 18000C4D4: xor ebx, ebx 18000C4D6: mov rdx, [rsi]; Src 18000C4D9: mov rcx, rbx; void * 18000C4DC: mov r8, [rsi+8] 18000C4E0: sub r8, rdx; Size 18000C4E3: call memmove 18000C4E8: mov r9, rdi 18000C4EB: mov r8, rbp 18000C4EE: mov rdx, rbx 18000C4F1: mov rcx, rsi 18000C4F4: mov rbx, [rsp+28h+arg_0] 18000C4F9: mov rbp, [rsp+28h+arg_8] 18000C4FE: mov rsi, [rsp+28h+arg_10] 18000C503: add rsp, 20h 18000C507: pop rdi 18000C508: jmp sub_180007280 18000C50D: call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) 18000C512: db 0CCh ### FUNC 18000C530 - 18000C551 (33 bytes) name=__security_check_cookie 18000C530: cmp rcx, cs:__security_cookie 18000C537: bnd jnz short ReportFailure 18000C53A: rol rcx, 10h 18000C53E: test cx, 0FFFFh 18000C543: bnd jnz short RestoreRcx 18000C546: bnd retn 18000C548: ror rcx, 10h; StackCookie 18000C54C: jmp __report_gsfailure ### FUNC 18000C554 - 18000C590 (60 bytes) name=??2@YAPEAX_K@Z 18000C554: push rbx 18000C556: sub rsp, 20h 18000C55A: mov rbx, rcx 18000C55D: jmp short loc_18000C56E 18000C55F: mov rcx, rbx; Size 18000C562: call _callnewh 18000C567: test eax, eax 18000C569: jz short loc_18000C57E 18000C56B: mov rcx, rbx; Size 18000C56E: call malloc 18000C573: test rax, rax 18000C576: jz short loc_18000C55F 18000C578: add rsp, 20h 18000C57C: pop rbx 18000C57D: retn 18000C57E: cmp rbx, 0FFFFFFFFFFFFFFFFh 18000C582: jz short loc_18000C58A 18000C584: call ?cancel_current_task@Concurrency@@YAXXZ_0 18000C589: align 2 18000C58A: call ?cancel_current_task@Concurrency@@YAXXZ 18000C58F: align 10h ### FUNC 18000C590 - 18000C5C9 (57 bytes) name=__scrt_acquire_startup_lock 18000C590: sub rsp, 28h 18000C594: call ?__uncaught_exception@@YA_NXZ 18000C599: test eax, eax 18000C59B: jz short loc_18000C5BE 18000C59D: mov rax, gs:30h 18000C5A6: mov rcx, [rax+8] 18000C5AA: jmp short loc_18000C5B1 18000C5AC: cmp rcx, rax 18000C5AF: jz short loc_18000C5C5 18000C5B1: xor eax, eax 18000C5B3: lock cmpxchg cs:qword_1800159A8, rcx 18000C5BC: jnz short loc_18000C5AC 18000C5BE: xor al, al 18000C5C0: add rsp, 28h 18000C5C4: retn 18000C5C5: mov al, 1 18000C5C7: jmp short loc_18000C5C0 ### FUNC 18000C5CC - 18000C600 (52 bytes) name=__scrt_dllmain_after_initialize_c 18000C5CC: sub rsp, 28h 18000C5D0: call ?__uncaught_exception@@YA_NXZ 18000C5D5: test eax, eax 18000C5D7: jz short loc_18000C5E0 18000C5D9: call __isa_available_init 18000C5DE: jmp short loc_18000C5F9 18000C5E0: call DllMain 18000C5E5: mov ecx, eax; mode 18000C5E7: call _configure_narrow_argv 18000C5EC: test eax, eax 18000C5EE: jz short loc_18000C5F4 18000C5F0: xor al, al 18000C5F2: jmp short loc_18000C5FB 18000C5F4: call _initialize_narrow_environment 18000C5F9: mov al, 1 18000C5FB: add rsp, 28h 18000C5FF: retn ### FUNC 18000C600 - 18000C615 (21 bytes) name=__scrt_dllmain_before_initialize_c 18000C600: sub rsp, 28h 18000C604: xor ecx, ecx 18000C606: call __scrt_initialize_onexit_tables 18000C60B: test al, al 18000C60D: setnz al 18000C610: add rsp, 28h 18000C614: retn ### FUNC 18000C618 - 18000C640 (40 bytes) name=sub_18000C618 18000C618: sub rsp, 28h 18000C61C: call sub_18000D750 18000C621: test al, al 18000C623: jnz short loc_18000C629 18000C625: xor al, al 18000C627: jmp short loc_18000C63B 18000C629: call sub_18000D750 18000C62E: test al, al 18000C630: jnz short loc_18000C639 18000C632: call sub_18000D750 18000C637: jmp short loc_18000C625 18000C639: mov al, 1 18000C63B: add rsp, 28h 18000C63F: retn ### FUNC 18000C640 - 18000C655 (21 bytes) name=__scrt_dllmain_crt_thread_detach 18000C640: sub rsp, 28h 18000C644: call sub_18000D750 18000C649: call sub_18000D750 18000C64E: mov al, 1 18000C650: add rsp, 28h 18000C654: retn ### FUNC 18000C658 - 18000C6B8 (96 bytes) name=__scrt_dllmain_exception_filter 18000C658: mov [rsp+arg_0], rbx 18000C65D: mov [rsp+arg_8], rbp 18000C662: mov [rsp+arg_10], rsi 18000C667: push rdi 18000C668: sub rsp, 20h 18000C66C: mov rdi, r9 18000C66F: mov rsi, r8 18000C672: mov ebx, edx 18000C674: mov rbp, rcx 18000C677: call ?__uncaught_exception@@YA_NXZ 18000C67C: test eax, eax 18000C67E: jnz short loc_18000C696 18000C680: cmp ebx, 1 18000C683: jnz short loc_18000C696 18000C685: mov r8, rsi 18000C688: xor edx, edx 18000C68A: mov rcx, rbp 18000C68D: mov rax, rdi 18000C690: call cs:__guard_dispatch_icall_fptr 18000C696: mov rdx, [rsp+28h+ExceptionPtr]; ExceptionPtr 18000C69B: mov ecx, [rsp+28h+ExceptionNum]; ExceptionNum 18000C69F: mov rbx, [rsp+28h+arg_0] 18000C6A4: mov rbp, [rsp+28h+arg_8] 18000C6A9: mov rsi, [rsp+28h+arg_10] 18000C6AE: add rsp, 20h 18000C6B2: pop rdi 18000C6B3: jmp _seh_filter_dll ### FUNC 18000C6B8 - 18000C6E8 (48 bytes) name=__scrt_dllmain_uninitialize_c 18000C6B8: sub rsp, 28h 18000C6BC: call ?__uncaught_exception@@YA_NXZ 18000C6C1: test eax, eax 18000C6C3: jz short loc_18000C6D5 18000C6C5: lea rcx, Table; Table 18000C6CC: add rsp, 28h 18000C6D0: jmp _execute_onexit_table 18000C6D5: call sub_18000D754 18000C6DA: test eax, eax 18000C6DC: jnz short loc_18000C6E3 18000C6DE: call _cexit 18000C6E3: add rsp, 28h 18000C6E7: retn ### FUNC 18000C6E8 - 18000C6FC (20 bytes) name=__scrt_dllmain_uninitialize_critical 18000C6E8: sub rsp, 28h 18000C6EC: xor ecx, ecx 18000C6EE: call sub_18000D750 18000C6F3: add rsp, 28h 18000C6F7: jmp sub_18000D750 ### FUNC 18000C6FC - 18000C745 (73 bytes) name=__scrt_initialize_crt 18000C6FC: push rbx 18000C6FE: sub rsp, 20h 18000C702: movzx eax, cs:byte_1800159B0 18000C709: test ecx, ecx 18000C70B: mov ebx, 1 18000C710: cmovz eax, ebx 18000C713: mov cs:byte_1800159B0, al 18000C719: call __isa_available_init 18000C71E: call sub_18000D750 18000C723: test al, al 18000C725: jnz short loc_18000C72B 18000C727: xor al, al 18000C729: jmp short loc_18000C73F 18000C72B: call sub_18000D750 18000C730: test al, al 18000C732: jnz short loc_18000C73D 18000C734: xor ecx, ecx 18000C736: call sub_18000D750 18000C73B: jmp short loc_18000C727 18000C73D: mov al, bl 18000C73F: add rsp, 20h 18000C743: pop rbx 18000C744: retn ### FUNC 18000C748 - 18000C7D3 (139 bytes) name=__scrt_initialize_onexit_tables 18000C748: push rbx 18000C74A: sub rsp, 20h 18000C74E: cmp cs:byte_1800159B1, 0 18000C755: mov ebx, ecx 18000C757: jnz short loc_18000C7C0 18000C759: cmp ecx, 1 18000C75C: ja short loc_18000C7C8 18000C75E: call ?__uncaught_exception@@YA_NXZ 18000C763: test eax, eax 18000C765: jz short loc_18000C78F 18000C767: test ebx, ebx 18000C769: jnz short loc_18000C78F 18000C76B: lea rcx, Table; Table 18000C772: call _initialize_onexit_table 18000C777: test eax, eax 18000C779: jnz short loc_18000C78B 18000C77B: lea rcx, stru_1800159D0; Table 18000C782: call _initialize_onexit_table 18000C787: test eax, eax 18000C789: jz short loc_18000C7B9 18000C78B: xor al, al 18000C78D: jmp short loc_18000C7C2 18000C78F: movdqa xmm0, cs:xmmword_18000F5F0 18000C797: or rax, 0FFFFFFFFFFFFFFFFh 18000C79B: movdqu xmmword ptr cs:Table._first, xmm0 18000C7A3: mov cs:Table._end, rax 18000C7AA: movdqu xmmword ptr cs:stru_1800159D0._first, xmm0 18000C7B2: mov cs:stru_1800159D0._end, rax 18000C7B9: mov cs:byte_1800159B1, 1 18000C7C0: mov al, 1 18000C7C2: add rsp, 20h 18000C7C6: pop rbx 18000C7C7: retn 18000C7C8: mov ecx, 5 18000C7CD: call __scrt_fastfail 18000C7D2: db 0CCh ### FUNC 18000C7D4 - 18000C86C (152 bytes) name=__scrt_is_nonwritable_in_current_image 18000C7D4: sub rsp, 18h 18000C7D8: mov r8, rcx 18000C7DB: mov eax, 5A4Dh 18000C7E0: cmp cs:180000000h, ax 18000C7E7: jnz short loc_18000C861 18000C7E9: movsxd rcx, dword ptr cs:18000003Ch 18000C7F0: lea rdx, cs:180000000h 18000C7F7: add rcx, rdx 18000C7FA: cmp dword ptr [rcx], 4550h 18000C800: jnz short loc_18000C861 18000C802: mov eax, 20Bh 18000C807: cmp [rcx+18h], ax 18000C80B: jnz short loc_18000C861 18000C80D: sub r8, rdx 18000C810: movzx eax, word ptr [rcx+14h] 18000C814: lea rdx, [rcx+18h] 18000C818: add rdx, rax 18000C81B: movzx eax, word ptr [rcx+6] 18000C81F: lea rcx, [rax+rax*4] 18000C823: lea r9, [rdx+rcx*8] 18000C827: mov [rsp+18h+var_18], rdx 18000C82B: cmp rdx, r9 18000C82E: jz short loc_18000C848 18000C830: mov ecx, [rdx+0Ch] 18000C833: cmp r8, rcx 18000C836: jb short loc_18000C842 18000C838: mov eax, [rdx+8] 18000C83B: add eax, ecx 18000C83D: cmp r8, rax 18000C840: jb short loc_18000C84A 18000C842: add rdx, 28h ; '(' 18000C846: jmp short loc_18000C827 18000C848: xor edx, edx 18000C84A: test rdx, rdx 18000C84D: jnz short loc_18000C853 18000C84F: xor al, al 18000C851: jmp short loc_18000C867 18000C853: cmp dword ptr [rdx+24h], 0 18000C857: jge short loc_18000C85D 18000C859: xor al, al 18000C85B: jmp short loc_18000C867 18000C85D: mov al, 1 18000C85F: jmp short loc_18000C867 18000C861: xor al, al 18000C863: jmp short loc_18000C867 18000C865: xor al, al 18000C867: add rsp, 18h 18000C86B: retn ### FUNC 18000C86C - 18000C890 (36 bytes) name=__scrt_release_startup_lock 18000C86C: push rbx 18000C86E: sub rsp, 20h 18000C872: mov bl, cl 18000C874: call ?__uncaught_exception@@YA_NXZ 18000C879: xor edx, edx 18000C87B: test eax, eax 18000C87D: jz short loc_18000C88A 18000C87F: test bl, bl 18000C881: jnz short loc_18000C88A 18000C883: xchg rdx, cs:qword_1800159A8 18000C88A: add rsp, 20h 18000C88E: pop rbx 18000C88F: retn ### FUNC 18000C890 - 18000C8B9 (41 bytes) name=__scrt_uninitialize_crt 18000C890: push rbx 18000C892: sub rsp, 20h 18000C896: cmp cs:byte_1800159B0, 0 18000C89D: mov bl, cl 18000C89F: jz short loc_18000C8A5 18000C8A1: test dl, dl 18000C8A3: jnz short loc_18000C8B1 18000C8A5: call sub_18000D750 18000C8AA: mov cl, bl 18000C8AC: call sub_18000D750 18000C8B1: mov al, 1 18000C8B3: add rsp, 20h 18000C8B7: pop rbx 18000C8B8: retn ### FUNC 18000C8BC - 18000C8F6 (58 bytes) name=_onexit 18000C8BC: push rbx 18000C8BE: sub rsp, 20h 18000C8C2: cmp cs:Table._first, 0FFFFFFFFFFFFFFFFh 18000C8CA: mov rbx, rcx 18000C8CD: jnz short loc_18000C8D6 18000C8CF: call _crt_atexit 18000C8D4: jmp short loc_18000C8E5 18000C8D6: mov rdx, rbx; Function 18000C8D9: lea rcx, Table; Table 18000C8E0: call _register_onexit_function 18000C8E5: xor edx, edx 18000C8E7: test eax, eax 18000C8E9: cmovz rdx, rbx 18000C8ED: mov rax, rdx 18000C8F0: add rsp, 20h 18000C8F4: pop rbx 18000C8F5: retn ### FUNC 18000C8F8 - 18000C90F (23 bytes) name=atexit 18000C8F8: sub rsp, 28h 18000C8FC: call _onexit 18000C901: neg rax 18000C904: sbb eax, eax 18000C906: neg eax 18000C908: dec eax 18000C90A: add rsp, 28h 18000C90E: retn ### FUNC 18000C910 - 18000C915 (5 bytes) name=j_j_free 18000C910: jmp j_free ### FUNC 18000C918 - 18000C943 (43 bytes) name=sub_18000C918 18000C918: push rbx 18000C91A: sub rsp, 20h 18000C91E: lea rax, off_18000F608 18000C925: mov rbx, rcx 18000C928: mov [rcx], rax 18000C92B: test dl, 1 18000C92E: jz short loc_18000C93A 18000C930: mov edx, 18h 18000C935: call j_j_free 18000C93A: mov rax, rbx 18000C93D: add rsp, 20h 18000C941: pop rbx 18000C942: retn ### FUNC 18000C944 - 18000C978 (52 bytes) name=__raise_securityfailure 18000C944: push rbx 18000C946: sub rsp, 20h 18000C94A: mov rbx, rcx 18000C94D: xor ecx, ecx; lpTopLevelExceptionFilter 18000C94F: call cs:SetUnhandledExceptionFilter 18000C955: mov rcx, rbx; ExceptionInfo 18000C958: call cs:UnhandledExceptionFilter 18000C95E: call cs:GetCurrentProcess 18000C964: mov rcx, rax 18000C967: mov edx, 0C0000409h 18000C96C: add rsp, 20h 18000C970: pop rbx 18000C971: jmp cs:TerminateProcess ### FUNC 18000C978 - 18000CA49 (209 bytes) name=__report_gsfailure 18000C978: mov [rsp+arg_0], rcx 18000C97D: sub rsp, 38h 18000C981: mov ecx, 17h; ProcessorFeature 18000C986: call IsProcessorFeaturePresent 18000C98B: test eax, eax 18000C98D: jz short loc_18000C996 18000C98F: mov ecx, 2 18000C994: int 29h; Win8: RtlFailFast(ecx) 18000C996: lea rcx, ContextRecord; ContextRecord 18000C99D: call capture_previous_context 18000C9A2: mov rax, [rsp+38h] 18000C9A7: mov cs:ContextRecord.Rip, rax 18000C9AE: lea rax, [rsp+38h] 18000C9B3: add rax, 8 18000C9B7: mov cs:ContextRecord.Rsp, rax 18000C9BE: mov rax, cs:ContextRecord.Rip 18000C9C5: mov cs:qword_180015A00, rax 18000C9CC: mov rax, [rsp+38h+arg_0] 18000C9D1: mov cs:ContextRecord.Rcx, rax 18000C9D8: mov cs:dword_1800159F0, 0C0000409h 18000C9E2: mov cs:dword_1800159F4, 1 18000C9EC: mov cs:dword_180015A08, 1 18000C9F6: mov eax, 8 18000C9FB: imul rax, 0 18000C9FF: lea rcx, unk_180015A10 18000CA06: mov qword ptr [rcx+rax], 2 18000CA0E: mov eax, 8 18000CA13: imul rax, 0 18000CA17: mov rcx, cs:__security_cookie 18000CA1E: mov [rsp+rax+38h+var_18], rcx 18000CA23: mov eax, 8 18000CA28: imul rax, 1 18000CA2C: mov rcx, cs:qword_180015008 18000CA33: mov [rsp+rax+38h+var_18], rcx 18000CA38: lea rcx, ExceptionInfo; ExceptionInfo 18000CA3F: call __raise_securityfailure 18000CA44: add rsp, 38h 18000CA48: retn ### FUNC 18000CA4C - 18000CA5F (19 bytes) name=__report_rangecheckfailure 18000CA4C: sub rsp, 28h 18000CA50: mov ecx, 8 18000CA55: call __report_securityfailure 18000CA5A: add rsp, 28h 18000CA5E: retn ### FUNC 18000CA60 - 18000CAFB (155 bytes) name=__report_securityfailure 18000CA60: mov [rsp+arg_0], ecx 18000CA64: sub rsp, 28h 18000CA68: mov ecx, 17h; ProcessorFeature 18000CA6D: call IsProcessorFeaturePresent 18000CA72: test eax, eax 18000CA74: jz short loc_18000CA7E 18000CA76: mov eax, [rsp+28h+arg_0] 18000CA7A: mov ecx, eax 18000CA7C: int 29h; Win8: RtlFailFast(ecx) 18000CA7E: lea rcx, ContextRecord; ContextRecord 18000CA85: call capture_current_context 18000CA8A: mov rax, [rsp+28h] 18000CA8F: mov cs:ContextRecord.Rip, rax 18000CA96: lea rax, [rsp+28h] 18000CA9B: add rax, 8 18000CA9F: mov cs:ContextRecord.Rsp, rax 18000CAA6: mov rax, cs:ContextRecord.Rip 18000CAAD: mov cs:qword_180015A00, rax 18000CAB4: mov cs:dword_1800159F0, 0C0000409h 18000CABE: mov cs:dword_1800159F4, 1 18000CAC8: mov cs:dword_180015A08, 1 18000CAD2: mov eax, 8 18000CAD7: imul rax, 0 18000CADB: lea rcx, unk_180015A10 18000CAE2: mov edx, [rsp+28h+arg_0] 18000CAE6: mov [rcx+rax], rdx 18000CAEA: lea rcx, ExceptionInfo; ExceptionInfo 18000CAF1: call __raise_securityfailure 18000CAF6: add rsp, 28h 18000CAFA: retn ### FUNC 18000CAFC - 18000CB69 (109 bytes) name=capture_current_context 18000CAFC: mov [rsp+arg_18], rbx 18000CB01: push rdi 18000CB02: sub rsp, 40h 18000CB06: mov rbx, rcx 18000CB09: call cs:RtlCaptureContext 18000CB0F: mov rdi, [rbx+0F8h] 18000CB16: lea rdx, [rsp+48h+ImageBase]; ImageBase 18000CB1B: mov rcx, rdi; ControlPc 18000CB1E: xor r8d, r8d; HistoryTable 18000CB21: call cs:RtlLookupFunctionEntry 18000CB27: test rax, rax 18000CB2A: jz short loc_18000CB5E 18000CB2C: and [rsp+48h+var_10], 0 18000CB32: lea rcx, [rsp+48h+arg_8] 18000CB37: mov rdx, [rsp+48h+ImageBase]; ImageBase 18000CB3C: mov r9, rax; FunctionEntry 18000CB3F: mov [rsp+48h+EstablisherFrame], rcx; EstablisherFrame 18000CB44: mov r8, rdi; ControlPc 18000CB47: lea rcx, [rsp+48h+arg_10] 18000CB4C: mov [rsp+48h+HandlerData], rcx; HandlerData 18000CB51: xor ecx, ecx; HandlerType 18000CB53: mov [rsp+48h+ContextRecord], rbx; ContextRecord 18000CB58: call cs:RtlVirtualUnwind 18000CB5E: mov rbx, [rsp+48h+arg_18] 18000CB63: add rsp, 40h 18000CB67: pop rdi 18000CB68: retn ### FUNC 18000CB6C - 18000CBDD (113 bytes) name=capture_previous_context 18000CB6C: push rbx 18000CB6E: push rsi 18000CB6F: push rdi 18000CB70: sub rsp, 40h 18000CB74: mov rbx, rcx 18000CB77: call cs:RtlCaptureContext 18000CB7D: mov rsi, [rbx+0F8h] 18000CB84: xor edi, edi 18000CB86: xor r8d, r8d; HistoryTable 18000CB89: lea rdx, [rsp+58h+ImageBase]; ImageBase 18000CB8E: mov rcx, rsi; ControlPc 18000CB91: call cs:RtlLookupFunctionEntry 18000CB97: test rax, rax 18000CB9A: jz short loc_18000CBD5 18000CB9C: and [rsp+58h+var_20], 0 18000CBA2: lea rcx, [rsp+58h+arg_8] 18000CBA7: mov rdx, [rsp+58h+ImageBase]; ImageBase 18000CBAC: mov r9, rax; FunctionEntry 18000CBAF: mov [rsp+58h+EstablisherFrame], rcx; EstablisherFrame 18000CBB4: mov r8, rsi; ControlPc 18000CBB7: lea rcx, [rsp+58h+arg_10] 18000CBBC: mov [rsp+58h+HandlerData], rcx; HandlerData 18000CBC1: xor ecx, ecx; HandlerType 18000CBC3: mov [rsp+58h+ContextRecord], rbx; ContextRecord 18000CBC8: call cs:RtlVirtualUnwind 18000CBCE: inc edi 18000CBD0: cmp edi, 2 18000CBD3: jl short loc_18000CB86 18000CBD5: add rsp, 40h 18000CBD9: pop rdi 18000CBDA: pop rsi 18000CBDB: pop rbx 18000CBDC: retn ### FUNC 18000CBE0 - 18000CCB0 (208 bytes) name=?__scrt_initialize_thread_safe_statics@@YAHXZ 18000CBE0: mov [rsp+arg_0], rbx 18000CBE5: push rdi 18000CBE6: sub rsp, 20h 18000CBEA: mov edx, 0FA0h; dwSpinCount 18000CBEF: lea rcx, CriticalSection; lpCriticalSection 18000CBF6: call cs:InitializeCriticalSectionAndSpinCount 18000CBFC: lea rcx, ModuleName 18000CC03: call cs:GetModuleHandleW 18000CC09: mov rbx, rax 18000CC0C: test rax, rax 18000CC0F: jnz short loc_18000CC26 18000CC11: lea rcx, aKernel32Dll_0 18000CC18: call cs:GetModuleHandleW 18000CC1E: mov rbx, rax 18000CC21: test rax, rax 18000CC24: jz short loc_18000CCA5 18000CC26: lea rdx, ProcName 18000CC2D: mov rcx, rbx; hModule 18000CC30: call cs:GetProcAddress 18000CC36: lea rdx, aWakeallconditi 18000CC3D: mov rcx, rbx; hModule 18000CC40: mov rdi, rax 18000CC43: call cs:GetProcAddress 18000CC49: test rdi, rdi 18000CC4C: jz short loc_18000CC63 18000CC4E: test rax, rax 18000CC51: jz short loc_18000CC63 18000CC53: mov cs:qword_180015F98, rdi 18000CC5A: mov cs:qword_180015FA0, rax 18000CC61: jmp short loc_18000CC81 18000CC63: xor r9d, r9d; lpName 18000CC66: xor r8d, r8d; bInitialState 18000CC69: xor ecx, ecx; lpEventAttributes 18000CC6B: lea edx, [r9+1]; bManualReset 18000CC6F: call cs:CreateEventW 18000CC75: mov cs:hHandle, rax 18000CC7C: test rax, rax 18000CC7F: jz short loc_18000CCA5 18000CC81: xor ecx, ecx 18000CC83: call __scrt_initialize_onexit_tables 18000CC88: test al, al 18000CC8A: jz short loc_18000CCA5 18000CC8C: lea rcx, ?__scrt_uninitialize_thread_safe_statics@@YAXXZ; void (__cdecl *)() 18000CC93: call atexit 18000CC98: mov rbx, [rsp+28h+arg_0] 18000CC9D: xor eax, eax 18000CC9F: add rsp, 20h 18000CCA3: pop rdi 18000CCA4: retn 18000CCA5: mov ecx, 7 18000CCAA: call __scrt_fastfail 18000CCAF: int 3; Trap to Debugger ### FUNC 18000CCB0 - 18000CCD8 (40 bytes) name=?__scrt_uninitialize_thread_safe_statics@@YAXXZ 18000CCB0: sub rsp, 28h 18000CCB4: lea rcx, CriticalSection; lpCriticalSection 18000CCBB: call cs:DeleteCriticalSection 18000CCC1: mov rcx, cs:hHandle; hObject 18000CCC8: test rcx, rcx 18000CCCB: jz short loc_18000CCD3 18000CCCD: call cs:CloseHandle 18000CCD3: add rsp, 28h 18000CCD7: retn ### FUNC 18000CCD8 - 18000CD08 (48 bytes) name=_Init_thread_abort 18000CCD8: push rbx 18000CCDA: sub rsp, 20h 18000CCDE: mov rbx, rcx 18000CCE1: lea rcx, CriticalSection; lpCriticalSection 18000CCE8: call cs:EnterCriticalSection 18000CCEE: and dword ptr [rbx], 0 18000CCF1: lea rcx, CriticalSection; lpCriticalSection 18000CCF8: call cs:LeaveCriticalSection 18000CCFE: add rsp, 20h 18000CD02: pop rbx 18000CD03: jmp _Init_thread_notify ### FUNC 18000CD08 - 18000CD68 (96 bytes) name=_Init_thread_footer 18000CD08: push rbx 18000CD0A: sub rsp, 20h 18000CD0E: mov rbx, rcx 18000CD11: lea rcx, CriticalSection; lpCriticalSection 18000CD18: call cs:EnterCriticalSection 18000CD1E: mov eax, cs:dword_180015004 18000CD24: lea rcx, CriticalSection; lpCriticalSection 18000CD2B: mov edx, cs:TlsIndex 18000CD31: inc eax 18000CD33: mov cs:dword_180015004, eax 18000CD39: mov [rbx], eax 18000CD3B: mov rax, gs:58h 18000CD44: mov r9d, 4 18000CD4A: mov r8, [rax+rdx*8] 18000CD4E: mov eax, cs:dword_180015004 18000CD54: mov [r9+r8], eax 18000CD58: call cs:LeaveCriticalSection 18000CD5E: add rsp, 20h 18000CD62: pop rbx 18000CD63: jmp _Init_thread_notify ### FUNC 18000CD68 - 18000CDCF (103 bytes) name=_Init_thread_header 18000CD68: push rbx 18000CD6A: sub rsp, 20h 18000CD6E: mov rbx, rcx 18000CD71: lea rcx, CriticalSection; lpCriticalSection 18000CD78: call cs:EnterCriticalSection 18000CD7E: cmp dword ptr [rbx], 0 18000CD81: jnz short loc_18000CD94 18000CD83: or dword ptr [rbx], 0FFFFFFFFh 18000CD86: jmp short loc_18000CDBC 18000CD88: mov ecx, 64h ; 'd'; dwMilliseconds 18000CD8D: call _Init_thread_wait 18000CD92: jmp short loc_18000CD7E 18000CD94: cmp dword ptr [rbx], 0FFFFFFFFh 18000CD97: jz short loc_18000CD88 18000CD99: mov rax, gs:58h 18000CDA2: mov ecx, cs:TlsIndex 18000CDA8: mov r8d, 4 18000CDAE: mov rdx, [rax+rcx*8] 18000CDB2: mov eax, cs:dword_180015004 18000CDB8: mov [r8+rdx], eax 18000CDBC: lea rcx, CriticalSection 18000CDC3: add rsp, 20h 18000CDC7: pop rbx 18000CDC8: jmp cs:LeaveCriticalSection ### FUNC 18000CDD0 - 18000CE11 (65 bytes) name=_Init_thread_notify 18000CDD0: sub rsp, 28h 18000CDD4: mov rax, cs:qword_180015FA0 18000CDDB: test rax, rax 18000CDDE: jz short loc_18000CDF2 18000CDE0: lea rcx, unk_180015F60 18000CDE7: add rsp, 28h 18000CDEB: jmp cs:__guard_dispatch_icall_fptr 18000CDF2: mov rcx, cs:hHandle; hEvent 18000CDF9: call cs:SetEvent 18000CDFF: mov rcx, cs:hHandle 18000CE06: add rsp, 28h 18000CE0A: jmp cs:ResetEvent ### FUNC 18000CE14 - 18000CE77 (99 bytes) name=_Init_thread_wait 18000CE14: push rbx 18000CE16: sub rsp, 20h 18000CE1A: mov rax, cs:qword_180015F98 18000CE21: mov ebx, ecx 18000CE23: test rax, rax 18000CE26: jz short loc_18000CE45 18000CE28: mov r8d, ecx 18000CE2B: lea rdx, CriticalSection 18000CE32: lea rcx, unk_180015F60 18000CE39: add rsp, 20h 18000CE3D: pop rbx 18000CE3E: jmp cs:__guard_dispatch_icall_fptr 18000CE45: lea rcx, CriticalSection; lpCriticalSection 18000CE4C: call cs:LeaveCriticalSection 18000CE52: mov rcx, cs:hHandle; hHandle 18000CE59: xor r8d, r8d; bAlertable 18000CE5C: mov edx, ebx; dwMilliseconds 18000CE5E: call cs:WaitForSingleObjectEx 18000CE64: lea rcx, CriticalSection 18000CE6B: add rsp, 20h 18000CE6F: pop rbx 18000CE70: jmp cs:EnterCriticalSection ### FUNC 18000CE78 - 18000CE7D (5 bytes) name=j_??2@YAPEAX_K@Z 18000CE78: jmp ??2@YAPEAX_K@Z ### FUNC 18000CE80 - 18000CED0 (80 bytes) name=?dllmain_crt_dispatch@@YAHQEAUHINSTANCE__@@KQEAX@Z 18000CE80: sub rsp, 28h 18000CE84: test edx, edx 18000CE86: jz short loc_18000CEC1 18000CE88: sub edx, 1 18000CE8B: jz short loc_18000CEB5 18000CE8D: sub edx, 1 18000CE90: jz short loc_18000CEA8 18000CE92: cmp edx, 1 18000CE95: jz short loc_18000CEA1 18000CE97: mov eax, 1 18000CE9C: add rsp, 28h 18000CEA0: retn 18000CEA1: call __scrt_dllmain_crt_thread_detach 18000CEA6: jmp short loc_18000CEAD 18000CEA8: call sub_18000C618 18000CEAD: movzx eax, al 18000CEB0: add rsp, 28h 18000CEB4: retn 18000CEB5: mov rdx, r8; void * 18000CEB8: add rsp, 28h 18000CEBC: jmp ?dllmain_crt_process_attach@@YAHQEAUHINSTANCE__@@QEAX@Z 18000CEC1: test r8, r8 18000CEC4: setnz cl; bool 18000CEC7: add rsp, 28h 18000CECB: jmp ?dllmain_crt_process_detach@@YAH_N@Z ### FUNC 18000CED0 - 18000CFE6 (278 bytes) name=?dllmain_crt_process_attach@@YAHQEAUHINSTANCE__@@QEAX@Z 18000CED0: mov [rsp+arg_0], rbx 18000CED5: mov [rsp+arg_8], rsi 18000CEDA: mov [rsp+arg_18], rdi 18000CEDF: push r14 18000CEE1: sub rsp, 20h 18000CEE5: mov rsi, rdx 18000CEE8: mov r14, rcx 18000CEEB: xor ecx, ecx 18000CEED: call __scrt_initialize_crt 18000CEF2: test al, al 18000CEF4: jz loc_18000CFC2 18000CEFA: call __scrt_acquire_startup_lock 18000CEFF: mov bl, al 18000CF01: mov [rsp+28h+arg_10], al 18000CF05: mov dil, 1 18000CF08: cmp cs:dword_1800159A0, 0 18000CF0F: jnz loc_18000CFDA 18000CF15: mov cs:dword_1800159A0, 1 18000CF1F: call __scrt_dllmain_before_initialize_c 18000CF24: test al, al 18000CF26: jz short loc_18000CF77 18000CF28: call sub_18000D620 18000CF2D: call sub_18000D5D8 18000CF32: call __scrt_initialize_default_local_stdio_options 18000CF37: lea rdx, Last; Last 18000CF3E: lea rcx, First; First 18000CF45: call _initterm_e 18000CF4A: test eax, eax 18000CF4C: jnz short loc_18000CF77 18000CF4E: call __scrt_dllmain_after_initialize_c 18000CF53: test al, al 18000CF55: jz short loc_18000CF77 18000CF57: lea rdx, qword_18000F598; Last 18000CF5E: lea rcx, qword_18000F4E0; First 18000CF65: call _initterm 18000CF6A: mov cs:dword_1800159A0, 2 18000CF74: xor dil, dil 18000CF77: mov cl, bl 18000CF79: call __scrt_release_startup_lock 18000CF7E: test dil, dil 18000CF81: jnz short loc_18000CFC2 18000CF83: call sub_18000D618 18000CF88: mov rbx, rax 18000CF8B: cmp qword ptr [rax], 0 18000CF8F: jz short loc_18000CFB5 18000CF91: mov rcx, rax 18000CF94: call __scrt_is_nonwritable_in_current_image 18000CF99: test al, al 18000CF9B: jz short loc_18000CFB5 18000CF9D: mov r8, rsi 18000CFA0: mov edx, 2 18000CFA5: mov rcx, r14 18000CFA8: mov rax, [rbx] 18000CFAB: mov r9, cs:__guard_dispatch_icall_fptr 18000CFB2: call r9 ; _guard_dispatch_icall_nop 18000CFB5: inc cs:dword_180015FA8 18000CFBB: mov eax, 1 18000CFC0: jmp short loc_18000CFC4 18000CFC2: xor eax, eax 18000CFC4: mov rbx, [rsp+28h+arg_0] 18000CFC9: mov rsi, [rsp+28h+arg_8] 18000CFCE: mov rdi, [rsp+28h+arg_18] 18000CFD3: add rsp, 20h 18000CFD7: pop r14 18000CFD9: retn 18000CFDA: mov ecx, 7 18000CFDF: call __scrt_fastfail 18000CFE4: nop 18000CFE5: int 3; Trap to Debugger ### FUNC 18000CFE8 - 18000D06C (132 bytes) name=?dllmain_crt_process_detach@@YAH_N@Z 18000CFE8: mov [rsp+arg_0], rbx 18000CFED: push rdi 18000CFEE: sub rsp, 30h 18000CFF2: mov dil, cl 18000CFF5: mov eax, cs:dword_180015FA8 18000CFFB: test eax, eax 18000CFFD: jg short loc_18000D00C 18000CFFF: xor eax, eax 18000D001: mov rbx, [rsp+38h+arg_0] 18000D006: add rsp, 30h 18000D00A: pop rdi 18000D00B: retn 18000D00C: dec eax 18000D00E: mov cs:dword_180015FA8, eax 18000D014: call __scrt_acquire_startup_lock 18000D019: mov bl, al 18000D01B: mov [rsp+38h+var_18], al 18000D01F: cmp cs:dword_1800159A0, 2 18000D026: jnz short loc_18000D05F 18000D028: call __scrt_dllmain_uninitialize_c 18000D02D: call sub_18000D5E8 18000D032: call sub_18000D65C 18000D037: and cs:dword_1800159A0, 0 18000D03E: mov cl, bl 18000D040: call __scrt_release_startup_lock 18000D045: xor edx, edx 18000D047: mov cl, dil 18000D04A: call __scrt_uninitialize_crt 18000D04F: neg al 18000D051: sbb ebx, ebx 18000D053: and ebx, 1 18000D056: call __scrt_dllmain_uninitialize_critical 18000D05B: mov eax, ebx 18000D05D: jmp short loc_18000D001 18000D05F: mov ecx, 7 18000D064: call __scrt_fastfail 18000D069: nop 18000D06A: nop 18000D06B: int 3; Trap to Debugger ### FUNC 18000D06C - 18000D19F (307 bytes) name=?dllmain_dispatch@@YAHQEAUHINSTANCE__@@KQEAX@Z 18000D06C: mov rax, rsp 18000D06F: mov [rax+20h], rbx 18000D073: mov [rax+18h], r8 18000D077: mov [rax+10h], edx 18000D07A: mov [rax+8], rcx 18000D07E: push rsi 18000D07F: push rdi 18000D080: push r14 18000D082: sub rsp, 40h 18000D086: mov rsi, r8 18000D089: mov edi, edx 18000D08B: mov r14, rcx 18000D08E: test edx, edx 18000D090: jnz short loc_18000D0A1 18000D092: cmp cs:dword_180015FA8, edx 18000D098: jg short loc_18000D0A1 18000D09A: xor eax, eax 18000D09C: jmp loc_18000D191 18000D0A1: lea eax, [rdx-1] 18000D0A4: cmp eax, 1 18000D0A7: ja short loc_18000D0EE 18000D0A9: mov rax, cs:qword_18000F6C8 18000D0B0: test rax, rax 18000D0B3: jnz short loc_18000D0BF 18000D0B5: mov [rsp+58h+var_28], 1 18000D0BD: jmp short loc_18000D0D3 18000D0BF: call cs:__guard_dispatch_icall_fptr 18000D0C5: mov ebx, eax 18000D0C7: mov [rsp+58h+var_28], eax 18000D0CB: test eax, eax 18000D0CD: jz loc_18000D187 18000D0D3: mov r8, rsi; void * 18000D0D6: mov edx, edi; unsigned int 18000D0D8: mov rcx, r14; HINSTANCE 18000D0DB: call ?dllmain_crt_dispatch@@YAHQEAUHINSTANCE__@@KQEAX@Z 18000D0E0: mov ebx, eax 18000D0E2: mov [rsp+58h+var_28], eax 18000D0E6: test eax, eax 18000D0E8: jz loc_18000D187 18000D0EE: mov r8, rsi; lpvReserved 18000D0F1: mov edx, edi; fdwReason 18000D0F3: mov rcx, r14; hinstDLL 18000D0F6: call DllMain 18000D0FB: mov ebx, eax 18000D0FD: mov [rsp+58h+var_28], eax 18000D101: cmp edi, 1 18000D104: jnz short loc_18000D13E 18000D106: test eax, eax 18000D108: jnz short loc_18000D13E 18000D10A: mov r8, rsi; lpvReserved 18000D10D: xor edx, edx; fdwReason 18000D10F: mov rcx, r14; hinstDLL 18000D112: call DllMain 18000D117: mov r8, rsi; void * 18000D11A: xor edx, edx; unsigned int 18000D11C: mov rcx, r14; HINSTANCE 18000D11F: call ?dllmain_crt_dispatch@@YAHQEAUHINSTANCE__@@KQEAX@Z 18000D124: mov rax, cs:qword_18000F6C8 18000D12B: test rax, rax 18000D12E: jz short loc_18000D13E 18000D130: mov r8, rsi 18000D133: xor edx, edx 18000D135: mov rcx, r14 18000D138: call cs:__guard_dispatch_icall_fptr 18000D13E: test edi, edi 18000D140: jz short loc_18000D147 18000D142: cmp edi, 3 18000D145: jnz short loc_18000D187 18000D147: mov r8, rsi; void * 18000D14A: mov edx, edi; unsigned int 18000D14C: mov rcx, r14; HINSTANCE 18000D14F: call ?dllmain_crt_dispatch@@YAHQEAUHINSTANCE__@@KQEAX@Z 18000D154: mov ebx, eax 18000D156: mov [rsp+58h+var_28], eax 18000D15A: test eax, eax 18000D15C: jz short loc_18000D187 18000D15E: mov rax, cs:qword_18000F6C8 18000D165: test rax, rax 18000D168: jnz short loc_18000D173 18000D16A: lea ebx, [rax+1] 18000D16D: mov [rsp+58h+var_28], ebx 18000D171: jmp short loc_18000D187 18000D173: mov r8, rsi 18000D176: mov edx, edi 18000D178: mov rcx, r14 18000D17B: call cs:__guard_dispatch_icall_fptr 18000D181: mov ebx, eax 18000D183: mov [rsp+58h+var_28], eax 18000D187: jmp short loc_18000D18F 18000D189: xor ebx, ebx 18000D18B: mov [rsp+58h+var_28], ebx 18000D18F: mov eax, ebx 18000D191: mov rbx, [rsp+58h+arg_18] 18000D196: add rsp, 40h 18000D19A: pop r14 18000D19C: pop rdi 18000D19D: pop rsi 18000D19E: retn ### FUNC 18000D1A0 - 18000D1DD (61 bytes) name=DllEntryPoint 18000D1A0: mov [rsp+arg_0], rbx 18000D1A5: mov [rsp+arg_8], rsi 18000D1AA: push rdi 18000D1AB: sub rsp, 20h 18000D1AF: mov rdi, r8 18000D1B2: mov ebx, edx 18000D1B4: mov rsi, rcx 18000D1B7: cmp edx, 1 18000D1BA: jnz short loc_18000D1C1 18000D1BC: call __security_init_cookie 18000D1C1: mov r8, rdi; void * 18000D1C4: mov edx, ebx; unsigned int 18000D1C6: mov rcx, rsi; HINSTANCE 18000D1C9: mov rbx, [rsp+28h+arg_0] 18000D1CE: mov rsi, [rsp+28h+arg_8] 18000D1D3: add rsp, 20h 18000D1D7: pop rdi 18000D1D8: jmp ?dllmain_dispatch@@YAHQEAUHINSTANCE__@@KQEAX@Z ### FUNC 18000D1E0 - 18000D1FE (30 bytes) name=sub_18000D1E0 18000D1E0: and qword ptr [rcx+10h], 0 18000D1E5: lea rax, aBadAllocation; "bad allocation" 18000D1EC: mov [rcx+8], rax 18000D1F0: lea rax, off_18000F6F0 18000D1F7: mov [rcx], rax 18000D1FA: mov rax, rcx 18000D1FD: retn ### FUNC 18000D200 - 18000D220 (32 bytes) name=?cancel_current_task@Concurrency@@YAXXZ_0 18000D200: sub rsp, 48h 18000D204: lea rcx, [rsp+48h+pExceptionObject] 18000D209: call sub_18000D1E0 18000D20E: lea rdx, stru_180013270; pThrowInfo 18000D215: lea rcx, [rsp+48h+pExceptionObject]; pExceptionObject 18000D21A: call _CxxThrowException 18000D21F: align 20h ### FUNC 18000D220 - 18000D3C1 (417 bytes) name=__isa_available_init 18000D220: mov [rsp+arg_8], rbx 18000D225: mov [rsp+arg_10], rsi 18000D22A: push rdi 18000D22B: sub rsp, 10h 18000D22F: xor eax, eax 18000D231: xor ecx, ecx 18000D233: cpuid 18000D235: mov r8d, ecx 18000D238: xor r11d, r11d 18000D23B: mov r9d, ebx 18000D23E: xor r8d, 6C65746Eh 18000D245: xor r9d, 756E6547h 18000D24C: mov r10d, edx 18000D24F: mov esi, eax 18000D251: xor ecx, ecx 18000D253: lea eax, [r11+1] 18000D257: or r9d, r8d 18000D25A: cpuid 18000D25C: xor r10d, 49656E69h 18000D263: mov [rsp+18h+var_18], eax 18000D266: or r9d, r10d 18000D269: mov [rsp+18h+var_14], ebx 18000D26D: mov edi, ecx 18000D26F: mov [rsp+18h+var_10], ecx 18000D273: mov [rsp+18h+var_C], edx 18000D277: jnz short loc_18000D2C9 18000D279: or cs:qword_180015020, 0FFFFFFFFFFFFFFFFh 18000D281: and eax, 0FFF3FF0h 18000D286: cmp eax, 106C0h 18000D28B: jz short loc_18000D2B5 18000D28D: cmp eax, 20660h 18000D292: jz short loc_18000D2B5 18000D294: cmp eax, 20670h 18000D299: jz short loc_18000D2B5 18000D29B: add eax, 0FFFCF9B0h 18000D2A0: cmp eax, 20h ; ' ' 18000D2A3: ja short loc_18000D2C9 18000D2A5: mov rcx, 100010001h 18000D2AF: bt rcx, rax 18000D2B3: jnb short loc_18000D2C9 18000D2B5: mov r8d, cs:dword_180015FAC 18000D2BC: or r8d, 1 18000D2C0: mov cs:dword_180015FAC, r8d 18000D2C7: jmp short loc_18000D2D0 18000D2C9: mov r8d, cs:dword_180015FAC 18000D2D0: mov eax, 7 18000D2D5: lea r9d, [rax-5] 18000D2D9: cmp esi, eax 18000D2DB: jl short loc_18000D303 18000D2DD: xor ecx, ecx 18000D2DF: cpuid 18000D2E1: mov [rsp+18h+var_18], eax 18000D2E4: mov r11d, ebx 18000D2E7: mov [rsp+18h+var_14], ebx 18000D2EB: mov [rsp+18h+var_10], ecx 18000D2EF: mov [rsp+18h+var_C], edx 18000D2F3: bt ebx, 9 18000D2F7: jnb short loc_18000D303 18000D2F9: or r8d, r9d 18000D2FC: mov cs:dword_180015FAC, r8d 18000D303: mov cs:dword_180015018, 1 18000D30D: mov cs:dword_18001501C, r9d 18000D314: bt edi, 14h 18000D318: jnb loc_18000D3AF 18000D31E: mov cs:dword_180015018, r9d 18000D325: mov ebx, 6 18000D32A: mov cs:dword_18001501C, ebx 18000D330: bt edi, 1Bh 18000D334: jnb short loc_18000D3AF 18000D336: bt edi, 1Ch 18000D33A: jnb short loc_18000D3AF 18000D33C: xor ecx, ecx 18000D33E: xgetbv 18000D341: shl rdx, 20h 18000D345: or rdx, rax 18000D348: mov [rsp+18h+arg_0], rdx 18000D34D: mov rax, [rsp+18h+arg_0] 18000D352: and al, bl 18000D354: cmp al, bl 18000D356: jnz short loc_18000D3AF 18000D358: mov eax, cs:dword_18001501C 18000D35E: or eax, 8 18000D361: mov cs:dword_180015018, 3 18000D36B: mov cs:dword_18001501C, eax 18000D371: test r11b, 20h 18000D375: jz short loc_18000D3AF 18000D377: or eax, 20h 18000D37A: mov cs:dword_180015018, 5 18000D384: mov cs:dword_18001501C, eax 18000D38A: mov eax, 0D0030000h 18000D38F: and r11d, eax 18000D392: cmp r11d, eax 18000D395: jnz short loc_18000D3AF 18000D397: mov rax, [rsp+18h+arg_0] 18000D39C: and al, 0E0h 18000D39E: cmp al, 0E0h 18000D3A0: jnz short loc_18000D3AF 18000D3A2: or cs:dword_18001501C, 40h 18000D3A9: mov cs:dword_180015018, ebx 18000D3AF: mov rbx, [rsp+18h+arg_8] 18000D3B4: xor eax, eax 18000D3B6: mov rsi, [rsp+18h+arg_10] 18000D3BB: add rsp, 10h 18000D3BF: pop rdi 18000D3C0: retn ### FUNC 18000D3C4 - 18000D3D0 (12 bytes) name=?__uncaught_exception@@YA_NXZ 18000D3C4: xor eax, eax 18000D3C6: cmp cs:dword_180015030, eax 18000D3CC: setnz al 18000D3CF: retn ### FUNC 18000D3D0 - 18000D3D8 (8 bytes) name=sub_18000D3D0 18000D3D0: and cs:dword_180015FB0, 0 18000D3D7: retn ### FUNC 18000D3D8 - 18000D522 (330 bytes) name=__scrt_fastfail 18000D3D8: mov [rsp-8+arg_0], rbx 18000D3DD: push rbp 18000D3DE: lea rbp, [rsp-4C0h] 18000D3E6: sub rsp, 5C0h 18000D3ED: mov ebx, ecx 18000D3EF: mov ecx, 17h; ProcessorFeature 18000D3F4: call IsProcessorFeaturePresent 18000D3F9: test eax, eax 18000D3FB: jz short loc_18000D401 18000D3FD: mov ecx, ebx 18000D3FF: int 29h; Win8: RtlFailFast(ecx) 18000D401: mov ecx, 3 18000D406: call sub_18000D3D0 18000D40B: xor edx, edx; Val 18000D40D: lea rcx, [rbp+4C0h+ContextRecord]; void * 18000D411: mov r8d, 4D0h; Size 18000D417: call memset 18000D41C: lea rcx, [rbp+4C0h+ContextRecord]; ContextRecord 18000D420: call cs:RtlCaptureContext 18000D426: mov rbx, [rbp+4C0h+ContextRecord.Rip] 18000D42D: lea rdx, [rbp+4C0h+ImageBase]; ImageBase 18000D434: mov rcx, rbx; ControlPc 18000D437: xor r8d, r8d; HistoryTable 18000D43A: call cs:RtlLookupFunctionEntry 18000D440: test rax, rax 18000D443: jz short loc_18000D481 18000D445: and [rsp+5C0h+var_588], 0 18000D44B: lea rcx, [rbp+4C0h+arg_10] 18000D452: mov rdx, [rbp+4C0h+ImageBase]; ImageBase 18000D459: mov r9, rax; FunctionEntry 18000D45C: mov [rsp+5C0h+EstablisherFrame], rcx; EstablisherFrame 18000D461: mov r8, rbx; ControlPc 18000D464: lea rcx, [rbp+4C0h+arg_18] 18000D46B: mov [rsp+5C0h+HandlerData], rcx; HandlerData 18000D470: lea rcx, [rbp+4C0h+ContextRecord] 18000D474: mov [rsp+5C0h+var_5A0], rcx; ContextRecord 18000D479: xor ecx, ecx; HandlerType 18000D47B: call cs:RtlVirtualUnwind 18000D481: mov rax, [rbp+4C8h] 18000D488: lea rcx, [rsp+5C0h+var_570]; void * 18000D48D: mov [rbp+4C0h+ContextRecord.Rip], rax 18000D494: xor edx, edx; Val 18000D496: lea rax, [rbp+4C8h] 18000D49D: mov r8d, 98h; Size 18000D4A3: add rax, 8 18000D4A7: mov [rbp+4C0h+ContextRecord.Rsp], rax 18000D4AE: call memset 18000D4B3: mov rax, [rbp+4C8h] 18000D4BA: mov [rsp+5C0h+var_560], rax 18000D4BF: mov [rsp+5C0h+var_570], 40000015h 18000D4C7: mov [rsp+5C0h+var_56C], 1 18000D4CF: call cs:IsDebuggerPresent 18000D4D5: cmp eax, 1 18000D4D8: lea rax, [rsp+5C0h+var_570] 18000D4DD: mov [rsp+5C0h+ExceptionInfo.ExceptionRecord], rax 18000D4E2: lea rax, [rbp+4C0h+ContextRecord] 18000D4E6: setz bl 18000D4E9: mov [rsp+5C0h+ExceptionInfo.ContextRecord], rax 18000D4EE: xor ecx, ecx; lpTopLevelExceptionFilter 18000D4F0: call cs:SetUnhandledExceptionFilter 18000D4F6: lea rcx, [rsp+5C0h+ExceptionInfo]; ExceptionInfo 18000D4FB: call cs:UnhandledExceptionFilter 18000D501: test eax, eax 18000D503: jnz short loc_18000D511 18000D505: test bl, bl 18000D507: jnz short loc_18000D511 18000D509: lea ecx, [rax+3] 18000D50C: call sub_18000D3D0 18000D511: mov rbx, [rsp+5C0h+arg_0] 18000D519: add rsp, 5C0h 18000D520: pop rbp 18000D521: retn ### FUNC 18000D524 - 18000D529 (5 bytes) name=j_free 18000D524: jmp free ### FUNC 18000D52C - 18000D5D8 (172 bytes) name=__security_init_cookie 18000D52C: mov [rsp-8+arg_18], rbx 18000D531: push rbp 18000D532: mov rbp, rsp 18000D535: sub rsp, 20h 18000D539: mov rax, cs:__security_cookie 18000D540: mov rbx, 2B992DDFA232h 18000D54A: cmp rax, rbx 18000D54D: jnz short loc_18000D5C3 18000D54F: and qword ptr [rbp+SystemTimeAsFileTime.dwLowDateTime], 0 18000D554: lea rcx, [rbp+SystemTimeAsFileTime]; lpSystemTimeAsFileTime 18000D558: call cs:GetSystemTimeAsFileTime 18000D55E: mov rax, qword ptr [rbp+SystemTimeAsFileTime.dwLowDateTime] 18000D562: mov [rbp+arg_0], rax 18000D566: call cs:GetCurrentThreadId 18000D56C: mov eax, eax 18000D56E: xor [rbp+arg_0], rax 18000D572: call cs:GetCurrentProcessId 18000D578: mov eax, eax 18000D57A: lea rcx, [rbp+PerformanceCount]; lpPerformanceCount 18000D57E: xor [rbp+arg_0], rax 18000D582: call cs:QueryPerformanceCounter 18000D588: mov eax, dword ptr [rbp+PerformanceCount] 18000D58B: lea rcx, [rbp+arg_0] 18000D58F: shl rax, 20h 18000D593: xor rax, qword ptr [rbp+PerformanceCount] 18000D597: xor rax, [rbp+arg_0] 18000D59B: xor rax, rcx 18000D59E: mov rcx, 0FFFFFFFFFFFFh 18000D5A8: and rax, rcx 18000D5AB: mov rcx, 2B992DDFA233h 18000D5B5: cmp rax, rbx 18000D5B8: cmovz rax, rcx 18000D5BC: mov cs:__security_cookie, rax 18000D5C3: mov rbx, [rsp+20h+arg_18] 18000D5C8: not rax 18000D5CB: mov cs:qword_180015008, rax 18000D5D2: add rsp, 20h 18000D5D6: pop rbp 18000D5D7: retn ### FUNC 18000D5D8 - 18000D5E6 (14 bytes) name=sub_18000D5D8 18000D5D8: lea rcx, unk_180015FC0 18000D5DF: jmp cs:InitializeSListHead ### FUNC 18000D5E8 - 18000D5F4 (12 bytes) name=sub_18000D5E8 18000D5E8: lea rcx, unk_180015FC0 18000D5EF: jmp __std_type_info_destroy_list ### FUNC 18000D5F4 - 18000D5FC (8 bytes) name=sub_18000D5F4 18000D5F4: lea rax, unk_180015FD0 18000D5FB: retn ### FUNC 18000D5FC - 18000D617 (27 bytes) name=__scrt_initialize_default_local_stdio_options 18000D5FC: sub rsp, 28h 18000D600: call sub_180002FC0 18000D605: or qword ptr [rax], 24h 18000D609: call sub_18000D5F4 18000D60E: or qword ptr [rax], 2 18000D612: add rsp, 28h 18000D616: retn ### FUNC 18000D618 - 18000D620 (8 bytes) name=sub_18000D618 18000D618: lea rax, unk_1800160E8 18000D61F: retn ### FUNC 18000D620 - 18000D65C (60 bytes) name=sub_18000D620 18000D620: mov [rsp+arg_0], rbx 18000D625: push rdi 18000D626: sub rsp, 20h 18000D62A: lea rbx, unk_180011B20 18000D631: lea rdi, unk_180011B20 18000D638: jmp short loc_18000D64C 18000D63A: mov rax, [rbx] 18000D63D: test rax, rax 18000D640: jz short loc_18000D648 18000D642: call cs:__guard_dispatch_icall_fptr 18000D648: add rbx, 8 18000D64C: cmp rbx, rdi 18000D64F: jb short loc_18000D63A 18000D651: mov rbx, [rsp+28h+arg_0] 18000D656: add rsp, 20h 18000D65A: pop rdi 18000D65B: retn ### FUNC 18000D65C - 18000D698 (60 bytes) name=sub_18000D65C 18000D65C: mov [rsp+arg_0], rbx 18000D661: push rdi 18000D662: sub rsp, 20h 18000D666: lea rbx, unk_180011B30 18000D66D: lea rdi, unk_180011B30 18000D674: jmp short loc_18000D688 18000D676: mov rax, [rbx] 18000D679: test rax, rax 18000D67C: jz short loc_18000D684 18000D67E: call cs:__guard_dispatch_icall_fptr 18000D684: add rbx, 8 18000D688: cmp rbx, rdi 18000D68B: jb short loc_18000D676 18000D68D: mov rbx, [rsp+28h+arg_0] 18000D692: add rsp, 20h 18000D696: pop rdi 18000D697: retn ### FUNC 18000D6A0 - 18000D6A6 (6 bytes) name=?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAAXXZ 18000D6A0: jmp cs:__imp_?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAAXXZ ### FUNC 18000D6A6 - 18000D6AC (6 bytes) name=?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAAXXZ 18000D6A6: jmp cs:__imp_?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAAXXZ ### FUNC 18000D6AC - 18000D6B2 (6 bytes) name=?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JXZ 18000D6AC: jmp cs:__imp_?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JXZ ### FUNC 18000D6B2 - 18000D6B8 (6 bytes) name=?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ 18000D6B2: jmp cs:__imp_?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ ### FUNC 18000D6B8 - 18000D6BE (6 bytes) name=?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z 18000D6B8: jmp cs:__imp_?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z ### FUNC 18000D6BE - 18000D6C4 (6 bytes) name=?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEBD_J@Z 18000D6BE: jmp cs:__imp_?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEBD_J@Z ### FUNC 18000D6C4 - 18000D6CA (6 bytes) name=?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAPEAV12@PEAD_J@Z 18000D6C4: jmp cs:__imp_?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAPEAV12@PEAD_J@Z ### FUNC 18000D6CA - 18000D6D0 (6 bytes) name=?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ 18000D6CA: jmp cs:__imp_?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ ### FUNC 18000D6D0 - 18000D6D6 (6 bytes) name=?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z 18000D6D0: jmp cs:__imp_?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z ### FUNC 18000D6D6 - 18000D6DC (6 bytes) name=__CxxFrameHandler4 18000D6D6: jmp cs:__imp___CxxFrameHandler4 ### FUNC 18000D6E2 - 18000D6E8 (6 bytes) name=__C_specific_handler 18000D6E2: jmp cs:__imp___C_specific_handler ### FUNC 18000D6E8 - 18000D6EE (6 bytes) name=_CxxThrowException 18000D6E8: jmp cs:__imp__CxxThrowException ### FUNC 18000D6EE - 18000D6F4 (6 bytes) name=memset 18000D6EE: jmp cs:__imp_memset ### FUNC 18000D6F4 - 18000D6FA (6 bytes) name=__std_type_info_destroy_list 18000D6F4: jmp cs:__imp___std_type_info_destroy_list ### FUNC 18000D6FA - 18000D700 (6 bytes) name=_callnewh 18000D6FA: jmp cs:__imp__callnewh ### FUNC 18000D700 - 18000D706 (6 bytes) name=malloc 18000D700: jmp cs:__imp_malloc ### FUNC 18000D706 - 18000D70C (6 bytes) name=_seh_filter_dll 18000D706: jmp cs:__imp__seh_filter_dll ### FUNC 18000D70C - 18000D712 (6 bytes) name=_configure_narrow_argv 18000D70C: jmp cs:__imp__configure_narrow_argv ### FUNC 18000D712 - 18000D718 (6 bytes) name=_initialize_narrow_environment 18000D712: jmp cs:__imp__initialize_narrow_environment ### FUNC 18000D718 - 18000D71E (6 bytes) name=_initialize_onexit_table 18000D718: jmp cs:__imp__initialize_onexit_table ### FUNC 18000D71E - 18000D724 (6 bytes) name=_register_onexit_function 18000D71E: jmp cs:__imp__register_onexit_function ### FUNC 18000D724 - 18000D72A (6 bytes) name=_execute_onexit_table 18000D724: jmp cs:__imp__execute_onexit_table ### FUNC 18000D72A - 18000D730 (6 bytes) name=_crt_atexit 18000D72A: jmp cs:__imp__crt_atexit ### FUNC 18000D730 - 18000D736 (6 bytes) name=_cexit 18000D730: jmp cs:__imp__cexit ### FUNC 18000D736 - 18000D73C (6 bytes) name=_initterm 18000D736: jmp cs:__imp__initterm ### FUNC 18000D73C - 18000D742 (6 bytes) name=_initterm_e 18000D73C: jmp cs:__imp__initterm_e ### FUNC 18000D742 - 18000D748 (6 bytes) name=free 18000D742: jmp cs:__imp_free ### FUNC 18000D748 - 18000D74E (6 bytes) name=IsProcessorFeaturePresent 18000D748: jmp cs:__imp_IsProcessorFeaturePresent ### FUNC 18000D750 - 18000D753 (3 bytes) name=sub_18000D750 18000D750: mov al, 1 18000D752: retn ### FUNC 18000D754 - 18000D757 (3 bytes) name=sub_18000D754 18000D754: xor eax, eax 18000D756: retn ### FUNC 18000D758 - 18000D775 (29 bytes) name=__GSHandlerCheck 18000D758: sub rsp, 28h 18000D75C: mov r8, [r9+38h] 18000D760: mov rcx, rdx 18000D763: mov rdx, r9 18000D766: call __GSHandlerCheckCommon 18000D76B: mov eax, 1 18000D770: add rsp, 28h 18000D774: retn ### FUNC 18000D778 - 18000D7D3 (91 bytes) name=__GSHandlerCheckCommon 18000D778: push rbx 18000D77A: mov r11d, [r8] 18000D77D: mov rbx, rdx 18000D780: and r11d, 0FFFFFFF8h 18000D784: mov r9, rcx 18000D787: test byte ptr [r8], 4 18000D78B: mov r10, rcx 18000D78E: jz short loc_18000D7A3 18000D790: mov eax, [r8+8] 18000D794: movsxd r10, dword ptr [r8+4] 18000D798: neg eax 18000D79A: add r10, rcx 18000D79D: movsxd rcx, eax 18000D7A0: and r10, rcx 18000D7A3: movsxd rax, r11d 18000D7A6: mov rdx, [rax+r10] 18000D7AA: mov rax, [rbx+10h] 18000D7AE: mov ecx, [rax+8] 18000D7B1: mov rax, [rbx+8] 18000D7B5: test byte ptr [rcx+rax+3], 0Fh 18000D7BA: jz short loc_18000D7C7 18000D7BC: movzx eax, byte ptr [rcx+rax+3] 18000D7C1: and eax, 0FFFFFFF0h 18000D7C4: add r9, rax 18000D7C7: xor r9, rdx 18000D7CA: mov rcx, r9; StackCookie 18000D7CD: pop rbx 18000D7CE: jmp __security_check_cookie ### FUNC 18000D7D4 - 18000D853 (127 bytes) name=__GSHandlerCheck_EH4 18000D7D4: mov rax, rsp 18000D7D7: mov [rax+8], rbx 18000D7DB: mov [rax+10h], rbp 18000D7DF: mov [rax+18h], rsi 18000D7E3: mov [rax+20h], rdi 18000D7E7: push r14 18000D7E9: sub rsp, 20h 18000D7ED: mov rbx, [r9+38h] 18000D7F1: mov rsi, rdx 18000D7F4: mov r14, r8 18000D7F7: mov rbp, rcx 18000D7FA: mov rdx, r9 18000D7FD: mov rcx, rsi 18000D800: mov rdi, r9 18000D803: lea r8, [rbx+4] 18000D807: call __GSHandlerCheckCommon 18000D80C: mov eax, [rbp+4] 18000D80F: and al, 66h 18000D811: neg al 18000D813: mov eax, 1 18000D818: sbb r8d, r8d 18000D81B: neg r8d 18000D81E: add r8d, eax 18000D821: test [rbx+4], r8d 18000D825: jz short loc_18000D838 18000D827: mov r9, rdi 18000D82A: mov r8, r14 18000D82D: mov rdx, rsi 18000D830: mov rcx, rbp 18000D833: call __CxxFrameHandler4 18000D838: mov rbx, [rsp+28h+arg_0] 18000D83D: mov rbp, [rsp+28h+arg_8] 18000D842: mov rsi, [rsp+28h+arg_10] 18000D847: mov rdi, [rsp+28h+arg_18] 18000D84C: add rsp, 20h 18000D850: pop r14 18000D852: retn ### FUNC 18000D853 - 18000D859 (6 bytes) name=__RTDynamicCast 18000D853: jmp cs:__imp___RTDynamicCast ### FUNC 18000D859 - 18000D85F (6 bytes) name=memchr 18000D859: jmp cs:__imp_memchr ### FUNC 18000D85F - 18000D865 (6 bytes) name=memcmp 18000D85F: jmp cs:__imp_memcmp ### FUNC 18000D865 - 18000D86B (6 bytes) name=memcpy 18000D865: jmp cs:__imp_memcpy ### FUNC 18000D86B - 18000D871 (6 bytes) name=memmove 18000D86B: jmp cs:__imp_memmove ### FUNC 18000D890 - 18000D892 (2 bytes) name=_guard_dispatch_icall_nop 18000D890: jmp rax ### FUNC 18000D8A0 - 18000D8AC (12 bytes) name=unknown_libname_1 18000D8A0: lea rcx, [rdx+30h] 18000D8A7: jmp sub_1800024B0 ### FUNC 18000D8AC - 18000D8B8 (12 bytes) name=unknown_libname_2 18000D8AC: lea rcx, [rdx+30h] 18000D8B3: jmp sub_1800024B0 ### FUNC 18000D8B8 - 18000D8C4 (12 bytes) name=unknown_libname_3 18000D8B8: lea rcx, [rdx+30h] 18000D8BF: jmp sub_1800024B0 ### FUNC 18000D8C4 - 18000D8D0 (12 bytes) name=unknown_libname_4 18000D8C4: lea rcx, [rdx+30h] 18000D8CB: jmp sub_1800024B0 ### FUNC 18000D8F9 - 18000D905 (12 bytes) name=unknown_libname_5 18000D8F9: lea rcx, [rdx+48h] 18000D900: jmp unknown_libname_18; Microsoft VisualC v14 64bit runtime ### FUNC 18000D905 - 18000D911 (12 bytes) name=sub_18000D905 18000D905: lea rcx, [rdx+0E8h] 18000D90C: jmp sub_1800024B0 ### FUNC 18000D911 - 18000D91D (12 bytes) name=sub_18000D911 18000D911: lea rcx, [rdx+68h] 18000D918: jmp unknown_libname_18; Microsoft VisualC v14 64bit runtime ### FUNC 18000D91D - 18000D929 (12 bytes) name=sub_18000D91D 18000D91D: lea rcx, [rdx+0C8h] 18000D924: jmp sub_1800024B0 ### FUNC 18000D929 - 18000D935 (12 bytes) name=unknown_libname_6 18000D929: lea rcx, [rdx+48h] 18000D930: jmp unknown_libname_18; Microsoft VisualC v14 64bit runtime ### FUNC 18000D935 - 18000D941 (12 bytes) name=sub_18000D935 18000D935: lea rcx, [rdx+0A8h] 18000D93C: jmp sub_1800024B0 ### FUNC 18000D941 - 18000D94D (12 bytes) name=sub_18000D941 18000D941: lea rcx, [rdx+130h] 18000D948: jmp sub_180002CA0 ### FUNC 18000D94D - 18000D959 (12 bytes) name=?dtor$14@?0??_Makeloc@_Locimp@locale@std@@CAPEAV123@AEBV_Locinfo@3@HPEAV123@PEBV23@@Z@4HA 18000D94D: mov rcx, [rdx+90h] 18000D954: jmp sub_1800024B0 ### FUNC 18000D970 - 18000D97C (12 bytes) name=sub_18000D970 18000D970: mov rcx, [rdx+48h] 18000D977: jmp sub_1800024B0 ### FUNC 18000DA1C - 18000DA28 (12 bytes) name=sub_18000DA1C 18000DA1C: lea rcx, [rdx+60h] 18000DA23: jmp sub_1800042A0 ### FUNC 18000DA60 - 18000DA6C (12 bytes) name=?dtor$0@?0??AllocateSegment@FairScheduleGroup@details@Concurrency@@MEAAPEAVScheduleGroupSegmentBase@23@PEAVSchedulingRing@23@PEAVlocation@3@@Z@4HA 18000DA60: mov rcx, [rdx+68h] 18000DA67: jmp sub_1800024B0 ### FUNC 18000DA6C - 18000DA78 (12 bytes) name=?dtor$1@?0???0task_options@Concurrency@@QEAA@XZ@4HA 18000DA6C: mov rcx, [rdx+50h] 18000DA73: jmp loc_180001690 ### FUNC 18000DAD8 - 18000DAE4 (12 bytes) name=sub_18000DAD8 18000DAD8: lea rcx, [rdx+70h] 18000DADF: jmp sub_1800042A0 ### FUNC 18000DB70 - 18000DB7C (12 bytes) name=sub_18000DB70 18000DB70: lea rcx, [rdx+120h] 18000DB77: jmp unknown_libname_18; Microsoft VisualC v14 64bit runtime ### FUNC 18000DBBF - 18000DBCB (12 bytes) name=sub_18000DBBF 18000DBBF: lea rcx, [rdx+140h] 18000DBC6: jmp sub_1800042A0 ### FUNC 18000DBCB - 18000DBD7 (12 bytes) name=?dtor$0@?0??do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_N@Z@4HA 18000DBCB: lea rcx, [rdx+50h] 18000DBD2: jmp sub_1800024B0 ### FUNC 18000DBD7 - 18000DBE3 (12 bytes) name=?dtor$1@?0??do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_N@Z@4HA 18000DBD7: lea rcx, [rdx+70h] 18000DBDE: jmp sub_1800024B0 ### FUNC 18000DBE3 - 18000DBEF (12 bytes) name=sub_18000DBE3 18000DBE3: lea rcx, [rdx+70h] 18000DBEA: jmp sub_1800024B0 ### FUNC 18000DBF0 - 18000DBFC (12 bytes) name=sub_18000DBF0 18000DBF0: lea rcx, [rdx+0E0h] 18000DBF7: jmp sub_1800042A0 ### FUNC 18000DBFC - 18000DC08 (12 bytes) name=unknown_libname_7 18000DBFC: lea rcx, [rdx+48h] 18000DC03: jmp sub_1800024B0 ### FUNC 18000DC10 - 18000DC1C (12 bytes) name=sub_18000DC10 18000DC10: lea rcx, [rdx+110h] 18000DC17: jmp sub_1800042A0 ### FUNC 18000DC1C - 18000DC28 (12 bytes) name=?dtor$0@?0??_wcstombs_l_helper@@YA_KPEADPEB_W_KPEAU__crt_locale_pointers@@@Z@4HA 18000DC1C: lea rcx, [rdx+58h] 18000DC23: jmp sub_1800024B0 ### FUNC 18000DC30 - 18000DC3C (12 bytes) name=?dtor$0@?0???$__acrt_get_current_directory@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHAEAV?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@@Z@4HA 18000DC30: lea rcx, [rdx+20h] 18000DC37: jmp sub_180006DA0 ### FUNC 18000DCB0 - 18000DCBC (12 bytes) name=?dtor$0@?0???$__acrt_get_current_directory@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHAEAV?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@@Z@4HA_0 18000DCB0: lea rcx, [rdx+20h] 18000DCB7: jmp sub_1800062E0 ### FUNC 18000DCBC - 18000DCC8 (12 bytes) name=?dtor$0@?0???$__acrt_get_current_directory@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHAEAV?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@@Z@4HA_1 18000DCBC: lea rcx, [rdx+20h] 18000DCC3: jmp sub_1800062A0 ### FUNC 18000DD2D - 18000DD39 (12 bytes) name=sub_18000DD2D 18000DD2D: lea rcx, [rdx+28h] 18000DD34: jmp sub_180006E10 ### FUNC 18000DD50 - 18000DD5C (12 bytes) name=sub_18000DD50 18000DD50: lea rcx, [rdx+130h] 18000DD57: jmp sub_1800042A0 ### FUNC 18000DD5C - 18000DD68 (12 bytes) name=sub_18000DD5C 18000DD5C: lea rcx, [rdx+90h] 18000DD63: jmp sub_1800024B0 ### FUNC 18000DDAD - 18000DDB9 (12 bytes) name=sub_18000DDAD 18000DDAD: lea rcx, [rdx+68h] 18000DDB4: jmp loc_180007910 ### FUNC 18000DDF0 - 18000DDFC (12 bytes) name=sub_18000DDF0 18000DDF0: lea rcx, [rdx+140h] 18000DDF7: jmp sub_180006EF0 ### FUNC 18000DE00 - 18000DE0C (12 bytes) name=sub_18000DE00 18000DE00: lea rcx, [rdx+210h] 18000DE07: jmp sub_1800042A0 ### FUNC 18000DE0C - 18000DE18 (12 bytes) name=unknown_libname_8 18000DE0C: lea rcx, [rdx+80h] 18000DE13: jmp sub_1800024B0 ### FUNC 18000DE18 - 18000DE24 (12 bytes) name=sub_18000DE18 18000DE18: lea rcx, [rdx+1F0h] 18000DE1F: jmp sub_180006E90 ### FUNC 18000DE30 - 18000DE3C (12 bytes) name=sub_18000DE30 18000DE30: lea rcx, [rdx+28h] 18000DE37: jmp sub_180002420 ### FUNC 18000DE69 - 18000DE75 (12 bytes) name=sub_18000DE69 18000DE69: lea rcx, [rdx+40h] 18000DE70: jmp sub_180002480 ### FUNC 18000DE80 - 18000DE8C (12 bytes) name=unknown_libname_9 18000DE80: lea rcx, [rdx+48h] 18000DE87: jmp sub_1800024B0 ### FUNC 18000DE8C - 18000DE98 (12 bytes) name=sub_18000DE8C 18000DE8C: lea rcx, [rdx+30h] 18000DE93: jmp sub_180002420 ### FUNC 18000DED5 - 18000DEE1 (12 bytes) name=unknown_libname_10 18000DED5: lea rcx, [rdx+48h] 18000DEDC: jmp sub_18000A2F0 ### FUNC 18000DEE1 - 18000DEED (12 bytes) name=unknown_libname_11 18000DEE1: lea rcx, [rdx+30h] 18000DEE8: jmp sub_180002420 ### FUNC 18000DEED - 18000DEF9 (12 bytes) name=unknown_libname_12 18000DEED: lea rcx, [rdx+30h] 18000DEF4: jmp sub_180002420 ### FUNC 18000DEF9 - 18000DF05 (12 bytes) name=unknown_libname_13 18000DEF9: lea rcx, [rdx+48h] 18000DF00: jmp sub_1800024B0 ### FUNC 18000DF10 - 18000DF1C (12 bytes) name=sub_18000DF10 18000DF10: mov rcx, [rdx+38h] 18000DF17: jmp sub_180002420 ### FUNC 18000DF6D - 18000DF79 (12 bytes) name=?dtor$0@?0???$__acrt_get_current_directory@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHAEAV?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@@Z@4HA_2 18000DF6D: lea rcx, [rdx+20h] 18000DF74: jmp sub_180002480 ### FUNC 18000DF80 - 18000DF8C (12 bytes) name=unknown_libname_14 18000DF80: lea rcx, [rdx+48h] 18000DF87: jmp sub_180002420 ### FUNC 18000DF90 - 18000DF9C (12 bytes) name=sub_18000DF90 18000DF90: mov rcx, [rdx+30h] 18000DF97: jmp sub_180002420 ### FUNC 18000DFB9 - 18000DFC5 (12 bytes) name=sub_18000DFB9 18000DFB9: lea rcx, [rdx+38h] 18000DFC0: jmp sub_180002480 ### FUNC 18000DFE0 - 18000DFEC (12 bytes) name=sub_18000DFE0 18000DFE0: lea rcx, [rdx+38h] 18000DFE7: jmp sub_18000A2F0 ### FUNC 18000DFEC - 18000DFF8 (12 bytes) name=?dtor$0@?0???$__acrt_get_current_directory@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHAEAV?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@@Z@4HA_3 18000DFEC: lea rcx, [rdx+20h] 18000DFF3: jmp sub_180002420 ### FUNC 18000E020 - 18000E02C (12 bytes) name=sub_18000E020 18000E020: lea rcx, [rdx+28h] 18000E027: jmp sub_180002420 ### FUNC 18000E180 - 18000E18C (12 bytes) name=sub_18000E180 18000E180: lea rcx, [rdx+88h] 18000E187: jmp sub_180002DA0 ### FUNC 18000E18C - 18000E198 (12 bytes) name=unknown_libname_15 18000E18C: lea rcx, [rdx+0A0h] 18000E193: jmp sub_1800024B0 ### FUNC 18000E1A8 - 18000E1B4 (12 bytes) name=unknown_libname_16 18000E1A8: lea rcx, [rdx+0A0h] 18000E1AF: jmp sub_180002CA0 ### FUNC 18000E1B4 - 18000E1C0 (12 bytes) name=unknown_libname_17 18000E1B4: mov rcx, [rdx+20h] 18000E1BB: jmp sub_1800024B0 ### FUNC 18000E200 - 18000E20C (12 bytes) name=?dtor$0@?0??_wcrtomb_s_l@@YAHQEAHQEAD_K_WQEAU_Mbstatet@@QEAU__crt_locale_pointers@@@Z@4HA 18000E200: lea rcx, [rdx+50h] 18000E207: jmp sub_180002420 ### FUNC 18000E20C - 18000E218 (12 bytes) name=sub_18000E20C 18000E20C: lea rcx, [rdx+38h] 18000E213: jmp sub_180002420 ### FUNC 18000E300 - 18000E362 (98 bytes) name=sub_18000E300 18000E300: sub rsp, 28h 18000E304: mov rcx, cs:Block; Block 18000E30B: test rcx, rcx 18000E30E: jz short loc_18000E35D 18000E310: mov rdx, qword ptr cs:xmmword_180016068+8 18000E317: mov rax, rcx 18000E31A: sub rdx, rcx 18000E31D: cmp rdx, 1000h 18000E324: jb short loc_18000E342 18000E326: mov rcx, [rcx-8] 18000E32A: add rdx, 27h ; ''' 18000E32E: sub rax, rcx 18000E331: add rax, 0FFFFFFFFFFFFFFF8h 18000E335: cmp rax, 1Fh 18000E339: jbe short loc_18000E342 18000E33B: call cs:_invalid_parameter_noinfo_noreturn 18000E341: int 3; Trap to Debugger 18000E342: call j_j_free 18000E347: xorps xmm0, xmm0 18000E34A: mov cs:Block, 0 18000E355: movdqu cs:xmmword_180016068, xmm0 18000E35D: add rsp, 28h 18000E361: retn ### FUNC 18000E370 - 18000E3D2 (98 bytes) name=sub_18000E370 18000E370: sub rsp, 28h 18000E374: mov rcx, cs:qword_180016000; Block 18000E37B: test rcx, rcx 18000E37E: jz short loc_18000E3CD 18000E380: mov rdx, qword ptr cs:xmmword_180016008+8 18000E387: mov rax, rcx 18000E38A: sub rdx, rcx 18000E38D: cmp rdx, 1000h 18000E394: jb short loc_18000E3B2 18000E396: mov rcx, [rcx-8] 18000E39A: add rdx, 27h ; ''' 18000E39E: sub rax, rcx 18000E3A1: add rax, 0FFFFFFFFFFFFFFF8h 18000E3A5: cmp rax, 1Fh 18000E3A9: jbe short loc_18000E3B2 18000E3AB: call cs:_invalid_parameter_noinfo_noreturn 18000E3B1: int 3; Trap to Debugger 18000E3B2: call j_j_free 18000E3B7: xorps xmm0, xmm0 18000E3BA: mov cs:qword_180016000, 0 18000E3C5: movdqu cs:xmmword_180016008, xmm0 18000E3CD: add rsp, 28h 18000E3D1: retn ### FUNC 18000E3E0 - 18000E442 (98 bytes) name=sub_18000E3E0 18000E3E0: sub rsp, 28h 18000E3E4: mov rcx, cs:qword_180016018; Block 18000E3EB: test rcx, rcx 18000E3EE: jz short loc_18000E43D 18000E3F0: mov rdx, qword ptr cs:xmmword_180016020+8 18000E3F7: mov rax, rcx 18000E3FA: sub rdx, rcx 18000E3FD: cmp rdx, 1000h 18000E404: jb short loc_18000E422 18000E406: mov rcx, [rcx-8] 18000E40A: add rdx, 27h ; ''' 18000E40E: sub rax, rcx 18000E411: add rax, 0FFFFFFFFFFFFFFF8h 18000E415: cmp rax, 1Fh 18000E419: jbe short loc_18000E422 18000E41B: call cs:_invalid_parameter_noinfo_noreturn 18000E421: int 3; Trap to Debugger 18000E422: call j_j_free 18000E427: xorps xmm0, xmm0 18000E42A: mov cs:qword_180016018, 0 18000E435: movdqu cs:xmmword_180016020, xmm0 18000E43D: add rsp, 28h 18000E441: retn ### FUNC 18000E450 - 18000E4B2 (98 bytes) name=sub_18000E450 18000E450: sub rsp, 28h 18000E454: mov rcx, cs:qword_180016090; Block 18000E45B: test rcx, rcx 18000E45E: jz short loc_18000E4AD 18000E460: mov rdx, qword ptr cs:xmmword_180016098+8 18000E467: mov rax, rcx 18000E46A: sub rdx, rcx 18000E46D: cmp rdx, 1000h 18000E474: jb short loc_18000E492 18000E476: mov rcx, [rcx-8] 18000E47A: add rdx, 27h ; ''' 18000E47E: sub rax, rcx 18000E481: add rax, 0FFFFFFFFFFFFFFF8h 18000E485: cmp rax, 1Fh 18000E489: jbe short loc_18000E492 18000E48B: call cs:_invalid_parameter_noinfo_noreturn 18000E491: int 3; Trap to Debugger 18000E492: call j_j_free 18000E497: xorps xmm0, xmm0 18000E49A: mov cs:qword_180016090, 0 18000E4A5: movdqu cs:xmmword_180016098, xmm0 18000E4AD: add rsp, 28h 18000E4B1: retn ### FUNC 18000E4C0 - 18000E522 (98 bytes) name=sub_18000E4C0 18000E4C0: sub rsp, 28h 18000E4C4: mov rcx, cs:qword_180016078; Block 18000E4CB: test rcx, rcx 18000E4CE: jz short loc_18000E51D 18000E4D0: mov rdx, qword ptr cs:xmmword_180016080+8 18000E4D7: mov rax, rcx 18000E4DA: sub rdx, rcx 18000E4DD: cmp rdx, 1000h 18000E4E4: jb short loc_18000E502 18000E4E6: mov rcx, [rcx-8] 18000E4EA: add rdx, 27h ; ''' 18000E4EE: sub rax, rcx 18000E4F1: add rax, 0FFFFFFFFFFFFFFF8h 18000E4F5: cmp rax, 1Fh 18000E4F9: jbe short loc_18000E502 18000E4FB: call cs:_invalid_parameter_noinfo_noreturn 18000E501: int 3; Trap to Debugger 18000E502: call j_j_free 18000E507: xorps xmm0, xmm0 18000E50A: mov cs:qword_180016078, 0 18000E515: movdqu cs:xmmword_180016080, xmm0 18000E51D: add rsp, 28h 18000E521: retn ### FUNC 18000E530 - 18000E592 (98 bytes) name=sub_18000E530 18000E530: sub rsp, 28h 18000E534: mov rcx, cs:qword_180016030; Block 18000E53B: test rcx, rcx 18000E53E: jz short loc_18000E58D 18000E540: mov rdx, qword ptr cs:xmmword_180016038+8 18000E547: mov rax, rcx 18000E54A: sub rdx, rcx 18000E54D: cmp rdx, 1000h 18000E554: jb short loc_18000E572 18000E556: mov rcx, [rcx-8] 18000E55A: add rdx, 27h ; ''' 18000E55E: sub rax, rcx 18000E561: add rax, 0FFFFFFFFFFFFFFF8h 18000E565: cmp rax, 1Fh 18000E569: jbe short loc_18000E572 18000E56B: call cs:_invalid_parameter_noinfo_noreturn 18000E571: int 3; Trap to Debugger 18000E572: call j_j_free 18000E577: xorps xmm0, xmm0 18000E57A: mov cs:qword_180016030, 0 18000E585: movdqu cs:xmmword_180016038, xmm0 18000E58D: add rsp, 28h 18000E591: retn ### FUNC 18000E5A0 - 18000E602 (98 bytes) name=sub_18000E5A0 18000E5A0: sub rsp, 28h 18000E5A4: mov rcx, cs:qword_1800160A8; Block 18000E5AB: test rcx, rcx 18000E5AE: jz short loc_18000E5FD 18000E5B0: mov rdx, qword ptr cs:xmmword_1800160B0+8 18000E5B7: mov rax, rcx 18000E5BA: sub rdx, rcx 18000E5BD: cmp rdx, 1000h 18000E5C4: jb short loc_18000E5E2 18000E5C6: mov rcx, [rcx-8] 18000E5CA: add rdx, 27h ; ''' 18000E5CE: sub rax, rcx 18000E5D1: add rax, 0FFFFFFFFFFFFFFF8h 18000E5D5: cmp rax, 1Fh 18000E5D9: jbe short loc_18000E5E2 18000E5DB: call cs:_invalid_parameter_noinfo_noreturn 18000E5E1: int 3; Trap to Debugger 18000E5E2: call j_j_free 18000E5E7: xorps xmm0, xmm0 18000E5EA: mov cs:qword_1800160A8, 0 18000E5F5: movdqu cs:xmmword_1800160B0, xmm0 18000E5FD: add rsp, 28h 18000E601: retn ### FUNC 18000E610 - 18000E672 (98 bytes) name=sub_18000E610 18000E610: sub rsp, 28h 18000E614: mov rcx, cs:qword_180016048; Block 18000E61B: test rcx, rcx 18000E61E: jz short loc_18000E66D 18000E620: mov rdx, qword ptr cs:xmmword_180016050+8 18000E627: mov rax, rcx 18000E62A: sub rdx, rcx 18000E62D: cmp rdx, 1000h 18000E634: jb short loc_18000E652 18000E636: mov rcx, [rcx-8] 18000E63A: add rdx, 27h ; ''' 18000E63E: sub rax, rcx 18000E641: add rax, 0FFFFFFFFFFFFFFF8h 18000E645: cmp rax, 1Fh 18000E649: jbe short loc_18000E652 18000E64B: call cs:_invalid_parameter_noinfo_noreturn 18000E651: int 3; Trap to Debugger 18000E652: call j_j_free 18000E657: xorps xmm0, xmm0 18000E65A: mov cs:qword_180016048, 0 18000E665: movdqu cs:xmmword_180016050, xmm0 18000E66D: add rsp, 28h 18000E671: retn ### FUNC 18000E680 - 18000E6ED (109 bytes) name=sub_18000E680 18000E680: sub rsp, 28h 18000E684: mov rdx, cs:qword_1800160D8 18000E68B: cmp rdx, 8 18000E68F: jb short loc_18000E6C6 18000E691: mov rcx, cs:Src 18000E698: lea rdx, ds:2[rdx*2] 18000E6A0: cmp rdx, 1000h 18000E6A7: jb short loc_18000E6C1 18000E6A9: mov r8, [rcx-8] 18000E6AD: add rdx, 27h ; ''' 18000E6B1: sub rcx, r8 18000E6B4: lea rax, [rcx-8] 18000E6B8: cmp rax, 1Fh 18000E6BC: ja short loc_18000E6E6 18000E6BE: mov rcx, r8; Block 18000E6C1: call j_j_free 18000E6C6: xor eax, eax 18000E6C8: mov cs:qword_1800160D8, 7 18000E6D3: mov cs:qword_1800160D0, rax 18000E6DA: mov word ptr cs:Src, ax 18000E6E1: add rsp, 28h 18000E6E5: retn 18000E6E6: call cs:_invalid_parameter_noinfo_noreturn 18000E6EC: db 0CCh ### FUNC 18000E6F0 - 18000E75A (106 bytes) name=sub_18000E6F0 18000E6F0: sub rsp, 28h 18000E6F4: mov rdx, cs:qword_180015078 18000E6FB: cmp rdx, 10h 18000E6FF: jb short loc_18000E738 18000E701: mov rcx, cs:qword_180015060; Block 18000E708: inc rdx 18000E70B: mov rax, rcx 18000E70E: cmp rdx, 1000h 18000E715: jb short loc_18000E733 18000E717: mov rcx, [rcx-8] 18000E71B: add rdx, 27h ; ''' 18000E71F: sub rax, rcx 18000E722: add rax, 0FFFFFFFFFFFFFFF8h 18000E726: cmp rax, 1Fh 18000E72A: jbe short loc_18000E733 18000E72C: call cs:_invalid_parameter_noinfo_noreturn 18000E732: int 3; Trap to Debugger 18000E733: call j_j_free 18000E738: mov cs:qword_180015070, 0 18000E743: mov cs:qword_180015078, 0Fh 18000E74E: mov byte ptr cs:qword_180015060, 0 18000E755: add rsp, 28h 18000E759: retn ### FUNC 18000E760 - 18000E7CA (106 bytes) name=sub_18000E760 18000E760: sub rsp, 28h 18000E764: mov rdx, cs:qword_1800150B8 18000E76B: cmp rdx, 10h 18000E76F: jb short loc_18000E7A8 18000E771: mov rcx, cs:qword_1800150A0; Block 18000E778: inc rdx 18000E77B: mov rax, rcx 18000E77E: cmp rdx, 1000h 18000E785: jb short loc_18000E7A3 18000E787: mov rcx, [rcx-8] 18000E78B: add rdx, 27h ; ''' 18000E78F: sub rax, rcx 18000E792: add rax, 0FFFFFFFFFFFFFFF8h 18000E796: cmp rax, 1Fh 18000E79A: jbe short loc_18000E7A3 18000E79C: call cs:_invalid_parameter_noinfo_noreturn 18000E7A2: int 3; Trap to Debugger 18000E7A3: call j_j_free 18000E7A8: mov cs:qword_1800150B0, 0 18000E7B3: mov cs:qword_1800150B8, 0Fh 18000E7BE: mov byte ptr cs:qword_1800150A0, 0 18000E7C5: add rsp, 28h 18000E7C9: retn ### FUNC 18000E7D0 - 18000E83A (106 bytes) name=sub_18000E7D0 18000E7D0: sub rsp, 28h 18000E7D4: mov rdx, cs:qword_1800151F8 18000E7DB: cmp rdx, 10h 18000E7DF: jb short loc_18000E818 18000E7E1: mov rcx, cs:qword_1800151E0; Block 18000E7E8: inc rdx 18000E7EB: mov rax, rcx 18000E7EE: cmp rdx, 1000h 18000E7F5: jb short loc_18000E813 18000E7F7: mov rcx, [rcx-8] 18000E7FB: add rdx, 27h ; ''' 18000E7FF: sub rax, rcx 18000E802: add rax, 0FFFFFFFFFFFFFFF8h 18000E806: cmp rax, 1Fh 18000E80A: jbe short loc_18000E813 18000E80C: call cs:_invalid_parameter_noinfo_noreturn 18000E812: int 3; Trap to Debugger 18000E813: call j_j_free 18000E818: mov cs:qword_1800151F0, 0 18000E823: mov cs:qword_1800151F8, 0Fh 18000E82E: mov byte ptr cs:qword_1800151E0, 0 18000E835: add rsp, 28h 18000E839: retn ### FUNC 18000E840 - 18000E8AA (106 bytes) name=sub_18000E840 18000E840: sub rsp, 28h 18000E844: mov rdx, cs:qword_180015198 18000E84B: cmp rdx, 10h 18000E84F: jb short loc_18000E888 18000E851: mov rcx, cs:qword_180015180; Block 18000E858: inc rdx 18000E85B: mov rax, rcx 18000E85E: cmp rdx, 1000h 18000E865: jb short loc_18000E883 18000E867: mov rcx, [rcx-8] 18000E86B: add rdx, 27h ; ''' 18000E86F: sub rax, rcx 18000E872: add rax, 0FFFFFFFFFFFFFFF8h 18000E876: cmp rax, 1Fh 18000E87A: jbe short loc_18000E883 18000E87C: call cs:_invalid_parameter_noinfo_noreturn 18000E882: int 3; Trap to Debugger 18000E883: call j_j_free 18000E888: mov cs:qword_180015190, 0 18000E893: mov cs:qword_180015198, 0Fh 18000E89E: mov byte ptr cs:qword_180015180, 0 18000E8A5: add rsp, 28h 18000E8A9: retn ### FUNC 18000E8B0 - 18000E91A (106 bytes) name=sub_18000E8B0 18000E8B0: sub rsp, 28h 18000E8B4: mov rdx, cs:qword_1800150F8 18000E8BB: cmp rdx, 10h 18000E8BF: jb short loc_18000E8F8 18000E8C1: mov rcx, cs:qword_1800150E0; Block 18000E8C8: inc rdx 18000E8CB: mov rax, rcx 18000E8CE: cmp rdx, 1000h 18000E8D5: jb short loc_18000E8F3 18000E8D7: mov rcx, [rcx-8] 18000E8DB: add rdx, 27h ; ''' 18000E8DF: sub rax, rcx 18000E8E2: add rax, 0FFFFFFFFFFFFFFF8h 18000E8E6: cmp rax, 1Fh 18000E8EA: jbe short loc_18000E8F3 18000E8EC: call cs:_invalid_parameter_noinfo_noreturn 18000E8F2: int 3; Trap to Debugger 18000E8F3: call j_j_free 18000E8F8: mov cs:qword_1800150F0, 0 18000E903: mov cs:qword_1800150F8, 0Fh 18000E90E: mov byte ptr cs:qword_1800150E0, 0 18000E915: add rsp, 28h 18000E919: retn ### FUNC 18000E920 - 18000E98A (106 bytes) name=sub_18000E920 18000E920: sub rsp, 28h 18000E924: mov rdx, cs:qword_180015178 18000E92B: cmp rdx, 10h 18000E92F: jb short loc_18000E968 18000E931: mov rcx, cs:qword_180015160; Block 18000E938: inc rdx 18000E93B: mov rax, rcx 18000E93E: cmp rdx, 1000h 18000E945: jb short loc_18000E963 18000E947: mov rcx, [rcx-8] 18000E94B: add rdx, 27h ; ''' 18000E94F: sub rax, rcx 18000E952: add rax, 0FFFFFFFFFFFFFFF8h 18000E956: cmp rax, 1Fh 18000E95A: jbe short loc_18000E963 18000E95C: call cs:_invalid_parameter_noinfo_noreturn 18000E962: int 3; Trap to Debugger 18000E963: call j_j_free 18000E968: mov cs:qword_180015170, 0 18000E973: mov cs:qword_180015178, 0Fh 18000E97E: mov byte ptr cs:qword_180015160, 0 18000E985: add rsp, 28h 18000E989: retn ### FUNC 18000E990 - 18000E9FA (106 bytes) name=sub_18000E990 18000E990: sub rsp, 28h 18000E994: mov rdx, cs:qword_1800151D8 18000E99B: cmp rdx, 10h 18000E99F: jb short loc_18000E9D8 18000E9A1: mov rcx, cs:qword_1800151C0; Block 18000E9A8: inc rdx 18000E9AB: mov rax, rcx 18000E9AE: cmp rdx, 1000h 18000E9B5: jb short loc_18000E9D3 18000E9B7: mov rcx, [rcx-8] 18000E9BB: add rdx, 27h ; ''' 18000E9BF: sub rax, rcx 18000E9C2: add rax, 0FFFFFFFFFFFFFFF8h 18000E9C6: cmp rax, 1Fh 18000E9CA: jbe short loc_18000E9D3 18000E9CC: call cs:_invalid_parameter_noinfo_noreturn 18000E9D2: int 3; Trap to Debugger 18000E9D3: call j_j_free 18000E9D8: mov cs:qword_1800151D0, 0 18000E9E3: mov cs:qword_1800151D8, 0Fh 18000E9EE: mov byte ptr cs:qword_1800151C0, 0 18000E9F5: add rsp, 28h 18000E9F9: retn ### FUNC 18000EA00 - 18000EA6A (106 bytes) name=sub_18000EA00 18000EA00: sub rsp, 28h 18000EA04: mov rdx, cs:qword_180015138 18000EA0B: cmp rdx, 10h 18000EA0F: jb short loc_18000EA48 18000EA11: mov rcx, cs:qword_180015120; Block 18000EA18: inc rdx 18000EA1B: mov rax, rcx 18000EA1E: cmp rdx, 1000h 18000EA25: jb short loc_18000EA43 18000EA27: mov rcx, [rcx-8] 18000EA2B: add rdx, 27h ; ''' 18000EA2F: sub rax, rcx 18000EA32: add rax, 0FFFFFFFFFFFFFFF8h 18000EA36: cmp rax, 1Fh 18000EA3A: jbe short loc_18000EA43 18000EA3C: call cs:_invalid_parameter_noinfo_noreturn 18000EA42: int 3; Trap to Debugger 18000EA43: call j_j_free 18000EA48: mov cs:qword_180015130, 0 18000EA53: mov cs:qword_180015138, 0Fh 18000EA5E: mov byte ptr cs:qword_180015120, 0 18000EA65: add rsp, 28h 18000EA69: retn ### FUNC 18000EA70 - 18000EADA (106 bytes) name=sub_18000EA70 18000EA70: sub rsp, 28h 18000EA74: mov rdx, cs:qword_1800150D8 18000EA7B: cmp rdx, 10h 18000EA7F: jb short loc_18000EAB8 18000EA81: mov rcx, cs:qword_1800150C0; Block 18000EA88: inc rdx 18000EA8B: mov rax, rcx 18000EA8E: cmp rdx, 1000h 18000EA95: jb short loc_18000EAB3 18000EA97: mov rcx, [rcx-8] 18000EA9B: add rdx, 27h ; ''' 18000EA9F: sub rax, rcx 18000EAA2: add rax, 0FFFFFFFFFFFFFFF8h 18000EAA6: cmp rax, 1Fh 18000EAAA: jbe short loc_18000EAB3 18000EAAC: call cs:_invalid_parameter_noinfo_noreturn 18000EAB2: int 3; Trap to Debugger 18000EAB3: call j_j_free 18000EAB8: mov cs:qword_1800150D0, 0 18000EAC3: mov cs:qword_1800150D8, 0Fh 18000EACE: mov byte ptr cs:qword_1800150C0, 0 18000EAD5: add rsp, 28h 18000EAD9: retn ### FUNC 18000EAE0 - 18000EB4A (106 bytes) name=sub_18000EAE0 18000EAE0: sub rsp, 28h 18000EAE4: mov rdx, cs:qword_180015158 18000EAEB: cmp rdx, 10h 18000EAEF: jb short loc_18000EB28 18000EAF1: mov rcx, cs:qword_180015140; Block 18000EAF8: inc rdx 18000EAFB: mov rax, rcx 18000EAFE: cmp rdx, 1000h 18000EB05: jb short loc_18000EB23 18000EB07: mov rcx, [rcx-8] 18000EB0B: add rdx, 27h ; ''' 18000EB0F: sub rax, rcx 18000EB12: add rax, 0FFFFFFFFFFFFFFF8h 18000EB16: cmp rax, 1Fh 18000EB1A: jbe short loc_18000EB23 18000EB1C: call cs:_invalid_parameter_noinfo_noreturn 18000EB22: int 3; Trap to Debugger 18000EB23: call j_j_free 18000EB28: mov cs:qword_180015150, 0 18000EB33: mov cs:qword_180015158, 0Fh 18000EB3E: mov byte ptr cs:qword_180015140, 0 18000EB45: add rsp, 28h 18000EB49: retn ### FUNC 18000EB50 - 18000EBBA (106 bytes) name=sub_18000EB50 18000EB50: sub rsp, 28h 18000EB54: mov rdx, cs:qword_180015118 18000EB5B: cmp rdx, 10h 18000EB5F: jb short loc_18000EB98 18000EB61: mov rcx, cs:qword_180015100; Block 18000EB68: inc rdx 18000EB6B: mov rax, rcx 18000EB6E: cmp rdx, 1000h 18000EB75: jb short loc_18000EB93 18000EB77: mov rcx, [rcx-8] 18000EB7B: add rdx, 27h ; ''' 18000EB7F: sub rax, rcx 18000EB82: add rax, 0FFFFFFFFFFFFFFF8h 18000EB86: cmp rax, 1Fh 18000EB8A: jbe short loc_18000EB93 18000EB8C: call cs:_invalid_parameter_noinfo_noreturn 18000EB92: int 3; Trap to Debugger 18000EB93: call j_j_free 18000EB98: mov cs:qword_180015110, 0 18000EBA3: mov cs:qword_180015118, 0Fh 18000EBAE: mov byte ptr cs:qword_180015100, 0 18000EBB5: add rsp, 28h 18000EBB9: retn ### FUNC 18000EBC0 - 18000EC2A (106 bytes) name=sub_18000EBC0 18000EBC0: sub rsp, 28h 18000EBC4: mov rdx, cs:qword_1800151B8 18000EBCB: cmp rdx, 10h 18000EBCF: jb short loc_18000EC08 18000EBD1: mov rcx, cs:qword_1800151A0; Block 18000EBD8: inc rdx 18000EBDB: mov rax, rcx 18000EBDE: cmp rdx, 1000h 18000EBE5: jb short loc_18000EC03 18000EBE7: mov rcx, [rcx-8] 18000EBEB: add rdx, 27h ; ''' 18000EBEF: sub rax, rcx 18000EBF2: add rax, 0FFFFFFFFFFFFFFF8h 18000EBF6: cmp rax, 1Fh 18000EBFA: jbe short loc_18000EC03 18000EBFC: call cs:_invalid_parameter_noinfo_noreturn 18000EC02: int 3; Trap to Debugger 18000EC03: call j_j_free 18000EC08: mov cs:qword_1800151B0, 0 18000EC13: mov cs:qword_1800151B8, 0Fh 18000EC1E: mov byte ptr cs:qword_1800151A0, 0 18000EC25: add rsp, 28h 18000EC29: retn ### FUNC 18000EC30 - 18000EC9A (106 bytes) name=sub_18000EC30 18000EC30: sub rsp, 28h 18000EC34: mov rdx, cs:qword_180015058 18000EC3B: cmp rdx, 10h 18000EC3F: jb short loc_18000EC78 18000EC41: mov rcx, cs:qword_180015040; Block 18000EC48: inc rdx 18000EC4B: mov rax, rcx 18000EC4E: cmp rdx, 1000h 18000EC55: jb short loc_18000EC73 18000EC57: mov rcx, [rcx-8] 18000EC5B: add rdx, 27h ; ''' 18000EC5F: sub rax, rcx 18000EC62: add rax, 0FFFFFFFFFFFFFFF8h 18000EC66: cmp rax, 1Fh 18000EC6A: jbe short loc_18000EC73 18000EC6C: call cs:_invalid_parameter_noinfo_noreturn 18000EC72: int 3; Trap to Debugger 18000EC73: call j_j_free 18000EC78: mov cs:qword_180015050, 0 18000EC83: mov cs:qword_180015058, 0Fh 18000EC8E: mov byte ptr cs:qword_180015040, 0 18000EC95: add rsp, 28h 18000EC99: retn ### FUNC 18000ECA0 - 18000ED0A (106 bytes) name=sub_18000ECA0 18000ECA0: sub rsp, 28h 18000ECA4: mov rdx, cs:qword_180015098 18000ECAB: cmp rdx, 10h 18000ECAF: jb short loc_18000ECE8 18000ECB1: mov rcx, cs:qword_180015080; Block 18000ECB8: inc rdx 18000ECBB: mov rax, rcx 18000ECBE: cmp rdx, 1000h 18000ECC5: jb short loc_18000ECE3 18000ECC7: mov rcx, [rcx-8] 18000ECCB: add rdx, 27h ; ''' 18000ECCF: sub rax, rcx 18000ECD2: add rax, 0FFFFFFFFFFFFFFF8h 18000ECD6: cmp rax, 1Fh 18000ECDA: jbe short loc_18000ECE3 18000ECDC: call cs:_invalid_parameter_noinfo_noreturn 18000ECE2: int 3; Trap to Debugger 18000ECE3: call j_j_free 18000ECE8: mov cs:Size, 0 18000ECF3: mov cs:qword_180015098, 0Fh 18000ECFE: mov byte ptr cs:qword_180015080, 0 18000ED05: add rsp, 28h 18000ED09: retn