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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x158
xor bl, bl
mov byte [0x77fa84], 0
mov byte [esp + 0x10], 0
mov byte [esp + 0x44], 0
mov byte [esp + 0x40], 0
call fcn.004a4360
test al, al
jne 0x5bff36
add esp, 0x158
pop ebp
pop edi
pop esi
pop ebx
ret
call fcn.004bc1e0
test eax, eax
je 0x5bff61
call fcn.004bc1e0
mov eax, dword [eax + 0x29c]
cmp eax, 1
jne 0x5bff61
fld dword [0x69cd68]
fstp dword [esp + 0x70]
fld dword [0x69cd6c]
jmp 0x5bff71
fld dword [0x69cd70]
fstp dword [esp + 0x70]
fld dword [0x69cd74]
fstp dword [esp + 0x78]
mov ecx, 0x7e4698
fldz
fldz
fldz
fldz
fld dword [esp + 0x70]
fmul st(0)
fstp dword [esp + 0x74]
fld dword [ecx + 8]
fcomp dword [0x69cd78]
fnstsw ax
test ah, 0x45
jne 0x5c0025
fld dword [ecx + 4]
fstp st(2)
fld st(1)
fcomp dword [0x69cc78]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5bffc0
fld st(1)
fchs
jmp 0x5bffc2
fld st(1)
fstp st(4)
fld dword [ecx]
fst st(1)
fcomp dword [0x69cc78]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5bffe0
fld st(0)
fchs
jmp 0x5bffe2
fld st(0)
fstp st(3)
fld st(2)
fcomp st(4)
fnstsw ax
test ah, 0x45
jne 0x5c0007
fcom dword [0x69cc78]
fnstsw ax
test ah, 0x45
jne 0x5c0003
mov byte [esp + 0x10], 1
jmp 0x5c0025
mov bl, 1
jmp 0x5c0025
fld st(1)
fcomp dword [0x69cc78]
fnstsw ax
test ah, 0x45
jne 0x5c0020
mov byte [esp + 0x44], 1
jmp 0x5c0025
mov byte [esp + 0x40], 1
mov esi, 0x7e46b8
fld dword [esi + 8]
fstp st(4)
fld st(3)
fcomp dword [0x69cc48]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c0050
fld dword [0x69cd7c]
jmp 0x5c0081
fld st(3)
fcomp dword [0x69ccb0]
fnstsw ax
test ah, 0x45
jne 0x5c0067
fld dword [0x69cd80]
jmp 0x5c0081
fld st(3)
fsub dword [0x69cc48]
fmul dword [0x69cd84]
fmul dword [0x69cd88]
fadd dword [0x69cd7c]
fstp dword [esp + 0x64]
fld dword [esp + 0x64]
fmul st(0)
fstp dword [esp + 0x68]
fcompp
fcompp
call fcn.005be2f0
mov eax, dword [0x69cbd4]
mov dword [0x9b5f74], 0
fld dword [0xa10740]
mov dword [esp + 0xcc], eax
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
mov eax, dword [esp + 0xc0]
mov byte [esp + 0xcc], al
fldcw word [esp + 0x60]
fld dword [0xa10734]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
mov eax, dword [esp + 0xc0]
mov byte [esp + 0xcd], al
fldcw word [esp + 0x60]
fld dword [0xa106a8]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
mov eax, dword [esp + 0xc0]
mov byte [esp + 0xce], al
mov eax, dword [0x77fa85]
mov dword [esp + 0xd0], eax
fldcw word [esp + 0x60]
fld dword [0xa10740]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
mov eax, dword [esp + 0xc0]
mov byte [esp + 0xd0], al
fldcw word [esp + 0x60]
fld dword [0xa10734]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
mov eax, dword [esp + 0xc0]
mov byte [esp + 0xd1], al
fldcw word [esp + 0x60]
fld dword [0xa106a8]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x60]
fld dword [0xa10688]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0xc0]
mov dword [0x97858c], 0
mov byte [esp + 0xd2], al
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x60]
mov eax, dword [esp + 0xc0]
mov byte [esp + 0xd3], al
mov eax, dword [0x9b6a68]
push eax
push 1
call fcn.00649ba0
fldz
fld dword [esi]
fstp dword [esp + 0x88]
fld dword [esi + 4]
fstp dword [esp + 0x8c]
fld dword [esp + 0x88]
fsub dword [esp + 0x6c]
pop ecx
pop ecx
fadd dword [0x69cc54]
fadd dword [0x69cc58]
fmul dword [0x69cd8c]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x60]
fld dword [esp + 0x80]
fadd dword [esp + 0x64]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x5c], eax
fadd dword [0x69cc54]
fadd dword [0x69cc58]
fmul dword [0x69cd8c]
fadd dword [0x69cc50]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x60]
fld dword [esp + 0x84]
fsub dword [esp + 0x64]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x4c], eax
fadd dword [0x69cc54]
fmul dword [0x69cd8c]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x60]
fld dword [esp + 0x84]
fadd dword [esp + 0x64]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x50], eax
fadd dword [0x69cc54]
fmul dword [0x69cd8c]
fadd dword [0x69cc50]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
cmp byte [esp + 0x10], 0
fistp dword [esp + 0xc0]
fldcw word [esp + 0x60]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x38], eax
je 0x5c03bf
fld dword [0x69cc54]
fadd dword [esp + 0x80]
fadd dword [0x69cc58]
fmul dword [0x69cd8c]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x60]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x5c], eax
test bl, bl
je 0x5c0407
fld dword [0x69cc54]
fadd dword [esp + 0x80]
fadd dword [0x69cc58]
fmul dword [0x69cd8c]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x60]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x4c], eax
cmp byte [esp + 0x44], 0
je 0x5c044c
fld dword [0x69cc54]
fadd dword [esp + 0x84]
fmul dword [0x69cd8c]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x60]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x50], eax
cmp byte [esp + 0x40], 0
je 0x5c0491
fld dword [0x69cc54]
fadd dword [esp + 0x84]
fmul dword [0x69cd8c]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0x60]
or byte [esp + 0x61], 0xc
fldcw word [esp + 0x60]
mov dword [esp + 0x60], eax
fistp dword [esp + 0xc0]
fldcw word [esp + 0x60]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x38], eax
cmp dword [esp + 0x5c], 0
jle 0x5c04a0
mov eax, dword [esp + 0x5c]
jmp 0x5c04a2
xor eax, eax
cmp eax, 0x1f
jge 0x5c04b8
cmp dword [esp + 0x5c], 0
jg 0x5c04c0
mov dword [esp + 0x5c], 0
jmp 0x5c04c0
mov dword [esp + 0x5c], 0x1f
cmp dword [esp + 0x4c], 0
jle 0x5c04d0
mov eax, dword [esp + 0x4c]
jmp 0x5c04d2
xor eax, eax
cmp eax, 0x1f
jge 0x5c04e8
cmp dword [esp + 0x4c], 0
jg 0x5c04f0
mov dword [esp + 0x4c], 0
jmp 0x5c04f0
mov dword [esp + 0x4c], 0x1f
cmp dword [esp + 0x50], 0
jle 0x5c0500
mov eax, dword [esp + 0x50]
jmp 0x5c0502
xor eax, eax
cmp eax, 0x1f
jge 0x5c0518
cmp dword [esp + 0x50], 0
jg 0x5c0520
mov dword [esp + 0x50], 0
jmp 0x5c0520
mov dword [esp + 0x50], 0x1f
cmp dword [esp + 0x38], 0
jle 0x5c0530
mov eax, dword [esp + 0x38]
jmp 0x5c0532
xor eax, eax
cmp eax, 0x1f
jge 0x5c0548
cmp dword [esp + 0x38], 0
jg 0x5c0550
mov dword [esp + 0x38], 0
jmp 0x5c0550
mov dword [esp + 0x38], 0x1f
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x4c]
mov dword [esp + 0x48], eax
jg 0x5c1700
fld dword [0x69cd38]
fadd dword [esp + 0x78]
shl dword [esp + 0x5c], 1
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x5c]
shl dword [esp + 0x54], 6
fst st(1)
fmul st(0)
inc dword [esp + 0x5c]
mov dword [esp + 0x58], eax
fstp dword [esp + 0xb0]
fstp st(0)
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x38]
mov dword [esp + 0x28], eax
jg 0x5c1489
mov dword [esp + 0x20], eax
add eax, dword [esp + 0x54]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
shl dword [esp + 0x2c], 1
mov eax, dword [esp + 0x2c]
inc dword [esp + 0x2c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x58]
fild dword [esp + 0xc0]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x5c]
fmul dword [0x69cd18]
mov dword [esp + 0x3c], eax
fsub dword [0x69cc58]
fstp dword [esp + 0xa8]
mov eax, eax
mov eax, dword [esp + 0x20]
movzx eax, byte [eax*2 + 0x810528]
fldz
fldz
and eax, 0x80
fldz
je 0x5c0666
mov eax, dword [esp + 0x20]
movzx eax, byte [eax*2 + 0x810568]
and eax, 0x80
je 0x5c0666
mov eax, dword [esp + 0x20]
movzx eax, byte [eax*2 + 0x810529]
and eax, 0x80
je 0x5c0666
mov eax, dword [esp + 0x20]
movzx eax, byte [eax*2 + 0x810569]
and eax, 0x80
jne 0x5c16d0
fld dword [0x69cd20]
fadd dword [esp + 0xa8]
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov dword [esp + 0xc0], eax
fstp st(3)
fild dword [esp + 0xc0]
fmul dword [0x69cd18]
fadd dword [0x69cd20]
fstp st(2)
fld dword [esp + 0x84]
fsub st(2)
fst st(1)
fmul st(0)
fld dword [esp + 0x80]
fsub st(4)
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fstp dword [esp + 0x6c]
fld dword [esp + 0x6c]
fcomp dword [esp + 0x68]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c16e0
fld st(2)
fstp dword [esp + 0x140]
fld st(1)
lea eax, [esp + 0x140]
lea edi, [esp + 0x140]
fstp dword [esp + 0x144]
fcompp
mov dword [esp + 0x24], 0x7e4ea8
mov dword [esp + 0x148], 0
push dword [esp + 0x24]
push 1
push edi
push eax
fstp st(0)
call fcn.00647160
fldz
fldz
fld dword [esp + 0x154]
fstp st(2)
add esp, 0x10
fld st(1)
fadd dword [0x69cd90]
fcomp dword [0x978534]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c0743
xor al, al
jmp 0x5c0805
fld st(1)
fsub dword [0x69cd90]
fcomp dword [0xa10678]
fnstsw ax
test ah, 0x45
jne 0x5c0760
xor al, al
jmp 0x5c0805
fld st(1)
fmul dword [0x7e4f44]
fld dword [esp + 0x140]
fmul dword [0x7e4f40]
faddp st(1)
fcomp dword [0x69cd90]
fnstsw ax
test ah, 0x45
jne 0x5c0788
xor al, al
jmp 0x5c0805
fld st(1)
fmul dword [0x7e4f50]
fld dword [esp + 0x140]
fmul dword [0x7e4f4c]
faddp st(1)
fcomp dword [0x69cd90]
fnstsw ax
test ah, 0x45
jne 0x5c07b0
xor al, al
jmp 0x5c0805
fld dword [esp + 0x148]
fst st(1)
fmul dword [0x7e4f60]
fld st(2)
fmul dword [0x7e4f5c]
faddp st(1)
fcomp dword [0x69cd90]
fnstsw ax
test ah, 0x45
jne 0x5c07e0
xor al, al
jmp 0x5c0805
fld st(0)
fmul dword [0x7e4f6c]
fld st(2)
fmul dword [0x7e4f68]
faddp st(1)
fcomp dword [0x69cd90]
fnstsw ax
test ah, 0x45
jne 0x5c0803
xor al, al
jmp 0x5c0805
mov al, 1
test al, al
je 0x5c16f0
fld dword [esp + 0x6c]
fcomp dword [0x69cd94]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c16f7
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
shl dword [esp + 0xc], 7
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
shl dword [esp], 6
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
jmp 0x5c16c7
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 4]
mov ebp, ebx
add ebp, dword [esp + 0xc]
add eax, 0xffffffe0
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xa4]
fild dword [esp + 0xc0]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
fmul dword [0x69cd20]
fsub dword [0x69cc58]
fstp dword [esp + 0x9c]
jmp 0x5c1444
mov esi, dword [esp]
add esi, ebx
movzx eax, byte [esi + 0x810528]
fldz
fldz
and eax, 0x80
fldz
jne 0x5c1690
lea eax, [ebx - 0x20]
mov dword [esp + 0xc0], eax
fild dword [esp + 0xc0]
fmul dword [0x69cd20]
fstp dword [esp + 0x7c]
fld dword [0x69cc60]
fadd dword [esp + 0x9c]
fstp dword [esp + 0xb4]
fld dword [esp + 0xb4]
fstp st(2)
fld dword [0x69cc60]
fadd dword [esp + 0x7c]
fstp dword [esp + 0xb8]
fld dword [esp + 0xb8]
fstp st(1)
fld dword [esp + 0x84]
fsub st(1)
fstp st(3)
fld st(2)
fmul st(0)
fld dword [esp + 0x80]
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 + 0x68]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c16a0
fld st(1)
fstp dword [esp + 0x14c]
lea eax, [esp + 0x14c]
lea edx, [esp + 0x14c]
fst dword [esp + 0x150]
fcompp
push dword [esp + 0x24]
push 1
push edx
push eax
fstp st(0)
mov dword [esp + 0x164], 0
call fcn.00647160
fldz
fldz
fldz
fldz
fld dword [esp + 0x160]
fstp st(4)
add esp, 0x10
fld st(3)
fadd dword [0x69cd98]
fcomp dword [0x978534]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c09e0
xor al, al
jmp 0x5c0aa5
fld st(3)
fsub dword [0x69cd98]
fcomp dword [0xa10678]
fnstsw ax
test ah, 0x45
jne 0x5c0a00
xor al, al
jmp 0x5c0aa5
fld st(3)
fmul dword [0x7e4f44]
fld dword [esp + 0x14c]
fmul dword [0x7e4f40]
faddp st(1)
fcomp dword [0x69cd98]
fnstsw ax
test ah, 0x45
jne 0x5c0a28
xor al, al
jmp 0x5c0aa5
fld st(3)
fmul dword [0x7e4f50]
fld dword [esp + 0x14c]
fmul dword [0x7e4f4c]
faddp st(1)
fcomp dword [0x69cd98]
fnstsw ax
test ah, 0x45
jne 0x5c0a50
xor al, al
jmp 0x5c0aa5
fld dword [esp + 0x154]
fstp st(3)
fld st(2)
fmul dword [0x7e4f60]
fld st(4)
fmul dword [0x7e4f5c]
faddp st(1)
fcomp dword [0x69cd98]
fnstsw ax
test ah, 0x45
jne 0x5c0a80
xor al, al
jmp 0x5c0aa5
fld st(2)
fmul dword [0x7e4f6c]
fld st(4)
fmul dword [0x7e4f68]
faddp st(1)
fcomp dword [0x69cd98]
fnstsw ax
test ah, 0x45
jne 0x5c0aa3
xor al, al
jmp 0x5c0aa5
mov al, 1
test al, al
je 0x5c16b0
fld dword [esp + 0xbc]
fcomp dword [esp + 0xa0]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c1220
mov cl, byte [ebp*2 + 0x864c70]
mov byte [0x77fa84], 1
movzx eax, cl
and eax, 0x80
jne 0x5c1588
fld dword [0x69cd38]
fadd dword [esp + 0x9c]
fstp st(4)
fld st(3)
fstp st(2)
fld dword [0x69cd38]
fadd dword [esp + 0x7c]
fstp st(3)
fld st(2)
fstp st(1)
fld dword [esp + 0x84]
fsub st(1)
fst st(1)
fmul st(0)
fld dword [esp + 0x80]
fsub st(3)
fstp st(3)
fld st(2)
fmul st(0)
faddp st(1)
fstp st(2)
fld st(1)
fcomp dword [esp + 0x74]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c0c50
movzx eax, cl
push dword [0x69cd1c]
push dword [0x69cc60]
fld dword [eax*4 + 0x78d658]
fstp dword [esp + 0x90]
fld st(3)
fstp dword [esp + 0xe8]
fld st(2)
fstp dword [esp + 0xec]
fld dword [0x69cc84]
fadd dword [esp + 0x90]
push dword [0x69cc60]
fstp dword [esp + 0xf4]
fcompp
fcompp
push dword [esp + 0xf4]
push dword [esp + 0xf4]
push dword [esp + 0xf4]
call fcn.00634150
add esp, 0x18
test al, al
jne 0x5c1590
cmp byte [0xa10b5c], 0
mov byte [0xa10b3d], 1
je 0x5c15a0
cmp byte [0xa10af2], 2
je 0x5c15b0
cmp byte [0xa10af2], 4
je 0x5c15c0
cmp byte [0xa10af2], 6
je 0x5c15d0
mov esi, 0x77fa8c
lea edi, [esp + 0xec]
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xa0]
mov edi, dword [esp + 0x80]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [0xa10860]
mov dword [esp + 0xf8], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0xf4], edi
push eax
mov eax, dword [ecx + 4]
push eax
call fcn.006450a0
mov eax, dword [0xa10860]
add esp, 0xc
mov edi, eax
push eax
call dword [edi + 0x48]
pop ecx
jmp 0x5c15e0
lea eax, [esp + 0xcc]
lea esi, [esp + 0xd0]
push dword [esp + 0x70]
push esi
push eax
movzx eax, cl
fcompp
fcompp
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [eax*4 + 0x78d658]
push dword [esp + 0x94]
push dword [esp + 0xb8]
call fcn.005bd0a0
add esp, 0x20
fldz
fldz
mov dl, byte [ebp*2 + 0x864cf0]
movzx eax, dl
and eax, 0x80
jne 0x5c15f0
fld dword [0x69cd38]
fadd dword [esp + 0x7c]
fst st(1)
fstp st(2)
fld dword [esp + 0x84]
fsub st(2)
fstp st(2)
fld st(1)
fmul st(0)
fld dword [0x69cd38]
fadd dword [esp + 0x9c]
fadd dword [0x69cc60]
fsubr dword [esp + 0x80]
fstp st(3)
fld st(2)
fmul st(0)
faddp st(1)
fstp st(2)
fld st(1)
fcomp dword [esp + 0x74]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c0e20
movzx eax, dl
push dword [0x69cd1c]
push dword [0x69cc60]
fld dword [eax*4 + 0x78d658]
fstp dword [esp + 0x94]
fld dword [0x69cd38]
fadd dword [esp + 0xbc]
push dword [0x69cc60]
fstp dword [esp + 0x104]
fst dword [esp + 0x108]
fld dword [0x69cc84]
fadd dword [esp + 0x98]
fstp dword [esp + 0x10c]
fcompp
push dword [esp + 0x10c]
push dword [esp + 0x10c]
push dword [esp + 0x10c]
call fcn.00634150
add esp, 0x18
test al, al
jne 0x5c15f7
cmp byte [0xa10b5c], 0
mov byte [0xa10b3d], 1
je 0x5c1602
cmp byte [0xa10af2], 2
je 0x5c1610
cmp byte [0xa10af2], 4
je 0x5c1620
cmp byte [0xa10af2], 6
je 0x5c1630
mov esi, 0x77fa8c
lea edi, [esp + 0x104]
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xb8]
mov esi, dword [esp + 0x80]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x90]
mov edx, dword [0xa10860]
mov dword [esp + 0x110], eax
lea eax, [esp + 0x108]
mov dword [esp + 0x10c], esi
push eax
mov eax, dword [edx + 4]
push eax
call fcn.006450a0
mov eax, dword [0xa10860]
add esp, 0xc
mov esi, eax
push eax
call dword [esi + 0x48]
pop ecx
jmp 0x5c1640
lea eax, [esp + 0xcc]
lea edi, [esp + 0xd0]
push dword [esp + 0x70]
push edi
push eax
movzx eax, dl
fcompp
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [eax*4 + 0x78d658]
push dword [esp + 0x94]
push dword [esp + 0xd0]
call fcn.005bd0a0
add esp, 0x20
fldz
fldz
fldz
mov cl, byte [ebp*2 + 0x864c71]
movzx eax, cl
and eax, 0x80
jne 0x5c1650
fld dword [0x69cd38]
fadd dword [esp + 0x9c]
fstp st(2)
fld st(1)
fstp st(1)
fld dword [0x69cd38]
fadd dword [esp + 0x7c]
fadd dword [0x69cc60]
fsubr dword [esp + 0x84]
fstp st(3)
fld st(2)
fmul st(0)
fld dword [esp + 0x80]
fsub st(2)
fstp st(4)
fld st(3)
fmul st(0)
faddp st(1)
fstp st(3)
fld st(2)
fcomp dword [esp + 0x74]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c0ff4
movzx eax, cl
push dword [0x69cd1c]
push dword [0x69cc60]
fld dword [eax*4 + 0x78d658]
fstp dword [esp + 0x98]
fld st(1)
fstp dword [esp + 0x118]
fld dword [0x69cd38]
fadd dword [esp + 0xc0]
push dword [0x69cc60]
fstp dword [esp + 0x120]
fld dword [0x69cc84]
fadd dword [esp + 0x9c]
fstp dword [esp + 0x124]
fcompp
push dword [esp + 0x124]
push dword [esp + 0x124]
push dword [esp + 0x124]
fstp st(0)
call fcn.00634150
add esp, 0x18
test al, al
jne 0x5c1657
cmp byte [0xa10b5c], 0
mov byte [0xa10b3d], 1
je 0x5c1660
cmp byte [0xa10af2], 2
je 0x5c1667
cmp byte [0xa10af2], 4
je 0x5c1670
cmp byte [0xa10af2], 6
je 0x5c1677
mov esi, 0x77fa8c
lea edi, [esp + 0x11c]
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xa0]
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x94]
mov ecx, dword [0xa10860]
mov dword [esp + 0x128], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x124], edi
push eax
mov eax, dword [ecx + 4]
push eax
call fcn.006450a0
mov eax, dword [0xa10860]
add esp, 0xc
mov edi, eax
push eax
call dword [edi + 0x48]
pop ecx
jmp 0x5c1680
lea eax, [esp + 0xcc]
lea esi, [esp + 0xd0]
push dword [esp + 0x70]
push esi
push eax
movzx eax, cl
fcompp
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [eax*4 + 0x78d658]
push dword [esp + 0xd0]
push dword [esp + 0xb8]
fstp st(0)
call fcn.005bd0a0
add esp, 0x20
fldz
mov dl, byte [ebp*2 + 0x864cf1]
movzx eax, dl
and eax, 0x80
jne 0x5c16c0
fld dword [0x69cd38]
fadd dword [esp + 0x7c]
fadd dword [0x69cc60]
fsubr dword [esp + 0x84]
fst st(1)
fmul st(0)
fld dword [0x69cd38]
fadd dword [esp + 0x9c]
fadd dword [0x69cc60]
fsubr dword [esp + 0x80]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fst st(1)
fcomp dword [esp + 0x74]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c11d0
movzx eax, dl
push dword [0x69cd1c]
push dword [0x69cc60]
fld dword [eax*4 + 0x78d658]
fstp dword [esp + 0x9c]
fld dword [0x69cd38]
fadd dword [esp + 0xbc]
push dword [0x69cc60]
fstp dword [esp + 0x134]
fld dword [0x69cd38]
fadd dword [esp + 0xc4]
fstp dword [esp + 0x138]
fld dword [0x69cc84]
fadd dword [esp + 0xa0]
fstp dword [esp + 0x13c]
push dword [esp + 0x13c]
push dword [esp + 0x13c]
push dword [esp + 0x13c]
fstp st(0)
call fcn.00634150
add esp, 0x18
test al, al
jne 0x5c1442
cmp byte [0xa10b5c], 0
mov byte [0xa10b3d], 1
je 0x5c1442
cmp byte [0xa10af2], 2
je 0x5c1442
cmp byte [0xa10af2], 4
je 0x5c1442
cmp byte [0xa10af2], 6
je 0x5c1442
mov esi, 0x77fa8c
lea edi, [esp + 0x134]
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xb8]
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x98]
mov edx, dword [0xa10860]
mov dword [esp + 0x140], eax
lea eax, [esp + 0x138]
mov dword [esp + 0x13c], esi
push eax
mov eax, dword [edx + 4]
push eax
call fcn.006450a0
mov eax, dword [0xa10860]
add esp, 0xc
mov edi, eax
push eax
call dword [edi + 0x48]
pop ecx
jmp 0x5c1442
lea eax, [esp + 0xcc]
lea ecx, [esp + 0xd0]
push dword [esp + 0x70]
push ecx
push eax
movzx eax, dl
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [eax*4 + 0x78d658]
push dword [esp + 0xd0]
push dword [esp + 0xd0]
fstp st(0)
call fcn.005bd0a0
add esp, 0x20
jmp 0x5c1442
mov edi, dword [esp]
add edi, ebx
cmp dword [0x97858c], 0x3fa
movzx eax, byte [edi + 0x810528]
fld dword [eax*4 + 0x78d658]
fstp dword [esp + 0x98]
jge 0x5c1256
cmp dword [0x9b5f74], 0x1fc
jl 0x5c1687
fcompp
fcompp
call fcn.005bcda0
fldz
fldz
fldz
mov esi, dword [0x9b5f74]
mov edi, dword [0x97858c]
imul esi, esi, 0x24
movzx eax, byte [esp + 0xcc]
movzx ecx, byte [esp + 0xcf]
movzx edx, byte [esp + 0xcd]
shl eax, 0x10
shl ecx, 0x18
or eax, ecx
shl edx, 8
movzx ecx, byte [esp + 0xce]
or eax, edx
mov edx, dword [0x97858c]
fld dword [0x77fa6c]
or eax, ecx
mov cx, word [0x9b5f74]
mov dword [esi + 0x7e9e20], eax
mov dword [esi + 0x7e9e44], eax
mov dword [esi + 0x7e9e68], eax
mov dword [esi + 0x7e9e8c], eax
fstp dword [esi + 0x7e9e24]
fld dword [0x77fa70]
fstp dword [esi + 0x7e9e28]
fld dword [0x77fa6c]
fstp dword [esi + 0x7e9e48]
fld dword [0x69cc84]
fadd dword [0x77fa70]
mov ax, word [0x9b5f74]
inc ecx
mov word [edi*2 + 0x933bc0], ax
mov eax, dword [0x9b5f74]
fstp st(3)
add eax, 2
mov edi, dword [0x97858c]
fld st(2)
fstp dword [esi + 0x7e9e4c]
fld dword [0x69cc84]
fadd dword [0x77fa6c]
mov word [edx*2 + 0x933bc2], ax
mov dx, word [0x9b5f74]
fstp st(2)
fld st(1)
fstp dword [esi + 0x7e9e6c]
fld st(2)
fstp dword [esi + 0x7e9e70]
fld st(1)
fstp dword [esi + 0x7e9e90]
fld dword [0x77fa70]
fstp dword [esi + 0x7e9e94]
fld dword [esp + 0x9c]
fstp dword [esi + 0x7e9e08]
fld dword [esp + 0x7c]
fstp dword [esi + 0x7e9e0c]
fld dword [esp + 0x98]
fsub dword [0x69ca90]
fstp st(3)
fld st(2)
fstp dword [esi + 0x7e9e10]
fld dword [esp + 0x9c]
fstp dword [esi + 0x7e9e2c]
fld dword [0x69cd20]
fadd dword [esp + 0x7c]
fstp st(2)
fld st(1)
fstp dword [esi + 0x7e9e30]
fld st(2)
fstp dword [esi + 0x7e9e34]
fld dword [0x69cd20]
fadd dword [esp + 0x9c]
fst st(1)
fstp dword [esi + 0x7e9e50]
fld st(1)
fstp dword [esi + 0x7e9e54]
fld st(2)
fstp dword [esi + 0x7e9e58]
fst dword [esi + 0x7e9e74]
fld dword [esp + 0x7c]
fstp dword [esi + 0x7e9e78]
fld st(2)
fstp dword [esi + 0x7e9e7c]
mov esi, dword [0x97858c]
mov word [esi*2 + 0x933bc4], cx
mov cx, word [0x9b5f74]
fcompp
add dword [0x9b5f74], 4
mov word [edi*2 + 0x933bc6], dx
mov edi, dword [0x97858c]
mov esi, dword [0x97858c]
add ecx, 3
add dword [0x97858c], 6
fstp st(0)
mov word [esi*2 + 0x933bc8], cx
mov word [edi*2 + 0x933bca], ax
inc ebp
inc ebx
cmp ebx, dword [esp + 8]
jle 0x5c08c0
add dword [esp], 0x40
sub dword [esp + 0xc], 0xffffff80
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x1c]
jle 0x5c0870
inc dword [esp + 0x28]
mov eax, dword [esp + 0x28]
add dword [esp + 0x2c], 2
inc dword [esp + 0x20]
add dword [esp + 0x34], 2
cmp eax, dword [esp + 0x38]
jle 0x5c0610
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
add dword [esp + 0x5c], 2
add dword [esp + 0x54], 0x40
add dword [esp + 0x58], 2
cmp eax, dword [esp + 0x4c]
jle 0x5c0592
cmp dword [0x9b5f74], 0
je 0x5c14ed
call fcn.004a9630
mov eax, dword [0x9b5f74]
push 1
push 0
push eax
push 0x7e9e08
call fcn.0065ae90
add esp, 0x10
test eax, eax
je 0x5c14ed
mov eax, dword [0x97858c]
push eax
push 0x933bc0
push 3
call fcn.0065af90
add esp, 0xc
call fcn.0065af60
cmp byte [0xa10b22], 0
mov dword [0x9b5f74], 0
mov dword [0x97858c], 0
je 0x5c157d
cmp byte [0xa10af2], 0
je 0x5c1525
cmp byte [0xa10af2], 2
je 0x5c1525
cmp byte [0xa10af2], 3
jne 0x5c157d
mov esi, 0xa108c0
lea edi, [esp + 0xd4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ebx, dword [0x7870c0]
mov eax, dword [ebx]
mov ebp, dword [eax + 4]
mov eax, dword [0xa0d9a8]
mov edx, dword [eax + 0x18]
push ebp
mov esi, dword [edx + 0x20]
mov eax, dword [esi]
push eax
call fcn.006574d0
lea eax, [esp + 0xdc]
pop ecx
pop ecx
mov ecx, dword [0xa0d9a8]
push 0
push eax
mov eax, dword [ecx + 4]
push eax
call fcn.006450a0
mov eax, dword [0xa0d9a8]
add esp, 0xc
mov edi, eax
push eax
call dword [edi + 0x48]
pop ecx
add esp, 0x158
pop ebp
pop edi
pop esi
pop ebx
ret
fcompp
jmp 0x5c0c9a
fldz
fldz
jmp 0x5c0c9a
fldz
fldz
jmp 0x5c0c9a
fldz
fldz
jmp 0x5c0c9a
fldz
fldz
jmp 0x5c0c9a
fldz
fldz
jmp 0x5c0c9a
fldz
fldz
jmp 0x5c0c9a
fldz
jmp 0x5c0e6a
fldz
fldz
fldz
jmp 0x5c0e6a
fldz
fldz
fldz
jmp 0x5c0e6a
fldz
fldz
fldz
jmp 0x5c0e6a
fldz
fldz
fldz
jmp 0x5c0e6a
fldz
fldz
fldz
jmp 0x5c0e6a
fldz
fldz
fldz
jmp 0x5c0e6a
fcompp
jmp 0x5c103c
fldz
jmp 0x5c103c
fldz
jmp 0x5c103c
fldz
jmp 0x5c103c
fldz
jmp 0x5c103c
fldz
jmp 0x5c103c
fldz
jmp 0x5c103c
fstp st(0)
jmp 0x5c1265
fcompp
fstp st(0)
jmp 0x5c1442
fcompp
fstp st(0)
jmp 0x5c1442
fcompp
fcompp
jmp 0x5c1442
fstp st(0)
jmp 0x5c1442
fcompp
jmp 0x5c145b
fcompp
fstp st(0)
jmp 0x5c1469
fcompp
fstp st(0)
jmp 0x5c1469
fcompp
jmp 0x5c1469
fcompp
jmp 0x5c1469
fstp st(0)
jmp 0x5c14aa