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

Disassembly:
sub esp, 0x3c
mov edx, dword [esp + 0x40]
push ebx
push ebp
push esi
push edi
mov edi, eax
fld dword [edi + 0x1f4]
lea eax, [edi + 0x294]
fsub dword [edx + 0x1f4]
lea ecx, [edi + 0x1b48]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
call fcn.00499690
mov ebp, dword [0x52b40c]
mov ecx, dword [ebp + 0x117fc]
cdq
mov esi, eax
mov eax, dword [ebp + 0x11804]
xor esi, edx
sub esi, edx
mov edx, dword [ebp + 0x117f8]
push ecx
push edx
push 0
push eax
mov dword [esp + 0x28], esi
call fcn.0049a610
mov ecx, dword [ebp + 0x11800]
push 0
push ecx
push edx
push eax
call fcn.0049a650
mov dword [ebp + 0x117f8], eax
mov ecx, eax
mov dword [ebp + 0x117fc], edx
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0x11804]
add edx, edx
sub ecx, edx
mov edx, dword [ebp + 0x117f8]
add ecx, 5
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0x117fc]
push ecx
push edx
push 0
push eax
call fcn.0049a610
mov ecx, dword [ebp + 0x11800]
push 0
push ecx
push edx
push eax
call fcn.0049a650
mov ecx, eax
mov dword [ebp + 0x117f8], eax
mov dword [ebp + 0x117fc], edx
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
add edx, edx
sub ecx, edx
add ecx, 5
cmp dword [esp + 0x54], 9
mov dword [esp + 0x1c], ecx
jne 0x46272b
mov ebx, dword [esp + 0x50]
push 1
lea eax, [esp + 0x3c]
call fcn.004611c0
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
add esp, 4
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
cmp ecx, 0xffffffff
je 0x46272b
mov ecx, dword [edi + 0x148c]
xor eax, eax
mov dword [edi + 0x148c], eax
mov dword [edi + 0x1494], eax
mov dword [edi + 0x1490], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
mov ebx, dword [esp + 0x50]
push 0
lea eax, [esp + 0x3c]
call fcn.00461150
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
add esp, 4
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
cmp ecx, 0xffffffff
jne 0x462704
mov eax, dword [ebp + 0x117fc]
mov ecx, dword [ebp + 0x117f8]
mov edx, dword [ebp + 0x11804]
push eax
push ecx
push 0
push edx
call fcn.0049a610
mov ecx, dword [ebp + 0x11800]
push 0
push ecx
push edx
push eax
call fcn.0049a650
mov ecx, eax
mov dword [ebp + 0x117f8], eax
mov dword [ebp + 0x117fc], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
mov eax, 0xb
je 0x4627b4
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x1c], eax
je 0x4627cd
call fcn.004599c0
and eax, 0x80000007
jns 0x4627cb
dec eax
or eax, 0xfffffff8
inc eax
je 0x4627d5
mov dword [esp + 0x1c], 0
cmp dword [edi + 0x1c04], 0
je 0x4627f0
cmp dword [edi + 0xe5c], 0
jne 0x4627f0
cmp dword [edi + 0xe64], 0
jne 0x4627fd
cmp dword [edi + 0xe5c], 2
jne 0x4629e6
mov ecx, dword [edi + 0xe54]
cmp ecx, 2
mov ebx, 0xa
jge 0x46281b
mov eax, dword [esp + 0x54]
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
add ebx, 0x1a
cmp ecx, 5
jge 0x462823
add ebx, 5
cmp ecx, 0xa
jle 0x46282b
sub ebx, 5
cmp esi, 0x1e
jge 0x462845
mov eax, dword [esp + 0x54]
cdq
sub eax, edx
sar eax, 1
cmp ecx, 2
lea ebx, [ebx + eax + 6]
jge 0x462845
add ebx, 0xa
cmp esi, 0xa0
jle 0x462856
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
mov esi, dword [esp + 0x50]
push edi
call fcn.00464f10
add esp, 4
test eax, eax
jne 0x462879
mov eax, 0x66666667
imul ebx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov ebx, ecx
call fcn.004599c0
cdq
mov ecx, 0x64
idiv ecx
mov ecx, dword [esp + 0x54]
add ecx, 6
imul ecx, ebx
mov eax, 0x92492493
mov esi, edx
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jge 0x4629e6
cmp dword [edi + 0xe68], 0
jne 0x462968
mov ecx, dword [esp + 0x50]
mov esi, dword [ecx + 0xe58]
mov edi, dword [esp + 0x14]
sub esi, 2
neg esi
sbb esi, esi
and esi, 0xffffffce
add esi, 0x4b
cmp dword [edi + 0x7c], 0
je 0x4628e7
mov ecx, 0x11
mov eax, edi
call fcn.004117b0
cmp dword [edi + 0x80], 0
je 0x4628fc
mov ecx, 0x12
mov eax, edi
call fcn.004117b0
cmp dword [edi + 0x88], 0
jne 0x462911
mov ecx, 4
mov eax, edi
call fcn.004117b0
call fcn.004599c0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, esi
jge 0x462945
cmp dword [edi + 0x84], 0
jne 0x462ff3
mov ecx, 3
mov eax, edi
call fcn.004117b0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
cmp dword [edi + 0x84], 0
je 0x462ff3
mov eax, edi
mov ecx, 0x13
call fcn.004117b0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
call fcn.004599c0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x1e
jge 0x462ff3
mov esi, dword [esp + 0x50]
mov eax, dword [esi + 0x1224]
test al, 8
je 0x4629a9
test al, 4
jne 0x4629a9
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x84], 0
jne 0x4629ad
mov ecx, 3
call fcn.004117b0
jmp 0x4629ad
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x1224]
test cl, 8
jne 0x462ff3
test cl, 4
je 0x462ff3
cmp dword [eax + 0x84], 0
je 0x462ff3
mov ecx, 0x13
call fcn.004117b0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
cmp dword [edi + 0x1c04], 0
mov esi, dword [esp + 0x14]
jne 0x462a08
cmp dword [esi + 0x88], 0
je 0x462a08
mov ecx, 0x14
mov eax, esi
call fcn.004117b0
mov eax, dword [ebp + 0x117fc]
mov ecx, dword [ebp + 0x117f8]
mov edx, dword [ebp + 0x11804]
push eax
push ecx
push 0
push edx
call fcn.0049a610
mov ecx, dword [ebp + 0x11800]
push 0
push ecx
push edx
push eax
call fcn.0049a650
mov ecx, eax
mov dword [ebp + 0x117f8], eax
mov dword [ebp + 0x117fc], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
cmp ecx, 0x3a
jge 0x462dbc
call fcn.004599c0
cdq
mov ecx, 0x3e8
idiv ecx
cmp edx, 0x3e
jge 0x462af2
cmp dword [esp + 0x18], 0x7d
jle 0x462af2
cmp dword [esi + 0x80], 0
jne 0x462af2
mov ebx, dword [esp + 0x14]
mov esi, 1
add ebx, 0x7c
nop
cmp dword [ebx], 0
je 0x462aa3
mov eax, dword [esp + 0x14]
mov ecx, esi
or ecx, 0x10
call fcn.004117b0
inc esi
add ebx, 4
cmp esi, 4
jle 0x462a90
call fcn.004599c0
cdq
mov ecx, 0x3e8
idiv ecx
cmp edx, 0x96
jge 0x462acf
mov eax, dword [esp + 0x14]
mov ecx, 1
call fcn.004117b0
call fcn.004599c0
cdq
mov ecx, 0x3e8
idiv ecx
cmp edx, 0x2ee
jge 0x462af2
mov eax, dword [esp + 0x14]
mov ecx, 2
call fcn.004117b0
call fcn.004599c0
cdq
mov ecx, 0x3e8
idiv ecx
cmp edx, 0x3e
jge case.default.0x462b8e
mov ebx, dword [esp + 0x14]
mov esi, 1
add ebx, 0x7c
cmp dword [ebx], 0
je 0x462b27
mov eax, dword [esp + 0x14]
mov ecx, esi
or ecx, 0x10
call fcn.004117b0
inc esi
add ebx, 4
cmp esi, 4
jle 0x462b14
mov eax, dword [ebp + 0x117fc]
mov ecx, dword [ebp + 0x117f8]
mov edx, dword [ebp + 0x11804]
push eax
push ecx
push 0
push edx
call fcn.0049a610
mov ecx, dword [ebp + 0x11800]
push 0
push ecx
push edx
push eax
call fcn.0049a650
mov dword [ebp + 0x117f8], eax
mov ecx, eax
mov dword [ebp + 0x117fc], edx
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x13
mov eax, ecx
sub eax, edx
cmp eax, 0x12
ja case.default.0x462b8e
movzx eax, byte [eax + 0x463020]
jmp dword [eax*4 + 0x463000]
mov eax, dword [esp + 0x14]
mov ecx, 1
call fcn.004117b0
mov ecx, 4
jmp 0x462c00
mov eax, dword [esp + 0x14]
mov ecx, 1
jmp 0x462c00
mov ecx, 1
jmp 0x462bf2
mov eax, dword [esp + 0x14]
jmp 0x462bfb
mov eax, dword [esp + 0x14]
mov ecx, 4
jmp 0x462c00
mov eax, dword [esp + 0x14]
mov ecx, 3
call fcn.004117b0
mov ecx, 4
jmp 0x462c00
mov eax, dword [esp + 0x14]
mov ecx, 3
jmp 0x462c00
mov ecx, 3
mov eax, dword [esp + 0x14]
call fcn.004117b0
mov ecx, 2
call fcn.004117b0
mov ebx, dword [edi + 0xe5c]
mov eax, 0x64
cmp ebx, 1
jne 0x462c48
cmp dword [edi + 0xe8c], 2
mov eax, 0x96
jne 0x462c48
mov esi, dword [esp + 0x54]
lea ecx, [esi + 0xc]
imul ecx, ecx, 0x15e
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
lea eax, [edx + ecx + 0x96]
jmp 0x462c4c
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
cmp ecx, 0x96
jge 0x462c5b
add eax, 0x32
cmp ecx, 0x64
jge 0x462c63
add eax, 0x4b
cmp ecx, 0x3c
jge 0x462c70
lea edx, [esi + eax + 0x15]
lea eax, [edx + esi*4 + 0x54]
cmp ecx, 0x2d
jge 0x462c7d
lea eax, [esi + eax + 0x28]
lea eax, [eax + esi*2 + 0x50]
cmp ecx, 0x1e
jge 0x462c8a
lea ecx, [esi + eax + 0x28]
lea eax, [ecx + esi*2 + 0x50]
lea ecx, [esi + 6]
imul ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp ebx, 2
jne 0x462cbb
mov eax, 0x66666667
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov edx, dword [ebp + 0x117fc]
mov eax, dword [ebp + 0x117f8]
mov ecx, dword [ebp + 0x11804]
push edx
push eax
push 0
push ecx
call fcn.0049a610
mov ecx, dword [ebp + 0x11800]
push 0
push ecx
push edx
push eax
call fcn.0049a650
mov ecx, eax
mov dword [ebp + 0x117f8], eax
mov dword [ebp + 0x117fc], edx
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x3e8
sub ecx, eax
cmp ecx, esi
jge 0x462dbc
cmp dword [edi + 0xe8c], 2
mov esi, 0x1f4
je 0x462d2b
mov esi, 0x2ee
jmp 0x462d3c
test dword [edi + 0x11bc], 0x6d8
je 0x462d3c
mov esi, 0xfa
mov edx, dword [ebp + 0x117fc]
mov eax, dword [ebp + 0x117f8]
mov ecx, dword [ebp + 0x11804]
push edx
push eax
push 0
push ecx
call fcn.0049a610
mov ecx, dword [ebp + 0x11800]
push 0
push ecx
push edx
push eax
call fcn.0049a650
mov ecx, eax
mov dword [ebp + 0x117f8], eax
mov dword [ebp + 0x117fc], edx
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x3e8
sub ecx, eax
cmp ecx, esi
jge 0x462ead
call fcn.004599c0
cdq
mov ecx, 6
idiv ecx
mov eax, dword [esp + 0x14]
add edx, 5
cmp dword [eax + edx*4 + 0x78], 0
je 0x462db5
or edx, 0x10
mov ecx, edx
call fcn.004117b0
mov ebx, dword [esp + 0x20]
mov esi, 2
cmp dword [edi + 0xe5c], esi
jne 0x462ff3
cmp dword [edi + 0x10c8], 0
je 0x462ff3
fld dword [0x4a6cd4]
fcomp dword [edi + 0x1f8]
fnstsw ax
test ah, 5
jp 0x462df6
mov esi, 0x14
fld dword [0x4a6ba8]
fcomp dword [edi + 0x208]
fnstsw ax
test ah, 5
jp 0x462e1f
fld dword [0x4a6cd0]
fcomp dword [edi + 0x208]
fnstsw ax
test ah, 0x41
jne 0x462e1f
add esi, 8
mov eax, dword [ebp + 0x117fc]
mov ecx, dword [ebp + 0x117f8]
mov edx, dword [ebp + 0x11804]
push eax
push ecx
push 0
push edx
call fcn.0049a610
mov ecx, dword [ebp + 0x11800]
push 0
push ecx
push edx
push eax
call fcn.0049a650
mov dword [ebp + 0x117f8], eax
mov dword [ebp + 0x117fc], edx
mov ebp, eax
mov eax, 0x51eb851f
imul ebp
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ebp, eax
cmp ebp, esi
jge 0x462ff3
call fcn.004599c0
cdq
mov ecx, 0x64
idiv ecx
mov eax, ebx
cmp edx, 0x32
jge 0x462fdd
mov ecx, 5
call fcn.004117b0
mov ecx, 6
call fcn.004117b0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
mov ebx, dword [esp + 0x14]
mov esi, 1
add ebx, 0x7c
lea esp, [esp]
cmp dword [ebx], 0
je 0x462ed3
mov eax, dword [esp + 0x14]
mov ecx, esi
or ecx, 0x10
call fcn.004117b0
inc esi
add ebx, 4
cmp esi, 4
jle 0x462ec0
mov eax, dword [ebp + 0x117fc]
mov ecx, dword [ebp + 0x117f8]
mov edx, dword [ebp + 0x11804]
push eax
push ecx
push 0
push edx
call fcn.0049a610
mov ecx, dword [ebp + 0x11800]
push 0
push ecx
push edx
push eax
call fcn.0049a650
mov ecx, eax
mov dword [ebp + 0x117f8], eax
mov dword [ebp + 0x117fc], edx
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x3e8
sub ecx, eax
mov eax, dword [esp + 0x54]
mov edx, eax
shl edx, 4
sub edx, eax
lea eax, [edx + edx + 0x226]
cmp ecx, eax
jge 0x462fbd
cmp dword [ebp + 0x118f8], 0
je 0x462fbd
mov edx, dword [ebp + 0x117fc]
mov eax, dword [ebp + 0x117f8]
mov ecx, dword [ebp + 0x11804]
push edx
push eax
push 0
push ecx
call fcn.0049a610
mov ecx, dword [ebp + 0x11800]
push 0
push ecx
push edx
push eax
call fcn.0049a650
mov dword [ebp + 0x117f8], eax
mov dword [ebp + 0x117fc], edx
mov ecx, dword [edi + 0x9b0]
cdq
idiv dword [ecx + 0xc]
or ecx, 0xffffffff
xor eax, eax
cmp dword [edi + 0x2258], ecx
je 0x462faf
lea ecx, [ecx]
inc eax
cmp dword [edi + eax*4 + 0x2258], ecx
jne 0x462fa0
cmp eax, 9
jge 0x462fbd
mov dword [edi + eax*4 + 0x2258], edx
mov dword [edi + eax*4 + 0x225c], ecx
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov ecx, esi
mov eax, ebx
call fcn.004117b0
mov ecx, esi
or ecx, 0x10
call fcn.004117b0
jmp 0x462dc0
mov ecx, 8
call fcn.004117b0
mov ecx, 9
mov eax, ebx
call fcn.004117b0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3c
ret