Function at 0x464930
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.004641b0
add esp, 8
test eax, eax
jne 0x464957
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.00463b00
mov edi, dword [esp + 0x80]
push ebx
push edi
call fcn.00464090
add esp, 0x20
test eax, eax
jge 0x4649cf
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4649a9
push 0
push eax
call fcn.00463ca0
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
mov eax, dword [esp + 0x64]
test eax, eax
je 0x4649c5
push edi
push eax
call fcn.00463c30
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
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.00463c30
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
lea eax, [esp + 0x2c]
push ebx
push eax
call fcn.00463c30
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
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.00463b90
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00463ca0
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
lea ecx, [esp + 0x38]
push 2
push ecx
call fcn.00463b90
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
lea edx, [esp + 0x50]
push 3
push edx
call fcn.00463b90
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
lea eax, [esp + 0x2c]
push eax
call fcn.00463d40
add esp, 4
and eax, 0x8000001f
jns 0x464a8d
dec eax
or eax, 0xffffffe0
inc eax
cmp eax, 0x1f
jge 0x464acf
mov edi, 0x1f
lea ecx, [esp + 0x20]
sub edi, eax
push edi
push ecx
mov dword [esp + 0x24], edi
call fcn.00463ed0
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
lea edx, [esp + 0x2c]
push edi
push edx
call fcn.00463ed0
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
jmp 0x464ad7
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.00463ed0
lea eax, [esp + 0x34]
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.00464110
add esp, 0x10
test eax, eax
jl 0x464b48
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.00464480
lea edx, [esp + 0x38]
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.00464110
add esp, 0x14
test eax, eax
jge 0x464b13
lea ecx, [esp + 0x2c]
push ebx
push ecx
call fcn.00463fd0
mov ebx, dword [esp + 0x1c]
add esp, 8
mov eax, ebp
cmp ebp, ebx
mov dword [esp + 0x10], eax
jle 0x464e1a
jmp 0x464b6e
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 0x464b9c
sub eax, ebx
lea ebp, [eax - 1]
mov eax, dword [esp + 0x4c]
lea edi, [ebp*4]
mov dword [edi + eax], 0xffffffff
jmp 0x464c5c
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 0x464bf8
add ecx, edi
dec ebx
cmp ecx, edi
jb 0x464bf8
cmp ecx, eax
jae 0x464bf8
add ecx, edi
dec ebx
cmp ecx, edi
jae 0x464bed
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 0x464c3a
add ecx, edi
dec eax
cmp ecx, edi
jb 0x464c3a
cmp ecx, edx
jae 0x464c3a
add ecx, edi
dec eax
cmp ecx, edi
jae 0x464c2f
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.00463ca0
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
cmp ebx, 1
jl 0x464c94
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.004648f0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x464e7e
lea ecx, [esp + 0x50]
push eax
push ecx
call fcn.00463ca0
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
mov eax, dword [esp + 0x10]
cmp eax, 2
jge 0x464cf1
xor ecx, ecx
jmp 0x464cf9
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 0x464d08
xor ecx, ecx
jmp 0x464d10
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.00464110
add esp, 8
test eax, eax
jg 0x464c63
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.004648f0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x464e7e
shl ebp, 5
lea ecx, [esp + 0x38]
push ebp
push ecx
call fcn.00463ed0
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
lea edx, [esp + 0x38]
lea eax, [esp + 0x20]
push edx
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.00464480
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x464e7e
lea edx, [esp + 0x20]
push eax
push edx
call fcn.004641b0
add esp, 8
test eax, eax
jge 0x464e09
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x38]
push eax
push ecx
call fcn.00463c30
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
lea edx, [esp + 0x38]
push ebp
push edx
call fcn.00463ed0
mov esi, eax
add esp, 8
test esi, esi
jne 0x464e7e
lea eax, [esp + 0x38]
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0x24]
push ecx
push edx
call fcn.00464410
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x464e7e
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 0x464b6a
mov edi, dword [esp + 0x60]
test edi, edi
je 0x464e3f
lea eax, [esp + 0x44]
push eax
push edi
call fcn.00463c30
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 0x464e7e
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x20]
push ecx
push edx
call fcn.00463fd0
lea eax, [esp + 0x28]
push eax
push edi
call fcn.00463c30
mov ecx, dword [esp + 0x78]
push 0
push edi
mov edx, dword [ecx]
mov dword [edi], edx
call fcn.004641b0
add esp, 0x18
test eax, eax
jne 0x464e7e
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.00463b30
add esp, 0x18
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret