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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc0
push ebx
push ebp
push esi
mov esi, ecx
cmp dword [esi + 0x314], 2
push edi
mov byte [esi + 0x318], 1
jb 0x4cab44a
mov dword [esi + 0x304], 0
mov eax, dword [esi + 0x310]
mov ebp, dword [eax]
lea ebx, [esi + 0x30c]
mov edi, edi
mov ecx, dword [ebx + 4]
mov edi, ebx
test edi, edi
mov dword [esp + 0x1c], ecx
je 0x4caa5c1
cmp edi, ebx
je 0x4caa5c7
nop
call 0x7c1e8a94
cmp ebp, dword [esp + 0x1c]
je 0x4caa95c
test edi, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], ebp
jne 0x4caa5e3
nop
call 0x7c1e8a94
cmp ebp, dword [edi + 4]
jne 0x4caa5ee
nop
call 0x7c1e8a94
mov edi, dword [ebp]
mov eax, ebx
cmp ebp, dword [eax + 4]
jne 0x4caa5fe
nop
call 0x7c1e8a94
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x34]
cmp edi, dword [edx + 4]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
jne 0x4caa622
nop
call 0x7c1e8a94
mov eax, dword [edi + 8]
fld dword [esp + 0x3c]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
mov dword [esp + 0x48], eax
fsub dword [esp + 0x48]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
fstp dword [esp + 0x74]
fld dword [esp + 0x40]
fsub dword [esp + 0x4c]
fstp dword [esp + 0x78]
fld dword [esp + 0x44]
fsub dword [esp + 0x50]
fstp dword [esp + 0x7c]
fld dword [esp + 0x78]
fldz
fmul st(1), st(0)
fld dword [esp + 0x7c]
fld st(0)
fsub st(3)
fstp dword [esp + 0x28]
fld dword [esp + 0x74]
fld st(0)
fmul st(3)
fxch st(2)
fmulp st(3)
fxch st(1)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x2c]
fsubp st(1)
fstp dword [esp + 0x30]
fld dword [esp + 0x2c]
fld dword [esp + 0x28]
fld dword [esp + 0x30]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
call fcn.04df7e8c
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
mov eax, dword [ebx + 4]
fld1
mov ecx, dword [eax]
fdivrp st(1)
mov eax, ebx
cmp eax, ebx
mov dword [esp + 0xcc], ecx
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul st(1)
fstp dword [esp + 0x2c]
fmul dword [esp + 0x30]
fstp dword [esp + 0x30]
je 0x4caa6fc
nop
call 0x7c1e8a94
cmp ebp, dword [esp + 0xcc]
fld dword [esp + 0x30]
fld dword [esp + 0x2c]
fld dword [esp + 0x28]
jne 0x4caa82c
fld st(0)
mov edx, dword [esi + 0x304]
fld qword [0x4e36470]
shl edx, 4
fmul st(1), st(0)
lea eax, [edx + esi + 4]
fxch st(1)
fstp dword [esp + 0xb0]
fld st(2)
fmul st(1)
fstp dword [esp + 0xb4]
fld st(3)
fmul st(1)
fstp dword [esp + 0xb8]
fld dword [esp + 0xb0]
fld dword [esp + 0x3c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x8c]
fld dword [esp + 0xb4]
fld dword [esp + 0x40]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x90]
fld dword [esp + 0xb8]
fadd dword [esp + 0x44]
fstp dword [esp + 0x94]
fld dword [esp + 0x8c]
fstp dword [esp + 0xbc]
mov ecx, dword [esp + 0xbc]
fld dword [esp + 0x90]
mov dword [eax], ecx
fstp dword [esp + 0xc0]
mov edx, dword [esp + 0xc0]
fld dword [esp + 0x94]
mov dword [eax + 4], edx
fstp dword [esp + 0xc4]
mov ecx, dword [esp + 0xc4]
mov dword [eax + 8], ecx
fxch st(1)
mov ecx, 1
fstp dword [esp + 0xa4]
add dword [esi + 0x304], ecx
mov eax, dword [esi + 0x304]
fstp dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
fld dword [esp + 0x44]
shl eax, 4
fstp dword [esp + 0xac]
lea eax, [eax + esi + 4]
mov dword [eax], edx
mov edx, dword [esp + 0xa8]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xac]
mov dword [eax + 8], edx
add dword [esi + 0x304], ecx
jmp 0x4caa837
fld qword [0x4e36470]
mov ecx, 1
fmul st(1), st(0)
mov eax, dword [esi + 0x304]
fxch st(1)
shl eax, 4
lea eax, [eax + esi + 4]
fstp dword [esp + 0x80]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x84]
fmulp st(1)
fstp dword [esp + 0x88]
fld dword [esp + 0x80]
fld dword [esp + 0x48]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x98]
fld dword [esp + 0x84]
fld dword [esp + 0x4c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x9c]
fld dword [esp + 0x88]
fld dword [esp + 0x50]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0xa0]
fld dword [esp + 0x98]
fstp dword [esp + 0x64]
mov edx, dword [esp + 0x64]
fld dword [esp + 0x9c]
mov dword [eax], edx
fstp dword [esp + 0x68]
mov edx, dword [esp + 0x68]
fld dword [esp + 0xa0]
mov dword [eax + 4], edx
fstp dword [esp + 0x6c]
mov edx, dword [esp + 0x6c]
mov dword [eax + 8], edx
fxch st(2)
add dword [esi + 0x304], ecx
fstp dword [esp + 0x54]
mov eax, dword [esi + 0x304]
mov edx, dword [esp + 0x54]
fstp dword [esp + 0x58]
shl eax, 4
mov dword [eax + esi + 4], edx
fstp dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
lea eax, [eax + esi + 4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x34]
add dword [esi + 0x304], ecx
cmp edi, dword [eax + 4]
jne 0x4caa92c
nop
call 0x7c1e8a94
cmp dword [esp + 0x34], ebx
mov ecx, dword [ebx + 4]
mov edi, dword [edi]
mov dword [esp + 0x24], ecx
je 0x4caa941
nop
call 0x7c1e8a94
cmp edi, dword [esp + 0x24]
je 0x4caa95c
mov eax, ebx
cmp ebp, dword [eax + 4]
jne 0x4caa954
nop
call 0x7c1e8a94
mov ebp, dword [ebp]
jmp 0x4caa5b0
mov ecx, dword [esi + 0x304]
fld dword [0x4e0e9ac]
mov eax, ecx
fstp dword [esp + 0x18]
cdq
sub eax, edx
sar eax, 1
sub eax, 1
mov dword [esp + 0x14], eax
xor ebx, ebx
cmp ecx, ebx
fild dword [esp + 0x14]
mov dword [esp + 0x34], ebx
fdivr qword [0x4e36468]
fstp dword [esp + 0x14]
fld1
fldz
fld qword [0x4e55fa8]
fld qword [0x4e55f80]
jle 0x4caacc6
fld dword [esp + 0x14]
lea ebp, [esi + 0x10]
fld dword [esp + 0x18]
jmp 0x4caa9b9
fxch st(1)
fxch st(4)
fxch st(1)
mov edx, ebx
and edx, 0x80000001
jns 0x4caa9c8
dec edx
or edx, 0xfffffffe
inc edx
fld dword [esi + 0x31c]
jne 0x4caaaff
fstp dword [esp + 0x54]
fld dword [esi + 0x320]
fstp dword [esp + 0x58]
fld dword [esi + 0x324]
fstp dword [esp + 0x5c]
fld dword [esp + 0x54]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x4caaa02
fstp st(0)
mov ecx, 0xff
jmp 0x4caaa37
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x4caaa11
fstp st(0)
xor ecx, ecx
jmp 0x4caaa37
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fldcw word [esp + 0x18]
fld dword [esp + 0x58]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x4caaa4d
fstp st(0)
mov edx, 0xff
jmp 0x4caaa82
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x4caaa5c
fstp st(0)
xor edx, edx
jmp 0x4caaa82
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov edx, dword [esp + 0x20]
fldcw word [esp + 0x18]
fld dword [esp + 0x5c]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x4caaaa8
shl ecx, 8
fstp st(0)
or ecx, edx
mov eax, 0xff
shl ecx, 8
or ecx, eax
mov dword [ebp], ecx
jmp 0x4caac4f
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x4caaac7
shl ecx, 8
fstp st(0)
or ecx, edx
xor eax, eax
shl ecx, 8
or ecx, eax
mov dword [ebp], ecx
jmp 0x4caac4f
fnstcw word [esp + 0x18]
shl ecx, 8
movzx eax, word [esp + 0x18]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
or ecx, edx
fadd st(3)
shl ecx, 8
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov eax, dword [esp + 0x20]
or ecx, eax
mov dword [ebp], ecx
fldcw word [esp + 0x18]
jmp 0x4caac4f
fstp dword [esp + 0x64]
fld dword [esi + 0x320]
fstp dword [esp + 0x68]
fld dword [esi + 0x324]
fstp dword [esp + 0x6c]
fld dword [esp + 0x64]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x4caab2d
fstp st(0)
mov edi, 0xff
jmp 0x4caab62
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x4caab3c
fstp st(0)
xor edi, edi
jmp 0x4caab62
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov edi, dword [esp + 0x20]
fldcw word [esp + 0x18]
fld dword [esp + 0x68]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x4caab78
fstp st(0)
mov edx, 0xff
jmp 0x4caabad
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x4caab87
fstp st(0)
xor edx, edx
jmp 0x4caabad
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov edx, dword [esp + 0x20]
fldcw word [esp + 0x18]
fld dword [esp + 0x6c]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x4caabc3
fstp st(0)
mov ecx, 0xff
jmp 0x4caabf8
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x4caabd2
fstp st(0)
xor ecx, ecx
jmp 0x4caabf8
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fldcw word [esp + 0x18]
fcom st(5)
fnstsw ax
test ah, 1
jne 0x4caac08
mov eax, 0xff
jmp 0x4caac3d
fcom st(4)
fnstsw ax
test ah, 0x41
jp 0x4caac15
xor eax, eax
jmp 0x4caac3d
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov eax, dword [esp + 0x20]
fldcw word [esp + 0x18]
shl eax, 8
or eax, edi
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov dword [ebp], eax
mov eax, dword [esp + 0x34]
add eax, 1
mov dword [esp + 0x34], eax
and eax, 0x80000001
jns 0x4caac66
dec eax
or eax, 0xfffffffe
inc eax
jne 0x4caacaa
mov eax, dword [esi + 0x304]
fsub st(1)
sub eax, 3
cmp ebx, eax
fstp dword [esp + 0x18]
mov dword [esp + 0x34], 0
jne 0x4caac8f
fxch st(3)
fst dword [esp + 0x18]
fld dword [esp + 0x18]
jmp 0x4caacb0
fld dword [esp + 0x18]
fcom st(4)
fnstsw ax
test ah, 5
jp 0x4caacaa
fstp st(0)
fxch st(3)
fst dword [esp + 0x18]
fld dword [esp + 0x18]
jmp 0x4caacb0
fxch st(1)
fxch st(4)
fxch st(1)
add ebx, 1
add ebp, 0x10
cmp ebx, dword [esi + 0x304]
jl 0x4caa9b3
fstp st(0)
fstp st(3)
lea edi, [esi + 0x30c]
mov dword [esi + 0x308], 0
mov ecx, dword [edi + 4]
mov ebp, dword [ecx]
mov ebx, edi
jmp 0x4caace7
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
test ebx, ebx
mov edx, dword [edi + 4]
mov dword [esp + 0x24], edx
je 0x4caacf6
cmp ebx, edi
je 0x4caad1c
fstp st(1)
fstp st(0)
fstp st(0)
fstp st(0)
nop
call 0x7c1e8a94
fld qword [0x4e55f80]
fld qword [0x4e55fa8]
fldz
fld1
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
cmp ebp, dword [esp + 0x24]
je 0x4cab0fc
test ebx, ebx
fstp st(1)
fstp st(0)
mov dword [esp + 0x38], ebp
fstp st(0)
fstp st(0)
jne 0x4caad3c
nop
call 0x7c1e8a94
cmp ebp, dword [ebx + 4]
jne 0x4caad47
nop
call 0x7c1e8a94
cmp ebp, dword [ebx + 4]
mov edi, dword [ebp]
jne 0x4caad55
nop
call 0x7c1e8a94
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x3c], eax
mov eax, ebx
cmp edi, dword [eax + 4]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
jne 0x4caad77
nop
call 0x7c1e8a94
mov eax, dword [edi + 8]
fld dword [esp + 0x3c]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
mov dword [esp + 0x48], eax
fsub dword [esp + 0x48]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
fstp dword [esp + 0x54]
fld dword [esp + 0x40]
fsub dword [esp + 0x4c]
fstp dword [esp + 0x58]
fld dword [esp + 0x44]
fsub dword [esp + 0x50]
fstp dword [esp + 0x5c]
fld dword [esp + 0x58]
fldz
fmul st(1), st(0)
fld dword [esp + 0x5c]
fld st(0)
fsub st(3)
fstp dword [esp + 0x28]
fld dword [esp + 0x54]
fld st(0)
fmul st(3)
fxch st(2)
fmulp st(3)
fxch st(1)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x2c]
fsubp st(1)
fstp dword [esp + 0x30]
fld dword [esp + 0x28]
fld dword [esp + 0x2c]
fld dword [esp + 0x30]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
call fcn.04df7e8c
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
mov ecx, dword [esi + 0x310]
fld1
mov edx, dword [ecx]
fdivrp st(1)
lea eax, [esi + 0x30c]
cmp ebx, eax
mov dword [esp + 0xcc], edx
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul st(1)
fstp dword [esp + 0x2c]
fmul dword [esp + 0x30]
fstp dword [esp + 0x30]
je 0x4caae58
nop
call 0x7c1e8a94
cmp ebp, dword [esp + 0xcc]
fld dword [esp + 0x30]
fld dword [esp + 0x2c]
fld dword [esp + 0x28]
jne 0x4caaf7c
fld st(0)
mov eax, dword [esi + 0x308]
fld qword [0x4e36460]
shl eax, 4
fmul st(1), st(0)
lea eax, [eax + esi + 0x184]
fxch st(1)
fstp dword [esp + 0x64]
fld st(2)
fmul st(1)
fstp dword [esp + 0x68]
fld st(3)
fmul st(1)
fstp dword [esp + 0x6c]
fld dword [esp + 0x64]
fld dword [esp + 0x3c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x80]
fld dword [esp + 0x68]
fld dword [esp + 0x40]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x84]
fld dword [esp + 0x6c]
fadd dword [esp + 0x44]
fstp dword [esp + 0x88]
fxch st(1)
fstp dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
mov dword [eax], ecx
fstp dword [esp + 0x9c]
mov edx, dword [esp + 0x9c]
fld dword [esp + 0x44]
mov dword [eax + 4], edx
fstp dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
fld dword [esp + 0x80]
mov dword [eax + 8], ecx
mov ecx, 1
fstp dword [esp + 0xa4]
add dword [esi + 0x308], ecx
fld dword [esp + 0x84]
mov eax, dword [esi + 0x308]
fstp dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
fld dword [esp + 0x88]
shl eax, 4
fstp dword [esp + 0xac]
lea eax, [eax + esi + 0x184]
mov dword [eax], edx
mov edx, dword [esp + 0xa8]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xac]
mov dword [eax + 8], edx
add dword [esi + 0x308], ecx
jmp 0x4caaf87
fld qword [0x4e36460]
mov ecx, 1
fmul st(1), st(0)
mov eax, dword [esi + 0x308]
fxch st(1)
shl eax, 4
lea eax, [eax + esi + 0x184]
fstp dword [esp + 0xbc]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0xc0]
fmulp st(1)
fstp dword [esp + 0xc4]
fld dword [esp + 0xbc]
fld dword [esp + 0x48]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0xb0]
fld dword [esp + 0xc0]
fld dword [esp + 0x4c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0xb4]
fld dword [esp + 0xc4]
fld dword [esp + 0x50]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0xb8]
fxch st(2)
fstp dword [esp + 0x8c]
mov edx, dword [esp + 0x8c]
mov dword [eax], edx
fstp dword [esp + 0x90]
mov edx, dword [esp + 0x90]
mov dword [eax + 4], edx
fstp dword [esp + 0x94]
mov edx, dword [esp + 0x94]
fld dword [esp + 0xb0]
mov dword [eax + 8], edx
add dword [esi + 0x308], ecx
fstp dword [esp + 0x74]
mov eax, dword [esi + 0x308]
fld dword [esp + 0xb4]
mov edx, dword [esp + 0x74]
fstp dword [esp + 0x78]
fld dword [esp + 0xb8]
shl eax, 4
mov dword [eax + esi + 0x184], edx
fstp dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
lea eax, [eax + esi + 0x184]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [eax + 8], edx
add dword [esi + 0x308], ecx
mov eax, ebx
cmp edi, dword [eax + 4]
jne 0x4cab095
nop
call 0x7c1e8a94
mov eax, dword [edi]
mov ecx, dword [esi + 0x310]
lea edi, [esi + 0x30c]
mov dword [esp + 0x38], eax
mov eax, ebx
cmp eax, edi
mov dword [esp + 0x1c], ecx
je 0x4cab0b7
nop
call 0x7c1e8a94
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x38], edx
je 0x4cab0e4
cmp ebp, dword [ebx + 4]
jne 0x4cab0cc
nop
call 0x7c1e8a94
fld qword [0x4e55f80]
mov ebp, dword [ebp]
fld qword [0x4e55fa8]
fldz
fld1
jmp 0x4caacdf
fld qword [0x4e55f80]
fld qword [0x4e55fa8]
fldz
fld1
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
mov ecx, dword [esi + 0x308]
fld dword [0x4e0e9ac]
mov eax, ecx
fstp dword [esp + 0x18]
cdq
sub eax, edx
sar eax, 1
sub eax, 1
mov dword [esp + 0x14], eax
xor ebx, ebx
cmp ecx, ebx
fild dword [esp + 0x14]
mov dword [esp + 0x34], ebx
fdivr qword [0x4e36468]
fstp dword [esp + 0x14]
jle 0x4cab452
fld dword [esp + 0x14]
lea ebp, [esi + 0x190]
fld dword [esp + 0x18]
mov eax, ebx
and eax, 0x80000001
jns 0x4cab152
dec eax
or eax, 0xfffffffe
inc eax
fld dword [esi + 0x31c]
je 0x4cab289
fstp dword [esp + 0x54]
fld dword [esi + 0x320]
fstp dword [esp + 0x58]
fld dword [esi + 0x324]
fstp dword [esp + 0x5c]
fld dword [esp + 0x54]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x4cab18c
fstp st(0)
mov ecx, 0xff
jmp 0x4cab1c1
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x4cab19b
fstp st(0)
xor ecx, ecx
jmp 0x4cab1c1
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fldcw word [esp + 0x18]
fld dword [esp + 0x58]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x4cab1d7
fstp st(0)
mov edx, 0xff
jmp 0x4cab20c
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x4cab1e6
fstp st(0)
xor edx, edx
jmp 0x4cab20c
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov edx, dword [esp + 0x20]
fldcw word [esp + 0x18]
fld dword [esp + 0x5c]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x4cab232
shl ecx, 8
fstp st(0)
or ecx, edx
mov eax, 0xff
shl ecx, 8
or ecx, eax
mov dword [ebp], ecx
jmp 0x4cab3d9
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x4cab251
shl ecx, 8
fstp st(0)
or ecx, edx
xor eax, eax
shl ecx, 8
or ecx, eax
mov dword [ebp], ecx
jmp 0x4cab3d9
fnstcw word [esp + 0x18]
shl ecx, 8
movzx eax, word [esp + 0x18]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
or ecx, edx
fadd st(3)
shl ecx, 8
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov eax, dword [esp + 0x20]
or ecx, eax
mov dword [ebp], ecx
fldcw word [esp + 0x18]
jmp 0x4cab3d9
fstp dword [esp + 0x64]
fld dword [esi + 0x320]
fstp dword [esp + 0x68]
fld dword [esi + 0x324]
fstp dword [esp + 0x6c]
fld dword [esp + 0x64]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x4cab2b7
fstp st(0)
mov edi, 0xff
jmp 0x4cab2ec
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x4cab2c6
fstp st(0)
xor edi, edi
jmp 0x4cab2ec
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov edi, dword [esp + 0x20]
fldcw word [esp + 0x18]
fld dword [esp + 0x68]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x4cab302
fstp st(0)
mov edx, 0xff
jmp 0x4cab337
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x4cab311
fstp st(0)
xor edx, edx
jmp 0x4cab337
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov edx, dword [esp + 0x20]
fldcw word [esp + 0x18]
fld dword [esp + 0x6c]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x4cab34d
fstp st(0)
mov ecx, 0xff
jmp 0x4cab382
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x4cab35c
fstp st(0)
xor ecx, ecx
jmp 0x4cab382
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fldcw word [esp + 0x18]
fcom st(5)
fnstsw ax
test ah, 1
jne 0x4cab392
mov eax, 0xff
jmp 0x4cab3c7
fcom st(4)
fnstsw ax
test ah, 0x41
jp 0x4cab39f
xor eax, eax
jmp 0x4cab3c7
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x14], eax
fadd st(3)
fldcw word [esp + 0x14]
fistp qword [esp + 0x20]
mov eax, dword [esp + 0x20]
fldcw word [esp + 0x18]
shl eax, 8
or eax, edi
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov dword [ebp], eax
mov eax, dword [esp + 0x34]
add eax, 1
mov dword [esp + 0x34], eax
and eax, 0x80000001
jns 0x4cab3f0
dec eax
or eax, 0xfffffffe
inc eax
jne 0x4cab42c
mov ecx, dword [esi + 0x308]
fsub st(1)
sub ecx, 3
cmp ebx, ecx
fstp dword [esp + 0x18]
mov dword [esp + 0x34], 0
je 0x4cab41c
fld dword [esp + 0x18]
fcom st(4)
fnstsw ax
test ah, 5
jp 0x4cab42c
fstp st(0)
fxch st(3)
fst dword [esp + 0x18]
fld dword [esp + 0x18]
fxch st(1)
fxch st(4)
fxch st(1)
add ebx, 1
add ebp, 0x10
cmp ebx, dword [esi + 0x308]
jl 0x4cab144
fstp st(3)
fstp st(1)
fstp st(2)
fstp st(0)
fstp st(1)
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(1)
pop edi
fstp st(0)
pop esi
fstp st(0)
fstp st(0)
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret