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

Disassembly:
push 0xffffffffffffffff
push 0x69e1b2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xec
push ebx
push ebp
push esi
mov esi, dword [esp + 0x118]
mov ebp, ecx
push edi
mov ecx, esi
call fcn.004905d0
mov ecx, esi
call fcn.005758b0
mov eax, dword [0x8b0a50]
xor ebx, ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x104], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x80]
mov byte [esp + 0x104], 2
call fcn.00403c60
lea ecx, [esp + 0x94]
mov byte [esp + 0x104], 3
call fcn.00406c80
mov eax, dword [ebp + 0x184]
mov edx, dword [esp + 0x10c]
mov byte [esp + 0x104], 4
mov ecx, dword [eax + 0x60]
mov eax, dword [esp + 0x114]
cmp edx, eax
mov dword [esp + 0x44], ecx
jle 0x460701
mov ecx, edx
mov edx, eax
mov eax, ecx
mov edi, dword [esp + 0x110]
mov ecx, dword [esp + 0x118]
cmp edi, ecx
jle 0x46071d
mov dword [esp + 0x3c], edi
mov edi, ecx
mov ecx, dword [esp + 0x3c]
sub eax, edx
sub ecx, edi
inc eax
mov dword [esp + 0x70], edx
inc ecx
lea edx, [esp + 0x58]
mov dword [esp + 0x7c], ecx
push edx
mov ecx, ebp
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edi
call fcn.0045f160
lea ecx, [esp + 0x3c]
push eax
mov eax, dword [ebp]
push ecx
mov ecx, ebp
call dword [eax + 0x60]
push eax
lea ecx, [esp + 0xdc]
call fcn.00436d50
mov edx, dword [eax]
push 8
mov dword [esp + 0xc8], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0xcc], ecx
mov ecx, ebp
mov edx, dword [eax + 8]
mov dword [esp + 0xd0], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0xd4], eax
call fcn.004cd8b0
mov ecx, 3
sub ecx, eax
mov eax, dword [ebp + 0x15c]
lea edi, [ecx + ecx*4]
xor ecx, ecx
shl edi, 2
cmp eax, ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x20], ecx
jle 0x460df2
jmp 0x4607b5
mov edi, dword [esp + 0x4c]
mov edx, dword [ebp + 0x160]
mov eax, dword [edx + ecx*4]
lea ecx, [edx + ecx*4]
mov eax, dword [eax]
mov eax, dword [eax + 8]
inc eax
mov dword [esp + 0x54], eax
lea edx, [eax + edi - 1]
cmp edx, 0x3c
jg 0x4607e1
lea eax, [edi + eax - 1]
mov dword [esp + 0x4c], eax
jmp 0x460ddb
mov edx, dword [esp + 0xd0]
add edx, 0x3b
cmp edi, edx
jge 0x460df2
mov ecx, dword [ecx]
lea eax, [esp + 0x1c]
push eax
mov ecx, dword [ecx]
call fcn.00401f10
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x108], 5
call fcn.00571160
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x104], 4
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x46083b
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x46083b
push eax
call dword [0x6c74ac]
add esp, 4
push 4
mov ecx, ebp
call fcn.004cd8b0
lea eax, [eax + eax*2]
mov esi, 0x46
xor ecx, ecx
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x178]
shl edx, 2
sub esi, edx
cmp eax, ebx
mov dword [esp + 0x48], esi
mov dword [esp + 0x3c], ecx
jle 0x460dc8
jmp 0x460872
mov esi, dword [esp + 0x48]
mov eax, dword [ebp + 0x17c]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax]
mov eax, dword [edx + 0xc]
inc eax
mov dword [esp + 0x50], eax
lea edi, [eax + esi - 1]
cmp edi, 0x46
mov dword [esp + 0x28], edi
jg 0x46089f
lea eax, [esi + eax - 1]
mov dword [esp + 0x48], eax
jmp 0x460db1
mov edx, dword [esp + 0xcc]
add edx, 0x45
cmp esi, edx
jge 0x460dc4
lea eax, [esp + 0x30]
lea edx, [esp + 0x38]
push eax
push edx
push ecx
mov eax, esp
mov dword [esp + 0x64], esp
push eax
push ecx
lea ecx, [ebp + 0x174]
call fcn.0040a4f0
mov ecx, dword [eax]
call fcn.00401f50
mov ecx, ebp
call fcn.0045db30
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x64], ecx
mov ecx, dword [ebp + 0x17c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x60], esi
mov dword [esp + 0x6c], eax
mov eax, dword [ecx + edx*4]
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
cdq
sub eax, edx
sar eax, 1
inc eax
mov dword [esp + 0x6c], eax
call fcn.004f1960
test al, al
je 0x460b50
push ebx
push ecx
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x60], esp
push edx
call fcn.0040a460
push ecx
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
call fcn.0040a460
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x68], esp
push edx
call fcn.0040a460
mov ecx, dword [ebp + 0x184]
call fcn.004a6340
mov edi, eax
cmp edi, ebx
je 0x460b4c
mov eax, dword [edi + 0x124]
mov ecx, dword [edi + 0x128]
mov edx, dword [edi + 0x12c]
sub eax, ecx
sub eax, edx
test eax, eax
jle 0x460b4c
lea eax, [esp + 0x34]
push ebx
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x50]
push edx
call fcn.00493b10
test al, al
jne 0x460b4c
mov eax, dword [edi + 0x124]
mov edx, dword [edi + 0x128]
sub eax, edx
test eax, eax
jle 0x460b4c
push ebx
lea ecx, [esp + 0x84]
call fcn.005728d0
push ebx
lea ecx, [esp + 0x88]
call fcn.005728d0
push ebx
lea ecx, [esp + 0x8c]
call fcn.005728d0
mov ecx, dword [ebp + 0x184]
lea eax, [esp + 0xd4]
push edi
push eax
mov byte [esp + 0x94], bl
mov dword [esp + 0x98], ebx
mov dword [esp + 0xc8], 0xffffffff
mov byte [esp + 0x9c], bl
mov byte [esp + 0xa4], bl
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], 0
call fcn.004a6b10
mov esi, eax
push esi
lea ecx, [esp + 0x84]
mov byte [esp + 0x108], 6
call fcn.00571160
lea ecx, [esi + 4]
push ecx
lea ecx, [esp + 0x88]
call fcn.00403c10
lea edx, [esi + 8]
lea ecx, [esp + 0x88]
push edx
call fcn.00403c10
mov al, byte [esi + 0xc]
mov edx, dword [esp + 0xdc]
mov byte [esp + 0x8c], al
mov ecx, dword [esi + 0x10]
lea eax, [edx - 0xc]
mov dword [esp + 0x90], ecx
mov byte [esp + 0x104], 4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x460acc
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x460acc
mov esi, dword [0x6c74ac]
push eax
call esi
add esp, 4
jmp 0x460ad2
mov esi, dword [0x6c74ac]
mov eax, dword [esp + 0xd8]
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x460af0
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x460af0
push eax
call esi
add esp, 4
mov ecx, dword [esp + 0xd4]
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x460b0f
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x460b0f
push eax
call esi
add esp, 4
mov eax, dword [edi + 0x128]
mov ecx, dword [esp + 0x11c]
lea edx, [esp + 0x80]
inc eax
push 1
push edx
mov dword [edi + 0x128], eax
call fcn.00490610
mov eax, dword [edi + 0x124]
mov edx, dword [edi + 0x128]
sub eax, edx
test eax, eax
jg 0x4609c9
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x60]
lea eax, [ecx + eax - 1]
push edx
sub edi, eax
lea ecx, [esp + 0x74]
inc edi
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], edi
call fcn.004f1960
test al, al
je 0x460da1
push 1
push ecx
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call fcn.0040a460
push ecx
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x64], esp
push edx
call fcn.0040a460
push ecx
lea eax, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
call fcn.0040a460
mov ecx, dword [ebp + 0x184]
call fcn.004a6340
mov edi, eax
cmp edi, ebx
je 0x460da1
mov eax, dword [edi + 0x124]
mov edx, dword [edi + 0x12c]
mov ecx, dword [edi + 0x128]
sub eax, edx
sub eax, ecx
test eax, eax
jle 0x460da1
lea ecx, [esp + 0x34]
push 1
lea edx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x40]
push edx
push eax
call fcn.00493b10
test al, al
jne 0x460da1
mov eax, dword [edi + 0x124]
mov edx, dword [edi + 0x128]
sub eax, edx
test eax, eax
jle 0x460da1
push ebx
lea ecx, [esp + 0x84]
call fcn.005728d0
push ebx
lea ecx, [esp + 0x88]
call fcn.005728d0
push ebx
lea ecx, [esp + 0x8c]
call fcn.005728d0
lea ecx, [esp + 0xe8]
push edi
push ecx
mov ecx, dword [ebp + 0x184]
mov byte [esp + 0x94], bl
mov dword [esp + 0x98], ebx
mov dword [esp + 0xc8], 0xffffffff
mov byte [esp + 0x9c], bl
mov byte [esp + 0xa4], bl
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], 0
call fcn.004a6b10
mov esi, eax
push esi
lea ecx, [esp + 0x84]
mov byte [esp + 0x108], 7
call fcn.00571160
lea edx, [esi + 4]
lea ecx, [esp + 0x84]
push edx
call fcn.00571160
lea eax, [esi + 8]
lea ecx, [esp + 0x88]
push eax
call fcn.00403c10
mov cl, byte [esi + 0xc]
mov eax, dword [esp + 0xf0]
mov byte [esp + 0x8c], cl
mov edx, dword [esi + 0x10]
add eax, 0xfffffff4
mov dword [esp + 0x90], edx
mov byte [esp + 0x104], 4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x460d20
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x460d20
mov esi, dword [0x6c74ac]
push eax
call esi
add esp, 4
jmp 0x460d26
mov esi, dword [0x6c74ac]
mov ecx, dword [esp + 0xec]
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x460d45
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x460d45
push eax
call esi
add esp, 4
mov edx, dword [esp + 0xe8]
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x460d64
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x460d64
push eax
call esi
add esp, 4
mov ecx, dword [edi + 0x128]
lea eax, [esp + 0x80]
inc ecx
push 1
mov dword [edi + 0x128], ecx
mov ecx, dword [esp + 0x120]
push eax
call fcn.00490610
mov ecx, dword [edi + 0x124]
mov edx, dword [edi + 0x128]
sub ecx, edx
test ecx, ecx
jg 0x460c1d
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
lea eax, [esi + edx - 1]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x178]
inc ecx
cmp ecx, eax
mov dword [esp + 0x3c], ecx
jl 0x46086e
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x11c]
lea edx, [edi + ecx - 1]
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp + 0x15c]
inc ecx
cmp ecx, eax
mov dword [esp + 0x20], ecx
jl 0x4607b1
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x46102a
fld dword [eax + 8]
mov eax, dword [esi + 4]
xor ebp, ebp
fmul dword [0x6c8a7c]
cmp eax, ebx
mov dword [esp + 0x20], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x28], 0
fstp dword [esp + 0x58]
jle 0x46102a
mov eax, dword [esi + 8]
mov eax, dword [eax + ebp*4]
mov ecx, dword [eax + 0x10]
call fcn.004b2580
mov edi, eax
mov eax, dword [esp + 0x44]
push ecx
fld dword [eax + 0x28]
fstp dword [esp]
fld dword [eax + 0x24]
push ecx
mov ecx, edi
fstp dword [esp]
call fcn.004b2c10
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x44]
mov edx, dword [ecx + ebp*4]
mov cl, byte [eax + 0x50]
add edx, 0x14
push edx
push ecx
mov ecx, edi
call fcn.004b7c70
lea edx, [esp + 0x18]
lea eax, [esp + 0x24]
push edx
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x1c]
push ecx
push edx
mov ecx, edi
call fcn.004b3100
fld dword [esp + 0x24]
fsub dword [esp + 0x14]
fcom dword [esp + 0x20]
fnstsw ax
test ah, 0x41
jne 0x460ea6
fstp dword [esp + 0x20]
jmp 0x460ea8
fstp st(0)
fld dword [esp + 0x28]
fsub dword [esp + 0x14]
fstp dword [esp + 0x2c]
fld dword [esp + 0x3c]
fsub dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.004bae00
fld dword [esp + 0x2c]
fadd dword [esp + 0x14]
mov edx, dword [esi + 8]
fstp dword [esp + 0x14]
fld dword [esp + 0x2c]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x1c]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x1c]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x14]
fadd dword [esp + 0x24]
mov eax, dword [edx + ebp*4]
fmul dword [0x6c8ac0]
fstp dword [eax + 0x24]
fld dword [esp + 0x10]
fadd dword [esp + 0x18]
mov ecx, dword [esi + 8]
mov edx, dword [ecx + ebp*4]
fmul dword [0x6c8ac0]
fstp dword [edx + 0x28]
fld dword [esp + 0x18]
fcomp dword [esp + 0x58]
fnstsw ax
test ah, 1
jne 0x461002
fld dword [esp + 0x20]
fadd dword [esp + 0x28]
mov dword [esp + 0x20], 0
fstp dword [esp + 0x28]
fld dword [esp + 0x24]
fsub dword [esp + 0x14]
fcom dword [0x6c8a88]
fnstsw ax
test ah, 0x41
jne 0x460f71
fstp dword [esp + 0x20]
jmp 0x460f73
fstp st(0)
fld dword [esp + 0x28]
fsub dword [esp + 0x14]
fstp dword [esp + 0x2c]
fld dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
fchs
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.004bae00
fld dword [esp + 0x2c]
fadd dword [esp + 0x14]
mov edx, dword [esi + 8]
fstp dword [esp + 0x14]
fld dword [esp + 0x2c]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x1c]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x1c]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x14]
fadd dword [esp + 0x24]
mov eax, dword [edx + ebp*4]
fmul dword [0x6c8ac0]
fstp dword [eax + 0x24]
fld dword [esp + 0x10]
fadd dword [esp + 0x18]
mov ecx, dword [esi + 8]
mov edx, dword [ecx + ebp*4]
fmul dword [0x6c8ac0]
fstp dword [edx + 0x28]
fld dword [esp + 0x18]
fsub dword [esp + 0x10]
jmp 0x46100e
fld dword [esp + 0x18]
fsub dword [esp + 0x10]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x3c]
cmp edi, ebx
je 0x46101e
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
mov eax, dword [esi + 4]
inc ebp
cmp ebp, eax
jl 0x460e30
mov ecx, dword [esp + 0xac]
mov esi, dword [esi + 4]
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x461054
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x461054
mov edi, dword [0x6c74ac]
push eax
call edi
add esp, 4
jmp 0x46105a
mov edi, dword [0x6c74ac]
mov edx, dword [esp + 0x88]
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x461079
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x461079
push eax
call edi
add esp, 4
mov eax, dword [esp + 0x84]
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x461097
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x461097
push eax
call edi
add esp, 4
mov ecx, dword [esp + 0x80]
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x4610b6
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x4610b6
push eax
call edi
add esp, 4
mov edx, dword [esp + 0x34]
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x4610d2
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x4610d2
push eax
call edi
add esp, 4
mov eax, dword [esp + 0x30]
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4610ed
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x4610ed
push eax
call edi
add esp, 4
mov ecx, dword [esp + 0x38]
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x461109
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x461109
push eax
call edi
add esp, 4
mov ecx, dword [esp + 0xfc]
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xf8
ret 0x14