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

Disassembly:
sub esp, 0x4b4
push esi
push edi
mov eax, dword [0x6d6a18]
mov edx, dword [0x6d6a00]
mov ecx, dword [0x6d6a1c]
mov dword [esp + 0x20], eax
mov eax, dword [0x6d69e8]
mov dword [esp + 0x28], edx
mov edx, dword [0x6d69f4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov eax, dword [0x6d69f0]
mov dword [esp + 0x3c], edx
mov edx, dword [0x6d69fc]
mov dword [esp + 0x34], eax
mov eax, dword [0x6d69dc]
mov dword [esp + 0x54], edx
mov edx, dword [0x6d69e4]
mov dword [esp + 0x24], ecx
mov ecx, dword [0x6d69d8]
mov dword [esp + 0x40], eax
mov eax, dword [0x6d6a20]
mov dword [esp + 0x58], edx
mov edx, dword [0x6d69f8]
mov esi, dword [esp + 0x4c0]
mov dword [esp + 0x38], ecx
mov ecx, dword [0x6d6a24]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], edx
mov edx, dword [0x6d69e0]
mov dword [esp + 0x68], eax
mov eax, dword [0x6d6a28]
xor edi, edi
cmp esi, edi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x60], edx
mov edx, dword [0x6d6a30]
mov dword [esp + 0x6c], ecx
mov ecx, dword [0x6d6a2c]
mov dword [esp + 0x70], eax
mov eax, dword [0x6d6a34]
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
jge 0x459535
pop edi
xor eax, eax
pop esi
add esp, 0x4b4
ret
cmp dword [0x6d6860], 2
jne 0x45954b
mov eax, 0x80100000
or dword [esp + 0x20], eax
or dword [esp + 0x24], eax
mov ecx, dword [0x5912e4]
call fcn.00458840
cmp esi, edi
mov ecx, dword [0x5912e4]
mov edx, dword [ecx + 8]
mov dword [esp + 0x10], edx
je 0x459584
jmp 0x459570
mov ecx, dword [0x5912e4]
call fcn.00458930
sub esi, 1
mov dword [esp + 0x10], eax
jne 0x459570
mov ecx, dword [esp + 0x4c4]
call fcn.00426350
mov eax, 0x5902e8
mov dword [eax], edi
add eax, 0x7c
cmp eax, 0x591268
jl 0x459595
mov eax, dword [0x590250]
neg eax
sbb eax, eax
and eax, 0x59024c
mov dword [esp + 0x18], eax
mov eax, dword [0x6d6a08]
imul eax, dword [0x6d6a0c]
add eax, dword [0x6d69d4]
push ebx
test eax, eax
mov dword [esp + 0xc], eax
push ebp
fild dword [esp + 0x10]
jge 0x4595d9
fadd dword [0x49e4a0]
cmp dword [esp + 0x18], edi
fstp dword [esp + 0x14]
je 0x459acf
mov edi, dword [esp + 0x18]
jmp 0x4595f0
lea ecx, [esp + 0x88]
push ecx
mov ecx, edi
call fcn.004585f0
test al, al
je 0x459acf
xor esi, esi
mov eax, 0x5902c8
mov edi, edi
cmp dword [eax + 8], 0
je 0x45962a
mov edx, dword [eax]
cmp edx, dword [edi + 0x434]
jne 0x45962a
cmp dword [eax + 0x20], 0
je 0x4596a9
cmp dword [eax + 0x84], 0
je 0x459647
mov ecx, dword [eax + 0x7c]
cmp ecx, dword [edi + 0x434]
jne 0x459647
cmp dword [eax + 0x9c], 0
je 0x45969c
cmp dword [eax + 0x100], 0
je 0x459667
mov edx, dword [eax + 0xf8]
cmp edx, dword [edi + 0x434]
jne 0x459667
cmp dword [eax + 0x118], 0
je 0x4596a1
cmp dword [eax + 0x17c], 0
je 0x459687
mov ecx, dword [eax + 0x174]
cmp ecx, dword [edi + 0x434]
jne 0x459687
cmp dword [eax + 0x194], 0
je 0x4596a6
add eax, 0x1f0
add esi, 4
cmp eax, 0x591248
jl 0x459610
jmp 0x4596a9
add esi, 1
jmp 0x4596a9
add esi, 2
jmp 0x4596a9
add esi, 3
cmp esi, 0x20
jne 0x4599ba
xor esi, esi
mov eax, 0x59034c
lea esp, [esp]
cmp dword [eax - 0x7c], 0
je 0x4596f8
cmp dword [eax], 0
je 0x4596eb
cmp dword [eax + 0x7c], 0
je 0x4596f0
cmp dword [eax + 0xf8], 0
je 0x4596f5
add eax, 0x1f0
add esi, 4
cmp eax, 0x5912cc
jl 0x4596c0
jmp 0x4596f8
add esi, 1
jmp 0x4596f8
add esi, 2
jmp 0x4596f8
add esi, 3
cmp esi, 0x20
je 0x459acf
mov edx, dword [0x590248]
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.004732a0
imul esi, esi, 0x7c
mov ebp, eax
add esp, 8
test ebp, ebp
mov dword [esi + 0x5902d0], ebp
je 0x459c4d
cmp dword [esp + 0xa0], 0xffffffff
je 0x45974e
mov eax, dword [esp + 0xa8]
test eax, eax
mov edi, eax
mov dword [esp + 0x10], edi
je 0x459754
mov ecx, dword [eax + 8]
add ecx, eax
mov dword [esp + 0x1c], ecx
jmp 0x45975c
xor edi, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x45976e
mov eax, dword [ecx + 8]
add eax, ecx
jmp 0x459770
xor eax, eax
mov edx, dword [ecx + 0x14]
test edx, edx
je 0x459788
mov edi, dword [edx + ecx]
mov ebx, dword [esp + 0x20]
add edx, ecx
mov dword [ebx], edi
mov edi, dword [esp + 0x10]
jmp 0x45978a
xor edx, edx
test edi, edi
mov ebx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0xc]
je 0x459799
mov edi, dword [edi + 0xc]
jmp 0x45979b
xor edi, edi
push ebx
push dword [esp + 0x24]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x30]
push ecx
push edi
push ebp
call fcn.00475700
mov ecx, dword [0x5902b4]
add esp, 0x20
test ecx, ecx
je 0x4597f5
mov eax, dword [0x590248]
lea edx, [eax + eax*4]
add edx, edx
add edx, edx
add edx, edx
push edx
push 0
push 0
push ecx
call fcn.0043f710
push eax
call fcn.00436fa0
add esp, 0x14
test eax, eax
mov dword [esi + 0x5902cc], eax
je 0x4597f5
push 3
push 1
push eax
call fcn.00436ea0
add esp, 0xc
mov edx, dword [0x6d6a0c]
fld dword [esp + 0x14]
test edx, edx
fild dword [0x6d6a0c]
mov eax, dword [0x6d6a20]
mov ecx, dword [0x6d6a24]
mov dword [esi + 0x5902dc], eax
mov dword [esi + 0x5902e0], ecx
jge 0x459826
fadd dword [0x49e4a0]
mov eax, dword [esi + 0x5902cc]
fsubp st(1)
test eax, eax
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
je 0x4598bb
mov ecx, dword [0x5902b8]
sub ecx, 0
je 0x459880
sub ecx, 1
jne 0x4598bb
fiadd dword [esi + 0x5902e0]
push ecx
sub esp, 8
fadd dword [0x5902c0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fld dword [0x5902bc]
fadd dword [0x5902a4]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
jmp 0x4598ab
fadd dword [0x5902c0]
push 0
sub esp, 8
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fld dword [0x5902bc]
fadd dword [0x5902a4]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push eax
call fcn.0043a480
fld dword [esp + 0x24]
add esp, 0x10
fld dword [0x5902a4]
fst dword [esi + 0x5902d4]
fxch st(1)
fst dword [esi + 0x5902d8]
call fcn.00485ee0
push eax
call fcn.00485ee0
push eax
mov eax, dword [esi + 0x5902d0]
push eax
call fcn.00473450
mov edi, dword [esp + 0x4d8]
add esp, 0xc
test edi, edi
je 0x459962
cmp dword [esp + 0xb4], 0
je 0x45991c
lea ecx, [esp + 0xb8]
push 0
push ecx
call fcn.00470110
add esp, 8
test eax, eax
je 0x45991c
mov eax, 1
jmp 0x45991e
xor eax, eax
mov edx, dword [esp + 0x4c0]
mov ecx, dword [esp + 0x1c]
push edx
push ecx
mov ecx, dword [esp + 0xb8]
neg ecx
sbb ecx, ecx
lea edx, [esi + 0x5902c8]
push edx
mov edx, dword [esp + 0xb4]
and ecx, 2
neg edx
sbb edx, edx
and edx, 4
add ecx, eax
add edx, ecx
push edx
push edi
call fcn.00458b80
add esp, 0x14
mov dword [esi + 0x5902ec], eax
mov eax, dword [esi + 0x590340]
test eax, eax
je 0x45999b
fld dword [esp + 0x14]
mov ecx, dword [0x6d69d0]
push 0
sub esp, 8
test ecx, ecx
fstp dword [esp + 4]
fild dword [0x6d69d0]
jge 0x45998f
fadd dword [0x49e4a0]
fstp dword [esp]
push eax
call fcn.004359b0
add esp, 0x10
mov edx, dword [esp + 0x18]
mov dword [esi + 0x5902e8], 1
mov eax, dword [edx + 0x434]
mov dword [esi + 0x5902c8], eax
jmp 0x459a93
mov ecx, dword [0x6d6a0c]
fld dword [esp + 0x14]
imul esi, esi, 0x7c
fild dword [0x6d6a0c]
test ecx, ecx
mov dword [esi + 0x5902e8], 1
jge 0x4599e1
fadd dword [0x49e4a0]
fsubp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fsub dword [esi + 0x5902d8]
call fcn.00485ee0
mov ebp, eax
mov eax, dword [esi + 0x5902cc]
test eax, eax
mov dword [esp + 0x18], ebp
je 0x459a21
fild dword [esp + 0x18]
push 0
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
push eax
call fcn.004359b0
add esp, 0x10
fld dword [esp + 0x14]
xor edi, edi
cmp dword [esi + 0x5902ec], edi
fstp dword [esi + 0x5902d8]
jle 0x459a60
lea ebx, [esi + 0x5902f0]
jmp 0x459a40
mov edx, dword [ebx]
mov ecx, dword [esp + 0x4cc]
push ebp
push 0
push edx
call fcn.00425ba0
add edi, 1
add ebx, 4
cmp edi, dword [esi + 0x5902ec]
jl 0x459a40
mov eax, dword [esi + 0x5902d0]
push ebp
push 0
push eax
call fcn.004734c0
fild dword [esp + 0x24]
mov ecx, dword [esi + 0x590340]
add esp, 0xc
push 0
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
push ecx
call fcn.004359b0
add esp, 0x10
mov edx, dword [0x6d69d4]
fld dword [esp + 0x14]
test edx, edx
fild dword [0x6d69d4]
jge 0x459aad
fadd dword [0x49e4a0]
fcompp
fnstsw ax
test ah, 1
je 0x459acf
mov ecx, dword [0x5912e4]
call fcn.00458930
mov edi, eax
test edi, edi
mov dword [esp + 0x18], edi
jne 0x4595f0
mov ebp, dword [esp + 0x4cc]
mov esi, 0x5902ec
jmp 0x459ae0
xor edi, edi
cmp dword [esi - 4], edi
jne 0x459b46
cmp ebp, edi
je 0x459b08
cmp dword [esi], edi
jle 0x459b08
lea ebx, [esi + 4]
mov eax, dword [ebx]
push eax
mov ecx, ebp
call fcn.00425900
add edi, 1
add ebx, 4
cmp edi, dword [esi]
jl 0x459af2
xor edi, edi
mov eax, dword [esi - 0x1c]
cmp eax, edi
mov dword [esi], edi
je 0x459b1d
push eax
call fcn.004756d0
add esp, 4
mov dword [esi - 0x1c], edi
mov eax, dword [esi + 0x54]
cmp eax, edi
je 0x459b30
push eax
call fcn.0043e4a0
add esp, 4
mov dword [esi + 0x54], edi
mov eax, dword [esi - 0x20]
cmp eax, edi
je 0x459b43
push eax
call fcn.0043e4a0
add esp, 4
mov dword [esi - 0x20], edi
mov dword [esi - 4], edi
add esi, 0x7c
cmp esi, 0x59126c
jl 0x459ae0
mov ebp, dword [0x6d69d4]
fld dword [esp + 0x14]
mov ecx, ebp
test ecx, ecx
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
jge 0x459b6f
fadd dword [0x49e4a0]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x459c5a
fnstcw word [esp + 0x14]
mov esi, 0x5902d8
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x20], eax
fldcw word [esp + 0x20]
fistp qword [esp + 0x20]
mov edx, dword [esp + 0x20]
sub ebp, edx
mov dword [esp + 0x18], ebp
fldcw word [esp + 0x14]
lea esp, [esp]
cmp dword [esi + 0x10], 0
je 0x459c3c
fild dword [esp + 0x18]
xor edi, edi
cmp dword [esi + 0x14], edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fadd dword [esi]
fstp dword [esi]
jle 0x459bf1
lea ebx, [esi + 0x18]
mov eax, dword [ebx]
mov ecx, dword [esp + 0x4cc]
push ebp
push 0
push eax
call fcn.00425ba0
add edi, 1
add ebx, 4
cmp edi, dword [esi + 0x14]
jl 0x459bd4
mov ecx, dword [esi - 8]
push ebp
push 0
push ecx
call fcn.004734c0
fld dword [esp + 0x28]
mov edx, dword [esi - 0xc]
add esp, 0xc
push 0
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
push edx
call fcn.004359b0
fld dword [esp + 0x2c]
mov eax, dword [esi + 0x68]
add esp, 0x10
push 0
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
push eax
call fcn.004359b0
add esp, 0x10
add esi, 0x7c
cmp esi, 0x591258
jl 0x459bb0
jmp 0x459c5c
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x4b4
ret
fstp st(0)
cmp dword [esp + 0x4cc], 0
je 0x459c76
mov ecx, dword [esp + 0x4cc]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x4b4
ret