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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x100
call fcn.004a43b0
test al, al
fldz
jne 0x53fc92
add esp, 0x100
fstp st(0)
pop ebp
pop edi
pop esi
pop ebx
ret
fld dword [0x9b5f54]
fsin
fnstsw ax
mov byte [0xa10b2d], 0
test eax, 0x400
je 0x53fcb1
call fcn.00642970
fsin
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fst st(1)
fstp dword [esp + 0x58]
fld dword [0x9b5f54]
fcos
fnstsw ax
test eax, 0x400
je 0x53fcd7
call fcn.00642970
fcos
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fst st(1)
fstp dword [esp + 0x5c]
push 0
push 8
fstp st(0)
call fcn.00649bf0
pop ecx
pop ecx
push 0
push 6
call fcn.00649bf0
pop ecx
pop ecx
push 1
push 0xc
call fcn.00649bf0
pop ecx
pop ecx
push 2
push 0xa
call fcn.00649bf0
pop ecx
pop ecx
push 2
push 0xb
call fcn.00649bf0
pop ecx
pop ecx
call fcn.00577790
mov ax, word [0xa10a44]
and eax, 0xffff
mov dword [esp + 0x60], eax
movzx eax, byte [0xa10b74]
fldz
fild dword [esp + 0x60]
movzx ebx, ax
movzx eax, byte [0xa10b9b]
fmul dword [0x695480]
imul ebx, ebx, 0x3c
add ebx, eax
mov dword [esp + 0x60], ebx
fiadd dword [esp + 0x60]
fsub dword [0x695484]
fst st(1)
fcomp dword [0x695468]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x53fd76
fchs
fld st(0)
fnstcw word [esp + 0x34]
mov eax, dword [esp + 0x34]
or byte [esp + 0x35], 0xc
fldcw word [esp + 0x34]
mov dword [esp + 0x34], eax
fistp dword [esp + 0x60]
fldcw word [esp + 0x34]
mov eax, dword [esp + 0x60]
cmp eax, 0xb4
jge 0x53ff23
fld dword [0x974bf0]
mov ebx, 0xb4
fcomp dword [0x94ddc8]
sub ebx, eax
fnstsw ax
test ah, 0x45
jne 0x53fdc6
fld dword [0x974bf0]
jmp 0x53fdcc
fld dword [0x94ddc8]
fstp st(1)
fld dword [0x695478]
mov dword [esp + 0x60], ebx
mov dword [esp + 0xd0], 0
fsub st(1)
fimul dword [esp + 0x60]
lea esi, [esp + 0xd0]
lea edi, [esp + 0x7c]
fnstcw word [esp + 0x34]
mov eax, dword [esp + 0x34]
or byte [esp + 0x35], 0xc
mov dword [esp + 0xd8], 0x41700000
mov dword [esp + 0xd4], 0xc2c80000
fldcw word [esp + 0x34]
mov dword [esp + 0x34], eax
mov eax, 0x7e46c0
fistp qword [esp + 0x60]
mov ebx, dword [esp + 0x60]
fldcw word [esp + 0x34]
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x80]
fadd dword [eax]
lea esi, [esp + 0x7c]
lea ebp, [esp + 0x6c]
push esi
fstp dword [esp + 0x84]
fld dword [esp + 0x88]
fadd dword [eax + 4]
fstp dword [esp + 0x88]
fld dword [esp + 0x8c]
fadd dword [eax + 8]
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x88]
push ebp
push eax
fstp dword [esp + 0x98]
fstp st(0)
call fcn.005778d0
add esp, 0x14
test al, al
je 0x540e80
fld dword [0x695478]
fdiv dword [esp + 0x70]
mov edi, dword [0x695540]
fstp dword [esp + 0x38]
mov eax, dword [edi]
push eax
push 1
call fcn.00649bf0
mov al, bl
pop ecx
pop ecx
mov cl, bl
push 0xff
push dword [esp + 0x3c]
push 0xff
push ecx
push eax
mov eax, dword [0x695680]
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], eax
push ebx
fldz
fild qword [esp + 0x78]
push eax
fmul dword [0x695488]
fadd dword [0x695464]
fst st(1)
fmul dword [esp + 0x94]
fstp dword [esp]
fld st(0)
fmul dword [esp + 0x90]
push eax
fstp dword [esp]
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [esp + 0x90]
fstp st(0)
call fcn.00577000
add esp, 0x2c
fldz
cmp byte [0xa10b74], 0x16
jae 0x53ff40
cmp byte [0xa10b74], 5
jbe 0x53ff40
mov dword [esp + 0x18], 0
jmp 0x53ffa1
cmp byte [0xa10b74], 0x16
ja 0x53ff52
cmp byte [0xa10b74], 5
jae 0x53ff60
mov dword [esp + 0x18], 0xff
jmp 0x53ffa1
cmp byte [0xa10b74], 0x16
jne 0x53ff72
movzx edx, byte [0xa10b9b]
jmp 0x53ff80
movzx eax, byte [0xa10b9b]
mov edx, 0x3c
sub edx, eax
imul edx, edx, 0xff
mov eax, 0x88888889
mov dword [esp + 0x18], edx
imul edx
add edx, dword [esp + 0x18]
shr dword [esp + 0x18], 0x1f
sar edx, 5
add dword [esp + 0x18], edx
cmp dword [esp + 0x18], 0
je 0x54035f
fld dword [0x974bf0]
fcomp dword [0x94ddc8]
fnstsw ax
test ah, 0x45
jne 0x53ffc7
fld dword [0x974bf0]
jmp 0x53ffcd
fld dword [0x94ddc8]
fstp st(1)
mov eax, dword [esp + 0x18]
mov edx, dword [0x695538]
fld dword [0x695478]
mov dword [esp + 0x60], eax
fsub st(1)
fimul dword [esp + 0x60]
fnstcw word [esp + 0x34]
mov eax, dword [esp + 0x34]
or byte [esp + 0x35], 0xc
fldcw word [esp + 0x34]
mov dword [esp + 0x34], eax
fistp qword [esp + 0x60]
fldcw word [esp + 0x34]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], eax
mov eax, dword [edx]
push eax
push 1
fstp st(0)
call fcn.00649bf0
xor ebx, ebx
pop ecx
pop ecx
mov eax, eax
lea edi, [esp + 0x88]
mov dword [esp + 0xdc], 0x42c80000
lea esi, [esp + 0xdc]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0x41200000
cmp ebx, 9
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jl 0x540067
fld dword [esp + 0x88]
fchs
fstp dword [esp + 0x88]
fld dword [esp + 0x88]
mov dword [esp + 0x20], 0x7e46c0
mov eax, dword [esp + 0x20]
fadd dword [eax]
mov edx, ebx
mov esi, ebx
mov ecx, edx
lea edi, [esp + 0x78]
fstp dword [esp + 0x88]
fld dword [esp + 0x8c]
fadd dword [eax + 4]
shr ecx, 0x1f
lea ebp, [esp + 0x68]
push 0
fstp dword [esp + 0x90]
fld dword [esp + 0x94]
fadd dword [eax + 8]
mov eax, 0x38e38e39
push edi
imul edx
fstp dword [esp + 0x98]
fld dword [0x69548c]
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x94]
push ebp
push eax
sar edx, 1
add ecx, edx
imul ecx, ecx, 9
sub esi, ecx
fmul dword [esi*4 + 0x6953f4]
fsubr dword [esp + 0xa0]
fstp dword [esp + 0xa0]
fld dword [0x695490]
fmul dword [esi*4 + 0x695418]
fadd dword [esp + 0xa4]
fstp dword [esp + 0xa4]
call fcn.005778d0
add esp, 0x14
test al, al
je 0x5401d6
fld dword [0x695478]
fdiv dword [esp + 0x70]
fstp dword [esp + 0x3c]
call fcn.00649a40
movzx eax, ax
fldz
push 0xff
and eax, 0x1f
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x1c]
fild dword [esp + 0x64]
mov dword [esp + 0x64], eax
push dword [esp + 0x40]
fmul dword [0x695494]
push 0xff
fsubr dword [0x695478]
fimul dword [esp + 0x6c]
fnstcw word [esp + 0x40]
mov eax, dword [esp + 0x40]
or byte [esp + 0x41], 0xc
fldcw word [esp + 0x40]
mov dword [esp + 0x40], eax
fistp dword [esp + 0x6c]
fldcw word [esp + 0x40]
fld dword [0x695498]
fmul dword [esi*4 + 0x69543c]
mov eax, dword [esp + 0x6c]
mov dl, al
mov cl, al
fstp st(1)
fld dword [esp + 0x84]
push ecx
push edx
push eax
push eax
fmul st(1)
fstp dword [esp]
fld dword [esp + 0x90]
push eax
fmul st(1)
fstp dword [esp]
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [esp + 0x90]
fstp st(0)
call fcn.00577370
add esp, 0x2c
inc ebx
cmp ebx, 0xb
jl 0x540020
call fcn.005777b0
mov ecx, dword [0x695538]
mov eax, dword [ecx]
push eax
push 1
call fcn.00649bf0
lea edi, [esp + 0x9c]
pop ecx
mov dword [esp + 0xec], 0x42c80000
pop ecx
lea esi, [esp + 0xe8]
mov dword [esp + 0xec], 0x80000000
mov dword [esp + 0xf0], 0x41200000
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x24]
lea edi, [esp + 0x7c]
fld dword [esp + 0x98]
fadd dword [eax]
mov eax, dword [esp + 0x24]
push edi
lea edx, [esp + 0x70]
fstp dword [esp + 0x9c]
fld dword [esp + 0xa0]
fadd dword [eax + 4]
mov eax, dword [esp + 0x28]
fstp dword [esp + 0xa0]
fld dword [esp + 0xa4]
fadd dword [eax + 8]
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0xa0]
fstp dword [esp + 0xa8]
fld dword [esp + 0xa4]
fsub dword [0x69548c]
push edx
push eax
fstp dword [esp + 0xac]
call fcn.005778d0
add esp, 0x14
test al, al
je 0x540e87
fld dword [0x695478]
fdiv dword [esp + 0x70]
fstp dword [esp + 0x40]
call fcn.00649a40
movzx eax, ax
push 0xff
push dword [esp + 0x44]
and eax, 0x7f
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x20]
fild dword [esp + 0x68]
mov dword [esp + 0x68], eax
push 0xff
fmul dword [0x69549c]
fadd dword [0x69547c]
fimul dword [esp + 0x6c]
fnstcw word [esp + 0x40]
mov eax, dword [esp + 0x40]
or byte [esp + 0x41], 0xc
fldcw word [esp + 0x40]
mov dword [esp + 0x40], eax
fistp qword [esp + 0x6c]
fldcw word [esp + 0x40]
fld dword [0x6954a0]
fmul dword [esp + 0x84]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x24], eax
mov cl, byte [esp + 0x24]
mov al, byte [esp + 0x24]
push ecx
push eax
push dword [esp + 0x2c]
push eax
fstp dword [esp]
fld dword [0x6954a0]
fmul dword [esp + 0x90]
push eax
fstp dword [esp]
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.00577000
add esp, 0x2c
fldz
fld dword [0x94ddc8]
fcomp dword [0x974bf0]
fnstsw ax
test ah, 0x45
jne 0x540380
fld dword [0x94ddc8]
jmp 0x540386
fld dword [0x974bf0]
fstp st(1)
fld dword [0x94dd8c]
fcomp st(1)
fnstsw ax
test ah, 0x45
jne 0x5403a1
fld dword [0x94dd8c]
fstp st(1)
jmp 0x5403c8
fld dword [0x94ddc8]
fcomp dword [0x974bf0]
fnstsw ax
test ah, 0x45
jne 0x5403c0
fld dword [0x94ddc8]
jmp 0x5403c6
fld dword [0x974bf0]
fstp st(1)
fld dword [0x695478]
fsub st(1)
fstp st(1)
fild dword [0xa106a8]
fmul st(1)
fnstcw word [esp + 0x34]
mov eax, dword [esp + 0x34]
or byte [esp + 0x35], 0xc
fldcw word [esp + 0x34]
mov dword [esp + 0x34], eax
fistp dword [esp + 0x60]
fldcw word [esp + 0x34]
fild dword [0xa1069c]
mov ebx, dword [esp + 0x60]
fmul st(1)
fnstcw word [esp + 0x34]
mov eax, dword [esp + 0x34]
or byte [esp + 0x35], 0xc
fldcw word [esp + 0x34]
mov dword [esp + 0x34], eax
fistp dword [esp + 0x60]
fldcw word [esp + 0x34]
fild dword [0xa10934]
mov eax, dword [esp + 0x60]
mov dword [esp], eax
fmul st(1)
fnstcw word [esp + 0x34]
mov eax, dword [esp + 0x34]
or byte [esp + 0x35], 0xc
fldcw word [esp + 0x34]
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], 0
fistp dword [esp + 0x60]
fldcw word [esp + 0x34]
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
lea eax, [eax]
mov eax, dword [esp + 0x14]
mov esi, dword [eax*4 + 0xa0d234]
mov eax, dword [esi]
push eax
fstp st(0)
push 1
call fcn.00649bf0
mov ebp, dword [esp + 0x1c]
pop ecx
cmp ebp, 0xc
pop ecx
jge 0x540589
mov esi, 0x7e46c0
lea edi, [esp + 0xa0]
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [0x6954a4]
fmul dword [ebp*4 + 0x6951a8]
lea eax, [esp + 0x78]
lea edi, [esp + 0x7c]
lea edx, [esp + 0x6c]
push edi
fadd dword [esp + 0xa8]
push eax
push edx
fstp dword [esp + 0xb0]
fld dword [0x6954a4]
fmul dword [ebp*4 + 0x6951d8]
lea eax, [esp + 0xb0]
push eax
fadd dword [esp + 0xb8]
fstp dword [esp + 0xb8]
fld dword [0x6954a8]
fmul dword [ebp*4 + 0x695208]
fadd dword [0x6954ac]
fstp dword [esp + 0xbc]
call fcn.005778d0
add esp, 0x14
test al, al
fldz
je 0x540e90
fld dword [esp + 0x70]
fstp st(1)
fld dword [0x695478]
fdiv st(1)
push 0xff
push dword [0x978d38]
push eax
fstp dword [esp]
fld dword [0x6954ac]
fmul dword [esp + 0x84]
mov al, byte [esp + 0x18]
mov cl, byte [esp + 0xc]
push 0xff
push eax
mov al, bl
push ecx
push eax
push eax
fstp dword [esp]
fld dword [0x6954b0]
fmul dword [esp + 0x94]
push eax
fstp dword [esp]
push eax
fst dword [esp]
push dword [esp + 0x94]
push dword [esp + 0x94]
fstp st(0)
call fcn.00576210
add esp, 0x30
add ebp, 3
cmp ebp, 0xc
jl 0x540486
call fcn.005777b0
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
fldz
jl 0x540460
fld dword [0x94ddc8]
fcomp dword [0x94dd8c]
fnstsw ax
test ah, 0x45
jne 0x5405c0
fld dword [0x94ddc8]
jmp 0x5405c6
fld dword [0x94dd8c]
fstp st(1)
fld dword [0x6954b4]
fmul st(1)
fsubr dword [0x6954b4]
fnstcw word [esp + 0x34]
mov eax, dword [esp + 0x34]
or byte [esp + 0x35], 0xc
fldcw word [esp + 0x34]
mov dword [esp + 0x34], eax
fistp dword [esp + 0x60]
fldcw word [esp + 0x34]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x30], eax
cmp byte [esp + 0x30], 0
je 0x540ea0
push 5
push 0xa
fstp st(0)
call fcn.00649bf0
pop ecx
pop ecx
push 6
push 0xb
call fcn.00649bf0
mov esi, dword [0xa0d244]
pop ecx
mov eax, dword [esi]
pop ecx
push eax
push 1
call fcn.00649bf0
xor ebx, ebx
pop ecx
pop ecx
mov dword [esp + 0x2c], 0x7e46c0
mov eax, dword [esp + 0x2c]
lea esi, [eax]
lea edi, [esp + 0xac]
movsd dword es:[edi], dword [esi]
fldz
fldz
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [0x695488]
fmul dword [ebx*4 + 0x6952cc]
lea eax, [esp + 0x78]
lea edi, [esp + 0x7c]
lea edx, [esp + 0x6c]
push edi
fstp st(2)
fld dword [0x695488]
fmul dword [ebx*4 + 0x695238]
push eax
push edx
fstp st(1)
fld dword [esp + 0x68]
fmul st(2)
fld dword [esp + 0x6c]
fmul st(2)
faddp st(1)
fadd dword [esp + 0xbc]
fstp dword [esp + 0xbc]
fld dword [esp + 0x6c]
fmul st(2)
fld dword [esp + 0x68]
fmul st(2)
fsubrp st(1)
fadd dword [esp + 0xc0]
lea eax, [esp + 0xbc]
push eax
fstp dword [esp + 0xc4]
fld dword [0x6954ac]
fmul dword [ebx*4 + 0x695360]
fadd dword [0x6954ac]
fstp dword [esp + 0xc8]
fcompp
call fcn.005778d0
add esp, 0x14
test al, al
fldz
fldz
fldz
fldz
je 0x540a54
fld dword [esp + 0x68]
fsub dword [0x9b48d4]
mov al, byte [0x978814]
mov cl, byte [0x98003c]
mov byte [esp + 0x24], al
mov al, byte [0x9b5f30]
fstp dword [esp + 0x48]
fld dword [esp + 0x6c]
fsub dword [0x9b48d0]
mov byte [esp + 0x1c], al
mov al, byte [0xa0d8a8]
mov byte [esp + 0x10], al
mov al, byte [0x978584]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fmul st(0)
fld dword [esp + 0x48]
fmul st(0)
faddp st(1)
fsqrt
mov byte [esp + 8], al
mov al, byte [0x975098]
mov byte [esp + 4], al
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fstp st(4)
mov esi, dword [0x9b48ec]
mov eax, esi
fld st(3)
fstp dword [esp + 0x50]
lea eax, [eax + eax*2]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ebp, eax
mov dword [esp + 0x60], ebp
fild dword [esp + 0x60]
fcomp st(4)
fnstsw ax
test ah, 0x45
jne 0x540990
mov dword [esp + 0x60], ebp
fild dword [esp + 0x60]
fdivr st(4)
fsubr dword [0x695478]
fstp dword [esp + 0x44]
fld dword [0x974bf0]
fcomp dword [0x94ddc8]
fnstsw ax
test ah, 0x45
jne 0x5407c0
fld dword [0x974bf0]
jmp 0x5407c6
fld dword [0x94ddc8]
fstp st(3)
fld dword [0x695478]
fsub st(3)
fmul dword [esp + 0x44]
and dword [esp + 0x24], 0xff
mov eax, dword [esp + 0x24]
mov dword [esp + 0x60], eax
and dword [esp + 0x1c], 0xff
fstp dword [esp + 0x44]
fld dword [0x695478]
fsub dword [esp + 0x44]
and dword [esp + 0x10], 0xff
and dword [esp + 8], 0xff
and dword [esp + 4], 0xff
and ecx, 0xff
fstp st(3)
fild dword [esp + 0x60]
mov edx, esi
shr esi, 0x1f
fmul st(3)
fld dword [0x6954b8]
fmul dword [esp + 0x44]
fstp st(2)
fadd st(1)
fnstcw word [esp + 0x34]
mov eax, dword [esp + 0x34]
or byte [esp + 0x35], 0xc
fldcw word [esp + 0x34]
mov dword [esp + 0x34], eax
fistp dword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
fldcw word [esp + 0x34]
fild dword [esp + 0x60]
fmul st(3)
fld dword [0x6954bc]
fmul dword [esp + 0x44]
fstp st(3)
fadd st(2)
fnstcw word [esp + 0x34]
mov eax, dword [esp + 0x34]
or byte [esp + 0x35], 0xc
fldcw word [esp + 0x34]
mov dword [esp + 0x34], eax
fistp dword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], eax
fldcw word [esp + 0x34]
fild dword [esp + 0x60]
fmul st(3)
fadd st(2)
fnstcw word [esp + 0x34]
mov eax, dword [esp + 0x34]
or byte [esp + 0x35], 0xc
fldcw word [esp + 0x34]
mov dword [esp + 0x34], eax
fistp dword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x60], eax
fldcw word [esp + 0x34]
fild dword [esp + 0x60]
fmul st(3)
fadd st(1)
fnstcw word [esp + 0x34]
mov eax, dword [esp + 0x34]
or byte [esp + 0x35], 0xc
fldcw word [esp + 0x34]
mov dword [esp + 0x34], eax
fistp dword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
fldcw word [esp + 0x34]
fild dword [esp + 0x60]
fmul st(3)
fadd st(2)
fnstcw word [esp + 0x34]
mov eax, dword [esp + 0x34]
or byte [esp + 0x35], 0xc
fldcw word [esp + 0x34]
mov dword [esp + 0x34], eax
fistp dword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x60], ecx
fldcw word [esp + 0x34]
fild dword [esp + 0x60]
mov dword [esp + 4], eax
fmul st(3)
fadd st(2)
fnstcw word [esp + 0x34]
mov eax, dword [esp + 0x34]
or byte [esp + 0x35], 0xc
fldcw word [esp + 0x34]
mov dword [esp + 0x34], eax
mov eax, 0x66666667
imul edx
fistp dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
fldcw word [esp + 0x34]
sar edx, 2
add esi, edx
mov dword [esp + 0x60], esi
fild dword [esp + 0x60]
fcomp st(4)
fnstsw ax
test ah, 0x45
jne 0x54099a
mov byte [0xa10b2d], 1
jmp 0x54099a
fld dword [0x695468]
fstp dword [esp + 0x44]
mov edi, dword [0xa0fd7c]
mov al, byte [esp + 0x30]
and edi, 0xffff
push eax
mov eax, edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], eax
fild qword [esp + 0x64]
push eax
fmul dword [0x6954c0]
fadd dword [0x978d38]
fstp dword [esp]
fld dword [esp + 0x78]
fstp st(4)
fld dword [0x695478]
fdiv st(4)
push eax
fstp dword [esp]
fld dword [0x6954c8]
mov al, byte [esp + 0x10]
mov dl, byte [esp + 0x14]
fmul dword [esp + 0x84]
push dword [0x6954c4]
push dword [0x695468]
push ecx
push eax
mov al, byte [esp + 0x2c]
push edx
mov cl, byte [esp + 0x3c]
push eax
mov al, byte [esp + 0x48]
push ecx
push eax
push eax
fstp dword [esp]
fld dword [0x6954c8]
fmul dword [esp + 0xa4]
push eax
fstp dword [esp]
push eax
fld st(3)
fstp dword [esp]
fcompp
fcompp
push dword [esp + 0xa4]
push dword [esp + 0xa4]
call fcn.00575840
add esp, 0x40
mov byte [ebx + 0x709204], 1
jmp 0x540a5f
fcompp
fcompp
mov byte [ebx + 0x709204], 0
inc ebx
cmp ebx, 0x25
jl 0x540632
call fcn.005777b0
push 2
push 0xa
call fcn.00649bf0
pop ecx
pop ecx
push 2
push 0xb
call fcn.00649bf0
mov edx, dword [0xa0d240]
pop ecx
mov eax, dword [edx]
pop ecx
push eax
push 1
call fcn.00649bf0
xor ebp, ebp
pop ecx
pop ecx
mov eax, dword [esp + 0x2c]
lea edi, [esp + 0xb8]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
fldz
fldz
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [0x695488]
fmul dword [ebp*4 + 0x6952cc]
cmp byte [ebp + 0x709204], 0
fstp st(2)
fld dword [0x695488]
fmul dword [ebp*4 + 0x695238]
fstp st(1)
fld dword [esp + 0x58]
fmul st(2)
fld dword [esp + 0x5c]
fmul st(2)
faddp st(1)
fadd dword [esp + 0xb8]
fstp dword [esp + 0xb8]
fld dword [esp + 0x5c]
fmul st(2)
fld dword [esp + 0x58]
fmul st(2)
fsubrp st(1)
fadd dword [esp + 0xbc]
fstp dword [esp + 0xbc]
fld dword [0x6954ac]
fmul dword [ebp*4 + 0x695360]
fadd dword [0x6954ac]
fstp dword [esp + 0xc0]
je 0x540e97
lea eax, [esp + 0x74]
lea esi, [esp + 0x78]
fcompp
lea edi, [esp + 0x68]
push 0
push esi
push eax
lea eax, [esp + 0xc4]
push edi
push eax
call fcn.005778d0
add esp, 0x14
test al, al
je 0x540c47
fld dword [esp + 0x44]
fcomp dword [0x695468]
fnstsw ax
test ah, 0x45
jne 0x540c47
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.004a5600
mov eax, 0x55555556
mov edx, dword [0x9b48ec]
pop ecx
pop ecx
mov ecx, edx
imul edx
shr ecx, 0x1f
fstp dword [esp + 0x54]
add ecx, edx
mov dword [esp + 0x60], ecx
fild dword [esp + 0x60]
fcomp dword [esp + 0x50]
fnstsw ax
test ah, 0x45
jne 0x540c47
fldz
fld dword [0x6954cc]
fsub dword [esp + 0x54]
push 0xff
push eax
fadd dword [0x978d38]
fstp dword [esp]
fld dword [esp + 0x78]
fstp st(1)
fld dword [0x695478]
fdiv st(1)
push eax
fstp dword [esp]
fld dword [0x6954d0]
fmul dword [esp + 0x50]
fnstcw word [esp + 0x40]
mov eax, dword [esp + 0x40]
or byte [esp + 0x41], 0xc
fldcw word [esp + 0x40]
mov dword [esp + 0x40], eax
fistp dword [esp + 0x6c]
fldcw word [esp + 0x40]
fld dword [0x6954d4]
fmul dword [esp + 0x84]
mov eax, dword [esp + 0x6c]
push 0xff
push 0
push 0
push eax
push eax
fstp dword [esp]
fld dword [0x6954d4]
fmul dword [esp + 0x94]
push eax
fstp dword [esp]
push eax
fst dword [esp]
push dword [esp + 0x94]
push dword [esp + 0x94]
fstp st(0)
call fcn.00576b50
add esp, 0x30
inc ebp
cmp ebp, 0x25
jl 0x540a98
call fcn.005777b0
fld dword [0xa0d064]
fcomp dword [0x695468]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x540e3c
mov edx, dword [0x695538]
mov eax, dword [edx]
push eax
push 1
call fcn.00649bf0
xor ebx, ebx
pop ecx
pop ecx
mov dword [esp + 0x60], ebx
lea edi, [esp + 0xc4]
fild dword [esp + 0x60]
mov dword [esp + 0xfc], 0x40a00000
mov dword [esp + 0xf8], 0x42c80000
mov eax, 0x7e46c0
fmul dword [0x6954d8]
push 0
fstp dword [esp + 0xf8]
lea esi, [esp + 0xf8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0xc8]
fadd dword [eax]
lea esi, [esp + 0x7c]
lea edi, [esp + 0x6c]
push esi
fstp dword [esp + 0xcc]
fld dword [esp + 0xd0]
fadd dword [eax + 4]
fstp dword [esp + 0xd0]
fld dword [esp + 0xd4]
fadd dword [eax + 8]
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0xd0]
push edi
push eax
fstp dword [esp + 0xe0]
call fcn.005778d0
add esp, 0x14
test al, al
fldz
je 0x540ea7
fld dword [esp + 0x70]
fstp st(1)
fld dword [0x695478]
fdiv st(1)
push 0xff
push eax
fstp dword [esp]
mov al, byte [ebx + 0x6951a0]
and eax, 0xff
mov dword [esp + 0x68], eax
fild dword [esp + 0x68]
push 0xff
fmul dword [0xa0d064]
fnstcw word [esp + 0x40]
mov eax, dword [esp + 0x40]
or byte [esp + 0x41], 0xc
fldcw word [esp + 0x40]
mov dword [esp + 0x40], eax
mov al, byte [ebx + 0x695198]
and eax, 0xff
fistp dword [esp + 0x6c]
mov ecx, dword [esp + 0x6c]
fldcw word [esp + 0x40]
mov dword [esp + 0x6c], eax
push ecx
fild dword [esp + 0x70]
fmul dword [0xa0d064]
fnstcw word [esp + 0x44]
mov eax, dword [esp + 0x44]
or byte [esp + 0x45], 0xc
fldcw word [esp + 0x44]
mov dword [esp + 0x44], eax
mov al, byte [ebx + 0x695190]
and eax, 0xff
fistp dword [esp + 0x70]
mov edx, dword [esp + 0x70]
fldcw word [esp + 0x44]
mov dword [esp + 0x70], eax
push edx
fild dword [esp + 0x74]
fmul dword [0xa0d064]
fnstcw word [esp + 0x48]
mov eax, dword [esp + 0x48]
or byte [esp + 0x49], 0xc
fldcw word [esp + 0x48]
mov dword [esp + 0x48], eax
fistp dword [esp + 0x74]
fldcw word [esp + 0x48]
fld dword [0x6954dc]
fmul dword [esp + 0x8c]
mov eax, dword [esp + 0x74]
push eax
push eax
fstp dword [esp]
fld dword [0x695488]
fmul dword [esp + 0x90]
push eax
fstp dword [esp]
push eax
fst dword [esp]
push dword [esp + 0x90]
push dword [esp + 0x90]
fstp st(0)
call fcn.00577370
add esp, 0x2c
inc ebx
cmp ebx, 6
jl 0x540c84
call fcn.005777b0
push 0
push 0xc
call fcn.00649bf0
pop ecx
pop ecx
push 1
push 8
call fcn.00649bf0
pop ecx
pop ecx
push 1
push 6
call fcn.00649bf0
pop ecx
pop ecx
push 5
push 0xa
call fcn.00649bf0
pop ecx
pop ecx
push 6
push 0xb
call fcn.00649bf0
pop ecx
pop ecx
add esp, 0x100
pop ebp
pop edi
pop esi
pop ebx
ret
fldz
jmp 0x53ff23
fldz
jmp 0x54035f
fstp st(0)
jmp 0x54057d
fcompp
jmp 0x540c47
fstp st(0)
jmp 0x540c56
fstp st(0)
jmp 0x540e2d