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

Disassembly:
sub esp, 0x13c
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebp
mov eax, dword [0x64f1b4]
mov dword [esp + 0xdc], eax
mov ebp, dword [esp + 0x144]
mov esi, dword [esp + 0x140]
lea edi, [esp + 0xdc]
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0xdc]
test ebx, ebx
je 0x498fa7
mov ecx, dword [ebp + ebx*4 + 0x7c]
test ecx, ecx
jne 0x498f83
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.004982a8
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.004983b8
mov edx, dword [esp + 0xdc]
mov eax, dword [ebp + edx*4]
mov dword [esp + 0xdc], eax
jmp 0x498f58
mov ecx, dword [0x64f1c8]
mov dword [esp + 0x10c], ecx
mov edi, ebp
mov ebp, esi
lea esi, [esp + 0x10c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0x10c]
test ebx, ebx
je 0x499006
mov edx, dword [edi + ebx*4 + 0x18]
test edx, edx
jne 0x498ff3
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.0049b018
mov eax, dword [esp + 0x10c]
mov ecx, dword [edi + eax*4]
mov dword [esp + 0x10c], ecx
jmp 0x498fc8
mov dword [esp], ebp
mov dword [esp + 4], edi
call fcn.00498e18
mov esi, 0
mov dword [0x64e1d0], esi
mov edx, dword [0x64e1c8]
test edx, edx
je 0x499062
mov eax, dword [0x64f55c]
test eax, eax
je 0x499062
mov dword [esp], ebp
mov dword [esp + 4], edi
lea ecx, [0x64e1c8]
mov dword [esp + 8], ecx
call fcn.005c9d90
test eax, eax
je 0x499062
mov edx, 1
mov dword [0x64e1d0], edx
mov dword [0x64e344], esi
mov eax, dword [0x64e1cc]
test eax, eax
je 0x4990ad
mov ecx, dword [0x64f55c]
test ecx, ecx
je 0x4990ad
mov dword [esp], ebp
mov dword [esp + 4], edi
lea edx, [0x64e1cc]
mov dword [esp + 8], edx
call fcn.005c9d90
test eax, eax
je 0x4990ad
mov eax, 1
mov dword [0x64e344], eax
mov ecx, dword [0x64f464]
test ecx, ecx
je 0x499704
fld dword [0x6a3c30]
fld dword [0x64ec48]
fucompp
fnstsw ax
sahf
jne 0x49962d
mov eax, dword [0x64ecec]
mov dword [0x64eec8], eax
mov eax, dword [0x6a3c30]
mov dword [esp + 0x108], eax
mov edx, dword [0x64f1b4]
mov dword [esp + 0xdc], edx
lea esi, [esp + 0xdc]
lea ebx, [esp + 0xe0]
nop
nop
mov eax, dword [esp + 0xdc]
test eax, eax
je 0x4994f1
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
call fcn.00420280
fld dword [0x64ec8c]
fld dword [esp + 0xe0]
fucom st(1)
fxch st(1)
fnstsw ax
sahf
ja 0x499151
fstp dword [esp + 0xd0]
jmp 0x49915a
fstp st(0)
fst dword [esp + 0xd0]
fstp st(0)
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0xe4], ecx
mov eax, dword [ebp + ecx*4 + 0x48]
mov dword [esp + 0xe8], eax
mov edx, dword [edi + ecx*4 + 0x20]
mov dword [esp + 0xec], edx
mov eax, dword [edi + ecx*4 + 0x1c]
mov dword [esp + 0xf0], eax
test eax, eax
jle 0x499222
mov ecx, dword [esp + 0xec]
cmp ecx, 1
jne 0x4991e2
mov edx, dword [esp + 0xf0]
mov eax, dword [edx*4 + 0x65f42c]
mov dword [0x64b1d8], eax
mov eax, dword [0x6a3c50]
mov dword [0x64b1d0], eax
mov eax, dword [0x6a3c34]
mov dword [0x64b1d4], eax
jmp 0x499423
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax*4 + 0x65f5bc]
mov dword [0x64b1d8], ecx
mov ecx, dword [eax*4 + 0x65eb94]
mov dword [0x64b1d0], ecx
mov ecx, dword [eax*4 + 0x65eacc]
mov dword [0x64b1d4], ecx
mov ecx, dword [eax*4 + 0x65eeb4]
mov dword [0x64b1dc], ecx
jmp 0x499423
mov ecx, dword [esp + 0xe4]
mov edx, dword [edi + ecx*4 + 0x78]
mov dword [esp + 0xf4], edx
mov dword [0x64b1b8], edx
test edx, edx
je 0x499423
mov eax, 4
mov dword [0x64b1bc], eax
mov ecx, dword [esp + 0xf4]
mov edx, dword [edi + ecx*4 - 4]
mov dword [esp + 0xf8], edx
inc ecx
mov dword [esp + 0xfc], ecx
test edx, edx
je 0x499418
lea ecx, [esp + 0xf8]
mov dword [esp], ecx
call fcn.00601d60
test eax, eax
je 0x4992aa
mov dword [esp], ebp
mov dword [esp + 4], edi
mov edx, dword [esp + 0xfc]
shl edx, 2
add edx, edi
lea eax, [edx - 4]
mov dword [esp + 8], eax
call fcn.00413890
jmp 0x499418
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x100], ecx
cmp ecx, 1
jne 0x4992e5
mov dword [esp], ebp
mov dword [esp + 4], edi
mov edx, dword [esp + 0xfc]
shl edx, 2
add edx, ebp
lea eax, [edx - 4]
mov dword [esp + 8], eax
call fcn.00447798
jmp 0x499418
mov ecx, dword [esp + 0x100]
cmp ecx, 2
jne 0x499319
mov dword [esp], ebp
mov dword [esp + 4], edi
mov edx, dword [esp + 0xfc]
shl edx, 2
add edx, ebp
lea eax, [edx - 4]
mov dword [esp + 8], eax
call fcn.0044c078
jmp 0x499418
mov ecx, dword [esp + 0x100]
cmp ecx, 3
jne 0x49934d
mov dword [esp], ebp
mov dword [esp + 4], edi
mov edx, dword [esp + 0xfc]
shl edx, 2
add edx, ebp
lea eax, [edx - 4]
mov dword [esp + 8], eax
call fcn.0044d748
jmp 0x499418
mov ecx, dword [esp + 0x100]
cmp ecx, 4
jne 0x499381
mov dword [esp], ebp
mov dword [esp + 4], edi
mov edx, dword [esp + 0xfc]
shl edx, 2
add edx, ebp
lea eax, [edx - 4]
mov dword [esp + 8], eax
call fcn.0044d748
jmp 0x499418
mov ecx, dword [esp + 0x100]
cmp ecx, 5
jne 0x4993b5
mov dword [esp], ebp
mov dword [esp + 4], edi
mov edx, dword [esp + 0xfc]
shl edx, 2
add edx, ebp
lea eax, [edx - 4]
mov dword [esp + 8], eax
call fcn.0044cb38
jmp 0x499418
mov ecx, dword [esp + 0x100]
cmp ecx, 7
jne 0x4993e9
mov dword [esp], ebp
mov dword [esp + 4], edi
mov edx, dword [esp + 0xfc]
shl edx, 2
add edx, ebp
lea eax, [edx - 4]
mov dword [esp + 8], eax
call fcn.00454500
jmp 0x499418
mov ecx, dword [esp + 0x100]
cmp ecx, 8
jne 0x499418
mov dword [esp], ebp
mov dword [esp + 4], edi
mov edx, dword [esp + 0xfc]
shl edx, 2
add edx, ebp
lea eax, [edx - 4]
mov dword [esp + 8], eax
call fcn.0044d748
mov ecx, 2
mov dword [0x64b1bc], ecx
mov edx, dword [0x64f594]
test edx, edx
jle 0x499472
mov eax, dword [esp + 0xf0]
sar eax, 0x1f
mov ecx, eax
xor ecx, dword [esp + 0xf0]
sub ecx, eax
mov dword [esp + 0x104], ecx
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], esi
lea edx, [esp + 0x104]
mov dword [esp + 0xc], edx
lea eax, [0x64b1d8]
mov dword [esp + 0x10], eax
call fcn.0049c6c8
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov ecx, dword [0x64b1d0]
mov dword [esp + 4], ecx
call fcn.00646358
fld dword [0x64b1d8]
fmul dword [0x64b1d4]
fmulp st(1)
fdiv dword [esp + 0xe0]
fld dword [esp + 0x108]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
ja 0x4994c2
fxch st(1)
fstp dword [esp + 0xd0]
jmp 0x4994cb
fstp st(1)
fst dword [esp + 0xd0]
fstp st(0)
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0xdc]
mov edx, dword [edi + ecx*4]
mov dword [esp + 0xdc], edx
jmp 0x499108
fld dword [0x64eec8]
fmul dword [0x6a43f0]
fld dword [0x6a3c30]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
je 0x49951e
fld dword [0x6a3ca0]
fdiv st(1)
fstp dword [0x64edcc]
fstp st(0)
fld dword [esp + 0x108]
fxch st(1)
fucomp st(1)
fnstsw ax
sahf
je 0x499542
fld dword [0x64edcc]
fdiv st(1)
fstp dword [0x64ec48]
fstp st(0)
mov eax, dword [0x64c29c]
test eax, eax
je 0x499704
mov ecx, 0xc
lea esi, [0x64ce18]
mov dword [0x64ce30], ecx
mov edx, 0x4000201
mov dword [0x64ce18], edx
mov ebx, 8
mov dword [0x64ce1c], ebx
mov dword [esp], esi
call fcn.0063d0a0
mov ebp, 1
mov dword [0x64ce28], ebp
mov dword [0x64ce24], ebp
mov eax, 0xe
mov dword [0x64ce20], eax
mov dword [esp], esi
lea ecx, [0x6a43f4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0063d590
mov edi, 9
mov dword [0x64ce24], edi
mov edx, 4
mov dword [0x64ce20], edx
mov dword [esp], esi
lea eax, [0x64ec48]
mov dword [esp + 4], eax
call fcn.0063d590
mov dword [0x64ce24], ebp
mov dword [0x64ce20], ebx
mov dword [esp], esi
lea ecx, str._pfacav
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.0063d590
mov dword [0x64ce24], edi
mov edx, 4
mov dword [0x64ce20], edx
mov dword [esp], esi
lea eax, [0x64edcc]
mov dword [esp + 4], eax
call fcn.0063d590
mov dword [esp], esi
call fcn.0063e1f0
jmp 0x499704
fld dword [0x6a3c30]
fld dword [0x64ece8]
fucompp
fnstsw ax
sahf
je 0x499704
fld dword [0x6a3c30]
fld dword [0x64ecec]
fucompp
fnstsw ax
sahf
je 0x499704
fld dword [0x64ecec]
fld dword [0x64ece8]
fucompp
fnstsw ax
sahf
je 0x499704
fld dword [0x64ece8]
fld dword [0x64ec48]
fmul dword [0x64ece8]
fld dword [0x64ecec]
fxch st(1)
fdiv dword [0x64ecec]
fstp dword [0x64ec48]
mov ecx, dword [0x64f1c8]
mov dword [0x64f1c4], ecx
mov edi, dword [esp + 0x144]
mov ebx, dword [case.0x407d9a.10]
mov esi, dword [esp + 0x140]
mov ebp, ecx
fxch st(1)
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
test ebp, ebp
je 0x4996fa
mov edx, dword [edi + ebp*4 + 0x18]
cmp ebp, ebx
je 0x4996f5
mov eax, dword [edi + ebp*4 + 0x14]
cmp eax, 1
je 0x4996f5
fld st(0)
fmul dword [esi + edx*4 + 0x38]
fdiv st(2)
fstp dword [esi + edx*4 + 0x38]
mov ebp, dword [edi + ebp*4]
jmp 0x4996c8
fstp st(0)
fstp st(0)
mov dword [0x64f1c4], ebp
mov eax, dword [0x64ecec]
mov dword [0x64ece8], eax
mov ecx, dword [0x64f560]
test ecx, ecx
je 0x499750
fld dword [0x6a3c30]
fld dword [0x64ec68]
fucompp
fnstsw ax
sahf
ja 0x499750
mov edx, 0xc1
mov dword [0x64f3dc], edx
mov eax, 1
mov dword [0x64f4c0], eax
jmp 0x499aa7
mov ecx, dword [0x64f1c8]
mov dword [0x64f1c4], ecx
mov ebp, dword [esp + 0x140]
mov edi, dword [esp + 0x144]
lea esi, [esp + 0xd8]
lea ebx, [esp + 0xd4]
mov edx, dword [0x64f1c4]
mov dword [esp + 0xc0], edx
test edx, edx
je 0x499933
mov eax, dword [case.0x407d9a.10]
mov ecx, dword [esp + 0xc0]
cmp ecx, eax
je 0x499918
mov dword [esp], ebp
mov dword [esp + 4], edi
call fcn.00492e78
mov edx, dword [0x64f1c4]
mov dword [esp + 0xc4], edx
mov eax, dword [edi + edx*4 + 0x38]
mov dword [esp + 0xc8], eax
test eax, eax
jg 0x4997da
mov ecx, 1
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0xc8]
mov eax, dword [esp + 0xc4]
mov dword [edi + eax*4 + 0x38], edx
mov ecx, dword [0x64f560]
test ecx, ecx
je 0x499918
mov edx, dword [esp + 0xc4]
mov ecx, dword [edi + edx*4 + 0x18]
mov dword [esp + 0xcc], ecx
fld dword [0x64ee18]
fld dword [ebp + ecx*4 + 4]
fucom st(1)
fnstsw ax
sahf
ja 0x49982f
fxch st(1)
fstp dword [esp + 0xd0]
jmp 0x499838
fstp st(1)
fst dword [esp + 0xd0]
fstp st(0)
fld dword [esp + 0xd0]
fst dword [esp + 0xd4]
fld dword [0x6a3c34]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
jb 0x499869
fxch st(1)
fstp dword [esp + 0xd0]
jmp 0x499872
fstp st(1)
fst dword [esp + 0xd0]
fstp st(0)
fld dword [esp + 0xd0]
fst dword [esp + 0xd4]
mov edx, dword [esp + 0xc4]
mov eax, dword [ebp + edx*4 + 0x30]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xcc]
fstp dword [ebp + eax*4 + 4]
mov ecx, dword [edi + edx*4 + 0x3c]
test ecx, ecx
jne 0x4998dc
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea edx, [0x64f1c4]
mov dword [esp + 0x10], edx
call fcn.004912c8
mov eax, dword [0x64f1c4]
fadd dword [ebp + eax*4 + 8]
fstp dword [ebp + eax*4 + 0x28]
jmp 0x49990a
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea ecx, [0x64f1c4]
mov dword [esp + 0x10], ecx
call fcn.004912c8
mov edx, dword [0x64f1c4]
fld dword [ebp + edx*4 + 0x28]
fsubrp st(1)
fstp dword [ebp + edx*4 + 8]
mov eax, dword [0x64f4c0]
test eax, eax
jne 0x499aa7
mov ecx, dword [0x64f1c4]
mov edx, dword [esp + 0x144]
mov eax, dword [edx + ecx*4]
mov dword [0x64f1c4], eax
jmp 0x499778
mov eax, dword [0x6a3c30]
mov dword [0x64eec8], eax
mov ecx, dword [0x64f464]
test ecx, ecx
je 0x49995e
mov eax, dword [0x64ecec]
mov dword [0x64eec8], eax
jmp 0x4999f8
mov edx, dword [0x64f52c]
test edx, edx
je 0x49997d
mov eax, dword [0x64eec4]
mov dword [0x64eec8], eax
jmp 0x4999f8
mov eax, dword [0x64f4a8]
test eax, eax
je 0x4999f8
fld dword [0x6a3c30]
fld dword [0x64ec6c]
fucompp
fnstsw ax
sahf
jne 0x4999bd
mov ecx, 0x7b
mov dword [0x64f3dc], ecx
mov edx, 1
mov dword [0x64f4c0], edx
jmp 0x499aa7
mov eax, 2
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0x140]
mov dword [esp], ecx
mov edx, dword [esp + 0x144]
mov dword [esp + 4], edx
lea eax, [esp + 0x104]
mov dword [esp + 8], eax
lea ecx, [0x64eec8]
mov dword [esp + 0xc], ecx
call fcn.00499ac8
mov edx, dword [0x64f4a8]
test edx, edx
je 0x499aa7
fld dword [0x6a3c30]
fld dword [0x64ec6c]
fucompp
fnstsw ax
sahf
je 0x499aa7
mov eax, dword [0x64c29c]
test eax, eax
je 0x499aa7
mov ecx, 1
mov dword [esp + 0x104], ecx
mov edi, dword [esp + 0x140]
mov dword [esp], edi
mov esi, dword [esp + 0x144]
mov dword [esp + 4], esi
lea ebx, [esp + 0x104]
mov dword [esp + 8], ebx
lea ebp, [esp + 0x110]
mov dword [esp + 0xc], ebp
call fcn.00499ac8
mov edx, 2
mov dword [esp + 0x104], edx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.00499ac8
mov eax, 3
mov dword [esp + 0x104], eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.00499ac8
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
add esp, 0x13c
ret