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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ecx, dword [0x6b47a4]
mov dword [esp + 0x14], edi
call fcn.0053d040
mov esi, dword [edi + 0x80]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x94]
mov ebx, dword [eax]
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ebx
jmp 0x498d30
mov ebp, dword [edi + 0x94]
mov eax, dword [edi + 0x80]
test esi, esi
je 0x498d44
cmp esi, eax
je 0x498d49
call fcn.005c5aaf
cmp ebx, ebp
je 0x498f77
test esi, esi
jne 0x498e15
call fcn.005c5aaf
cmp ebx, dword [esi + 0x14]
jne 0x498d68
call fcn.005c5aaf
mov ecx, dword [edi + 0x94]
mov ebp, dword [ebx + 8]
mov ebx, dword [ecx]
mov esi, dword [edi + 0x80]
mov dword [esp + 0x18], 0
jmp 0x498d90
mov edx, dword [edi + 0x94]
mov eax, dword [edi + 0x80]
mov dword [esp + 0x4c], edx
test esi, esi
je 0x498da8
cmp esi, eax
je 0x498dad
call fcn.005c5aaf
cmp ebx, dword [esp + 0x4c]
je 0x498e88
test esi, esi
jne 0x498e1c
call fcn.005c5aaf
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x498dcc
call fcn.005c5aaf
mov edi, dword [ebx + 8]
test esi, esi
jne 0x498e20
call fcn.005c5aaf
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x498de4
call fcn.005c5aaf
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x498e24
call fcn.005c5aaf
xor eax, eax
mov ecx, dword [esp + 0x54]
cmp ecx, dword [eax + 0x14]
jne 0x498e01
call fcn.005c5aaf
mov edx, dword [ebx + 8]
mov eax, dword [esp + 0x54]
cmp edx, dword [eax + 8]
jne 0x498e44
test esi, esi
je 0x498e28
mov eax, dword [esi]
jmp 0x498e2f
mov esi, dword [esi]
jmp 0x498d5e
mov eax, dword [esi]
jmp 0x498dc2
mov eax, dword [esi]
jmp 0x498dda
mov eax, dword [eax]
jmp 0x498df3
call fcn.005c5aaf
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x498e39
call fcn.005c5aaf
mov ebx, dword [ebx]
mov edi, dword [esp + 0x14]
jmp 0x498d90
cmp dword [esp + 0x18], 0x14
jge 0x498e88
mov ecx, dword [esp + 0x14]
push edi
push ebp
call fcn.00496f80
test al, al
je 0x498e0d
fld dword [edi + 0x54]
mov ecx, dword [esp + 0x14]
fadd dword [edi + 0x28]
inc dword [esp + 0x18]
mov edi, ecx
fadd qword [0x65c130]
fstp dword [ebp + 0x28]
mov edx, dword [ecx + 0x94]
mov eax, dword [edx]
mov esi, dword [ecx + 0x80]
mov ebx, eax
jmp 0x498d90
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x498ef5
fld dword [ebp + 0x2c]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ebp + 0x28]
fstp dword [esp + 4]
fld dword [ebp + 0x24]
fstp dword [esp]
call fcn.00517110
mov ecx, dword [ebp + 8]
call fcn.00519990
fld1
mov ecx, dword [ebp + 4]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [ebp + 0x3c]
fstp dword [esp + 8]
fld dword [ebp + 0x38]
fstp dword [esp + 4]
fld dword [ebp + 0x34]
fstp dword [esp]
call fcn.00517610
fld dword [ebp + 0x2c]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ebp + 0x28]
fadd qword [0x62b4c8]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x498f27
fld1
mov ecx, dword [ebp + 4]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [ebp + 0x3c]
fstp dword [esp + 8]
fld dword [ebp + 0x38]
fstp dword [esp + 4]
fld dword [ebp + 0x34]
fstp dword [esp]
call fcn.00517610
fld dword [ebp + 0x2c]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ebp + 0x28]
mov ecx, dword [ebp + 4]
fstp dword [esp + 4]
fld dword [ebp + 0x24]
fstp dword [esp]
call fcn.00517110
mov ecx, dword [ebp + 4]
call fcn.00519990
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x498f73
call fcn.005c5aaf
xor eax, eax
mov esi, dword [esp + 0x54]
cmp esi, dword [eax + 0x14]
jne 0x498f5e
call fcn.005c5aaf
mov eax, dword [esi]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x54], eax
mov ebx, eax
jmp 0x498d30
mov eax, dword [eax]
jmp 0x498f50
mov ecx, dword [edi + 0x78]
mov eax, dword [ecx]
mov ebp, dword [edi + 0x64]
mov ebx, eax
mov dword [esp + 0x54], ebx
mov esi, dword [edi + 0x78]
mov edi, dword [edi + 0x64]
test ebp, ebp
je 0x498f93
cmp ebp, edi
je 0x498f98
call fcn.005c5aaf
cmp ebx, esi
je 0x4993a0
test ebp, ebp
jne 0x49911b
call fcn.005c5aaf
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x498fb9
call fcn.005c5aaf
mov edx, dword [esp + 0x54]
mov esi, dword [edx + 8]
mov ebx, dword [esi + 0xc]
mov edi, dword [esi + 0x10]
test ebx, ebx
je 0x499093
test edi, edi
je 0x499093
mov ecx, ebx
call fcn.00522160
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fadd qword [0x6221f0]
call fcn.005c5ec0
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, edi
call fcn.00517140
fild dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
cdq
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esi + 0x28]
sub eax, edx
fsub qword [0x62b4c0]
sar eax, 1
mov ecx, ebx
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
mov dword [esp + 0x28], eax
fstp dword [esp + 4]
fld dword [esi + 0x24]
fisub dword [esp + 0x28]
fsub dword [esp + 0x24]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
call fcn.00521840
fld dword [esi + 0x2c]
sub esp, 0xc
fstp dword [esp + 8]
mov ecx, edi
fld dword [esi + 0x28]
fsub qword [0x62b4c8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fadd dword [esi + 0x24]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.00517110
mov ecx, edi
call fcn.00519990
mov ecx, dword [esi + 4]
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x14]
push eax
call fcn.00517140
mov edi, dword [esi + 0x14]
test edi, edi
je 0x499249
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, edi
call fcn.00517140
fld dword [0x62b4b8]
fstp dword [esp + 0x1c]
call fcn.004a6c50
test al, al
je 0x499139
call fcn.0051a230
fld dword [esi + 0x2c]
sub esp, 0xc
fstp dword [esp + 8]
cmp eax, 0x4e8
fld dword [esi + 0x28]
mov eax, dword [esp + 0x1c]
fstp dword [esp + 4]
mov ecx, edi
fld dword [esi + 0x24]
cdq
jne 0x499123
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
fisub dword [esp + 0x2c]
fisub dword [esp + 0x24]
fsub qword [0x6224b0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x49916e
mov eax, dword [ebp]
jmp 0x498faf
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
fisub dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x49916e
mov eax, dword [esp + 0x10]
fld dword [esi + 0x2c]
sub esp, 0xc
fstp dword [esp + 8]
cdq
fld dword [esi + 0x28]
sub eax, edx
fstp dword [esp + 4]
sar eax, 1
fld dword [esi + 0x24]
mov dword [esp + 0x2c], eax
mov ecx, edi
fisub dword [esp + 0x2c]
fsub qword [0x62b4b0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.00517110
mov ecx, edi
call fcn.00519990
mov edi, dword [esi + 0x18]
test edi, edi
je 0x499319
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, edi
call fcn.00517140
call fcn.004a6c50
test al, al
je 0x49920d
call fcn.0051a230
fld dword [esi + 0x2c]
sub esp, 0xc
fstp dword [esp + 8]
cmp eax, 0x4e8
fld dword [esi + 0x28]
mov eax, dword [esp + 0x1c]
fstp dword [esp + 4]
mov ecx, edi
fld dword [esi + 0x24]
cdq
jne 0x4991f0
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
fisub dword [esp + 0x2c]
fisub dword [esp + 0x34]
fisub dword [esp + 0x24]
fsub qword [0x62b4b0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x49930a
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
fisub dword [esp + 0x2c]
fisub dword [esp + 0x24]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x49930a
mov eax, dword [esp + 0x10]
fld dword [esi + 0x2c]
sub esp, 0xc
fstp dword [esp + 8]
cdq
fld dword [esi + 0x28]
sub eax, edx
fstp dword [esp + 4]
sar eax, 1
fld dword [esi + 0x24]
mov dword [esp + 0x2c], eax
fisub dword [esp + 0x2c]
fsub qword [0x62b4b0]
fisub dword [esp + 0x24]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x499308
mov edi, dword [esi + 0x18]
fld dword [0x62abd4]
fstp dword [esp + 0x1c]
test edi, edi
je 0x499319
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x30]
push eax
mov ecx, edi
call fcn.00517140
call fcn.004a6c50
test al, al
je 0x4992d5
call fcn.0051a230
fld dword [esi + 0x2c]
sub esp, 0xc
fstp dword [esp + 8]
cmp eax, 0x4e8
fld dword [esi + 0x28]
mov eax, dword [esp + 0x1c]
fstp dword [esp + 4]
mov ecx, edi
fld dword [esi + 0x24]
cdq
jne 0x4992bf
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
fisub dword [esp + 0x2c]
fisub dword [esp + 0x38]
fsub qword [0x6224b0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x49930a
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
fisub dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x49930a
mov eax, dword [esp + 0x10]
fld dword [esi + 0x2c]
sub esp, 0xc
fstp dword [esp + 8]
cdq
fld dword [esi + 0x28]
sub eax, edx
fstp dword [esp + 4]
sar eax, 1
fld dword [esi + 0x24]
mov dword [esp + 0x2c], eax
fisub dword [esp + 0x2c]
fsub qword [0x6224b0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
mov ecx, edi
fstp dword [esp]
call fcn.00517110
mov ecx, edi
call fcn.00519990
fld1
mov ecx, dword [esi + 4]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [esi + 0x3c]
fstp dword [esp + 8]
fld dword [esi + 0x38]
fstp dword [esp + 4]
fld dword [esi + 0x34]
fstp dword [esp]
call fcn.00517610
fld dword [esi + 0x2c]
mov ecx, dword [esi + 4]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esi + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0x24]
fadd dword [esp + 0x28]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.00517110
mov ecx, dword [esi + 4]
call fcn.00519990
test ebp, ebp
jne 0x49939b
call fcn.005c5aaf
xor eax, eax
mov esi, dword [esp + 0x54]
cmp esi, dword [eax + 0x14]
jne 0x49938a
call fcn.005c5aaf
mov ecx, dword [esi]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x54], ecx
mov ebx, ecx
jmp 0x498f85
mov eax, dword [ebp]
jmp 0x49937c
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0x5c]
mov ebx, dword [edx]
mov edi, dword [ebp + 0x44]
add ebp, 0x44
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], ebx
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp]
test edi, edi
je 0x4993c5
cmp edi, eax
je 0x4993ca
call fcn.005c5aaf
cmp ebx, esi
je 0x4995d1
test edi, edi
jne 0x499412
call fcn.005c5aaf
xor eax, eax
cmp ebx, dword [eax + 0x18]
jne 0x4993e7
call fcn.005c5aaf
mov esi, dword [ebx + 0x10]
mov eax, dword [esi + 0x58]
cmp eax, dword [esp + 0x30]
jae 0x499416
mov ecx, dword [esp + 0x14]
push esi
call fcn.00498b60
push ebx
push edi
lea ecx, [esp + 0x48]
push ecx
mov ecx, ebp
call fcn.0051df50
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x4993af
mov eax, dword [edi]
jmp 0x4993dd
lea ecx, [esp + 0x50]
call fcn.0054dfb0
fld1
fcom dword [esi + 0x34]
fnstsw ax
test ah, 0x41
jp 0x499440
fld qword [0x6221e0]
mov edi, 0xff
fld qword [0x6221e8]
fldz
jmp 0x499497
fldz
fcom dword [esi + 0x34]
fnstsw ax
test ah, 1
jne 0x49945c
fld qword [0x6221e0]
xor edi, edi
fld qword [0x6221e8]
jmp 0x499493
fld dword [esi + 0x34]
fld qword [0x6221e8]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
fmul st(1), st(0)
or eax, 0xc00
fld qword [0x6221e0]
mov dword [esp + 0x2c], eax
fadd st(2), st(0)
fldcw word [esp + 0x2c]
fxch st(2)
fistp qword [esp + 0x48]
mov edi, dword [esp + 0x48]
fldcw word [esp + 0x10]
fxch st(1)
fxch st(2)
fxch st(3)
fcom dword [esi + 0x38]
fnstsw ax
test ah, 0x41
jp 0x4994aa
mov edx, 0xff
jmp 0x4994e5
fxch st(3)
fcom dword [esi + 0x38]
fnstsw ax
test ah, 1
jne 0x4994ba
xor edx, edx
jmp 0x4994e3
fld dword [esi + 0x38]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x2c], eax
fadd st(3)
fldcw word [esp + 0x2c]
fistp qword [esp + 0x48]
mov edx, dword [esp + 0x48]
fldcw word [esp + 0x10]
fxch st(3)
fcom dword [esi + 0x3c]
fnstsw ax
test ah, 0x41
jp 0x4994f6
mov ecx, 0xff
jmp 0x499531
fxch st(3)
fcom dword [esi + 0x3c]
fnstsw ax
test ah, 1
jne 0x499506
xor ecx, ecx
jmp 0x49952f
fld dword [esi + 0x3c]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x2c], eax
fadd st(3)
fldcw word [esp + 0x2c]
fistp qword [esp + 0x48]
mov ecx, dword [esp + 0x48]
fldcw word [esp + 0x10]
fxch st(3)
fcomp dword [esi + 0x40]
fnstsw ax
test ah, 0x41
jp 0x499548
fstp st(0)
mov eax, 0xff
fstp st(0)
fstp st(0)
jmp 0x499585
fxch st(2)
fcomp dword [esi + 0x40]
fnstsw ax
test ah, 1
jne 0x49955c
fstp st(1)
xor eax, eax
fstp st(0)
jmp 0x499585
fld dword [esi + 0x40]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
fmulp st(2)
or eax, 0xc00
mov dword [esp + 0x2c], eax
faddp st(1)
fldcw word [esp + 0x2c]
fistp qword [esp + 0x48]
mov eax, dword [esp + 0x48]
fldcw word [esp + 0x10]
shl eax, 8
or eax, edi
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov ecx, dword [esi + 4]
push eax
call fcn.005175a0
fld dword [esi + 0x2c]
mov ecx, dword [esi + 4]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esi + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0x24]
fstp dword [esp]
call fcn.00517110
mov ecx, dword [esi + 4]
call fcn.00519990
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
jmp 0x4993b7
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret