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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xe0
mov dword [esp + 0x30], ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x20], eax
test eax, eax
jle 0x64b416
xor ecx, ecx
jmp 0x64acbf
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x20], eax
nop word cs:[eax + eax]
mov ecx, dword [esp + 0x2c]
inc ecx
cmp ecx, dword [esp + 0x20]
jge 0x64b416
mov eax, dword [esp + 0x30]
mov ebx, dword [eax + 0x40]
test ebx, ebx
je 0x64acb4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x2c], ecx
imul ecx, ecx, 0x58
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
lea esi, [eax + ecx]
imul eax, esi, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul eax, ecx, 0x5bd1e995
xor eax, 0x6f47a654
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0x5bd1e995
mov ecx, eax
shr ecx, 0xf
xor ecx, eax
mov edx, ebx
shr edx, 1
and edx, 0x55555555
mov eax, ebx
sub eax, edx
mov edx, eax
and edx, 0x33333333
shr eax, 2
and eax, 0x33333333
add eax, edx
mov edx, eax
shr edx, 4
add edx, eax
and edx, 0xf0f0f0f
imul edi, edx, 0x1010101
shr edi, 0x18
cmp edi, 1
ja 0x64ad50
lea edx, [ebx - 1]
and edx, ecx
jmp 0x64ad5c
mov edx, ecx
cmp ecx, ebx
jb 0x64ad5c
mov eax, ecx
xor edx, edx
div ebx
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x64acb0
mov dword [esp + 4], ebx
mov eax, dword [eax]
mov dword [esp + 0x24], eax
test eax, eax
je 0x64acb0
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], edx
jmp 0x64adbb
mov eax, dword [esp + 0x24]
cmp dword [eax + 8], esi
je 0x64ae03
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
test eax, eax
je 0x64acb0
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 4]
cmp eax, ecx
je 0x64ada0
cmp edi, 1
ja 0x64ade0
and eax, dword [esp + 0x1c]
jmp 0x64adfa
mov ebx, esi
mov esi, dword [esp + 4]
cmp eax, esi
jb 0x64adf4
xor edx, edx
div esi
mov eax, edx
mov edi, dword [esp + 0x3c]
mov esi, ebx
mov edx, dword [esp + 0x28]
cmp eax, edx
je 0x64ada9
jmp 0x64acb0
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0xc]
cmp ecx, 3
mov eax, 3
cmovge ecx, eax
mov dword [esp + 0x28], ecx
test ecx, ecx
mov ecx, dword [esp + 0x2c]
jle 0x64acb4
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
lea eax, [esp + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
cmp dword [eax + ecx + 4], 0
jle 0x64ae87
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
lea ebx, [eax + ecx]
add ebx, 4
xor edi, edi
mov esi, 4
nop dword [eax]
mov eax, dword [ebx + 0x14]
mov edx, dword [eax + esi]
lea ecx, [esp + 0x38]
call fcn.00651750
inc edi
add esi, 0x30
cmp edi, dword [ebx]
jl 0x64ae70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
cmp dword [eax + ecx + 0x4c], 0
jle 0x64aec7
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
lea ebx, [eax + ecx]
add ebx, 0x4c
xor edi, edi
mov esi, 4
nop dword [eax + eax]
mov eax, dword [ebx - 0x20]
mov edx, dword [eax + esi]
lea ecx, [esp + 0x38]
call fcn.00651750
inc edi
add esi, 0x30
cmp edi, dword [ebx]
jl 0x64aeb0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
cmp dword [eax + ecx + 0x50], 0
jle 0x64af0b
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
lea esi, [eax + ecx]
add esi, 0x50
xor edi, edi
nop word cs:[eax + eax]
mov eax, dword [esi - 0x20]
mov edx, dword [eax + edi*8]
lea ecx, [esp + 0x34]
push dword [eax + edi*8 + 4]
call fcn.00651880
add esp, 4
inc edi
cmp edi, dword [esi]
jl 0x64aef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
cmp dword [eax + ecx + 0x48], 0
jle 0x64af62
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
add eax, ecx
add eax, 0x48
mov dword [esp + 4], eax
xor edi, edi
mov esi, 4
nop word cs:[eax + eax]
mov ebx, dword [esp + 4]
mov eax, dword [ebx - 0x20]
mov edx, dword [eax + esi - 4]
lea ecx, [esp + 0x34]
push dword [eax + esi]
call fcn.00651880
add esp, 4
inc edi
add esi, 0xc
cmp edi, dword [ebx]
jl 0x64af40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jae 0x64af8d
mov ecx, 0x1fffffff
mov dword [eax], ecx
mov ecx, 0x20000000
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x14]
add eax, 8
mov dword [esp + 0x14], eax
jmp 0x64b05f
mov esi, dword [esp + 0x10]
sub eax, esi
mov edi, eax
sar edi, 3
lea edx, [edi + 1]
cmp edx, 0x20000000
jae 0x64b420
sub ecx, esi
mov ebx, esi
mov esi, ecx
sar esi, 2
cmp esi, edx
cmovbe esi, edx
cmp ecx, 0x7ffffff8
mov ecx, 0x1fffffff
cmovae esi, ecx
test esi, esi
je 0x64affa
cmp esi, 0x20000000
jae 0x64b429
lea eax, [esi*8]
push eax
call fcn.0051c3d0
add esp, 4
mov edx, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 4], ecx
sub eax, ecx
mov ecx, eax
sar ecx, 3
jmp 0x64b002
mov dword [esp + 4], ebx
xor edx, edx
mov ecx, edi
lea ebx, [edx + edi*8]
shl ecx, 3
sub ebx, ecx
mov ecx, 0x1fffffff
mov dword [edx + edi*8], ecx
mov ecx, 0x20000000
mov dword [edx + edi*8 + 4], ecx
test eax, eax
jle 0x64b035
push eax
push dword [esp + 8]
push ebx
mov dword [esp + 0x28], edx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edx, dword [esp + 0x28]
add esp, 0xc
lea ecx, [edx + esi*8]
lea eax, [edx + edi*8]
add eax, 8
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x64b05f
push ecx
call fcn.0051c570
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jae 0x64b086
mov ecx, 0x4a38
mov dword [eax], ecx
mov ecx, 0x4e1f
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x14]
add edx, 8
mov dword [esp + 0x14], edx
jmp 0x64b15d
mov esi, dword [esp + 0x10]
sub eax, esi
mov edi, eax
sar edi, 3
lea edx, [edi + 1]
cmp edx, 0x20000000
jae 0x64b420
sub ecx, esi
mov ebx, esi
mov esi, ecx
sar esi, 2
cmp esi, edx
cmovbe esi, edx
cmp ecx, 0x7ffffff8
mov ecx, 0x1fffffff
cmovae esi, ecx
test esi, esi
je 0x64b0f3
cmp esi, 0x20000000
jae 0x64b429
lea eax, [esi*8]
push eax
call fcn.0051c3d0
add esp, 4
mov edx, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 4], ecx
sub eax, ecx
mov ecx, eax
sar ecx, 3
jmp 0x64b0fb
mov dword [esp + 4], ebx
xor edx, edx
mov ecx, edi
lea ebx, [edx + edi*8]
shl ecx, 3
sub ebx, ecx
mov ecx, 0x4a38
mov dword [edx + edi*8], ecx
mov ecx, 0x4e1f
mov dword [edx + edi*8 + 4], ecx
test eax, eax
mov ecx, dword [esp + 4]
jle 0x64b137
push eax
push ecx
push ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
add esp, 0xc
lea eax, [edx + esi*8]
lea edx, [edx + edi*8]
add edx, 8
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x64b15d
push ecx
call fcn.0051c570
add esp, 4
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
call fcn.00659810
xorps xmm0, xmm0
lea edi, [esp + 0x58]
movups xmmword [edi + 0x70], xmm0
movups xmmword [edi + 0x60], xmm0
movups xmmword [edi + 0x50], xmm0
movups xmmword [edi + 0x40], xmm0
movups xmmword [edi + 0x30], xmm0
movups xmmword [edi + 0x20], xmm0
movups xmmword [edi + 0x10], xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x80], 0
mov dword [esp + 0x54], 0x866ac4
mov dword [esp + 0x4c], 0x866be8
mov dword [esp + 0x8c], 0x866bfc
mov dword [esp + 0x50], 0
lea esi, [esp + 0x8c]
mov ecx, esi
push edi
call fcn.004cf350
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0xffffffff
mov dword [esp + 0x4c], 0x866ab0
mov dword [esp + 0x8c], 0x866ad8
mov dword [esp + 0x54], 0x866ac4
mov ecx, edi
call fcn.004cf9a0
mov dword [esp + 0x58], 0x865954
xorps xmm0, xmm0
movups xmmword [esi - 0x14], xmm0
mov dword [esp + 0x88], 0x18
push 0x1c
push str.Suggested_field_numbers_for
lea eax, [esp + 0x5c]
push eax
call fcn.00402f60
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ecx, dword [ecx + edx + 8]
movzx edx, byte [ecx + 0xc]
test dl, 1
je 0x64b24b
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
jmp 0x64b250
add ecx, 0xd
shr edx, 1
push edx
push ecx
push eax
call fcn.00402f60
add esp, 0xc
push 2
push 0x8d0c29
push eax
call fcn.00402f60
add esp, 0xc
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
cmp edx, esi
mov ecx, dword [esp + 0x28]
je 0x64b346
mov edi, 1
mov dword [esp + 0x1c], 0x8d0910
mov dword [esp + 0x20], esi
cmp edi, dword [edx]
jge 0x64b32f
test ecx, ecx
jle 0x64b32f
mov esi, dword [esp + 0x1c]
push esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 8], edx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
push eax
push esi
lea eax, [esp + 0x5c]
push eax
call fcn.00402f60
add esp, 0xc
mov ecx, eax
push edi
inc edi
call fcn.004d9220
mov edx, dword [esp + 4]
mov eax, dword [esp + 0x28]
lea esi, [eax - 1]
cmp edi, dword [edx]
jge 0x64b321
mov dword [esp + 0x1c], 0x8d0a61
cmp eax, 2
jb 0x64b329
nop dword [eax]
push 2
push 0x8d0a61
lea eax, [esp + 0x5c]
push eax
call fcn.00402f60
add esp, 0xc
mov ecx, eax
push edi
inc edi
call fcn.004d9220
mov edx, dword [esp + 4]
lea ecx, [esi - 1]
cmp edi, dword [edx]
jge 0x64b32b
cmp esi, 1
mov esi, ecx
ja 0x64b2f0
jmp 0x64b32b
mov dword [esp + 0x1c], 0x8d0a61
mov ecx, esi
mov esi, dword [esp + 0x20]
test ecx, ecx
je 0x64b346
mov eax, dword [edx + 4]
cmp edi, eax
cmovle edi, eax
add edx, 8
cmp edx, esi
jne 0x64b290
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 0x10]
test esi, esi
je 0x64b39c
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
add eax, ecx
add eax, 8
mov edi, dword [eax]
add edi, 0xc
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x14]
lea ecx, [esp + 0x40]
lea eax, [esp + 0x58]
push eax
call fcn.0040d570
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x40]
push eax
push ebx
push esi
push edi
call fcn.00643140
test byte [esp + 0x40], 1
je 0x64b39c
push dword [esp + 0x48]
call fcn.0051c570
add esp, 4
mov dword [esp + 0x4c], 0x866ab0
mov dword [esp + 0x8c], 0x866ad8
mov dword [esp + 0x54], 0x866ac4
mov dword [esp + 0x58], 0x865954
test byte [esp + 0x78], 1
je 0x64b3d5
push dword [esp + 0x80]
call fcn.0051c570
add esp, 4
lea ecx, [esp + 0x58]
call fcn.004cf730
lea ecx, [esp + 0x4c]
push 0x866ae4
call fcn.004de270
lea ecx, [esp + 0x8c]
call fcn.004cf590
mov eax, dword [esp + 0x10]
test eax, eax
je 0x64ac99
mov dword [esp + 0x14], eax
push eax
call fcn.0051c570
add esp, 4
jmp 0x64ac99
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
lea ecx, [esp + 0x10]
call fcn.005256b0
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
nop