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

Disassembly:
sub esp, 0x4c
push ebx
mov ebx, dword [esp + 0x60]
push ebp
push esi
push edi
push 0
push ebx
call fcn.00464290
add esp, 8
test eax, eax
jne 0x464a37
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x4c
ret
lea eax, [esp + 0x50]
push 0
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x4c]
push ecx
lea eax, [esp + 0x38]
push edx
lea ecx, [esp + 0x30]
push eax
push ecx
call fcn.00463be0
mov edi, dword [esp + 0x80]
push ebx
push edi
call fcn.00464170
add esp, 0x20
test eax, eax
jge 0x464aaf
mov eax, dword [esp + 0x60]
test eax, eax
je 0x464a89
push 0
push eax
call fcn.00463d80
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
mov eax, dword [esp + 0x64]
test eax, eax
je 0x464aa5
push edi
push eax
call fcn.00463d10
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret
lea edx, [esp + 0x20]
push edi
push edx
call fcn.00463d10
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
lea eax, [esp + 0x2c]
push ebx
push eax
call fcn.00463d10
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
mov ecx, dword [edi + 4]
lea edx, [esp + 0x44]
add ecx, 2
mov eax, 1
push ecx
push edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], eax
call fcn.00463c70
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00463d80
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
lea ecx, [esp + 0x38]
push 2
push ecx
call fcn.00463c70
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
lea edx, [esp + 0x50]
push 3
push edx
call fcn.00463c70
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
lea eax, [esp + 0x2c]
push eax
call fcn.00463e20
add esp, 4
and eax, 0x8000001f
jns 0x464b6d
dec eax
or eax, 0xffffffe0
inc eax
cmp eax, 0x1f
jge 0x464baf
mov edi, 0x1f
lea ecx, [esp + 0x20]
sub edi, eax
push edi
push ecx
mov dword [esp + 0x24], edi
call fcn.00463fb0
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
lea edx, [esp + 0x2c]
push edi
push edx
call fcn.00463fb0
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
jmp 0x464bb7
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x2c]
lea ebp, [eax - 1]
lea eax, [ecx - 1]
mov edi, ebp
mov dword [esp + 0x14], eax
sub edi, eax
mov ebx, edi
shl ebx, 5
push ebx
push edx
call fcn.00463fb0
lea eax, [esp + 0x34]
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.004641f0
add esp, 0x10
test eax, eax
jl 0x464c28
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x2c]
push edx
mov ecx, dword [eax + edi*4]
inc ecx
mov dword [eax + edi*4], ecx
lea eax, [esp + 0x24]
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.00464560
lea edx, [esp + 0x38]
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.004641f0
add esp, 0x14
test eax, eax
jge 0x464bf3
lea ecx, [esp + 0x2c]
push ebx
push ecx
call fcn.004640b0
mov ebx, dword [esp + 0x1c]
add esp, 8
mov eax, ebp
cmp ebp, ebx
mov dword [esp + 0x10], eax
jle 0x464efa
jmp 0x464c4e
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + eax*4]
mov edx, dword [esp + 0x34]
mov edi, dword [edx + ebx*4]
cmp ecx, edi
jb 0x464c7c
sub eax, ebx
lea ebp, [eax - 1]
mov eax, dword [esp + 0x4c]
lea edi, [ebp*4]
mov dword [edi + eax], 0xffffffff
jmp 0x464d3c
mov esi, edi
mov eax, ecx
shr esi, 0x10
xor edx, edx
mov ebp, edi
div esi
mov edx, dword [esp + 0x28]
and ebp, 0xffff
mov ebx, eax
mov eax, dword [esp + 0x10]
mov edx, dword [edx + eax*4 - 4]
mov eax, ebx
imul eax, esi
mov dword [esp + 0x18], edx
mov edx, eax
shl edx, 0x10
sub edx, eax
mov eax, dword [esp + 0x18]
add edx, ecx
shl edx, 0x10
mov ecx, edx
shr eax, 0x10
or ecx, eax
mov eax, ebx
imul eax, ebp
cmp ecx, eax
jae 0x464cd8
add ecx, edi
dec ebx
cmp ecx, edi
jb 0x464cd8
cmp ecx, eax
jae 0x464cd8
add ecx, edi
dec ebx
cmp ecx, edi
jae 0x464ccd
sub ecx, eax
xor edx, edx
mov eax, ecx
div esi
mov edx, eax
imul edx, esi
mov esi, edx
shl esi, 0x10
sub esi, edx
mov edx, dword [esp + 0x18]
add esi, ecx
and edx, 0xffff
shl esi, 0x10
mov ecx, esi
or ecx, edx
mov edx, eax
imul edx, ebp
cmp ecx, edx
jae 0x464d1a
add ecx, edi
dec eax
cmp ecx, edi
jb 0x464d1a
cmp ecx, edx
jae 0x464d1a
add ecx, edi
dec eax
cmp ecx, edi
jae 0x464d0f
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x4c]
sub ecx, esi
shl ebx, 0x10
lea ebp, [ecx - 1]
or ebx, eax
lea edi, [ebp*4]
mov dword [edi + edx], ebx
mov ebx, esi
mov eax, dword [esp + 0x4c]
inc dword [edi + eax]
mov eax, dword [esp + 0x4c]
push 0
mov ecx, dword [edi + eax]
dec ecx
mov dword [edi + eax], ecx
lea eax, [esp + 0x3c]
push eax
call fcn.00463d80
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
cmp ebx, 1
jl 0x464d74
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + ebx*4 - 4]
mov edx, dword [esp + 0x40]
mov dword [edx], eax
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov ecx, dword [eax + ebx*4]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x38]
mov ecx, dword [edi + eax]
lea eax, [esp + 0x38]
push ecx
push edx
push eax
call fcn.004649d0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x464f5e
lea ecx, [esp + 0x50]
push eax
push ecx
call fcn.00463d80
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
mov eax, dword [esp + 0x10]
cmp eax, 2
jge 0x464dd1
xor ecx, ecx
jmp 0x464dd9
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + eax*4 - 8]
mov edx, dword [esp + 0x58]
cmp eax, 1
mov dword [edx], ecx
jge 0x464de8
xor ecx, ecx
jmp 0x464df0
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + eax*4 - 4]
mov edx, dword [esp + 0x58]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + eax*4]
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0x50]
mov dword [eax + 8], edx
lea edx, [esp + 0x38]
push ecx
push edx
call fcn.004641f0
add esp, 8
test eax, eax
jg 0x464d43
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x2c]
mov ecx, dword [edi + eax]
lea eax, [esp + 0x38]
push ecx
push edx
push eax
call fcn.004649d0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x464f5e
shl ebp, 5
lea ecx, [esp + 0x38]
push ebp
push ecx
call fcn.00463fb0
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
lea edx, [esp + 0x38]
lea eax, [esp + 0x20]
push edx
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.00464560
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x464f5e
lea edx, [esp + 0x20]
push eax
push edx
call fcn.00464290
add esp, 8
test eax, eax
jge 0x464ee9
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x38]
push eax
push ecx
call fcn.00463d10
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
lea edx, [esp + 0x38]
push ebp
push edx
call fcn.00463fb0
mov esi, eax
add esp, 8
test esi, esi
jne 0x464f5e
lea eax, [esp + 0x38]
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0x24]
push ecx
push edx
call fcn.004644f0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x464f5e
mov eax, dword [esp + 0x4c]
dec dword [edi + eax]
mov eax, dword [esp + 0x10]
dec eax
cmp eax, ebx
mov dword [esp + 0x10], eax
jg 0x464c4a
mov edi, dword [esp + 0x60]
test edi, edi
je 0x464f1f
lea eax, [esp + 0x44]
push eax
push edi
call fcn.00463d10
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
add esp, 8
mov edx, dword [ecx]
imul edx, dword [eax]
mov dword [edi], edx
mov edi, dword [esp + 0x64]
test edi, edi
je 0x464f5e
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x20]
push ecx
push edx
call fcn.004640b0
lea eax, [esp + 0x28]
push eax
push edi
call fcn.00463d10
mov ecx, dword [esp + 0x78]
push 0
push edi
mov edx, dword [ecx]
mov dword [edi], edx
call fcn.00464290
add esp, 0x18
test eax, eax
jne 0x464f5e
mov dword [edi], 1
lea eax, [esp + 0x50]
push 0
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x4c]
push ecx
lea eax, [esp + 0x38]
push edx
lea ecx, [esp + 0x30]
push eax
push ecx
call fcn.00463c10
add esp, 0x18
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret