Function at 0x5c032d20
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x204
mov eax, dword [0x5c05aac4]
xor eax, esp
mov dword [esp + 0x200], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [esp + 0xbc], ebx
mov eax, dword [ebx + 0x1a44]
or eax, 0x400000
mov dword [ebx + 0x1a44], eax
test byte [0x5c05c804], 2
push ebx
je 0x5c032d7e
call fcn.5c01ce90
cmp dword [ebx + 0x684], 0
jne 0x5c032dd1
mov ecx, ebx
call fcn.5c011121
jmp 0x5c036a2a
test dword [ebx + 0x1a60], 0x80000
jne 0x5c032d64
mov edx, dword [ebx + 0x1a70]
or eax, 0x200000
or dword [ebx + 0x225c], 0xffffffff
xor edi, edi
mov dword [esp + 0xa4], edx
mov dword [esp + 0x38], edi
mov dword [ebx + 0x1a44], eax
call fcn.5c01ce90
mov eax, dword [ebx + 0x225c]
cmp eax, 0xffffffff
jne 0x5c032dd8
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], edi
je 0x5c032d72
xor eax, eax
jmp 0x5c036a2a
mov ecx, dword [ebx + 0x1a48]
mov dword [esp + 0x74], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x54], ecx
cmp eax, 3
jbe 0x5c032e06
lea ecx, [eax - 2]
lea eax, [ecx - 2]
mov dword [esp + 0x7c], ecx
mov edx, ecx
mov dword [esp + 0x74], eax
mov ecx, ebx
call fcn.5c02b3f9
mov eax, dword [ebx + 0x1a70]
mov edx, dword [ebx + 0x1a60]
mov dword [esp + 0xcc], edi
mov dword [esp + 0x98], eax
mov eax, dword [ebx + 0x1cd8]
mov dword [esp + 0xa8], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov edi, dword [ebx + 0x1a78]
mov ecx, edi
mov dword [esp + 0xb8], eax
mov eax, dword [ebx + 0x1a54]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x1ec], ecx
mov ecx, 0x8000000
mov dword [esp + 0xb4], eax
mov eax, dword [ebx + 0x1a7c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x9c], eax
test ecx, edx
jne 0x5c032ed4
mov edx, dword [ebx + 0x1cc4]
mov esi, dword [ebx + 0x1cc0]
add edx, edi
mov ecx, dword [ebx + 0x1cc8]
add esi, edi
add ecx, edi
mov dword [esp + 0x64], edx
cmp dword [ebx + 0x1a84], 0
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x60], esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x6c], ecx
je 0x5c032f5f
mov ecx, dword [ebx + 0x1cbc]
add ecx, edi
jmp 0x5c032f1d
mov eax, dword [ebx + 0x1a2c]
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x1a34]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0x1a90]
mov dword [esp + 0x50], eax
mov dword [esp + 0x6c], eax
test dl, 0x10
jne 0x5c032f2a
test dword [ebx + 0x1a44], ecx
jne 0x5c032f2a
cmp dword [ebx + 0x1a84], 0
je 0x5c032f5f
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x1ec], ecx
jmp 0x5c032f5f
mov esi, dword [ebx + 0x1a84]
xor ecx, ecx
test esi, esi
je 0x5c032f5f
lea edx, [ebx + 0x1a98]
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x1ec], eax
inc ecx
cmp ecx, esi
jb 0x5c032f3c
mov eax, dword [esp + 0x1ec]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x40], eax
or dword [ebx + 0x530], 0xffffffff
and dword [ebx + 0x560], 0
and dword [ebx + 0x5b8], 0
mov eax, dword [ebx + 0x1a44]
fldz
fst dword [esp + 0x58]
test eax, 0x400
je 0x5c0330d2
lea esi, [ebx + 0x514]
lea edi, [ebx + 0x504]
movsd dword es:[edi], dword [esi]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fstp dword [ebx + 0x52c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test edx, 0x10000000
je 0x5c0330cc
mov edx, dword [ebx + 0x1a5c]
test dl, 0x40
je 0x5c033042
xor edi, edi
mov ecx, eax
cmp dword [ebx + 0x5f8], edi
jne 0x5c032fe6
or ecx, 0x2200
lea esi, [esp + 0x68]
mov dword [ebx + 0x1a44], ecx
mov dword [esp + 0xa8], esi
mov eax, ecx
cmp dword [ebx + 0x5f0], edi
jne 0x5c033006
or eax, 0x4200
lea ecx, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x88], ecx
cmp dword [ebx + 0x5ec], edi
jne 0x5c033024
or eax, 0x10200
lea ecx, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x94], ecx
cmp dword [ebx + 0x5f4], edi
jne 0x5c033042
or eax, 0x8200
lea ecx, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x8c], ecx
test dl, dl
jns 0x5c0330cc
cmp dword [ebx + 0x5f8], 1
jne 0x5c033069
or eax, 0x2200
lea esi, [esp + 0x6c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0xa8], esi
cmp dword [ebx + 0x5f0], 1
jne 0x5c033088
or eax, 0x4200
lea ecx, [esp + 0x6c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x88], ecx
cmp dword [ebx + 0x5ec], 1
jne 0x5c0330a7
or eax, 0x10200
lea ecx, [esp + 0x6c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x94], ecx
cmp dword [ebx + 0x5f4], 1
mov edi, dword [esp + 0x4c]
jne 0x5c0330d4
or eax, 0x8200
lea ecx, [esp + 0x6c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x8c], ecx
jmp 0x5c0330d4
mov edi, dword [esp + 0x4c]
jmp 0x5c0330d4
fstp st(0)
xor ecx, ecx
test dword [esp + 0x90], 0x80000
mov dword [esp + 0x78], ecx
mov dword [esp + 0x84], ecx
jne 0x5c0330f6
or dword [esp + 0x84], 0xffffffff
mov eax, dword [ebx + 0x1b18]
mov eax, dword [eax + 0x58]
mov dword [esp + 0xb0], eax
sub eax, 1
je 0x5c033124
sub eax, 1
je 0x5c033120
sub eax, 1
jne 0x5c03311a
push 2
pop eax
jmp 0x5c033127
mov eax, dword [esp + 0x54]
jmp 0x5c033127
push 3
jmp 0x5c033117
xor eax, eax
inc eax
mov dword [esp + 0xa4], eax
mov edx, edi
lea eax, [ebx + 0x1cdc]
mov dword [esp + 0x70], edx
mov edi, dword [eax + 0x2c]
push 2
mov dword [esp + 0x60], edi
mov edi, eax
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x3c], eax
pop esi
push edi
mov ecx, ebx
call fcn.5c02afc0
mov edx, dword [esp + 0x74]
add edx, dword [esp + 0xa0]
or dword [esp + 0x7c], eax
and dword [esp + 0x88], eax
mov edi, dword [edi + 0x2c]
mov dword [esp + 0x74], edx
pop ecx
sub esi, 1
jne 0x5c033158
cmp dword [ebx + 0x225c], 3
fld1
fstp qword [esp + 0xc0]
fldz
fstp qword [esp + 0xd0]
fld qword [0x5c003160]
mov dword [esp + 0x80], edi
mov edi, dword [esp + 0x5c]
fstp qword [esp + 0xd8]
jbe 0x5c0331d3
and dword [ebx + 0x1cec], esi
and dword [edi + 0x10], esi
and dword [esp + 0x84], esi
mov dword [esp + 0x34], 0x231
jmp 0x5c0350dc
mov ecx, dword [ebx + 0x1cec]
mov eax, ecx
or eax, dword [edi + 0x10]
and ecx, dword [edi + 0x10]
or dword [esp + 0x78], eax
and dword [esp + 0x84], ecx
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [ebx + 0x4d4]
fmul st(3)
fld dword [ebx + 0x4c4]
fmul st(3)
mov ecx, dword [ebx + 0x1cb4]
faddp st(1)
fld dword [ebx + 0x4e4]
fmul st(2)
faddp st(1)
fadd dword [ebx + 0x4f4]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x44]
fld dword [ebx + 0x4d8]
fmul st(4)
fld dword [ebx + 0x4c8]
fmul st(4)
faddp st(1)
fld dword [ebx + 0x4e8]
fmul st(3)
faddp st(1)
fadd dword [ebx + 0x4f8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x30]
fld dword [ebx + 0x4dc]
fmul st(5)
fld dword [ebx + 0x4cc]
fmul st(5)
faddp st(1)
fld dword [ebx + 0x4ec]
fmul st(4)
faddp st(1)
fadd dword [ebx + 0x4fc]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x3c]
fld dword [ebx + 0x4e0]
fmul st(6)
fld dword [ebx + 0x4d0]
fmul st(6)
faddp st(1)
fld dword [ebx + 0x4f0]
fmul st(5)
faddp st(1)
fadd dword [ebx + 0x500]
fstp dword [esp + 0x2c]
fxch st(2)
fst dword [esp + 0x18]
fst dword [esp + 0x14]
fxch st(1)
fst dword [esp + 0x10]
fst dword [esp + 0x20]
fxch st(2)
fst dword [esp + 0x1c]
fst dword [esp + 0x24]
test ecx, ecx
je 0x5c0334be
fld dword [esp + 0x58]
xor edx, edx
fst dword [esp + 0x24]
fld dword [esp + 0x2c]
fstp dword [esp + 0x10]
fst dword [esp + 0x44]
fst dword [esp + 0x30]
fst dword [esp + 0x3c]
fst dword [esp + 0x2c]
fxch st(2)
fst dword [esp + 0x48]
fxch st(3)
fst dword [esp + 0x28]
fxch st(1)
fst dword [esp + 0x1c]
fxch st(2)
fst dword [esp + 0x20]
fst dword [esp + 0x18]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c03342f
mov esi, dword [esp + 0x70]
lea eax, [ebx + 0x224]
fxch st(2)
fstp dword [esp + 0x48]
fxch st(1)
fstp dword [esp + 0x28]
fstp dword [esp + 0x1c]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x44]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x44]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x30]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0xc]
fstp dword [esp + 0x30]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x3c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x14]
fstp dword [esp + 0x3c]
fld dword [esp + 0x10]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x48]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x28]
fld dword [eax - 0x18]
fmul st(2)
fld dword [eax - 8]
fmul st(4)
faddp st(1)
fld dword [eax + 8]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x18]
fstp dword [esp + 0x1c]
fld dword [eax - 0x14]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax + 0xc]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x1c]
add eax, 0x40
fstp dword [esp + 0x10]
cmp edx, ecx
jb 0x5c033334
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x18]
fstp dword [esp + 0x20]
fld dword [esp + 0xc]
fstp dword [esp + 0x18]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
jmp 0x5c03343b
fstp st(2)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x24]
fsubr qword [esp + 0xc0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x44]
fld dword [esp + 0x28]
fmul st(2)
fadd dword [esp + 0x18]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x30]
fld dword [esp + 0x1c]
fmul st(3)
fadd dword [esp + 0x14]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x3c]
fld dword [esp + 0x10]
fmulp st(4)
fld dword [esp + 0x2c]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x2c]
fxch st(1)
fst dword [esp + 0x18]
fstp dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x20]
fst dword [esp + 0x1c]
fstp dword [esp + 0x24]
jmp 0x5c0334ca
fstp st(1)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fld dword [esp + 0x14]
fld dword [esp + 0x18]
mov eax, dword [esp + 0x44]
fld st(2)
fsubrp st(1)
shr eax, 1
mov esi, dword [ebx + 0x1cb8]
fstp dword [esp + 0xc]
fld dword [esp + 0x20]
fld dword [esp + 0x10]
mov edx, dword [esp + 0xc]
fld st(3)
fsubrp st(1)
and edx, 0xbfffffff
or edx, eax
shr edx, 1
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fld dword [esp + 0x24]
and eax, 0x9fffffff
fld dword [esp + 0x1c]
or edx, eax
mov eax, dword [esp + 0x30]
fld st(4)
shr edx, 1
fsubrp st(1)
and eax, 0x8fffffff
or edx, eax
mov eax, dword [esp + 0x3c]
shr edx, 1
and eax, 0x87ffffff
or edx, eax
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
shr edx, 1
and eax, 0x83ffffff
or edx, eax
shr edx, 0x1a
test esi, esi
je 0x5c033599
fld qword [esp + 0xd0]
lea ecx, [ebx + 0x1c54]
push 0x40
pop edi
fld dword [ecx - 4]
fmul st(4)
fld dword [ecx]
fmul st(4)
faddp st(1)
fld dword [ecx + 4]
fmul st(3)
faddp st(1)
fld dword [ecx + 8]
fmul st(6)
faddp st(1)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5c033589
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c033565
mov edi, dword [esp + 0x5c]
fstp st(1)
test byte [ebx + 0x1a60], 2
fstp st(0)
je 0x5c033630
fld dword [ebx + 0x634]
fmulp st(2)
fld dword [ebx + 0x63c]
fmul st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0xc]
fld dword [ebx + 0x638]
fmulp st(2)
fld dword [ebx + 0x640]
fmul st(3)
mov ecx, dword [esp + 0xc]
shr ecx, 1
and ecx, 0x40000000
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x20]
fld st(2)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fsubp st(1)
and eax, 0x8003ffff
or ecx, eax
shr ecx, 1
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
and eax, 0x8001ffff
or ecx, eax
mov eax, dword [esp + 0x20]
shr ecx, 1
and eax, 0x8000ffff
or ecx, eax
shr ecx, 0x10
or edx, ecx
jmp 0x5c033636
fstp st(1)
fstp st(1)
fstp st(0)
mov eax, dword [esp + 0x80]
fld dword [esp + 0x44]
or dword [esp + 0x78], edx
and dword [esp + 0x84], edx
mov esi, dword [esp + 0x38]
fst dword [esp + 0x44]
fstp dword [eax]
fld dword [esp + 0x30]
fst dword [esp + 0x30]
fstp dword [eax + 4]
fld dword [esp + 0x3c]
fst dword [esp + 0x24]
fstp dword [eax + 8]
fld dword [esp + 0x2c]
fst dword [eax + 0xc]
mov dword [eax + 0x10], edx
mov ecx, dword [edi + 0x10]
mov eax, edx
and eax, dword [esi + 0x10]
test ecx, eax
jne 0x5c0336a0
or edx, dword [esi + 0x10]
or edx, ecx
and edx, dword [esp + 0xb8]
neg edx
sbb edx, edx
and edx, 0xffffe421
add edx, 0x4421
jmp 0x5c0336a5
mov edx, 0x1000
or dword [esp + 0x34], edx
mov ecx, dword [ebx + 0x1a60]
mov eax, dword [esi + 0x10]
test dword [ebx + 0x1cd8], eax
jne 0x5c0337ca
fstp st(0)
fld dword [esi + 0xc]
fdivr qword [esp + 0xc0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fld st(0)
fld dword [esi]
fmul st(1)
fmul dword [ebx + 0x5fc]
fadd dword [ebx + 0x604]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x14]
fst dword [esp + 0x44]
fld dword [esi + 4]
fmul st(2)
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x30]
fld dword [esp + 0x44]
fst dword [esp + 0x44]
fld dword [esp + 0x30]
fst dword [esp + 0x30]
test ecx, 0x100000
jne 0x5c0337a7
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c033754
fxch st(1)
fst dword [ebx + 0x1b1c]
fxch st(1)
fld dword [ebx + 0x1b24]
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x5c03376d
fstp dword [ebx + 0x1b24]
jmp 0x5c03376f
fstp st(0)
fld dword [esp + 0xc]
fld dword [esp + 0x18]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c033790
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c0337ab
fstp dword [ebx + 0x1b28]
jmp 0x5c0337ad
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [ebx + 0x60c]
fmul dword [esi + 8]
fmulp st(1)
fadd dword [ebx + 0x610]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x34]
test dl, 3
je 0x5c0342e7
and dword [ebx + 0x5b8], 0
xor edx, edx
fstp st(0)
test ecx, 0x20000000
je 0x5c033a4a
mov eax, dword [esp + 0x4c]
fld dword [ebx + 0x444]
mov esi, dword [ebx + 0x1cb4]
fmul dword [eax]
fld dword [ebx + 0x454]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0xc]
fstp dword [esp + 0x144]
fld dword [ebx + 0x448]
fmul dword [eax]
fld dword [ebx + 0x458]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x148]
fld dword [ebx + 0x44c]
fmul dword [eax]
fld dword [ebx + 0x45c]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x14c]
test esi, esi
je 0x5c033a41
fld dword [esp + 0x58]
xor edi, edi
fst dword [esp + 0x10]
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fst dword [esp + 0x14c]
fld dword [esp + 0xc]
fst dword [esp + 0x1c]
fld dword [esp + 0x14]
fst dword [esp + 0x28]
fld dword [esp + 0x18]
fst dword [esp + 0x48]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x20]
test esi, esi
je 0x5c0339f7
mov edx, dword [esp + 0x4c]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x28]
fstp dword [esp + 0x48]
fld dword [edx + edi*4 + 0xc]
inc edi
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x144]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x14]
fstp dword [esp + 0x144]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x148]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x148]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x14c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x14c]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x1c]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x28]
fld dword [eax - 0x18]
fmulp st(2)
fld dword [eax - 8]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 8]
faddp st(1)
fadd dword [eax + 0x18]
add eax, 0x40
fstp dword [esp + 0x48]
cmp edi, esi
jb 0x5c03390a
fld dword [esp + 0x14]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0xc]
fstp dword [esp + 0x20]
jmp 0x5c0339fd
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x10]
fsubr qword [esp + 0xc0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x144]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x148]
fmul dword [esp + 0x48]
fadd dword [esp + 0x20]
fstp dword [esp + 0x14c]
or edx, 1
mov dword [ebx + 0x5b8], edx
test ecx, 0x40000000
je 0x5c033cb6
mov eax, dword [esp + 0x60]
fld dword [ebx + 0x484]
mov edx, dword [ebx + 0x1cb4]
fmul dword [eax]
fld dword [ebx + 0x488]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0xc]
fstp dword [esp + 0x150]
fld dword [ebx + 0x494]
fmul dword [eax]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x154]
fld dword [ebx + 0x4a4]
fmul dword [eax]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x158]
test edx, edx
je 0x5c033c93
fld dword [esp + 0x58]
xor esi, esi
fst dword [esp + 0x10]
fst dword [esp + 0x150]
fst dword [esp + 0x154]
fst dword [esp + 0x158]
fld dword [esp + 0xc]
fst dword [esp + 0x1c]
fld dword [esp + 0x14]
fst dword [esp + 0x28]
fld dword [esp + 0x18]
fst dword [esp + 0x48]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x20]
test edx, edx
je 0x5c033c49
mov edi, dword [esp + 0x4c]
lea eax, [ebx + 0x38c]
mov ebx, dword [esp + 0x60]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x28]
fstp dword [esp + 0x48]
fld dword [edi + esi*4 + 0xc]
inc esi
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x150]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x14]
fstp dword [esp + 0x150]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x154]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x154]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x158]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x158]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [ebx + 4]
fld dword [ebx]
fld dword [ebx + 8]
fld dword [eax - 8]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [eax + 8]
fmul st(2)
fld dword [eax + 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 0x10]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x28]
fld dword [eax + 0x18]
fmulp st(2)
fld dword [eax + 0x1c]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 0x20]
add eax, 0x40
faddp st(1)
fstp dword [esp + 0x48]
cmp esi, edx
jb 0x5c033b64
fld dword [esp + 0x14]
mov ebx, dword [esp + 0xbc]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0xc]
fstp dword [esp + 0x20]
jmp 0x5c033c4f
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x10]
fsubr qword [esp + 0xc0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x150]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x154]
fmul dword [esp + 0x48]
fadd dword [esp + 0x20]
fstp dword [esp + 0x158]
test ecx, 0x2000000
je 0x5c033ca9
lea edx, [esp + 0x150]
mov ecx, edx
call fcn.5c050908
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
mov ecx, dword [ebx + 0x1a44]
test ecx, 0x400
je 0x5c034292
fld dword [esp + 0x58]
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fst dword [ebx + 0x50c]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fst dword [ebx + 0x52c]
test ecx, 0x200
je 0x5c033d5b
test ecx, 0x10000
je 0x5c033d19
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c033d11
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c033d13
xor eax, eax
mov dword [ebx + 0x540], eax
test ecx, 0x4000
je 0x5c033d3a
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c033d32
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c033d34
xor eax, eax
mov dword [ebx + 0x550], eax
test ecx, 0x8000
je 0x5c033d5b
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c033d53
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c033d55
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, ecx
test edi, edi
je 0x5c033da7
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x144]
push eax
push dword [esp + 0x64]
mov ecx, esi
push dword [esp + 0x54]
push edi
push ebx
call dword [0x5c05e150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c033d69
mov ecx, dword [ebx + 0x1a44]
mov esi, ecx
mov edx, dword [ebx + 0x5b8]
fld dword [esp + 0x58]
test ecx, 0x12000
je 0x5c033ff8
test byte [ebx + 0x5b8], 8
jne 0x5c033dd0
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c033dd2
fstp st(0)
test ecx, 0x10000
je 0x5c033e99
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c033def
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c033df1
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c033e0b
fadd dword [0x5c0031d0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c033e3f
fadd dword [0x5c0031d0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c033e6e
fadd dword [0x5c0031d0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x1ec]
mov edi, dword [esp + 0x6c]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x64], eax
mov dword [esp + 0x50], edi
jmp 0x5c033ed9
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x50]
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x588]
fmul dword [ebx + 0x548]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x58c]
fmul dword [ebx + 0x54c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
test dword [ebx + 0x1a44], 0x2000
je 0x5c033f9e
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x5c033f06
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c033f08
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c033f22
fadd dword [0x5c0031d0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c033f50
fadd dword [0x5c0031d0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c033f79
fadd dword [0x5c0031d0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x1ec]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x64], eax
mov dword [esp + 0x50], edi
jmp 0x5c033fd7
fld dword [ebx + 0x5a4]
fld qword [esp + 0xd8]
fmul st(1), st(0)
fld dword [ebx + 0x504]
faddp st(2)
fxch st(1)
fstp dword [ebx + 0x504]
fld dword [ebx + 0x5a8]
fmul st(1)
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fmul dword [ebx + 0x5ac]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
or dword [ebx + 0x5b8], 8
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c033ffe
mov edi, dword [esp + 0x50]
fstp st(0)
test dl, 8
je 0x5c03412f
test esi, 0x12000
jne 0x5c03404f
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [ebx + 0x504]
fld dword [ebx + 0x518]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x51c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
jmp 0x5c034055
fld dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xe0]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0xe0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xe8]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0xe8]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xf0]
mov esi, dword [esp + 0xf0]
mov eax, 0xff
test ecx, ecx
jns 0x5c0340b8
xor ecx, ecx
jmp 0x5c0340be
cmp ecx, eax
jle 0x5c0340be
mov ecx, eax
test edx, edx
jns 0x5c0340c6
xor edx, edx
jmp 0x5c0340cc
cmp edx, eax
jle 0x5c0340cc
mov edx, eax
test esi, esi
jns 0x5c0340d4
xor esi, esi
jmp 0x5c0340da
cmp esi, eax
jle 0x5c0340da
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c0340f6
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c034118
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c034107
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c034109
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
mov dword [ebx + 0x530], eax
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c03416c
test esi, 0x4000
jne 0x5c034145
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c034166
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c03415c
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c03415e
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c03423b
fld dword [ebx + 0x524]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xf8]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0xf8]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x100]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0x100]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x108]
mov esi, dword [esp + 0x108]
mov eax, 0xff
test ecx, ecx
jns 0x5c0341d6
xor ecx, ecx
jmp 0x5c0341dc
cmp ecx, eax
jle 0x5c0341dc
mov ecx, eax
test edx, edx
jns 0x5c0341e4
xor edx, edx
jmp 0x5c0341ea
cmp edx, eax
jle 0x5c0341ea
mov edx, eax
test esi, esi
jns 0x5c0341f2
xor esi, esi
jmp 0x5c0341f8
cmp esi, eax
jle 0x5c0341f8
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c034214
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c034236
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c034225
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c034227
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c034284
test esi, 0x100000
jne 0x5c03428a
test dword [ebx + 0x1a60], 0x800
jne 0x5c03425c
test byte [ebx + 0x1a5c], 0x80
je 0x5c034282
mov eax, dword [edi]
jmp 0x5c034284
test esi, 0x8000
jne 0x5c03426c
mov eax, dword [ebx + 0x5bc]
jmp 0x5c034284
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c034282
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c034284
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
jmp 0x5c0342c4
mov edx, dword [ebx + 0x1a5c]
mov eax, ecx
test dl, 0xc0
je 0x5c0342c4
test dl, 0x40
je 0x5c0342b0
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
mov eax, ecx
test dl, dl
jns 0x5c0342c4
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, ecx
test eax, 0x100
je 0x5c0342df
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0x144]
push eax
mov ecx, ebx
call fcn.5c01a3e0
pop ecx
mov edx, dword [esp + 0x34]
fld dword [esp + 0x2c]
test dl, 1
je 0x5c0343f4
mov eax, dword [esp + 0x98]
fld dword [esp + 0x44]
fstp dword [eax]
fld dword [esp + 0x30]
fstp dword [eax + 4]
fld dword [esp + 0x24]
fstp dword [eax + 8]
fst dword [eax + 0xc]
mov edi, dword [ebx + 0x1cd0]
add edi, eax
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x3c], edi
test al, 0x40
je 0x5c034339
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x3c], edi
test al, al
jns 0x5c03434c
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x3c], edi
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c0343e0
mov ecx, dword [esp + 0x90]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c034662
test ecx, ecx
jne 0x5c034654
test eax, 0x4010000
jne 0x5c03442d
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c0343e0
lea ecx, [ebx + 0x1ad8]
fstp st(0)
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1f0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x18]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c0343a7
fld dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x98]
add eax, dword [ebx + 0x1a64]
mov dword [esp + 0x98], eax
mov edi, dword [esp + 0x38]
test dl, 2
je 0x5c034e2f
mov eax, dword [edi + 0x10]
test dword [ebx + 0x1cd8], eax
jne 0x5c0348d0
fld dword [esp + 0x44]
fstp dword [edi + 0x1c]
fld dword [esp + 0x30]
fstp dword [edi + 0x20]
fld dword [esp + 0x24]
fstp dword [edi + 0x24]
fstp dword [edi + 0x28]
jmp 0x5c0348d2
test eax, 0x10000
jne 0x5c0344c4
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c0343e0
lea eax, [ebx + 0x1af8]
fstp st(0)
mov dword [esp + 0x18], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x1ec]
mov dword [esp + 0x20], edx
mov dword [esp + 0xc], eax
test eax, eax
jne 0x5c03447a
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03449c
push dword [esp + 0xc]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push ecx
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x20]
inc ecx
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c034452
jmp 0x5c0343d8
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c0343e0
lea eax, [ebx + 0x1ad8]
fstp st(0)
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c034502
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1ec]
jmp 0x5c0345ee
cmp eax, 0x20000
jne 0x5c034515
lea ecx, [esp + 0x144]
jmp 0x5c0345ee
cmp eax, 0x10000
jne 0x5c034528
lea ecx, [esp + 0x150]
jmp 0x5c0345ee
test dword [ebx + 0x1a60], 0x1000000
je 0x5c0345d4
lea esi, [esp + 0x144]
lea edi, [esp + 0x15c]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x15c]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c050908
fld dword [esp + 0x154]
fld dword [esp + 0x160]
fld dword [esp + 0x150]
fld dword [esp + 0x15c]
fld dword [esp + 0x158]
fld dword [esp + 0x164]
fld st(4)
mov edi, dword [esp + 0x3c]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x1c]
fmul st(5)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld st(0)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1a4]
fld st(1)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1a8]
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x1ac]
jmp 0x5c0345e7
lea edx, [esp + 0x1a4]
lea ecx, [esp + 0x150]
call fcn.5c01a3b3
lea ecx, [esp + 0x1a4]
cmp dword [esi], 0
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
je 0x5c03461b
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c034623
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add esi, 0x20
add dword [esp + 0x10], 4
inc ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c0344ec
jmp 0x5c0343d8
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [edi + 4]
jmp 0x5c0343e0
test ecx, ecx
jne 0x5c034654
test eax, 0x4010000
jne 0x5c034687
push dword [ebx + 0x1a8c]
fstp st(0)
push dword [esp + 0x44]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c0343d8
test eax, 0x10000
jne 0x5c034739
mov edx, dword [esp + 0x40]
xor esi, esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c0343dc
lea eax, [ebx + 0x1af8]
fstp st(0)
mov dword [esp + 0x20], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], eax
test eax, eax
je 0x5c034701
mov eax, dword [esp + 0x14]
push dword [esp + 0xc]
shr ecx, 2
shr eax, 2
push edi
push edx
lea eax, [eax + ecx*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c034709
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x1c]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x1c]
inc esi
mov eax, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c0346b8
jmp 0x5c0343d8
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c0343e0
lea esi, [ebx + 0x1ad8]
fstp st(0)
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c034773
mov ecx, dword [eax]
add ecx, dword [esp + 0x40]
jmp 0x5c034865
cmp ecx, 0x20000
jne 0x5c034787
lea ecx, [esp + 0x144]
jmp 0x5c034865
cmp ecx, 0x10000
jne 0x5c03479b
lea ecx, [esp + 0x150]
jmp 0x5c034865
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03484b
lea esi, [esp + 0x144]
lea edi, [esp + 0x168]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x168]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c050908
fld dword [esp + 0x154]
fld dword [esp + 0x16c]
fld dword [esp + 0x150]
fld dword [esp + 0x168]
fld dword [esp + 0x158]
fld dword [esp + 0x170]
fld st(4)
mov edi, dword [esp + 0x3c]
fmul st(6)
fld st(3)
mov eax, dword [esp + 0x1c]
fmul st(5)
mov esi, dword [esp + 0x10]
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld st(0)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1b0]
fld st(1)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1b4]
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x1b8]
jmp 0x5c03485e
lea edx, [esp + 0x1b0]
lea ecx, [esp + 0x150]
call fcn.5c01a3b3
lea ecx, [esp + 0x1b0]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0xc], esi
test edx, edx
je 0x5c03488f
mov eax, dword [eax + 0x14]
push edx
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x18]
jmp 0x5c034897
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x1c]
inc edx
add esi, 4
mov dword [esp + 0x3c], edi
add eax, 0x20
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c034761
jmp 0x5c0343d8
fstp st(0)
mov eax, dword [ebx + 0x530]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0x560]
mov dword [edi + 0x18], eax
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c034e31
mov ecx, dword [esp + 0x90]
add edi, 0x30
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
mov dword [esp + 0x1c], edi
test eax, 0x8000000
je 0x5c034bb3
test ecx, ecx
jne 0x5c034ba1
test eax, 0x4010000
jne 0x5c03497a
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c034baa
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1f0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x18]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c034944
jmp 0x5c034e16
test eax, 0x10000
jne 0x5c034a13
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c034baa
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x1ec]
mov dword [esp + 0x20], edx
mov dword [esp + 0xc], eax
test eax, eax
jne 0x5c0349c9
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c0349eb
push dword [esp + 0xc]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push ecx
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x20]
inc ecx
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c0349a1
jmp 0x5c034e16
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c034baa
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c034a4f
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1ec]
jmp 0x5c034b3b
cmp eax, 0x20000
jne 0x5c034a62
lea ecx, [esp + 0x144]
jmp 0x5c034b3b
cmp eax, 0x10000
jne 0x5c034a75
lea ecx, [esp + 0x150]
jmp 0x5c034b3b
test dword [ebx + 0x1a60], 0x1000000
je 0x5c034b21
lea esi, [esp + 0x144]
lea edi, [esp + 0x174]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x174]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c050908
fld dword [esp + 0x154]
fld dword [esp + 0x178]
fld dword [esp + 0x150]
fld dword [esp + 0x174]
fld dword [esp + 0x158]
fld dword [esp + 0x17c]
fld st(4)
mov edi, dword [esp + 0x1c]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x28]
fmul st(5)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld st(0)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1bc]
fld st(1)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1c0]
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x1c4]
jmp 0x5c034b34
lea edx, [esp + 0x1bc]
lea ecx, [esp + 0x150]
call fcn.5c01a3b3
lea ecx, [esp + 0x1bc]
cmp dword [esi], 0
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
je 0x5c034b68
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x34]
jmp 0x5c034b70
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add esi, 0x20
add dword [esp + 0x10], 4
inc ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c034a39
jmp 0x5c034e16
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [edi + 4]
mov edi, dword [esp + 0x38]
jmp 0x5c034e31
test ecx, ecx
jne 0x5c034e20
test eax, 0x4010000
jne 0x5c034bda
push dword [ebx + 0x1a8c]
push dword [esp + 0x44]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c034e16
test eax, 0x10000
jne 0x5c034c8a
mov edx, dword [esp + 0x40]
xor esi, esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c034e16
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x20], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], eax
test eax, eax
je 0x5c034c52
mov eax, dword [esp + 0x14]
push dword [esp + 0xc]
shr ecx, 2
shr eax, 2
push edi
push edx
lea eax, [eax + ecx*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c034c5a
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x1c]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x1c]
inc esi
mov eax, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c034c09
jmp 0x5c034e16
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c034baa
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x10], esi
mov dword [esp + 0x28], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c034cc2
mov ecx, dword [eax]
add ecx, dword [esp + 0x40]
jmp 0x5c034db0
cmp ecx, 0x20000
jne 0x5c034cd6
lea ecx, [esp + 0x144]
jmp 0x5c034db0
cmp ecx, 0x10000
jne 0x5c034cea
lea ecx, [esp + 0x150]
jmp 0x5c034db0
test dword [ebx + 0x1a60], 0x1000000
je 0x5c034d96
lea esi, [esp + 0x144]
lea edi, [esp + 0x180]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x180]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c068e8d
fld dword [esp + 0x154]
fld dword [esp + 0x184]
fld dword [esp + 0x150]
fld dword [esp + 0x180]
fld dword [esp + 0x158]
fld dword [esp + 0x188]
fld st(4)
mov edi, dword [esp + 0x1c]
fmul st(6)
fld st(3)
mov eax, dword [esp + 0x28]
fmul st(5)
mov esi, dword [esp + 0x10]
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul st(4), st(0)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1c8]
fxch st(4)
fmul st(1)
fsubp st(3)
fxch st(2)
fstp dword [esp + 0x1cc]
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x1d0]
jmp 0x5c034da9
lea edx, [esp + 0x1c8]
lea ecx, [esp + 0x150]
call fcn.5c01a3b3
lea ecx, [esp + 0x1c8]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0xc], esi
test edx, edx
je 0x5c034dda
mov eax, dword [eax + 0x14]
push edx
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x18]
jmp 0x5c034de2
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x28]
inc edx
add esi, 4
mov dword [esp + 0x1c], edi
add eax, 0x20
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x28], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c034cb0
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
jmp 0x5c034e31
fld dword [esp + 0x58]
fst dword [edi]
mov edi, dword [esp + 0x38]
fstp dword [edi + 0x34]
jmp 0x5c034e31
fstp st(0)
mov esi, dword [esp + 0x74]
test dl, 0x10
je 0x5c034e96
inc esi
mov dword [esp + 0x74], esi
cmp esi, 1
jne 0x5c034f78
test byte [esp + 0x7c], 1
mov eax, dword [ebx + 0x1b18]
je 0x5c034e6b
mov ecx, dword [esp + 0xa4]
cmp ecx, dword [eax + 0x58]
je 0x5c034f78
mov dword [eax + 0x58], ecx
push ecx
jmp 0x5c034e7f
mov esi, dword [esp + 0xb0]
cmp esi, dword [eax + 0x58]
je 0x5c034f78
mov dword [eax + 0x58], esi
push esi
mov eax, dword [ebx]
push 0x16
mov esi, dword [eax]
mov ecx, esi
call dword [0x5c05e150]
mov ecx, ebx
call esi
jmp 0x5c034f78
test esi, esi
jle 0x5c034f16
mov eax, dword [esp + 0x74]
add esi, 2
push eax
push esi
push dword [esp + 0xa8]
mov ecx, ebx
push 5
pop edx
call fcn.5c0212f9
mov ecx, eax
add esp, 0xc
mov dword [esp + 0xcc], ecx
test ecx, ecx
jne 0x5c036762
mov edx, dword [ebx + 0x1a64]
mov eax, edx
mov ecx, dword [ebx + 0x1a48]
and dword [esp + 0x74], 0
add ecx, esi
imul eax, esi
mov esi, dword [esp + 0xa0]
mov dword [ebx + 0x1a48], ecx
add esi, eax
test dword [esp + 0x34], 0x200
mov dword [esp + 0xa0], esi
je 0x5c034f12
lea eax, [ecx - 1]
sub esi, edx
mov dword [ebx + 0x1a48], eax
mov dword [esp + 0xa0], esi
mov edx, dword [esp + 0x34]
test dl, 8
je 0x5c034f78
mov eax, dword [ebx + 0x1b18]
mov esi, dword [esp + 0xb0]
cmp esi, dword [eax + 0x58]
je 0x5c034f43
mov dword [eax + 0x58], esi
mov eax, dword [ebx]
push esi
push 0x16
mov esi, dword [eax]
mov ecx, esi
call dword [0x5c05e150]
mov ecx, ebx
call esi
test byte [esp + 0x7c], 1
je 0x5c034f55
mov ecx, dword [esp + 0xac]
mov eax, edi
jmp 0x5c034f5e
mov eax, dword [esp + 0xac]
mov ecx, edi
mov edx, dword [esp + 0xc8]
push ecx
push eax
mov ecx, ebx
call fcn.5c0213b6
pop ecx
pop ecx
test eax, eax
jne 0x5c036762
mov edx, dword [esp + 0x4c]
mov eax, dword [ebx + 0x1a44]
mov esi, dword [esp + 0x9c]
and eax, 0x40000000
mov ecx, dword [ebx + 0x1a60]
add edx, esi
mov dword [esp + 0x4c], edx
mov edi, edx
test ecx, 0x8000000
je 0x5c03501b
test eax, eax
jne 0x5c035013
mov eax, dword [esp + 0x60]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x64]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x50]
add eax, dword [ebx + 0x1a94]
mov dword [esp + 0x50], eax
mov dword [esp + 0x6c], eax
test esi, esi
je 0x5c03500c
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x1ec], eax
inc ecx
cmp ecx, esi
jb 0x5c034fec
mov eax, dword [esp + 0x1ec]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0x9c]
mov ecx, dword [ebx + 0x1a60]
jmp 0x5c035050
test eax, eax
jne 0x5c035050
mov eax, dword [esp + 0x64]
add dword [esp + 0x60], esi
add eax, esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x50]
add eax, esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x40]
add eax, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0xac]
add dword [esp + 0x70], esi
mov esi, dword [esp + 0x5c]
shr dword [esp + 0x34], 5
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x38], esi
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x7c]
inc eax
mov dword [esp + 0x7c], eax
cmp eax, dword [esp + 0xb4]
jb 0x5c0350be
mov eax, dword [esp + 0xb4]
add eax, 2
cmp dword [esp + 0x7c], eax
jae 0x5c036762
fld dword [esp + 0x2c]
jmp 0x5c0336af
cmp dword [esp + 0x78], 0
jne 0x5c03687c
cmp dword [esp + 0x74], 1
mov dword [esp + 0x4c], edx
jne 0x5c03687c
mov edx, dword [esp + 0x70]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [ebx + 0x4d4]
fmul st(3)
fld dword [ebx + 0x4c4]
fmul st(3)
mov ecx, dword [ebx + 0x1cb4]
faddp st(1)
fld dword [ebx + 0x4e4]
fmul st(2)
faddp st(1)
fadd dword [ebx + 0x4f4]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x44]
fld dword [ebx + 0x4c8]
fmul st(3)
fld dword [ebx + 0x4d8]
fmul st(5)
faddp st(1)
fld dword [ebx + 0x4e8]
fmul st(3)
faddp st(1)
fadd dword [ebx + 0x4f8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x30]
fld dword [ebx + 0x4cc]
fmul st(4)
fld dword [ebx + 0x4dc]
fmul st(6)
faddp st(1)
fld dword [ebx + 0x4ec]
fmul st(4)
faddp st(1)
fadd dword [ebx + 0x4fc]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x3c]
fld dword [ebx + 0x4d0]
fmul st(5)
fld dword [ebx + 0x4e0]
fmul st(7)
faddp st(1)
fld dword [ebx + 0x4f0]
fmul st(5)
faddp st(1)
fadd dword [ebx + 0x500]
fstp dword [esp + 0x2c]
fxch st(2)
fst dword [esp + 0x18]
fst dword [esp + 0x14]
fxch st(1)
fst dword [esp + 0x10]
fst dword [esp + 0x20]
fxch st(2)
fst dword [esp + 0x1c]
fst dword [esp + 0x24]
test ecx, ecx
je 0x5c0353ae
fld dword [esp + 0x58]
xor edx, edx
fst dword [esp + 0x10]
fld dword [esp + 0x2c]
fstp dword [esp + 0x24]
fst dword [esp + 0x44]
fst dword [esp + 0x30]
fst dword [esp + 0x3c]
fst dword [esp + 0x2c]
fxch st(2)
fst dword [esp + 0x1c]
fxch st(3)
fst dword [esp + 0x28]
fxch st(1)
fst dword [esp + 0x48]
fxch st(2)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x20]
test ecx, ecx
je 0x5c03531f
mov esi, dword [esp + 0x70]
lea eax, [ebx + 0x224]
fxch st(2)
fstp dword [esp + 0x1c]
fxch st(1)
fstp dword [esp + 0x28]
fstp dword [esp + 0x48]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x44]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x14]
fstp dword [esp + 0x44]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x30]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x30]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x3c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x3c]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [eax - 0x10]
fmul st(3)
fld dword [eax - 0x20]
fmul st(3)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x1c]
fld dword [eax - 0xc]
fmul st(3)
fld dword [eax - 0x1c]
fmul st(3)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x28]
fld dword [eax - 8]
fmul st(3)
fld dword [eax - 0x18]
fmul st(3)
faddp st(1)
fld dword [eax + 8]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x18]
fstp dword [esp + 0x48]
fld dword [eax - 4]
fmul st(3)
fld dword [eax - 0x14]
fmul st(3)
faddp st(1)
fld dword [eax + 0xc]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x1c]
add eax, 0x40
fstp dword [esp + 0x24]
cmp edx, ecx
jb 0x5c035224
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0xc]
fstp dword [esp + 0x20]
jmp 0x5c03532b
fstp st(2)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x10]
fsubr qword [esp + 0xc0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x44]
fld dword [esp + 0x28]
fmul st(2)
fadd dword [esp + 0x18]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x30]
fld dword [esp + 0x48]
fmul st(3)
fadd dword [esp + 0x20]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x3c]
fld dword [esp + 0x24]
fmulp st(4)
fld dword [esp + 0x2c]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x2c]
fxch st(1)
fst dword [esp + 0x18]
fstp dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x20]
fst dword [esp + 0x1c]
fstp dword [esp + 0x24]
jmp 0x5c0353ba
fstp st(1)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fld st(0)
mov eax, dword [esp + 0x44]
fld dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(2)
shr eax, 1
fsubrp st(1)
mov esi, dword [ebx + 0x1cb8]
fstp dword [esp + 0xc]
fld dword [esp + 0x20]
fld dword [esp + 0x10]
mov edx, dword [esp + 0xc]
fld st(3)
fsubrp st(1)
and edx, 0xbfffffff
or edx, eax
shr edx, 1
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fld dword [esp + 0x24]
and eax, 0x9fffffff
fld dword [esp + 0x1c]
or edx, eax
mov eax, dword [esp + 0x30]
fld st(4)
shr edx, 1
fsubrp st(1)
and eax, 0x8fffffff
or edx, eax
mov eax, dword [esp + 0x3c]
shr edx, 1
and eax, 0x87ffffff
or edx, eax
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
shr edx, 1
and eax, 0x83ffffff
or edx, eax
shr edx, 0x1a
test esi, esi
je 0x5c035483
push 0x40
pop edi
lea ecx, [ebx + 0x1c54]
fld dword [ecx - 4]
fmul st(3)
fld dword [ecx]
fmul st(3)
faddp st(1)
fld dword [ecx + 4]
fmul st(2)
faddp st(1)
fld dword [ecx + 8]
fmul st(5)
faddp st(1)
fcomp qword [esp + 0xd0]
fnstsw ax
test ah, 5
jp 0x5c035479
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c035450
mov ecx, dword [esp + 0x80]
fstp st(0)
fld dword [esp + 0x44]
fst dword [esp + 0x44]
and dword [ecx + 0x10], 0
fstp dword [ecx]
fld dword [esp + 0x30]
fst dword [esp + 0x30]
fstp dword [ecx + 4]
fld dword [esp + 0x3c]
fst dword [esp + 0x24]
fstp dword [ecx + 8]
fxch st(3)
fstp dword [ecx + 0xc]
test edx, edx
jne 0x5c0367d0
mov eax, dword [esp + 0x9c]
fstp st(0)
add dword [esp + 0x70], eax
fstp st(0)
mov esi, dword [esp + 0x38]
fstp st(0)
mov edi, dword [esp + 0x4c]
fld dword [esi + 0xc]
fld qword [esp + 0xc0]
fld st(0)
inc dword [esp + 0x74]
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fld dword [esi]
fmul st(1)
fmul dword [ebx + 0x5fc]
fadd dword [ebx + 0x604]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x14]
fst dword [esp + 0x44]
fld dword [esi + 4]
fmul st(2)
mov esi, dword [ebx + 0x1a60]
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x30]
fld dword [esp + 0x44]
fst dword [esp + 0x48]
fld dword [esp + 0x30]
fst dword [esp + 0x5c]
test esi, 0x100000
jne 0x5c0355cb
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c035578
fxch st(1)
fst dword [ebx + 0x1b1c]
fxch st(1)
fld dword [ebx + 0x1b24]
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x5c035591
fstp dword [ebx + 0x1b24]
jmp 0x5c035593
fstp st(0)
fld dword [esp + 0xc]
fld dword [esp + 0x18]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c0355b4
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c0355cf
fstp dword [ebx + 0x1b28]
jmp 0x5c0355d1
fstp st(2)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x38]
fld dword [eax + 8]
xor eax, eax
fmul dword [ebx + 0x60c]
and dword [ebx + 0x5b8], 0
mov dword [esp + 0x30], eax
fmulp st(1)
fadd dword [ebx + 0x610]
fstp dword [esp + 0x3c]
test esi, 0x20000000
je 0x5c035858
fld dword [ebx + 0x444]
fmul dword [edi]
fld dword [ebx + 0x454]
fmul dword [edi + 4]
mov ecx, dword [ebx + 0x1cb4]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [edi + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0xc]
fstp dword [esp + 0x144]
fld dword [ebx + 0x448]
fmul dword [edi]
fld dword [ebx + 0x458]
fmul dword [edi + 4]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [edi + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x148]
fld dword [ebx + 0x44c]
fmul dword [edi]
fld dword [ebx + 0x45c]
fmul dword [edi + 4]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [edi + 8]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x14c]
test ecx, ecx
je 0x5c03584b
fld dword [esp + 0x58]
xor edx, edx
fst dword [esp + 0x10]
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fst dword [esp + 0x14c]
fld dword [esp + 0xc]
fst dword [esp + 0x24]
fld dword [esp + 0x14]
fst dword [esp + 0x1c]
fld dword [esp + 0x18]
fst dword [esp + 0x28]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x20]
test ecx, ecx
je 0x5c035804
fxch st(1)
lea eax, [ebx + 0x2e4]
fstp dword [esp + 0x24]
fstp dword [esp + 0x1c]
fstp dword [esp + 0x28]
fld dword [edi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x144]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x14]
fstp dword [esp + 0x144]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x148]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x148]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x14c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x14c]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [edi + 4]
fld dword [edi]
fld dword [edi + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x24]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x1c]
fld dword [eax - 0x18]
fmulp st(2)
fld dword [eax - 8]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 8]
faddp st(1)
fadd dword [eax + 0x18]
add eax, 0x40
fstp dword [esp + 0x28]
cmp edx, ecx
jb 0x5c035717
fld dword [esp + 0x14]
mov eax, dword [ebx + 0x5b8]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0xc]
fstp dword [esp + 0x20]
jmp 0x5c03580a
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x10]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x144]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x148]
fmul dword [esp + 0x28]
fadd dword [esp + 0x20]
fstp dword [esp + 0x14c]
or eax, 1
mov dword [esp + 0x30], eax
mov dword [ebx + 0x5b8], eax
test esi, 0x40000000
je 0x5c035ac2
mov eax, dword [esp + 0x60]
fld dword [ebx + 0x484]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax]
fld dword [ebx + 0x488]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0xc]
fstp dword [esp + 0x150]
fld dword [ebx + 0x494]
fmul dword [eax]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x154]
fld dword [ebx + 0x4a4]
fmul dword [eax]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x158]
test ecx, ecx
je 0x5c035a97
fld dword [esp + 0x58]
xor edx, edx
fst dword [esp + 0x10]
fst dword [esp + 0x150]
fst dword [esp + 0x154]
fst dword [esp + 0x158]
fld dword [esp + 0xc]
fst dword [esp + 0x24]
fld dword [esp + 0x14]
fst dword [esp + 0x1c]
fld dword [esp + 0x18]
fst dword [esp + 0x28]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x20]
test ecx, ecx
je 0x5c035a52
mov esi, dword [esp + 0x60]
lea eax, [ebx + 0x38c]
fxch st(1)
fstp dword [esp + 0x24]
fstp dword [esp + 0x1c]
fstp dword [esp + 0x28]
fld dword [edi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x150]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x14]
fstp dword [esp + 0x150]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x154]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x154]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x158]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x158]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esi + 4]
fld dword [esi]
fld dword [esi + 8]
fld dword [eax - 8]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x24]
fld dword [eax + 8]
fmul st(2)
fld dword [eax + 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 0x10]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [eax + 0x18]
fmulp st(2)
fld dword [eax + 0x1c]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 0x20]
add eax, 0x40
faddp st(1)
fstp dword [esp + 0x28]
cmp edx, ecx
jb 0x5c03596e
fld dword [esp + 0x14]
mov esi, dword [ebx + 0x1a60]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0xc]
fstp dword [esp + 0x20]
jmp 0x5c035a58
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x10]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x150]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x154]
fmul dword [esp + 0x28]
fadd dword [esp + 0x20]
fstp dword [esp + 0x158]
jmp 0x5c035a99
fstp st(0)
test esi, 0x2000000
je 0x5c035aaf
lea edx, [esp + 0x150]
mov ecx, edx
call fcn.5c050908
or dword [ebx + 0x5b8], 2
mov eax, dword [ebx + 0x5b8]
mov dword [esp + 0x30], eax
jmp 0x5c035ac4
fstp st(0)
mov ecx, dword [ebx + 0x1a44]
test ecx, 0x400
je 0x5c0360ab
fld dword [esp + 0x58]
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fst dword [ebx + 0x50c]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fst dword [ebx + 0x52c]
test ecx, 0x200
je 0x5c035b6d
test ecx, 0x10000
je 0x5c035b27
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c035b1f
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c035b21
xor eax, eax
mov dword [ebx + 0x540], eax
test ecx, 0x4000
je 0x5c035b48
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c035b40
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c035b42
xor eax, eax
mov dword [ebx + 0x550], eax
test ecx, 0x8000
je 0x5c035b69
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c035b61
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c035b63
xor eax, eax
mov dword [ebx + 0x570], eax
mov eax, dword [esp + 0x30]
mov edi, dword [ebx + 0x5c0]
mov edx, ecx
test edi, edi
je 0x5c035bbd
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x144]
push eax
push dword [esp + 0x64]
mov ecx, esi
push dword [esp + 0x54]
push edi
push ebx
call dword [0x5c05e150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c035b7b
mov ecx, dword [ebx + 0x1a44]
mov edx, ecx
mov eax, dword [ebx + 0x5b8]
fld dword [esp + 0x58]
mov dword [esp + 0x30], eax
mov esi, 0x12000
test esi, ecx
je 0x5c035e13
test byte [ebx + 0x5b8], 8
jne 0x5c035be7
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c035be9
fstp st(0)
test ecx, 0x10000
je 0x5c035cb0
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c035c06
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c035c08
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c035c22
fadd dword [0x5c0031d0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c035c56
fadd dword [0x5c0031d0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c035c85
fadd dword [0x5c0031d0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov ecx, dword [esp + 0x1ec]
mov edi, dword [esp + 0x6c]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x50], edi
jmp 0x5c035cf0
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x50]
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x588]
fmul dword [ebx + 0x548]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x58c]
fmul dword [ebx + 0x54c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
test dword [ebx + 0x1a44], 0x2000
je 0x5c035db5
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x5c035d1d
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c035d1f
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c035d39
fadd dword [0x5c0031d0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c035d67
fadd dword [0x5c0031d0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c035d90
fadd dword [0x5c0031d0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x1ec]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x64], eax
mov dword [esp + 0x50], edi
jmp 0x5c035dee
fld dword [ebx + 0x5a4]
fld qword [esp + 0xd8]
fmul st(1), st(0)
fld dword [ebx + 0x504]
faddp st(2)
fxch st(1)
fstp dword [ebx + 0x504]
fld dword [ebx + 0x5a8]
fmul st(1)
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fmul dword [ebx + 0x5ac]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
or dword [ebx + 0x5b8], 8
mov eax, dword [ebx + 0x5b8]
mov edx, dword [ebx + 0x1a44]
mov dword [esp + 0x30], eax
jmp 0x5c035e19
mov edi, dword [esp + 0x50]
fstp st(0)
test al, 8
je 0x5c035f45
test esi, edx
jne 0x5c035e65
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [ebx + 0x504]
fld dword [ebx + 0x518]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x51c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
jmp 0x5c035e6b
fld dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x110]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0x110]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x118]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0x118]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x120]
mov esi, dword [esp + 0x120]
mov eax, 0xff
test ecx, ecx
jns 0x5c035ece
xor ecx, ecx
jmp 0x5c035ed4
cmp ecx, eax
jle 0x5c035ed4
mov ecx, eax
test edx, edx
jns 0x5c035edc
xor edx, edx
jmp 0x5c035ee2
cmp edx, eax
jle 0x5c035ee2
mov edx, eax
test esi, esi
jns 0x5c035eea
xor esi, esi
jmp 0x5c035ef0
cmp esi, eax
jle 0x5c035ef0
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c035f0c
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c035f2e
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c035f1d
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c035f1f
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
mov dword [ebx + 0x530], eax
mov eax, dword [ebx + 0x5b8]
mov edx, dword [ebx + 0x1a44]
jmp 0x5c035f86
test edx, 0x4000
jne 0x5c035f5b
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c035f7c
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c035f72
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c035f74
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
mov eax, dword [esp + 0x30]
test al, 4
je 0x5c036054
fld dword [ebx + 0x524]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x128]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0x128]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x130]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0x130]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x138]
mov esi, dword [esp + 0x138]
mov eax, 0xff
test ecx, ecx
jns 0x5c035fef
xor ecx, ecx
jmp 0x5c035ff5
cmp ecx, eax
jle 0x5c035ff5
mov ecx, eax
test edx, edx
jns 0x5c035ffd
xor edx, edx
jmp 0x5c036003
cmp edx, eax
jle 0x5c036003
mov edx, eax
test esi, esi
jns 0x5c03600b
xor esi, esi
jmp 0x5c036011
cmp esi, eax
jle 0x5c036011
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c03602d
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c03604f
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c03603e
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c036040
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c03609d
test edx, 0x100000
jne 0x5c0360a3
test dword [ebx + 0x1a60], 0x800
jne 0x5c036075
test byte [ebx + 0x1a5c], 0x80
je 0x5c03609b
mov eax, dword [edi]
jmp 0x5c03609d
test edx, 0x8000
jne 0x5c036085
mov eax, dword [ebx + 0x5bc]
jmp 0x5c03609d
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c03609b
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c03609d
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
jmp 0x5c0360dd
mov edx, dword [ebx + 0x1a5c]
mov eax, ecx
test dl, 0xc0
je 0x5c0360dd
test dl, 0x40
je 0x5c0360c9
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
mov eax, ecx
test dl, dl
jns 0x5c0360dd
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, ecx
test eax, 0x100
je 0x5c0360f8
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0x144]
push eax
mov ecx, ebx
call fcn.5c01a3e0
pop ecx
mov eax, dword [esp + 0x98]
fld dword [esp + 0x48]
fstp dword [eax]
fld dword [esp + 0x5c]
fstp dword [eax + 4]
fld dword [esp + 0x3c]
fstp dword [eax + 8]
fld dword [esp + 0x2c]
fstp dword [eax + 0xc]
mov edi, dword [ebx + 0x1cd0]
add edi, eax
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x5c], edi
test al, 0x40
je 0x5c036145
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x5c], edi
test al, al
jns 0x5c036158
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x5c], edi
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c036680
mov ecx, dword [esp + 0x90]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c03640e
test ecx, ecx
jne 0x5c036677
test eax, 0x4010000
jne 0x5c0361e7
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c036680
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1f0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x18]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c0361b1
jmp 0x5c036680
test eax, 0x10000
jne 0x5c036280
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c036680
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x1ec]
mov dword [esp + 0x20], edx
mov dword [esp + 0xc], eax
test eax, eax
jne 0x5c036236
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c036258
push dword [esp + 0xc]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push ecx
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x20]
inc ecx
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c03620e
jmp 0x5c036680
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c036680
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c0362bc
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1ec]
jmp 0x5c0363a8
cmp eax, 0x20000
jne 0x5c0362cf
lea ecx, [esp + 0x144]
jmp 0x5c0363a8
cmp eax, 0x10000
jne 0x5c0362e2
lea ecx, [esp + 0x150]
jmp 0x5c0363a8
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03638e
lea esi, [esp + 0x144]
lea edi, [esp + 0x18c]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x18c]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c050908
fld dword [esp + 0x154]
fld dword [esp + 0x190]
fld dword [esp + 0x150]
fld dword [esp + 0x18c]
fld dword [esp + 0x158]
fld dword [esp + 0x194]
fld st(4)
mov edi, dword [esp + 0x5c]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x24]
fmul st(5)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld st(0)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1d4]
fld st(1)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1d8]
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x1dc]
jmp 0x5c0363a1
lea edx, [esp + 0x1d4]
lea ecx, [esp + 0x150]
call fcn.5c01a3b3
lea ecx, [esp + 0x1d4]
cmp dword [esi], 0
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
je 0x5c0363d5
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x30]
jmp 0x5c0363dd
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add esi, 0x20
add dword [esp + 0x10], 4
inc ecx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c0362a6
jmp 0x5c036680
test ecx, ecx
jne 0x5c036677
test eax, 0x4010000
jne 0x5c036435
push dword [ebx + 0x1a8c]
push dword [esp + 0x44]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c036680
test eax, 0x10000
jne 0x5c0364e5
mov edx, dword [esp + 0x40]
xor esi, esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c036680
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x20], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc], eax
test eax, eax
je 0x5c0364ad
mov eax, dword [esp + 0x14]
push dword [esp + 0xc]
shr ecx, 2
shr eax, 2
push edi
push edx
lea eax, [eax + ecx*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c0364b5
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x1c]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x24]
inc esi
mov eax, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c036464
jmp 0x5c036680
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c036680
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c03651d
mov ecx, dword [eax]
add ecx, dword [esp + 0x40]
jmp 0x5c03660f
cmp ecx, 0x20000
jne 0x5c036531
lea ecx, [esp + 0x144]
jmp 0x5c03660f
cmp ecx, 0x10000
jne 0x5c036545
lea ecx, [esp + 0x150]
jmp 0x5c03660f
test dword [ebx + 0x1a60], 0x1000000
je 0x5c0365f5
lea esi, [esp + 0x144]
lea edi, [esp + 0x198]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x198]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c050908
fld dword [esp + 0x154]
fld dword [esp + 0x19c]
fld dword [esp + 0x150]
fld dword [esp + 0x198]
fld dword [esp + 0x158]
fld dword [esp + 0x1a0]
fld st(4)
mov edi, dword [esp + 0x5c]
fmul st(6)
fld st(3)
mov eax, dword [esp + 0x24]
fmul st(5)
mov esi, dword [esp + 0x10]
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld st(0)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1e0]
fld st(1)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1e4]
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x1e8]
jmp 0x5c036608
lea edx, [esp + 0x1e0]
lea ecx, [esp + 0x150]
call fcn.5c01a3b3
lea ecx, [esp + 0x1e0]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0xc], esi
test edx, edx
je 0x5c036639
mov eax, dword [eax + 0x14]
push edx
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x18]
jmp 0x5c036641
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x24]
inc edx
add esi, 4
mov dword [esp + 0x5c], edi
add eax, 0x20
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c03650b
jmp 0x5c036680
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x98]
add eax, dword [ebx + 0x1a64]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x9c]
add edi, ecx
inc dword [esp + 0x7c]
mov esi, dword [esi + 0x2c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x38], esi
mov dword [esp + 0x4c], edi
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 0x1a60]
and eax, 0x8000000
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c036748
test eax, eax
je 0x5c036794
mov eax, dword [esp + 0x60]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov edx, dword [esp + 0x50]
add edx, dword [ebx + 0x1a94]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x64]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x6c], edx
test esi, esi
je 0x5c036744
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x1ec], eax
inc ecx
cmp ecx, esi
jb 0x5c036728
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0xb4]
cmp ecx, eax
jb 0x5c0367c7
add eax, 2
cmp ecx, eax
jb 0x5c0354d6
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x5c03688d
push eax
lea esi, [eax + 2]
mov ecx, ebx
push esi
push dword [esp + 0xa8]
push 5
pop edx
call fcn.5c0212f9
add esp, 0xc
mov edi, eax
add dword [ebx + 0x1a48], esi
jmp 0x5c036894
mov eax, dword [esp + 0x64]
add dword [esp + 0x60], ecx
add eax, ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x50]
add eax, ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x40]
add eax, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x1ec], eax
jmp 0x5c036748
mov dword [esp + 0x4c], edi
jmp 0x5c0350d8
fmul dword [ebx + 0x634]
fld dword [ebx + 0x63c]
fmul st(2)
mov esi, dword [esp + 0x38]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0xc]
fld dword [ebx + 0x638]
fmulp st(3)
fld dword [ebx + 0x640]
fmul st(2)
mov ecx, dword [esp + 0xc]
shr ecx, 1
and ecx, 0x40000000
faddp st(3)
fxch st(2)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x20]
fld st(1)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fsubrp st(1)
and eax, 0x8003ffff
or ecx, eax
shr ecx, 1
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
fld dword [esp + 0x2c]
and eax, 0x8001ffff
or ecx, eax
mov eax, dword [esp + 0x20]
shr ecx, 1
and eax, 0x8000ffff
or ecx, eax
shr ecx, 0x10
or edx, ecx
mov ecx, dword [esp + 0x80]
or dword [esp + 0x78], edx
or dword [esp + 0x34], 0x231
mov dword [ecx + 0x10], edx
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x5c], edi
jmp 0x5c033676
mov edx, dword [esp + 0x70]
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x5c]
jmp 0x5c0331ec
mov edi, dword [esp + 0xcc]
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x680], eax
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x684], eax
mov eax, dword [ebx + 0x1a48]
mov dword [ebx + 0x1a58], eax
mov eax, dword [ebx + 0x1a48]
sub eax, dword [esp + 0x54]
imul eax, dword [ebx + 0x1a64]
mov dword [ebx + 0x1a74], eax
test dword [ebx + 0x1a60], 0x100000
jne 0x5c0369f6
fld dword [ebx + 0x68c]
fadd dword [ebx + 0x1b24]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fst dword [esp + 0xb8]
fstp dword [ebx + 0x1b24]
fld dword [ebx + 0x1b28]
fadd dword [ebx + 0x68c]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fst dword [esp + 0xc]
fstp dword [ebx + 0x1b28]
fld dword [ebx + 0x1b1c]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fst dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fst dword [esp + 0xbc]
fstp dword [ebx + 0x1b20]
fld dword [ebx + 0x624]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c036979
fstp dword [ebx + 0x1b1c]
jmp 0x5c03697b
fstp st(0)
fld dword [ebx + 0x628]
fstp dword [esp + 0x54]
fld dword [esp + 0xbc]
fld dword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c0369a3
fstp dword [ebx + 0x1b20]
jmp 0x5c0369a5
fstp st(0)
fld dword [ebx + 0x62c]
fstp dword [esp + 0x54]
fld dword [esp + 0xb8]
fld dword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c0369cd
fstp dword [ebx + 0x1b24]
jmp 0x5c0369cf
fstp st(0)
fld dword [ebx + 0x630]
fstp dword [esp + 0x54]
fld dword [esp + 0xc]
fld dword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c0369f4
fstp dword [ebx + 0x1b28]
jmp 0x5c0369f6
fstp st(0)
mov eax, dword [ebx + 0x1b18]
mov ecx, dword [esp + 0xb0]
cmp ecx, dword [eax + 0x58]
je 0x5c036a1e
mov dword [eax + 0x58], ecx
mov eax, dword [ebx]
push ecx
push 0x16
mov esi, dword [eax]
mov ecx, esi
call dword [0x5c05e150]
mov ecx, ebx
call esi
and dword [ebx + 0x1a44], 0xffbfffff
mov eax, edi
mov ecx, dword [esp + 0x20c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.5c0501b0
mov esp, ebp
pop ebp
ret 4