Function at 0x5bff20
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.004a4380
test al, al
jne 0x5bff56
add esp, 0x158
pop ebp
pop edi
pop esi
pop ebx
ret
call fcn.004bc200
test eax, eax
je 0x5bff81
call fcn.004bc200
mov eax, dword [eax + 0x29c]
cmp eax, 1
jne 0x5bff81
fld dword [0x69cd68]
fstp dword [esp + 0x70]
fld dword [0x69cd6c]
jmp 0x5bff91
fld dword [0x69cd70]
fstp dword [esp + 0x70]
fld dword [0x69cd74]
fstp dword [esp + 0x78]
mov ecx, 0x7e46a0
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 0x5c0045
fld dword [ecx + 4]
fstp st(2)
fld st(1)
fcomp dword [0x69cc78]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5bffe0
fld st(1)
fchs
jmp 0x5bffe2
fld st(1)
fstp st(4)
fld dword [ecx]
fst st(1)
fcomp dword [0x69cc78]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c0000
fld st(0)
fchs
jmp 0x5c0002
fld st(0)
fstp st(3)
fld st(2)
fcomp st(4)
fnstsw ax
test ah, 0x45
jne 0x5c0027
fcom dword [0x69cc78]
fnstsw ax
test ah, 0x45
jne 0x5c0023
mov byte [esp + 0x10], 1
jmp 0x5c0045
mov bl, 1
jmp 0x5c0045
fld st(1)
fcomp dword [0x69cc78]
fnstsw ax
test ah, 0x45
jne 0x5c0040
mov byte [esp + 0x44], 1
jmp 0x5c0045
mov byte [esp + 0x40], 1
mov esi, 0x7e46c0
fld dword [esi + 8]
fstp st(4)
fld st(3)
fcomp dword [0x69cc48]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c0070
fld dword [0x69cd7c]
jmp 0x5c00a1
fld st(3)
fcomp dword [0x69ccb0]
fnstsw ax
test ah, 0x45
jne 0x5c0087
fld dword [0x69cd80]
jmp 0x5c00a1
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.005be310
mov eax, dword [0x69cbd4]
mov dword [0x9b5f7c], 0
fld dword [0xa10748]
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 [0xa1073c]
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 [0xa106b0]
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 [0xa10748]
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 [0xa1073c]
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 [0xa106b0]
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 [0xa10690]
fnstcw word [esp + 0x60]
mov eax, dword [esp + 0xc0]
mov dword [0x978594], 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 [0x9b6a70]
push eax
push 1
call fcn.00649bf0
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 0x5c03df
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 0x5c0427
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 0x5c046c
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 0x5c04b1
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 0x5c04c0
mov eax, dword [esp + 0x5c]
jmp 0x5c04c2
xor eax, eax
cmp eax, 0x1f
jge 0x5c04d8
cmp dword [esp + 0x5c], 0
jg 0x5c04e0
mov dword [esp + 0x5c], 0
jmp 0x5c04e0
mov dword [esp + 0x5c], 0x1f
cmp dword [esp + 0x4c], 0
jle 0x5c04f0
mov eax, dword [esp + 0x4c]
jmp 0x5c04f2
xor eax, eax
cmp eax, 0x1f
jge 0x5c0508
cmp dword [esp + 0x4c], 0
jg 0x5c0510
mov dword [esp + 0x4c], 0
jmp 0x5c0510
mov dword [esp + 0x4c], 0x1f
cmp dword [esp + 0x50], 0
jle 0x5c0520
mov eax, dword [esp + 0x50]
jmp 0x5c0522
xor eax, eax
cmp eax, 0x1f
jge 0x5c0538
cmp dword [esp + 0x50], 0
jg 0x5c0540
mov dword [esp + 0x50], 0
jmp 0x5c0540
mov dword [esp + 0x50], 0x1f
cmp dword [esp + 0x38], 0
jle 0x5c0550
mov eax, dword [esp + 0x38]
jmp 0x5c0552
xor eax, eax
cmp eax, 0x1f
jge 0x5c0568
cmp dword [esp + 0x38], 0
jg 0x5c0570
mov dword [esp + 0x38], 0
jmp 0x5c0570
mov dword [esp + 0x38], 0x1f
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x4c]
mov dword [esp + 0x48], eax
jg 0x5c1720
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 0x5c14a9
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 + 0x810530]
fldz
fldz
and eax, 0x80
fldz
je 0x5c0686
mov eax, dword [esp + 0x20]
movzx eax, byte [eax*2 + 0x810570]
and eax, 0x80
je 0x5c0686
mov eax, dword [esp + 0x20]
movzx eax, byte [eax*2 + 0x810531]
and eax, 0x80
je 0x5c0686
mov eax, dword [esp + 0x20]
movzx eax, byte [eax*2 + 0x810571]
and eax, 0x80
jne 0x5c16f0
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 0x5c1700
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], 0x7e4eb0
mov dword [esp + 0x148], 0
push dword [esp + 0x24]
push 1
push edi
push eax
fstp st(0)
call fcn.006471b0
fldz
fldz
fld dword [esp + 0x154]
fstp st(2)
add esp, 0x10
fld st(1)
fadd dword [0x69cd90]
fcomp dword [0x97853c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c0763
xor al, al
jmp 0x5c0825
fld st(1)
fsub dword [0x69cd90]
fcomp dword [0xa10680]
fnstsw ax
test ah, 0x45
jne 0x5c0780
xor al, al
jmp 0x5c0825
fld st(1)
fmul dword [0x7e4f4c]
fld dword [esp + 0x140]
fmul dword [0x7e4f48]
faddp st(1)
fcomp dword [0x69cd90]
fnstsw ax
test ah, 0x45
jne 0x5c07a8
xor al, al
jmp 0x5c0825
fld st(1)
fmul dword [0x7e4f58]
fld dword [esp + 0x140]
fmul dword [0x7e4f54]
faddp st(1)
fcomp dword [0x69cd90]
fnstsw ax
test ah, 0x45
jne 0x5c07d0
xor al, al
jmp 0x5c0825
fld dword [esp + 0x148]
fst st(1)
fmul dword [0x7e4f68]
fld st(2)
fmul dword [0x7e4f64]
faddp st(1)
fcomp dword [0x69cd90]
fnstsw ax
test ah, 0x45
jne 0x5c0800
xor al, al
jmp 0x5c0825
fld st(0)
fmul dword [0x7e4f74]
fld st(2)
fmul dword [0x7e4f70]
faddp st(1)
fcomp dword [0x69cd90]
fnstsw ax
test ah, 0x45
jne 0x5c0823
xor al, al
jmp 0x5c0825
mov al, 1
test al, al
je 0x5c1710
fld dword [esp + 0x6c]
fcomp dword [0x69cd94]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c1717
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 0x5c16e7
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 0x5c1464
mov esi, dword [esp]
add esi, ebx
movzx eax, byte [esi + 0x810530]
fldz
fldz
and eax, 0x80
fldz
jne 0x5c16b0
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 0x5c16c0
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.006471b0
fldz
fldz
fldz
fldz
fld dword [esp + 0x160]
fstp st(4)
add esp, 0x10
fld st(3)
fadd dword [0x69cd98]
fcomp dword [0x97853c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c0a00
xor al, al
jmp 0x5c0ac5
fld st(3)
fsub dword [0x69cd98]
fcomp dword [0xa10680]
fnstsw ax
test ah, 0x45
jne 0x5c0a20
xor al, al
jmp 0x5c0ac5
fld st(3)
fmul dword [0x7e4f4c]
fld dword [esp + 0x14c]
fmul dword [0x7e4f48]
faddp st(1)
fcomp dword [0x69cd98]
fnstsw ax
test ah, 0x45
jne 0x5c0a48
xor al, al
jmp 0x5c0ac5
fld st(3)
fmul dword [0x7e4f58]
fld dword [esp + 0x14c]
fmul dword [0x7e4f54]
faddp st(1)
fcomp dword [0x69cd98]
fnstsw ax
test ah, 0x45
jne 0x5c0a70
xor al, al
jmp 0x5c0ac5
fld dword [esp + 0x154]
fstp st(3)
fld st(2)
fmul dword [0x7e4f68]
fld st(4)
fmul dword [0x7e4f64]
faddp st(1)
fcomp dword [0x69cd98]
fnstsw ax
test ah, 0x45
jne 0x5c0aa0
xor al, al
jmp 0x5c0ac5
fld st(2)
fmul dword [0x7e4f74]
fld st(4)
fmul dword [0x7e4f70]
faddp st(1)
fcomp dword [0x69cd98]
fnstsw ax
test ah, 0x45
jne 0x5c0ac3
xor al, al
jmp 0x5c0ac5
mov al, 1
test al, al
je 0x5c16d0
fld dword [esp + 0xbc]
fcomp dword [esp + 0xa0]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c1240
mov cl, byte [ebp*2 + 0x864c78]
mov byte [0x77fa84], 1
movzx eax, cl
and eax, 0x80
jne 0x5c15a8
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 0x5c0c70
movzx eax, cl
push dword [0x69cd1c]
push dword [0x69cc60]
fld dword [eax*4 + 0x78d660]
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.006341a0
add esp, 0x18
test al, al
jne 0x5c15b0
cmp byte [0xa10b65], 0
mov byte [0xa10b45], 1
je 0x5c15c0
cmp byte [0xa10afa], 2
je 0x5c15d0
cmp byte [0xa10afa], 4
je 0x5c15e0
cmp byte [0xa10afa], 6
je 0x5c15f0
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 [0xa10868]
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.006450f0
mov eax, dword [0xa10868]
add esp, 0xc
mov edi, eax
push eax
call dword [edi + 0x48]
pop ecx
jmp 0x5c1600
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 + 0x78d660]
push dword [esp + 0x94]
push dword [esp + 0xb8]
call fcn.005bd0c0
add esp, 0x20
fldz
fldz
mov dl, byte [ebp*2 + 0x864cf8]
movzx eax, dl
and eax, 0x80
jne 0x5c1610
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 0x5c0e40
movzx eax, dl
push dword [0x69cd1c]
push dword [0x69cc60]
fld dword [eax*4 + 0x78d660]
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.006341a0
add esp, 0x18
test al, al
jne 0x5c1617
cmp byte [0xa10b65], 0
mov byte [0xa10b45], 1
je 0x5c1622
cmp byte [0xa10afa], 2
je 0x5c1630
cmp byte [0xa10afa], 4
je 0x5c1640
cmp byte [0xa10afa], 6
je 0x5c1650
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 [0xa10868]
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.006450f0
mov eax, dword [0xa10868]
add esp, 0xc
mov esi, eax
push eax
call dword [esi + 0x48]
pop ecx
jmp 0x5c1660
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 + 0x78d660]
push dword [esp + 0x94]
push dword [esp + 0xd0]
call fcn.005bd0c0
add esp, 0x20
fldz
fldz
fldz
mov cl, byte [ebp*2 + 0x864c79]
movzx eax, cl
and eax, 0x80
jne 0x5c1670
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 0x5c1014
movzx eax, cl
push dword [0x69cd1c]
push dword [0x69cc60]
fld dword [eax*4 + 0x78d660]
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.006341a0
add esp, 0x18
test al, al
jne 0x5c1677
cmp byte [0xa10b65], 0
mov byte [0xa10b45], 1
je 0x5c1680
cmp byte [0xa10afa], 2
je 0x5c1687
cmp byte [0xa10afa], 4
je 0x5c1690
cmp byte [0xa10afa], 6
je 0x5c1697
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 [0xa10868]
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.006450f0
mov eax, dword [0xa10868]
add esp, 0xc
mov edi, eax
push eax
call dword [edi + 0x48]
pop ecx
jmp 0x5c16a0
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 + 0x78d660]
push dword [esp + 0xd0]
push dword [esp + 0xb8]
fstp st(0)
call fcn.005bd0c0
add esp, 0x20
fldz
mov dl, byte [ebp*2 + 0x864cf9]
movzx eax, dl
and eax, 0x80
jne 0x5c16e0
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 0x5c11f0
movzx eax, dl
push dword [0x69cd1c]
push dword [0x69cc60]
fld dword [eax*4 + 0x78d660]
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.006341a0
add esp, 0x18
test al, al
jne 0x5c1462
cmp byte [0xa10b65], 0
mov byte [0xa10b45], 1
je 0x5c1462
cmp byte [0xa10afa], 2
je 0x5c1462
cmp byte [0xa10afa], 4
je 0x5c1462
cmp byte [0xa10afa], 6
je 0x5c1462
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 [0xa10868]
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.006450f0
mov eax, dword [0xa10868]
add esp, 0xc
mov edi, eax
push eax
call dword [edi + 0x48]
pop ecx
jmp 0x5c1462
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 + 0x78d660]
push dword [esp + 0xd0]
push dword [esp + 0xd0]
fstp st(0)
call fcn.005bd0c0
add esp, 0x20
jmp 0x5c1462
mov edi, dword [esp]
add edi, ebx
cmp dword [0x978594], 0x3fa
movzx eax, byte [edi + 0x810530]
fld dword [eax*4 + 0x78d660]
fstp dword [esp + 0x98]
jge 0x5c1276
cmp dword [0x9b5f7c], 0x1fc
jl 0x5c16a7
fcompp
fcompp
call fcn.005bcdc0
fldz
fldz
fldz
mov esi, dword [0x9b5f7c]
mov edi, dword [0x978594]
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 [0x978594]
fld dword [0x77fa6c]
or eax, ecx
mov cx, word [0x9b5f7c]
mov dword [esi + 0x7e9e28], eax
mov dword [esi + 0x7e9e4c], eax
mov dword [esi + 0x7e9e70], eax
mov dword [esi + 0x7e9e94], eax
fstp dword [esi + 0x7e9e2c]
fld dword [0x77fa70]
fstp dword [esi + 0x7e9e30]
fld dword [0x77fa6c]
fstp dword [esi + 0x7e9e50]
fld dword [0x69cc84]
fadd dword [0x77fa70]
mov ax, word [0x9b5f7c]
inc ecx
mov word [edi*2 + 0x933bc8], ax
mov eax, dword [0x9b5f7c]
fstp st(3)
add eax, 2
mov edi, dword [0x978594]
fld st(2)
fstp dword [esi + 0x7e9e54]
fld dword [0x69cc84]
fadd dword [0x77fa6c]
mov word [edx*2 + 0x933bca], ax
mov dx, word [0x9b5f7c]
fstp st(2)
fld st(1)
fstp dword [esi + 0x7e9e74]
fld st(2)
fstp dword [esi + 0x7e9e78]
fld st(1)
fstp dword [esi + 0x7e9e98]
fld dword [0x77fa70]
fstp dword [esi + 0x7e9e9c]
fld dword [esp + 0x9c]
fstp dword [esi + 0x7e9e10]
fld dword [esp + 0x7c]
fstp dword [esi + 0x7e9e14]
fld dword [esp + 0x98]
fsub dword [0x69ca90]
fstp st(3)
fld st(2)
fstp dword [esi + 0x7e9e18]
fld dword [esp + 0x9c]
fstp dword [esi + 0x7e9e34]
fld dword [0x69cd20]
fadd dword [esp + 0x7c]
fstp st(2)
fld st(1)
fstp dword [esi + 0x7e9e38]
fld st(2)
fstp dword [esi + 0x7e9e3c]
fld dword [0x69cd20]
fadd dword [esp + 0x9c]
fst st(1)
fstp dword [esi + 0x7e9e58]
fld st(1)
fstp dword [esi + 0x7e9e5c]
fld st(2)
fstp dword [esi + 0x7e9e60]
fst dword [esi + 0x7e9e7c]
fld dword [esp + 0x7c]
fstp dword [esi + 0x7e9e80]
fld st(2)
fstp dword [esi + 0x7e9e84]
mov esi, dword [0x978594]
mov word [esi*2 + 0x933bcc], cx
mov cx, word [0x9b5f7c]
fcompp
add dword [0x9b5f7c], 4
mov word [edi*2 + 0x933bce], dx
mov edi, dword [0x978594]
mov esi, dword [0x978594]
add ecx, 3
add dword [0x978594], 6
fstp st(0)
mov word [esi*2 + 0x933bd0], cx
mov word [edi*2 + 0x933bd2], ax
inc ebp
inc ebx
cmp ebx, dword [esp + 8]
jle 0x5c08e0
add dword [esp], 0x40
sub dword [esp + 0xc], 0xffffff80
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x1c]
jle 0x5c0890
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 0x5c0630
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 0x5c05b2
cmp dword [0x9b5f7c], 0
je 0x5c150d
call fcn.004a9650
mov eax, dword [0x9b5f7c]
push 1
push 0
push eax
push 0x7e9e10
call fcn.0065aee0
add esp, 0x10
test eax, eax
je 0x5c150d
mov eax, dword [0x978594]
push eax
push 0x933bc8
push 3
call fcn.0065afe0
add esp, 0xc
call fcn.0065afb0
cmp byte [0xa10b2a], 0
mov dword [0x9b5f7c], 0
mov dword [0x978594], 0
je 0x5c159d
cmp byte [0xa10afa], 0
je 0x5c1545
cmp byte [0xa10afa], 2
je 0x5c1545
cmp byte [0xa10afa], 3
jne 0x5c159d
mov esi, 0xa108c8
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 [0x7870c8]
mov eax, dword [ebx]
mov ebp, dword [eax + 4]
mov eax, dword [0xa0d9b0]
mov edx, dword [eax + 0x18]
push ebp
mov esi, dword [edx + 0x20]
mov eax, dword [esi]
push eax
call fcn.00657520
lea eax, [esp + 0xdc]
pop ecx
pop ecx
mov ecx, dword [0xa0d9b0]
push 0
push eax
mov eax, dword [ecx + 4]
push eax
call fcn.006450f0
mov eax, dword [0xa0d9b0]
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 0x5c0cba
fldz
fldz
jmp 0x5c0cba
fldz
fldz
jmp 0x5c0cba
fldz
fldz
jmp 0x5c0cba
fldz
fldz
jmp 0x5c0cba
fldz
fldz
jmp 0x5c0cba
fldz
fldz
jmp 0x5c0cba
fldz
jmp 0x5c0e8a
fldz
fldz
fldz
jmp 0x5c0e8a
fldz
fldz
fldz
jmp 0x5c0e8a
fldz
fldz
fldz
jmp 0x5c0e8a
fldz
fldz
fldz
jmp 0x5c0e8a
fldz
fldz
fldz
jmp 0x5c0e8a
fldz
fldz
fldz
jmp 0x5c0e8a
fcompp
jmp 0x5c105c
fldz
jmp 0x5c105c
fldz
jmp 0x5c105c
fldz
jmp 0x5c105c
fldz
jmp 0x5c105c
fldz
jmp 0x5c105c
fldz
jmp 0x5c105c
fstp st(0)
jmp 0x5c1285
fcompp
fstp st(0)
jmp 0x5c1462
fcompp
fstp st(0)
jmp 0x5c1462
fcompp
fcompp
jmp 0x5c1462
fstp st(0)
jmp 0x5c1462
fcompp
jmp 0x5c147b
fcompp
fstp st(0)
jmp 0x5c1489
fcompp
fstp st(0)
jmp 0x5c1489
fcompp
jmp 0x5c1489
fcompp
jmp 0x5c1489
fstp st(0)
jmp 0x5c14ca