- 逆向:Ghidra/IDA 全量反编译 CoreSDKLib.dll/ThermalSDK.dll/libthermalSDK.so/ libcoresdk.so(ARM64)/libmagcore.so,导出 analysis/ida/export/ - 解码官方渲染管线:DDT 校准表加载->快门端点选择->Q12 插值->ref(4x type1 帧 均值)->NUC 查表->盲元补偿->窗口->LUT1024 重建->2x 升采样->调色板 - 逐像素验证:NUC+盲元 0/19200、插值 0 误差、2x 0/76800、窗口一致 - demo3 v5:完整复刻官方管线(含 DDT 解析、FFC 状态机、快门温度驱动), 修复 load_ddt 表错位导致的零像素问题 - 鬼影根因分析写入 analysis/reverse_20260813_full.md - 心跳/恢复机制:analysis/session_state.md + tools/resume_rev.ps1 - 新增 tsdk_pair3 增强采集工具;历史工具归档 csdk/tools/legacy/; 根目录抓帧残留删除,历史文档归档 analysis/history/ - csdk/README.md 完整使用文档;.gitignore/.gitattributes 补 LFS 规则
14297 lines
488 KiB
Plaintext
14297 lines
488 KiB
Plaintext
### 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<T> 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<char,std::char_traits<char>>::basic_ios<char,std::char_traits<char>>(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<char,std::char_traits<char>>::basic_iostream<char,std::char_traits<char>>(std::basic_streambuf<char,std::char_traits<char>> *)
|
|
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<char,std::char_traits<char>>::basic_streambuf<char,std::char_traits<char>>(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<char,std::char_traits<char>>::~basic_iostream<char,std::char_traits<char>>(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<char,std::char_traits<char>>::~basic_ios<char,std::char_traits<char>>(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<char,std::char_traits<char>>::~basic_iostream<char,std::char_traits<char>>(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<char,std::char_traits<char>>::~basic_ios<char,std::char_traits<char>>(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<char,std::char_traits<char>>::basic_ios<char,std::char_traits<char>>(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<char,std::char_traits<char>>::basic_iostream<char,std::char_traits<char>>(std::basic_streambuf<char,std::char_traits<char>> *)
|
|
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<char,std::char_traits<char>>::basic_streambuf<char,std::char_traits<char>>(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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::~basic_iostream<char,std::char_traits<char>>(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<char,std::char_traits<char>>::~basic_ios<char,std::char_traits<char>>(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<char,std::char_traits<char>>::basic_ios<char,std::char_traits<char>>(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<char,std::char_traits<char>>::basic_iostream<char,std::char_traits<char>>(std::basic_streambuf<char,std::char_traits<char>> *)
|
|
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<char,std::char_traits<char>>::basic_streambuf<char,std::char_traits<char>>(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<char,std::char_traits<char>>::~basic_iostream<char,std::char_traits<char>>(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<char,std::char_traits<char>>::~basic_ios<char,std::char_traits<char>>(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<char,std::char_traits<char>>::basic_ios<char,std::char_traits<char>>(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<char,std::char_traits<char>>::basic_iostream<char,std::char_traits<char>>(std::basic_streambuf<char,std::char_traits<char>> *)
|
|
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<char,std::char_traits<char>>::basic_streambuf<char,std::char_traits<char>>(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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::_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<char,std::char_traits<char>>::_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<char,std::char_traits<char>>::~basic_streambuf<char,std::char_traits<char>>(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<char,std::char_traits<char>>::basic_ios<char,std::char_traits<char>>(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<char,std::char_traits<char>>::basic_iostream<char,std::char_traits<char>>(std::basic_streambuf<char,std::char_traits<char>> *)
|
|
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<char,std::char_traits<char>>::basic_streambuf<char,std::char_traits<char>>(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<char,std::char_traits<char>>::~basic_iostream<char,std::char_traits<char>>(void)
|
|
18000625B: mov rcx, rbx
|
|
18000625E: call cs:??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ; std::basic_ios<char,std::char_traits<char>>::~basic_ios<char,std::char_traits<char>>(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<char,std::char_traits<char>>::_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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::_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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::_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<char,std::char_traits<char>>::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<char,std::char_traits<char>>::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
|
|
|