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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x2b0
mov byte [esp + 0x3c], 0
mov byte [esp + 0x58], 0
mov byte [esp + 0x40], 0
xor bl, bl
call fcn.004a10c0
test eax, eax
je 0x555520
call fcn.004a10c0
mov eax, dword [eax + 0x284]
cmp eax, 1
jne 0x555520
fld dword [0x602ad4]
jmp 0x555526
fld dword [0x602ad8]
fstp dword [esp + 0x74]
mov dword [esp + 0x60], 0x6facfc
mov esi, dword [esp + 0x60]
add esi, 0x10
fldz
fldz
fldz
fldz
fld dword [esp + 0x74]
fmul st(0)
fstp dword [esp + 0x78]
fld dword [esi + 8]
fcomp dword [0x602adc]
fnstsw ax
test ah, 0x45
jne 0x5555e8
fld dword [esi + 4]
fstp st(2)
fld st(1)
fcomp dword [0x602ae0]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x555580
fld st(1)
fchs
jmp 0x555582
fld st(1)
fstp st(4)
fld dword [esi]
fst st(1)
fcomp dword [0x602ae0]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5555a0
fld st(0)
fchs
jmp 0x5555a2
fld st(0)
fstp st(3)
fld st(2)
fcomp st(4)
fnstsw ax
test ah, 0x45
jne 0x5555d0
fcom dword [0x602ae0]
fnstsw ax
test ah, 0x45
jne 0x5555c3
mov byte [esp + 0x40], 1
jmp 0x5555e8
mov byte [esp + 0x3c], 1
jmp 0x5555e8
fld st(1)
fcomp dword [0x602ae0]
fnstsw ax
test ah, 0x45
jne 0x5555e6
mov byte [esp + 0x58], 1
jmp 0x5555e8
mov bl, 1
add dword [esp + 0x60], 0x30
mov eax, dword [esp + 0x60]
fld dword [eax + 8]
fstp st(4)
fld st(3)
fcomp dword [0x602ae4]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x555610
fld dword [0x602ae8]
jmp 0x555641
fld st(3)
fcomp dword [0x602aec]
fnstsw ax
test ah, 0x45
jne 0x555627
fld dword [0x602af0]
jmp 0x555641
fld st(3)
fsub dword [0x602ae4]
fmul dword [0x602af4]
fmul dword [0x602af8]
fadd dword [0x602ae8]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fmul st(0)
fstp dword [esp + 0x6c]
fld dword [0x602afc]
fmul dword [0x8e2bf8]
cmp byte [0x95cd7c], 0
fadd dword [0x602b00]
fstp dword [esp + 0x84]
jne 0x556b20
cmp byte [0x95cdb1], 0
jne 0x556b30
fcompp
fcompp
call fcn.005a41d0
and eax, 0xffff
mov dword [esp + 0xc0], eax
fild dword [esp + 0xc0]
fmul dword [0x602b04]
fmul dword [0x602b08]
fadd dword [0x602b0c]
fadd dword [esp + 0x84]
fadd dword [0x64d074]
fstp dword [0x64d074]
call fcn.005a41d0
and eax, 0xffff
mov dword [esp + 0xc0], eax
fild dword [esp + 0xc0]
fmul dword [0x602b04]
fmul dword [0x602b08]
fadd dword [0x602b0c]
fadd dword [esp + 0x84]
fadd dword [0x64d078]
fstp dword [0x64d078]
fld dword [0x64d074]
fcomp dword [0x602b10]
fnstsw ax
test ah, 5
jne 0x55571d
mov dword [0x64d074], 0
fld dword [0x64d078]
fcomp dword [0x602b10]
fnstsw ax
test ah, 5
jne 0x55573a
mov dword [0x64d078], 0
fld dword [0x602b14]
fmul dword [0x8f29d8]
mov eax, dword [0x602ad0]
mov dword [0x8f5f78], 0
mov dword [esp + 0xcc], eax
mov byte [0x95cd9a], 0
fadd dword [0x8f29b4]
fmul dword [0x602b18]
fnstcw word [esp + 0x64]
mov eax, dword [esp + 0x64]
or byte [esp + 0x65], 0xc
fldcw word [esp + 0x64]
mov dword [esp + 0x64], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x64]
fld dword [0x602b14]
fmul dword [0x940594]
mov eax, dword [esp + 0xc0]
mov byte [esp + 0xcc], al
fadd dword [0x94144c]
fmul dword [0x602b18]
fnstcw word [esp + 0x64]
mov eax, dword [esp + 0x64]
or byte [esp + 0x65], 0xc
fldcw word [esp + 0x64]
mov dword [esp + 0x64], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x64]
fld dword [0x602b14]
fmul dword [0x942fac]
mov eax, dword [esp + 0xc0]
mov byte [esp + 0xcd], al
fadd dword [0x942fc0]
fmul dword [0x602b18]
fnstcw word [esp + 0x64]
mov eax, dword [esp + 0x64]
or byte [esp + 0x65], 0xc
fldcw word [esp + 0x64]
mov dword [esp + 0x64], eax
mov dword [0x8f1a4c], 0
fistp dword [esp + 0xc0]
fldcw word [esp + 0x64]
mov eax, dword [esp + 0xc0]
mov byte [esp + 0xce], al
mov eax, dword [0x8f5fd4]
push eax
push 1
call fcn.005a43c0
pop ecx
pop ecx
push 1
push 0xe
call fcn.005a43c0
pop ecx
pop ecx
push 2
push 0xa
call fcn.005a43c0
pop ecx
pop ecx
push 1
push 0xb
call fcn.005a43c0
mov eax, dword [esp + 0x68]
pop ecx
fld dword [eax]
mov eax, dword [esp + 0x64]
pop ecx
fstp dword [esp + 0x88]
fld dword [eax + 4]
fstp dword [esp + 0x8c]
fld dword [esp + 0x88]
fsub dword [esp + 0x68]
fadd dword [0x602ab0]
fmul dword [0x602b1c]
fnstcw word [esp + 0x64]
mov eax, dword [esp + 0x64]
or byte [esp + 0x65], 0xc
fldcw word [esp + 0x64]
mov dword [esp + 0x64], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x64]
fld dword [esp + 0x88]
fadd dword [esp + 0x68]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x54], eax
fadd dword [0x602ab0]
fmul dword [0x602b1c]
fadd dword [0x602b10]
fnstcw word [esp + 0x64]
mov eax, dword [esp + 0x64]
or byte [esp + 0x65], 0xc
fldcw word [esp + 0x64]
mov dword [esp + 0x64], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x64]
fld dword [esp + 0x8c]
fsub dword [esp + 0x68]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x5c], eax
fadd dword [0x602ab0]
fmul dword [0x602b1c]
fnstcw word [esp + 0x64]
mov eax, dword [esp + 0x64]
or byte [esp + 0x65], 0xc
fldcw word [esp + 0x64]
mov dword [esp + 0x64], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x64]
fld dword [esp + 0x8c]
fadd dword [esp + 0x68]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x44], eax
fadd dword [0x602ab0]
fmul dword [0x602b1c]
fadd dword [0x602b10]
fnstcw word [esp + 0x64]
mov eax, dword [esp + 0x64]
or byte [esp + 0x65], 0xc
fldcw word [esp + 0x64]
mov dword [esp + 0x64], eax
cmp byte [esp + 0x40], 0
fistp dword [esp + 0xc0]
fldcw word [esp + 0x64]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x38], eax
je 0x5559d7
fld dword [0x602ab0]
fadd dword [esp + 0x88]
fmul dword [0x602b1c]
fnstcw word [esp + 0x64]
mov eax, dword [esp + 0x64]
or byte [esp + 0x65], 0xc
fldcw word [esp + 0x64]
mov dword [esp + 0x64], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x64]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x54], eax
cmp byte [esp + 0x3c], 0
je 0x555a1c
fld dword [0x602ab0]
fadd dword [esp + 0x88]
fmul dword [0x602b1c]
fnstcw word [esp + 0x64]
mov eax, dword [esp + 0x64]
or byte [esp + 0x65], 0xc
fldcw word [esp + 0x64]
mov dword [esp + 0x64], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x64]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x5c], eax
cmp byte [esp + 0x58], 0
je 0x555a61
fld dword [0x602ab0]
fadd dword [esp + 0x8c]
fmul dword [0x602b1c]
fnstcw word [esp + 0x64]
mov eax, dword [esp + 0x64]
or byte [esp + 0x65], 0xc
fldcw word [esp + 0x64]
mov dword [esp + 0x64], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x64]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x44], eax
test bl, bl
je 0x555aa3
fld dword [0x602ab0]
fadd dword [esp + 0x8c]
fmul dword [0x602b1c]
fnstcw word [esp + 0x64]
mov eax, dword [esp + 0x64]
or byte [esp + 0x65], 0xc
fldcw word [esp + 0x64]
mov dword [esp + 0x64], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x64]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x38], eax
cmp dword [esp + 0x54], 0
jle 0x555ab0
mov eax, dword [esp + 0x54]
jmp 0x555ab2
xor eax, eax
cmp eax, 0x1f
jge 0x555ac8
cmp dword [esp + 0x54], 0
jg 0x555ad0
mov dword [esp + 0x54], 0
jmp 0x555ad0
mov dword [esp + 0x54], 0x1f
cmp dword [esp + 0x5c], 0
jle 0x555ae0
mov eax, dword [esp + 0x5c]
jmp 0x555ae2
xor eax, eax
cmp eax, 0x1f
jge 0x555af8
cmp dword [esp + 0x5c], 0
jg 0x555b00
mov dword [esp + 0x5c], 0
jmp 0x555b00
mov dword [esp + 0x5c], 0x1f
cmp dword [esp + 0x44], 0
jle 0x555b10
mov eax, dword [esp + 0x44]
jmp 0x555b12
xor eax, eax
cmp eax, 0x1f
jge 0x555b28
cmp dword [esp + 0x44], 0
jg 0x555b30
mov dword [esp + 0x44], 0
jmp 0x555b30
mov dword [esp + 0x44], 0x1f
cmp dword [esp + 0x38], 0
jle 0x555b40
mov eax, dword [esp + 0x38]
jmp 0x555b42
xor eax, eax
cmp eax, 0x1f
jge 0x555b58
cmp dword [esp + 0x38], 0
jg 0x555b60
mov dword [esp + 0x38], 0
jmp 0x555b60
mov dword [esp + 0x38], 0x1f
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x5c]
mov dword [esp + 0x48], eax
jg 0x55635b
shl dword [esp + 0x54], 1
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x54]
shl dword [esp + 0x4c], 6
inc dword [esp + 0x54]
mov dword [esp + 0x50], eax
mov eax, eax
lea eax, [eax]
mov eax, dword [esp + 0x44]
cmp eax, dword [esp + 0x38]
mov dword [esp + 0x24], eax
jg 0x55633a
mov dword [esp + 0x18], eax
add eax, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x28], eax
shl dword [esp + 0x28], 1
mov eax, dword [esp + 0x28]
inc dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x50]
fild dword [esp + 0xc0]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x34], eax
fmul dword [0x602b20]
fstp dword [esp + 0x98]
mov eax, dword [esp + 0x18]
movzx eax, byte [eax*2 + 0x726d60]
fldz
fldz
and eax, 0x80
fldz
je 0x555c4e
mov eax, dword [esp + 0x18]
movzx eax, byte [eax*2 + 0x726da0]
and eax, 0x80
je 0x555c4e
mov eax, dword [esp + 0x18]
movzx eax, byte [eax*2 + 0x726d61]
and eax, 0x80
je 0x555c4e
mov eax, dword [esp + 0x18]
movzx eax, byte [eax*2 + 0x726da1]
and eax, 0x80
jne 0x556b80
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov dword [esp + 0xc0], eax
fild dword [esp + 0xc0]
fmul dword [0x602b20]
fstp dword [esp + 0x80]
fld dword [0x602b24]
fadd dword [esp + 0x98]
fstp st(3)
fld dword [0x602b24]
fadd dword [esp + 0x80]
fstp st(2)
fld dword [esp + 0x8c]
fsub st(2)
fst st(1)
fmul st(0)
fld dword [esp + 0x88]
fsub st(4)
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fstp dword [esp + 0x70]
fld dword [esp + 0x70]
fcomp dword [esp + 0x6c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x556b90
fld st(2)
fstp dword [esp + 0x100]
fld st(1)
fstp dword [esp + 0x104]
fcompp
mov ecx, 0x6facf8
mov dword [esp + 0x108], 0
fstp st(0)
call fcn.0042c8b0
lea ecx, [esp + 0x148]
push eax
call fcn.004b8d70
lea eax, [esp + 0x148]
mov ecx, 0x6facf8
push eax
lea eax, [esp + 0x104]
push dword [0x602b28]
push eax
call fcn.0042c760
lea ecx, [esp + 0x148]
mov bl, al
call fcn.004b8db0
test bl, bl
je 0x55631a
fld dword [esp + 0x70]
fcomp dword [0x602b2c]
fnstsw ax
test ah, 0x45
jne 0x555e00
mov eax, dword [esp + 0x18]
mov cl, byte [eax*2 + 0x726d60]
movzx eax, cl
and eax, 0x80
jne 0x555d6c
movzx eax, cl
fld dword [eax*4 + 0x665488]
fstp dword [esp + 0x7c]
mov eax, dword [esp + 0x18]
mov dl, byte [eax*2 + 0x726da0]
movzx eax, dl
and eax, 0x80
jne 0x555d8f
movzx eax, dl
fld dword [eax*4 + 0x665488]
fstp dword [esp + 0x7c]
mov eax, dword [esp + 0x18]
mov bl, byte [eax*2 + 0x726d61]
movzx eax, bl
and eax, 0x80
jne 0x555db2
movzx eax, bl
fld dword [eax*4 + 0x665488]
fstp dword [esp + 0x7c]
mov eax, dword [esp + 0x18]
mov cl, byte [eax*2 + 0x726da1]
movzx eax, cl
and eax, 0x80
jne 0x555dd5
movzx eax, cl
fld dword [eax*4 + 0x665488]
fstp dword [esp + 0x7c]
lea eax, [esp + 0xcc]
push eax
push dword [esp + 0x80]
push dword [esp + 0x88]
push dword [esp + 0xa4]
call fcn.005570d0
add esp, 0x10
jmp 0x55631a
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
shl dword [esp + 0x10], 7
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
shl ebp, 6
mov eax, dword [esp + 0x34]
mov dword [esp + 0x20], eax
jmp 0x55630c
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 8]
mov esi, edi
add esi, dword [esp + 0x10]
add eax, 0xffffffe0
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x1c]
fild dword [esp + 0xc0]
mov dword [esp + 0xc], eax
fmul dword [0x602b24]
fstp dword [esp + 0x94]
jmp 0x5562f6
lea edx, [edi + ebp]
movzx eax, byte [edx + 0x726d60]
fldz
fldz
and eax, 0x80
fldz
jne 0x556b57
lea eax, [edi - 0x20]
mov dword [esp + 0xc0], eax
fild dword [esp + 0xc0]
fmul dword [0x602b24]
fstp dword [esp + 0xac]
fld dword [0x602b30]
fadd dword [esp + 0x94]
fstp dword [esp + 0xa4]
fld dword [esp + 0xa4]
fstp st(2)
fld dword [0x602b30]
fadd dword [esp + 0xac]
fstp dword [esp + 0xa8]
fld dword [esp + 0xa8]
fstp st(1)
fld dword [esp + 0x8c]
fsub st(1)
fstp st(3)
fld st(2)
fmul st(0)
fld dword [esp + 0x88]
fsub st(3)
fstp st(4)
fld st(3)
fmul st(0)
faddp st(1)
fstp dword [esp + 0xbc]
fld dword [esp + 0xbc]
fcomp dword [esp + 0x6c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x556b60
fld st(1)
fstp dword [esp + 0x10c]
fst dword [esp + 0x110]
fcompp
mov ecx, 0x6facf8
mov dword [esp + 0x114], 0
fstp st(0)
call fcn.0042c8b0
lea ecx, [esp + 0x190]
push eax
call fcn.004b8d70
lea eax, [esp + 0x190]
mov ecx, 0x6facf8
push eax
lea eax, [esp + 0x110]
push dword [0x602b34]
push eax
call fcn.0042c760
lea ecx, [esp + 0x190]
mov bl, al
call fcn.004b8db0
test bl, bl
fldz
je 0x556b70
fld dword [esp + 0xbc]
fcomp dword [0x602b38]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x555fd1
lea ecx, [edi + ebp]
movzx eax, byte [ecx + 0x726d60]
fld dword [eax*4 + 0x665488]
fstp st(1)
fld dword [0x602b3c]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x5562d0
mov dl, byte [esi*2 + 0x775058]
movzx eax, dl
and eax, 0x80
jne 0x55608c
fld dword [0x602b40]
fadd dword [esp + 0xac]
fsubr dword [esp + 0x8c]
fst st(1)
fmul st(0)
fld dword [0x602b40]
fadd dword [esp + 0x94]
fsubr dword [esp + 0x88]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fst st(1)
fcomp dword [esp + 0x78]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x556060
movzx eax, dl
lea ecx, [esp + 0xcc]
push 0
push ecx
push dword [eax*4 + 0x665488]
push dword [esp + 0xb8]
push dword [esp + 0xa4]
fstp st(0)
call fcn.00557570
add esp, 0x14
jmp 0x556b40
movzx eax, dl
lea ebx, [esp + 0xcc]
push ebx
push dword [eax*4 + 0x665488]
push dword [esp + 0xb4]
push dword [esp + 0xa0]
fstp st(0)
call fcn.00556c30
add esp, 0x10
fldz
mov cl, byte [esi*2 + 0x7750d8]
movzx eax, cl
and eax, 0x80
jne 0x55614c
fld dword [0x602b40]
fadd dword [esp + 0xac]
fsubr dword [esp + 0x8c]
fst st(1)
fmul st(0)
fld dword [0x602b40]
fadd dword [esp + 0x94]
fadd dword [0x602b30]
fsubr dword [esp + 0x88]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fst st(1)
fcomp dword [esp + 0x78]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x556120
movzx eax, cl
lea ebx, [esp + 0xcc]
push 0
push ebx
push dword [eax*4 + 0x665488]
push dword [esp + 0xb8]
push dword [esp + 0xb4]
fstp st(0)
call fcn.00557570
add esp, 0x14
jmp 0x556b47
movzx eax, cl
lea edx, [esp + 0xcc]
push edx
push dword [eax*4 + 0x665488]
push dword [esp + 0xb4]
push dword [esp + 0xb0]
fstp st(0)
call fcn.00556c30
add esp, 0x10
fldz
mov bl, byte [esi*2 + 0x775059]
movzx eax, bl
and eax, 0x80
jne 0x55620c
fld dword [0x602b40]
fadd dword [esp + 0xac]
fadd dword [0x602b30]
fsubr dword [esp + 0x8c]
fst st(1)
fmul st(0)
fld dword [0x602b40]
fadd dword [esp + 0x94]
fsubr dword [esp + 0x88]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fst st(1)
fcomp dword [esp + 0x78]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5561e0
movzx eax, bl
lea edx, [esp + 0xcc]
push 0
push edx
push dword [eax*4 + 0x665488]
push dword [esp + 0xb4]
push dword [esp + 0xa4]
fstp st(0)
call fcn.00557570
add esp, 0x14
jmp 0x556b50
movzx eax, bl
lea ecx, [esp + 0xcc]
push ecx
push dword [eax*4 + 0x665488]
push dword [esp + 0xb0]
push dword [esp + 0xa0]
fstp st(0)
call fcn.00556c30
add esp, 0x10
fldz
mov dl, byte [esi*2 + 0x7750d9]
movzx eax, dl
and eax, 0x80
jne 0x556b77
fld dword [0x602b40]
fadd dword [esp + 0xac]
fadd dword [0x602b30]
fsubr dword [esp + 0x8c]
fst st(1)
fmul st(0)
fld dword [0x602b40]
fadd dword [esp + 0x94]
fadd dword [0x602b30]
fsubr dword [esp + 0x88]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fst st(1)
fcomp dword [esp + 0x78]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5562a0
movzx eax, dl
lea ebx, [esp + 0xcc]
push 0
push ebx
push dword [eax*4 + 0x665488]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
fstp st(0)
call fcn.00557570
add esp, 0x14
jmp 0x5562f4
movzx eax, dl
lea ecx, [esp + 0xcc]
push ecx
push dword [eax*4 + 0x665488]
push dword [esp + 0xb0]
push dword [esp + 0xb0]
fstp st(0)
call fcn.00556c30
jmp 0x5562f1
lea eax, [esp + 0xcc]
push eax
push eax
fst dword [esp]
push dword [esp + 0xb4]
push dword [esp + 0xa0]
fstp st(0)
call fcn.00556e80
add esp, 0x10
inc esi
inc edi
cmp edi, dword [esp + 0xc]
jle 0x555e70
add ebp, 0x40
sub dword [esp + 0x10], 0xffffff80
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x20]
jle 0x555e35
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], 2
inc dword [esp + 0x18]
add dword [esp + 0x30], 2
cmp eax, dword [esp + 0x38]
jle 0x555bf8
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
add dword [esp + 0x54], 2
add dword [esp + 0x4c], 0x40
add dword [esp + 0x50], 2
cmp eax, dword [esp + 0x5c]
jle 0x555b90
cmp byte [esp + 0x58], 0
jne 0x5564d0
xor esi, esi
mov dword [esp + 0xc0], esi
xor edi, edi
fild dword [esp + 0xc0]
fmul dword [0x602b44]
fsub dword [0x602ab0]
fsub dword [0x602b48]
fadd dword [0x602b20]
fstp dword [esp + 0x9c]
mov dword [esp + 0xc0], edi
fldz
fild dword [esp + 0xc0]
fmul dword [0x602b44]
fsub dword [0x602ab0]
fsub dword [0x602b48]
fadd dword [0x602b20]
fstp dword [esp + 0xb8]
fld dword [esp + 0xb8]
fsub dword [esp + 0x8c]
fst st(1)
fmul st(0)
fld dword [esp + 0x9c]
fsub dword [esp + 0x88]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fsqrt
fstp dword [esp + 0xc0]
fld dword [esp + 0xc0]
fst st(1)
fcomp dword [esp + 0x6c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x556ba0
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x118], ecx
mov ecx, 0x6facf8
fstp st(0)
mov dword [esp + 0x120], 0
mov dword [esp + 0x11c], eax
call fcn.0042c8b0
lea ecx, [esp + 0x1d8]
push eax
call fcn.004b8d70
lea eax, [esp + 0x1d8]
mov ecx, 0x6facf8
push eax
lea eax, [esp + 0x11c]
push dword [0x602b4c]
push eax
call fcn.0042c760
lea ecx, [esp + 0x1d8]
mov bl, al
call fcn.004b8db0
test bl, bl
je 0x5564bc
fld dword [esp + 0xb8]
fsub dword [0x602b20]
lea eax, [esp + 0xcc]
push eax
push dword [0x602ae0]
push eax
fstp dword [esp]
fld dword [esp + 0xa8]
fsub dword [0x602b20]
push eax
fstp dword [esp]
call fcn.00557320
add esp, 0x10
inc edi
cmp edi, 5
jl 0x556397
inc esi
cmp esi, 0x1a
jl 0x556368
mov edi, 5
mov dword [esp + 0xc0], edi
xor esi, esi
fild dword [esp + 0xc0]
fmul dword [0x602b44]
fsub dword [0x602ab0]
fsub dword [0x602b48]
fadd dword [0x602b20]
fstp dword [esp + 0xa0]
cmp byte [esp + 0x40], 0
fldz
jne 0x55663a
mov dword [esp + 0xc0], esi
fild dword [esp + 0xc0]
fmul dword [0x602b44]
fsub dword [0x602ab0]
fsub dword [0x602b48]
fadd dword [0x602b20]
fstp dword [esp + 0xb4]
fld dword [esp + 0xa0]
fsub dword [esp + 0x8c]
fst st(1)
fmul st(0)
fld dword [esp + 0xb4]
fsub dword [esp + 0x88]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fsqrt
fstp dword [esp + 0xc0]
fld dword [esp + 0xc0]
fst st(1)
fcomp dword [esp + 0x6c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x55663a
mov ecx, 0x6facf8
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x124], edx
fstp st(0)
mov dword [esp + 0x12c], 0
mov dword [esp + 0x128], eax
call fcn.0042c8b0
lea ecx, [esp + 0x220]
push eax
call fcn.004b8d70
lea eax, [esp + 0x220]
mov ecx, 0x6facf8
push eax
lea eax, [esp + 0x128]
push dword [0x602b4c]
push eax
call fcn.0042c760
lea ecx, [esp + 0x220]
mov bl, al
call fcn.004b8db0
test bl, bl
je 0x556ba7
fld dword [esp + 0xa0]
fsub dword [0x602b20]
lea eax, [esp + 0xcc]
push eax
push dword [0x602ae0]
push eax
fstp dword [esp]
fld dword [esp + 0xc0]
fsub dword [0x602b20]
push eax
fstp dword [esp]
call fcn.00557320
add esp, 0x10
fldz
cmp byte [esp + 0x3c], 0
jne 0x556bb0
mov eax, esi
neg eax
mov dword [esp + 0xc0], eax
fild dword [esp + 0xc0]
fmul dword [0x602b44]
fadd dword [0x602ab0]
fadd dword [0x602b48]
fsub dword [0x602b20]
fstp dword [esp + 0xb0]
fld dword [esp + 0xa0]
fsub dword [esp + 0x8c]
fst st(1)
fmul st(0)
fld dword [esp + 0xb0]
fsub dword [esp + 0x88]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fsqrt
fstp dword [esp + 0xc0]
fld dword [esp + 0xc0]
fst st(1)
fcomp dword [esp + 0x6c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x556bb7
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x130], ecx
mov ecx, 0x6facf8
fstp st(0)
mov dword [esp + 0x138], 0
mov dword [esp + 0x134], eax
call fcn.0042c8b0
lea ecx, [esp + 0x268]
push eax
call fcn.004b8d70
lea eax, [esp + 0x268]
mov ecx, 0x6facf8
push eax
lea eax, [esp + 0x134]
push dword [0x602b4c]
push eax
call fcn.0042c760
lea ecx, [esp + 0x268]
mov bl, al
call fcn.004b8db0
test bl, bl
je 0x55676c
fld dword [esp + 0xa0]
fsub dword [0x602b20]
lea eax, [esp + 0xcc]
push eax
push dword [0x602ae0]
push eax
fstp dword [esp]
fld dword [esp + 0xbc]
fsub dword [0x602b20]
push eax
fstp dword [esp]
call fcn.00557320
add esp, 0x10
inc esi
cmp esi, 5
jl 0x556504
inc edi
cmp edi, 0x15
jl 0x5564d5
call fcn.00557ea0
mov eax, dword [esp + 0x60]
lea edi, [esp + 0xd0]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov bl, byte [0x95cda6]
call fcn.00525ce0
test al, al
jne 0x556b0b
call fcn.00525d00
test al, al
fldz
fldz
fldz
fldz
fldz
jne 0x556bc0
cmp word [0x95cc70], 0
jne 0x556bd0
cmp bl, 6
jbe 0x556be0
cmp bl, 0x14
jae 0x556bf0
cmp byte [0x95cd9a], 0
je 0x556c00
cmp byte [0x64d080], 0
jne 0x55681a
mov byte [0x64d080], 1
mov dword [0x64d084], 0
mov dword [0x64d088], 0
mov dword [0x64d08c], 0
cmp byte [0x64d090], 0
jne 0x556848
mov byte [0x64d090], 1
mov dword [0x64d094], 0
mov dword [0x64d098], 0
mov dword [0x64d09c], 0
fld dword [0x64d084]
fsub dword [esp + 0xd0]
lea edi, [esp + 0xdc]
fstp dword [esp + 0x13c]
fld dword [esp + 0xd4]
fstp st(2)
fld dword [0x64d088]
fsub st(2)
fstp dword [esp + 0x140]
fld dword [esp + 0xd8]
fstp st(1)
lea esi, [esp + 0x13c]
fld dword [0x64d08c]
fsub st(1)
fstp dword [esp + 0x144]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0xe0]
fabs
fstp dword [esp + 0xc0]
fld dword [esp + 0xc0]
fstp st(5)
fld dword [esp + 0xdc]
fabs
fstp dword [esp + 0xc0]
fld dword [esp + 0xc0]
fstp st(4)
fld dword [esp + 0xe4]
fabs
fstp dword [esp + 0xc0]
fld dword [esp + 0xc0]
fstp st(3)
fld st(3)
fadd st(5)
fadd st(3)
fcomp dword [0x602b50]
fnstsw ax
test ah, 4
jne 0x556ae0
and ah, 0x45
test ah, 0x41
je 0x556ae0
mov eax, dword [0x885b48]
sub eax, dword [0x64d0a0]
cmp eax, 0x1388
jbe 0x556c10
cmp byte [0x64d0a8], 0
jne 0x55693b
mov byte [0x64d0a8], 1
mov dword [0x64d0a4], 0
mov eax, dword [0x885b48]
sub eax, dword [0x64d0a4]
cmp eax, 0x3e8
jbe 0x556c20
lea esi, [esp + 0xd0]
mov eax, dword [0x885b48]
lea edi, [esp + 0xe8]
mov dword [0x64d0a4], eax
movsd dword es:[edi], dword [esi]
fcompp
fcompp
fstp st(0)
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.005a41d0
and eax, 0xffff
mov dword [esp + 0xc0], eax
fild dword [esp + 0xc0]
fmul dword [0x602b04]
fmul dword [0x602aec]
fadd dword [0x602b54]
fstp dword [esp + 0x90]
call fcn.005a41d0
movzx esi, ax
mov eax, 0x80200803
mov edx, esi
mov ecx, edx
imul edx
add edx, ecx
shr ecx, 0x1f
sar edx, 9
add ecx, edx
imul ecx, ecx, 0x3ff
sub esi, ecx
fld dword [esi*4 + 0x70da18]
fld dword [esi*4 + 0x877358]
fld st(1)
fsub st(1)
fmul dword [esp + 0x90]
fadd dword [esp + 0xe8]
fstp dword [esp + 0xe8]
fld st(0)
fadd st(2)
fmul dword [esp + 0x90]
fadd dword [esp + 0xec]
fstp dword [esp + 0xec]
fcompp
call fcn.005a41d0
and eax, 0xffff
mov dword [esp + 0xc0], eax
fild dword [esp + 0xc0]
fmul dword [0x602b04]
fmul dword [0x602b58]
fadd dword [0x602b5c]
fadd dword [esp + 0xf0]
fstp dword [esp + 0xf0]
call fcn.005a41d0
and eax, 0xffff
mov dword [esp + 0xc0], eax
fild dword [esp + 0xc0]
fmul dword [0x602b04]
fmul dword [0x602b60]
fadd dword [0x602acc]
fstp dword [esp + 0xf4]
call fcn.005a41d0
and eax, 0xffff
lea edx, [esp + 0xf4]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xe8]
fild dword [esp + 0xc0]
push 0
push 0
fmul dword [0x602b04]
push 0
push 0
fmul dword [0x602b60]
push dword [0x602ae0]
push 0
fadd dword [0x602acc]
push edx
push eax
push 0x42
fstp dword [esp + 0x11c]
mov dword [esp + 0x120], 0
call fcn.0050d140
add esp, 0x24
jmp 0x556b0b
fld dword [esp + 0xd0]
fstp dword [0x64d084]
fld st(1)
fstp dword [0x64d088]
fst dword [0x64d08c]
fcompp
fcompp
mov eax, dword [0x885b48]
fstp st(0)
mov dword [0x64d0a0], eax
call fcn.00526330
add esp, 0x2b0
pop ebp
pop edi
pop esi
pop ebx
ret
fcompp
fcompp
jmp 0x555700
fcompp
fcompp
jmp 0x555700
fldz
jmp 0x55608c
fldz
jmp 0x55614c
fldz
jmp 0x55620c
fcompp
fstp st(0)
jmp 0x5562f4
fcompp
fstp st(0)
jmp 0x5562f4
fstp st(0)
jmp 0x5562f4
fstp st(0)
jmp 0x5562f4
fcompp
fstp st(0)
jmp 0x55631a
fcompp
fstp st(0)
jmp 0x55631a
fstp st(0)
jmp 0x5564bc
fldz
jmp 0x55663a
fstp st(0)
jmp 0x55676c
fstp st(0)
jmp 0x55676c
fcompp
fcompp
fstp st(0)
jmp 0x556b0b
fcompp
fcompp
fstp st(0)
jmp 0x556b0b
fcompp
fcompp
fstp st(0)
jmp 0x556b0b
fcompp
fcompp
fstp st(0)
jmp 0x556b0b
fcompp
fcompp
fstp st(0)
jmp 0x556b0b
fcompp
fcompp
fstp st(0)
jmp 0x556b0b
fcompp
fcompp
fstp st(0)
jmp 0x556b0b