Function at 0x10064800
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push edi
mov edi, ecx
test edi, edi
jne 0x1006480c
lea eax, [ecx - 2]
pop edi
ret
mov eax, dword [edi + 0x20]
mov dword [edi + 0x18], 0
test eax, eax
jne 0x1006482d
mov dword [edi + 0x28], eax
xor ecx, ecx
mov dword [edi + 0x20], 0x10068730
mov eax, 0x10068730
jmp 0x10064830
mov ecx, dword [edi + 0x28]
cmp dword [edi + 0x24], 0
jne 0x1006483d
mov dword [edi + 0x24], 0x10068750
push esi
push 0x16c4
cmp eax, 0x10068730
jne 0x10064855
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
jmp 0x1006485d
push 1
push ecx
call eax
add esp, 0xc
mov esi, eax
test esi, esi
je 0x100649e8
mov dword [edi + 0x1c], esi
mov dword [esi], edi
mov dword [esi + 4], 0x2a
mov dword [esi + 0x18], 1
mov dword [esi + 0x1c], 0
mov dword [esi + 0x30], 0xf
mov dword [esi + 0x2c], 0x8000
mov dword [esi + 0x34], 0x7fff
mov dword [esi + 0x50], 0xf
mov dword [esi + 0x4c], 0x8000
mov dword [esi + 0x54], 0x7fff
mov dword [esi + 0x58], 5
mov eax, dword [edi + 0x20]
cmp eax, 0x10068730
jne 0x100648cc
push 0x10000
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
jmp 0x100648db
push 2
push 0x8000
push dword [edi + 0x28]
call eax
add esp, 0xc
mov dword [esi + 0x38], eax
mov ecx, dword [edi + 0x20]
mov eax, dword [esi + 0x2c]
cmp ecx, 0x10068730
jne 0x100648fa
add eax, eax
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
jmp 0x10064905
push 2
push eax
push dword [edi + 0x28]
call ecx
add esp, 0xc
mov dword [esi + 0x40], eax
mov ecx, dword [edi + 0x20]
mov eax, dword [esi + 0x4c]
cmp ecx, 0x10068730
jne 0x10064924
add eax, eax
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
jmp 0x1006492f
push 2
push eax
push dword [edi + 0x28]
call ecx
add esp, 0xc
mov dword [esi + 0x44], eax
mov dword [esi + 0x16c0], 0
mov dword [esi + 0x169c], 0x4000
mov eax, dword [edi + 0x20]
cmp eax, 0x10068730
jne 0x10064960
push 0x10000
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
jmp 0x1006496f
push 4
push 0x4000
push dword [edi + 0x28]
call eax
add esp, 0xc
cmp dword [esi + 0x38], 0
mov ecx, eax
mov edx, dword [esi + 0x169c]
mov dword [esi + 8], ecx
lea eax, [edx*4]
mov dword [esi + 0xc], eax
je 0x100649d3
cmp dword [esi + 0x40], 0
je 0x100649d3
cmp dword [esi + 0x44], 0
je 0x100649d3
test ecx, ecx
je 0x100649d3
mov eax, edx
mov dword [esi + 0x84], 1
shr eax, 1
mov dword [esi + 0x88], 0
mov byte [esi + 0x24], 8
lea eax, [ecx + eax*2]
mov dword [esi + 0x16a4], eax
lea eax, [ecx + edx*2]
add eax, edx
mov ecx, edi
mov dword [esi + 0x1698], eax
pop esi
pop edi
jmp 0x100649f0
mov dword [esi + 4], 0x29a
mov ecx, edi
mov dword [edi + 0x18], str.insufficient_memory
call fcn.100655b0
pop esi
mov eax, 0xfffffffc
pop edi
ret
push esi
mov esi, ecx
test esi, esi
je 0x10064bbd
cmp dword [esi + 0x20], 0
je 0x10064bbd
cmp dword [esi + 0x24], 0
je 0x10064bbd
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x10064bbd
cmp dword [ecx], esi
jne 0x10064bbd
mov eax, dword [ecx + 4]
cmp eax, 0x2a
je 0x10064a53
cmp eax, 0x39
je 0x10064a53
cmp eax, 0x45
je 0x10064a53
cmp eax, 0x49
je 0x10064a53
cmp eax, 0x5b
je 0x10064a53
cmp eax, 0x67
je 0x10064a53
cmp eax, 0x71
je 0x10064a53
cmp eax, 0x29a
jne 0x10064bbd
mov dword [esi + 0x14], 0
mov dword [esi + 8], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x2c], 2
mov edx, dword [ecx + 0x18]
mov eax, dword [ecx + 8]
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], eax
test edx, edx
jns 0x10064a88
neg edx
mov dword [ecx + 0x18], edx
cmp edx, 2
jne 0x10064a98
mov dword [ecx + 4], 0x39
xor eax, eax
jmp 0x10064ab1
push edi
mov edi, 0x2a
test edx, edx
mov eax, 0x71
cmovne eax, edi
mov dword [ecx + 4], eax
mov eax, 1
pop edi
mov dword [esi + 0x30], eax
lea eax, [ecx + 0x94]
mov dword [ecx + 0xb18], eax
lea eax, [ecx + 0x988]
mov dword [ecx + 0xb24], eax
lea eax, [ecx + 0xa7c]
mov dword [ecx + 0xb30], eax
xor eax, eax
mov dword [ecx + 0x28], 0
mov dword [ecx + 0xb20], 0x10073a94
mov dword [ecx + 0xb2c], 0x10073aa8
mov dword [ecx + 0xb38], 0x10073708
mov word [ecx + 0x16b8], ax
mov dword [ecx + 0x16bc], eax
call fcn.10066f30
mov esi, dword [esi + 0x1c]
xor edx, edx
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x4c]
add eax, eax
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x44]
mov word [eax + ecx*2 - 2], dx
mov eax, dword [esi + 0x4c]
lea eax, [eax*2 - 2]
push eax
push edx
push dword [esi + 0x44]
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 0x84]
add esp, 0xc
lea ecx, [eax + eax*2]
movzx eax, word [ecx*4 + 0x10073692]
mov dword [esi + 0x80], eax
movzx eax, word [ecx*4 + 0x10073690]
mov dword [esi + 0x8c], eax
movzx eax, word [ecx*4 + 0x10073694]
mov dword [esi + 0x90], eax
xor eax, eax
movzx ecx, word [ecx*4 + 0x10073696]
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x6c], 0
mov dword [esi + 0x5c], 0
mov dword [esi + 0x74], 0
mov dword [esi + 0x16b4], 0
mov dword [esi + 0x78], 2
mov dword [esi + 0x60], 2
mov dword [esi + 0x68], 0
mov dword [esi + 0x48], 0
pop esi
ret
mov eax, 0xfffffffe
pop esi
ret