Function at 0x5c032b80
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, 0x1c4
mov eax, dword [0x5c059aa4]
xor eax, esp
mov dword [esp + 0x1c0], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [esp + 0xc4], ebx
mov eax, dword [ebx + 0x1a44]
or eax, 0x400000
mov dword [ebx + 0x1a44], eax
test byte [0x5c05b7fc], 2
push ebx
je 0x5c032bde
call fcn.5c01d010
cmp dword [ebx + 0x684], 0
jne 0x5c032c31
mov ecx, ebx
call fcn.5c011281
jmp 0x5c03654f
test dword [ebx + 0x1a60], 0x80000
jne 0x5c032bc4
mov edx, dword [ebx + 0x1a70]
or eax, 0x200000
or dword [ebx + 0x225c], 0xffffffff
xor edi, edi
mov dword [esp + 0xa8], edx
mov dword [esp + 0x28], edi
mov dword [ebx + 0x1a44], eax
call fcn.5c01d010
mov eax, dword [ebx + 0x225c]
cmp eax, 0xffffffff
jne 0x5c032c38
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], edi
je 0x5c032bd2
xor eax, eax
jmp 0x5c03654f
mov ecx, dword [ebx + 0x1a48]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x54], ecx
cmp eax, 3
jbe 0x5c032c66
lea ecx, [eax - 2]
lea eax, [ecx - 2]
mov dword [esp + 0x78], ecx
mov edx, ecx
mov dword [esp + 0x7c], eax
mov ecx, ebx
call fcn.5c02b470
mov eax, dword [ebx + 0x1a70]
mov edx, dword [ebx + 0x1a60]
mov dword [esp + 0xbc], edi
mov dword [esp + 0x9c], eax
mov eax, dword [ebx + 0x1cd8]
mov dword [esp + 0xac], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov edi, dword [ebx + 0x1a78]
mov ecx, edi
mov dword [esp + 0xc0], eax
mov eax, dword [ebx + 0x1a54]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x1ac], ecx
mov ecx, 0x8000000
mov dword [esp + 0xb4], eax
mov eax, dword [ebx + 0x1a7c]
mov dword [esp + 0x94], edx
mov dword [esp + 0x38], edi
mov dword [esp + 0xa0], eax
test ecx, edx
jne 0x5c032d34
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 + 0x60], edx
cmp dword [ebx + 0x1a84], 0
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x68], ecx
je 0x5c032dbf
mov ecx, dword [ebx + 0x1cbc]
add ecx, edi
jmp 0x5c032d7d
mov eax, dword [ebx + 0x1a2c]
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 0x1a34]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 0x1a90]
mov dword [esp + 0x50], eax
mov dword [esp + 0x68], eax
test dl, 0x10
jne 0x5c032d8a
test dword [ebx + 0x1a44], ecx
jne 0x5c032d8a
cmp dword [ebx + 0x1a84], 0
je 0x5c032dbf
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x1ac], ecx
jmp 0x5c032dbf
mov esi, dword [ebx + 0x1a84]
xor ecx, ecx
test esi, esi
je 0x5c032dbf
lea edx, [ebx + 0x1a98]
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x1ac], eax
inc ecx
cmp ecx, esi
jb 0x5c032d9c
mov eax, dword [esp + 0x1ac]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 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 0x5c032f32
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 0x5c032f2c
mov edx, dword [ebx + 0x1a5c]
test dl, 0x40
je 0x5c032ea2
xor edi, edi
mov ecx, eax
cmp dword [ebx + 0x5f8], edi
jne 0x5c032e46
or ecx, 0x2200
lea esi, [esp + 0x64]
mov dword [ebx + 0x1a44], ecx
mov dword [esp + 0xac], esi
mov eax, ecx
cmp dword [ebx + 0x5f0], edi
jne 0x5c032e66
or eax, 0x4200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x88], ecx
cmp dword [ebx + 0x5ec], edi
jne 0x5c032e84
or eax, 0x10200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x98], ecx
cmp dword [ebx + 0x5f4], edi
jne 0x5c032ea2
or eax, 0x8200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x8c], ecx
test dl, dl
jns 0x5c032f2c
cmp dword [ebx + 0x5f8], 1
jne 0x5c032ec9
or eax, 0x2200
lea esi, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0xac], esi
cmp dword [ebx + 0x5f0], 1
jne 0x5c032ee8
or eax, 0x4200
lea ecx, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x88], ecx
cmp dword [ebx + 0x5ec], 1
jne 0x5c032f07
or eax, 0x10200
lea ecx, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x98], ecx
cmp dword [ebx + 0x5f4], 1
mov edi, dword [esp + 0x38]
jne 0x5c032f34
or eax, 0x8200
lea ecx, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x8c], ecx
jmp 0x5c032f34
mov edi, dword [esp + 0x38]
jmp 0x5c032f34
fstp st(0)
and dword [esp + 0x74], 0
and dword [esp + 0x80], 0
test dword [esp + 0x94], 0x80000
jne 0x5c032f56
or dword [esp + 0x80], 0xffffffff
mov eax, dword [ebx + 0x1b18]
push 2
pop esi
mov eax, dword [eax + 0x58]
mov dword [esp + 0xb8], eax
sub eax, 1
je 0x5c032f93
sub eax, 1
je 0x5c032f8e
sub eax, 1
jne 0x5c032f81
mov dword [esp + 0xa8], esi
jmp 0x5c032f9d
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xa8], ecx
jmp 0x5c032f9d
push 3
pop eax
jmp 0x5c032f96
xor eax, eax
inc eax
mov dword [esp + 0xa8], eax
and dword [esp + 0xd4], 0
lea eax, [ebx + 0x1cdc]
and dword [esp + 0xb0], 0
mov edx, edi
mov edi, dword [eax + 0x2c]
mov dword [esp + 0x84], edi
mov edi, eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], eax
push edi
mov ecx, ebx
call fcn.5c02b037
mov edx, dword [esp + 0x74]
add edx, dword [esp + 0xa4]
or dword [esp + 0x78], eax
and dword [esp + 0x84], eax
mov edi, dword [edi + 0x2c]
mov dword [esp + 0x74], edx
pop ecx
sub esi, 1
jne 0x5c032fc9
cmp dword [ebx + 0x225c], 3
fld1
fstp qword [esp + 0xc8]
fldz
fstp qword [esp + 0xd8]
fld qword [0x5c003180]
mov dword [esp + 0x90], edi
mov edi, dword [esp + 0x84]
fstp qword [esp + 0xe0]
jbe 0x5c033047
and dword [ebx + 0x1cec], esi
and dword [edi + 0x10], esi
and dword [esp + 0x80], esi
mov dword [esp + 0x24], 0x231
jmp 0x5c034d16
mov ecx, dword [ebx + 0x1cec]
mov eax, ecx
or eax, dword [edi + 0x10]
and ecx, dword [edi + 0x10]
or dword [esp + 0x74], eax
and dword [esp + 0x80], 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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x40]
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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x44]
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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x48]
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 + 0x28]
fxch st(2)
fst dword [esp + 0x1c]
fst dword [esp + 0x18]
fxch st(1)
fst dword [esp + 0x14]
fst dword [esp + 0x20]
fxch st(2)
fst dword [esp + 0x2c]
fst dword [esp + 0x4c]
test ecx, ecx
je 0x5c033332
fld dword [esp + 0x58]
xor edx, edx
fst dword [esp + 0x4c]
fld dword [esp + 0x28]
fstp dword [esp + 0x14]
fst dword [esp + 0x40]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x28]
fxch st(2)
fst dword [esp + 0x30]
fxch st(3)
fst dword [esp + 0x34]
fxch st(1)
fst dword [esp + 0x2c]
fxch st(2)
fst dword [esp + 0x20]
fst dword [esp + 0x1c]
fstp dword [esp + 0x18]
test ecx, ecx
je 0x5c0332a3
mov esi, dword [esp + 0x70]
lea eax, [ebx + 0x224]
fxch st(2)
fstp dword [esp + 0x30]
fxch st(1)
fstp dword [esp + 0x34]
fstp dword [esp + 0x2c]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x40]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x40]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x44]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x10]
fstp dword [esp + 0x44]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x48]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x18]
fstp dword [esp + 0x48]
fld dword [esp + 0x14]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
fadd dword [esp + 0x4c]
fstp dword [esp + 0x4c]
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 + 0x30]
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 + 0x34]
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 + 0x2c]
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 + 0x14]
cmp edx, ecx
jb 0x5c0331a8
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x1c]
fstp dword [esp + 0x20]
fld dword [esp + 0x10]
fstp dword [esp + 0x1c]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
jmp 0x5c0332af
fstp st(2)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x4c]
fsubr qword [esp + 0xc8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x40]
fld dword [esp + 0x34]
fmul st(2)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x44]
fld dword [esp + 0x2c]
fmul st(3)
fadd dword [esp + 0x18]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x48]
fld dword [esp + 0x14]
fmulp st(4)
fld dword [esp + 0x28]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x28]
fxch st(1)
fst dword [esp + 0x1c]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x20]
fst dword [esp + 0x2c]
fstp dword [esp + 0x4c]
jmp 0x5c03333e
fstp st(1)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x28]
fst dword [esp + 0x28]
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
fld st(2)
fsubrp st(1)
shr eax, 1
mov esi, dword [ebx + 0x1cb8]
fstp dword [esp + 0x10]
fld dword [esp + 0x20]
fld dword [esp + 0x14]
mov edx, dword [esp + 0x10]
fld st(3)
fsubrp st(1)
and edx, 0xbfffffff
or edx, eax
shr edx, 1
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
fld dword [esp + 0x4c]
and eax, 0x9fffffff
fld dword [esp + 0x2c]
or edx, eax
mov eax, dword [esp + 0x44]
fld st(4)
shr edx, 1
fsubrp st(1)
and eax, 0x8fffffff
or edx, eax
mov eax, dword [esp + 0x48]
shr edx, 1
and eax, 0x87ffffff
or edx, eax
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
shr edx, 1
and eax, 0x83ffffff
or edx, eax
shr edx, 0x1a
test esi, esi
je 0x5c033410
fld qword [esp + 0xd8]
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 0x5c0333fd
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c0333d9
mov edi, dword [esp + 0x84]
fstp st(1)
test byte [ebx + 0x1a60], 2
fstp st(0)
je 0x5c0334a7
fld dword [ebx + 0x63c]
fmul st(3)
fld dword [ebx + 0x634]
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fld dword [ebx + 0x638]
fmulp st(2)
fld dword [ebx + 0x640]
fmul st(3)
mov ecx, dword [esp + 0x10]
shr ecx, 1
and ecx, 0x40000000
faddp st(2)
fxch st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x20]
fld st(2)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
fsubp st(1)
and eax, 0x8003ffff
or ecx, eax
shr ecx, 1
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
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 0x5c0334ad
fstp st(1)
fstp st(1)
fstp st(0)
mov eax, dword [esp + 0x90]
fld dword [esp + 0x40]
or dword [esp + 0x74], edx
and dword [esp + 0x80], edx
mov esi, dword [esp + 0x6c]
fst dword [esp + 0x40]
fstp dword [eax]
fld dword [esp + 0x44]
fst dword [esp + 0x44]
fstp dword [eax + 4]
fld dword [esp + 0x48]
fst dword [esp + 0x48]
fstp dword [eax + 8]
fld dword [esp + 0x28]
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 0x5c033517
or edx, dword [esi + 0x10]
or edx, ecx
and edx, dword [esp + 0xc0]
neg edx
sbb edx, edx
and edx, 0xffffe421
add edx, 0x4421
jmp 0x5c03351c
mov edx, 0x1000
or dword [esp + 0x24], edx
mov edx, dword [ebx + 0x1a60]
mov eax, dword [ebx + 0x1cd8]
test dword [esi + 0x10], eax
jne 0x5c033641
fstp st(0)
fld dword [esi + 0xc]
fdivr qword [esp + 0xc8]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fst dword [esp + 0x28]
fld st(0)
fld dword [esi]
fmul st(1)
fmul dword [ebx + 0x5fc]
fadd dword [ebx + 0x604]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fst dword [esp + 0x40]
fld dword [esi + 4]
fmul st(2)
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x44]
fld dword [esp + 0x40]
fst dword [esp + 0x40]
fld dword [esp + 0x44]
fst dword [esp + 0x44]
test edx, 0x100000
jne 0x5c03361e
fld dword [esp + 0x18]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c0335cb
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 0x5c0335e4
fstp dword [ebx + 0x1b24]
jmp 0x5c0335e6
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c033607
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c033622
fstp dword [ebx + 0x1b28]
jmp 0x5c033624
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esi + 8]
fmul dword [ebx + 0x60c]
fmulp st(1)
fadd dword [ebx + 0x610]
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
test cl, 3
je 0x5c03415e
and dword [ebx + 0x5b8], 0
xor ecx, ecx
fstp st(0)
test edx, 0x20000000
je 0x5c0338c1
mov eax, dword [esp + 0x38]
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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x14c]
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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x150]
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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x154]
test esi, esi
je 0x5c0338b8
fld dword [esp + 0x58]
xor edi, edi
fst dword [esp + 0x14]
fst dword [esp + 0x14c]
fst dword [esp + 0x150]
fst dword [esp + 0x154]
fld dword [esp + 0x10]
fst dword [esp + 0x2c]
fld dword [esp + 0x18]
fst dword [esp + 0x34]
fld dword [esp + 0x1c]
fst dword [esp + 0x30]
fxch st(3)
fst dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x20]
test esi, esi
je 0x5c03386e
mov ecx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x2c]
fstp dword [esp + 0x34]
fstp dword [esp + 0x30]
fld dword [ecx + edi*4 + 0xc]
inc edi
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x14c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x14c]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x150]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x150]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x154]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x154]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [ecx + 4]
fld dword [ecx]
fld dword [ecx + 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 + 0x2c]
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 + 0x34]
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 + 0x30]
cmp edi, esi
jb 0x5c033781
fld dword [esp + 0x18]
mov ecx, dword [ebx + 0x5b8]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fstp dword [esp + 0x20]
jmp 0x5c033874
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fsubr qword [esp + 0xc8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x14c]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x150]
fmul dword [esp + 0x30]
fadd dword [esp + 0x20]
fstp dword [esp + 0x154]
or ecx, 1
mov dword [ebx + 0x5b8], ecx
test edx, 0x40000000
je 0x5c033b2d
mov eax, dword [esp + 0x5c]
fld dword [ebx + 0x488]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x484]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x158]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
fld dword [ebx + 0x494]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x15c]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
fld dword [ebx + 0x4a4]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x160]
test ecx, ecx
je 0x5c033b0a
fld dword [esp + 0x58]
xor esi, esi
fst dword [esp + 0x14]
fst dword [esp + 0x158]
fst dword [esp + 0x15c]
fst dword [esp + 0x160]
fld dword [esp + 0x10]
fst dword [esp + 0x2c]
fld dword [esp + 0x18]
fst dword [esp + 0x34]
fld dword [esp + 0x1c]
fst dword [esp + 0x30]
fxch st(3)
fst dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x20]
test ecx, ecx
je 0x5c033ac0
mov edi, dword [esp + 0x38]
lea eax, [ebx + 0x38c]
mov ebx, dword [esp + 0x5c]
fxch st(1)
fstp dword [esp + 0x2c]
fstp dword [esp + 0x34]
fstp dword [esp + 0x30]
fld dword [edi + esi*4 + 0xc]
inc esi
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x158]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x158]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x15c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x15c]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x160]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x160]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
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 + 0x2c]
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 + 0x34]
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 + 0x30]
cmp esi, ecx
jb 0x5c0339db
fld dword [esp + 0x18]
mov ebx, dword [esp + 0xc4]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fstp dword [esp + 0x20]
jmp 0x5c033ac6
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fsubr qword [esp + 0xc8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x158]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x15c]
fmul dword [esp + 0x30]
fadd dword [esp + 0x20]
fstp dword [esp + 0x160]
test edx, 0x2000000
je 0x5c033b20
lea edx, [esp + 0x158]
mov ecx, edx
call fcn.5c04ff08
or dword [ebx + 0x5b8], 2
mov ecx, dword [ebx + 0x5b8]
mov edx, dword [ebx + 0x1a44]
test edx, 0x400
je 0x5c034109
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 edx, 0x200
je 0x5c033bd2
test edx, 0x10000
je 0x5c033b90
mov eax, dword [esp + 0x98]
test eax, eax
je 0x5c033b88
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c033b8a
xor eax, eax
mov dword [ebx + 0x540], eax
test edx, 0x4000
je 0x5c033bb1
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c033ba9
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c033bab
xor eax, eax
mov dword [ebx + 0x550], eax
test edx, 0x8000
je 0x5c033bd2
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c033bca
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c033bcc
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, edx
test edi, edi
je 0x5c033c1e
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x14c]
push eax
push dword [esp + 0x60]
mov ecx, esi
push dword [esp + 0x40]
push edi
push ebx
call dword [0x5c05d150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c033be0
mov edx, dword [ebx + 0x1a44]
mov esi, edx
mov ecx, dword [ebx + 0x5b8]
fld dword [esp + 0x58]
test edx, 0x12000
je 0x5c033e6f
test byte [ebx + 0x5b8], 8
jne 0x5c033c47
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c033c49
fstp st(0)
test edx, 0x10000
je 0x5c033d10
mov eax, dword [esp + 0x98]
test eax, eax
je 0x5c033c66
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c033c68
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
test eax, eax
jns 0x5c033c82
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c033cb6
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c033ce5
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x1ac]
mov edi, dword [esp + 0x68]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov dword [esp + 0x50], edi
jmp 0x5c033d50
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 0x5c033e15
mov eax, dword [esp + 0xac]
test eax, eax
je 0x5c033d7d
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c033d7f
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
test eax, eax
jns 0x5c033d99
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c033dc7
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c033df0
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x1ac]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov dword [esp + 0x50], edi
jmp 0x5c033e4e
fld dword [ebx + 0x5a4]
fld qword [esp + 0xe0]
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c033e75
mov edi, dword [esp + 0x50]
fstp st(0)
test cl, 8
je 0x5c033fa6
test esi, 0x12000
jne 0x5c033ec6
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
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 0x5c033ecc
fld dword [ebx + 0x504]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xe8]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0xe8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xf0]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0xf0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xf8]
mov esi, dword [esp + 0xf8]
mov eax, 0xff
test ecx, ecx
jns 0x5c033f2f
xor ecx, ecx
jmp 0x5c033f35
cmp ecx, eax
jle 0x5c033f35
mov ecx, eax
test edx, edx
jns 0x5c033f3d
xor edx, edx
jmp 0x5c033f43
cmp edx, eax
jle 0x5c033f43
mov edx, eax
test esi, esi
jns 0x5c033f4b
xor esi, esi
jmp 0x5c033f51
cmp esi, eax
jle 0x5c033f51
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c033f6d
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c033f8f
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c033f7e
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c033f80
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [esi + ecx]
mov dword [ebx + 0x530], eax
mov ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c033fe3
test esi, 0x4000
jne 0x5c033fbc
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c033fdd
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c033fd3
mov eax, dword [eax]
mov edx, dword [eax]
and edx, 0xff000000
jmp 0x5c033fd5
xor edx, edx
mov eax, dword [ebx + 0x5e8]
add eax, edx
mov dword [ebx + 0x530], eax
test cl, 4
je 0x5c0340b2
fld dword [ebx + 0x524]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x100]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0x100]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x108]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0x108]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x110]
mov esi, dword [esp + 0x110]
mov eax, 0xff
test ecx, ecx
jns 0x5c03404d
xor ecx, ecx
jmp 0x5c034053
cmp ecx, eax
jle 0x5c034053
mov ecx, eax
test edx, edx
jns 0x5c03405b
xor edx, edx
jmp 0x5c034061
cmp edx, eax
jle 0x5c034061
mov edx, eax
test esi, esi
jns 0x5c034069
xor esi, esi
jmp 0x5c03406f
cmp esi, eax
jle 0x5c03406f
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c03408b
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c0340ad
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c03409c
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03409e
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [esi + ecx]
jmp 0x5c0340fb
test esi, 0x100000
jne 0x5c034101
test dword [ebx + 0x1a60], 0x800
jne 0x5c0340d3
test byte [ebx + 0x1a5c], 0x80
je 0x5c0340f9
mov eax, dword [edi]
jmp 0x5c0340fb
test esi, 0x8000
jne 0x5c0340e3
mov eax, dword [ebx + 0x5bc]
jmp 0x5c0340fb
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c0340f9
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c0340fb
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
jmp 0x5c03413b
mov ecx, dword [ebx + 0x1a5c]
mov eax, edx
test cl, 0xc0
je 0x5c03413b
test cl, 0x40
je 0x5c034127
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
mov eax, edx
test cl, cl
jns 0x5c03413b
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, edx
test eax, 0x100
je 0x5c034156
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x14c]
push eax
mov ecx, ebx
call fcn.5c01a55e
pop ecx
mov ecx, dword [esp + 0x24]
fld dword [esp + 0x28]
test cl, 1
je 0x5c0345e3
mov eax, dword [esp + 0x9c]
fld dword [esp + 0x40]
fstp dword [eax]
fld dword [esp + 0x44]
fstp dword [eax + 4]
fld dword [esp + 0x48]
fstp dword [eax + 8]
fst dword [eax + 0xc]
mov edi, dword [ebx + 0x1cd0]
add edi, eax
mov eax, dword [ebx + 0x1a6c]
test al, 0x40
je 0x5c0341a8
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
test al, al
jns 0x5c0341b7
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c0345cf
mov ecx, dword [esp + 0x94]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c0343e8
test ecx, ecx
jne 0x5c0345c2
test eax, 0x4010000
jne 0x5c03424c
xor eax, eax
mov dword [esp + 0x18], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c0345cb
lea ecx, [ebx + 0x1ad8]
fstp st(0)
mov dword [esp + 0x1c], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1b0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [esp + 0x1c]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c034212
fld dword [esp + 0x28]
jmp 0x5c0345cb
test eax, 0x10000
jne 0x5c0342e7
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c0345cb
lea eax, [ebx + 0x1af8]
fstp st(0)
mov dword [esp + 0x1c], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x1ac]
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c03429d
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c0342bf
push dword [esp + 0x10]
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 [0x5c05d150]
call esi
mov ecx, dword [esp + 0x24]
add esp, 0xc
add edi, dword [esp + 0x20]
inc ecx
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c034275
jmp 0x5c034243
and dword [esp + 0x18], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c0345cb
lea eax, [ebx + 0x1ad8]
fstp st(0)
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c034322
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1ac]
jmp 0x5c034386
cmp eax, 0x20000
jne 0x5c034332
lea ecx, [esp + 0x14c]
jmp 0x5c034386
cmp eax, 0x10000
jne 0x5c034342
lea ecx, [esp + 0x158]
jmp 0x5c034386
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03436c
lea eax, [esp + 0x164]
push eax
lea edx, [esp + 0x15c]
lea ecx, [esp + 0x150]
call fcn.5c01a4a7
pop ecx
jmp 0x5c03437f
lea edx, [esp + 0x164]
lea ecx, [esp + 0x158]
call fcn.5c01a531
lea ecx, [esp + 0x164]
cmp dword [esi], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c0343b3
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c0343bb
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x24]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x14], 4
inc ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03430f
jmp 0x5c034243
test ecx, ecx
jne 0x5c0345c2
test eax, 0x4010000
jne 0x5c034411
push dword [ebx + 0x1a8c]
fstp st(0)
push dword [esp + 0x40]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c034243
test eax, 0x10000
jne 0x5c0344c3
mov edx, dword [esp + 0x3c]
xor esi, esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c0345cb
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 + 0x18], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c03448b
mov eax, dword [esp + 0x18]
push dword [esp + 0x10]
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 [0x5c05d150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c034493
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add esp, 0xc
add edx, dword [esp + 0x18]
add edi, dword [esp + 0x4c]
inc esi
mov eax, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c034442
jmp 0x5c034243
and dword [esp + 0x18], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c0345cb
lea eax, [ebx + 0x1ad8]
fstp st(0)
lea esi, [ebx + 0x1b30]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x5c0344fa
mov ecx, dword [esi]
add ecx, dword [esp + 0x3c]
jmp 0x5c03455e
cmp eax, 0x20000
jne 0x5c03450a
lea ecx, [esp + 0x14c]
jmp 0x5c03455e
cmp eax, 0x10000
jne 0x5c03451a
lea ecx, [esp + 0x158]
jmp 0x5c03455e
test dword [ebx + 0x1a60], 0x1000000
je 0x5c034544
lea eax, [esp + 0x170]
push eax
lea edx, [esp + 0x15c]
lea ecx, [esp + 0x150]
call fcn.5c01a4a7
pop ecx
jmp 0x5c034557
lea edx, [esp + 0x170]
lea ecx, [esp + 0x158]
call fcn.5c01a531
lea ecx, [esp + 0x170]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03458d
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c034595
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x24]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x14], 4
inc ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c0344eb
jmp 0x5c034243
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [edi + 4]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x9c]
add eax, dword [ebx + 0x1a64]
mov dword [esp + 0x9c], eax
test cl, 2
je 0x5c034a41
mov edx, dword [esp + 0x6c]
mov eax, dword [ebx + 0x1cd8]
test dword [edx + 0x10], eax
jne 0x5c034615
fld dword [esp + 0x40]
fstp dword [edx + 0x1c]
fld dword [esp + 0x44]
fstp dword [edx + 0x20]
fld dword [esp + 0x48]
fstp dword [edx + 0x24]
fstp dword [edx + 0x28]
jmp 0x5c034617
fstp st(0)
mov eax, dword [ebx + 0x530]
mov dword [edx + 0x14], eax
mov eax, dword [ebx + 0x560]
mov dword [edx + 0x18], eax
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c034a43
mov ecx, dword [esp + 0x94]
lea edi, [edx + 0x30]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c034861
test ecx, ecx
jne 0x5c034853
test eax, 0x4010000
jne 0x5c0346bb
xor eax, eax
mov dword [esp + 0x18], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c034a30
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x1c], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1b0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [esp + 0x1c]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c034685
jmp 0x5c034a30
test eax, 0x10000
jne 0x5c034754
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c034a30
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x1c], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x1ac]
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c03470a
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03472c
push dword [esp + 0x10]
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 [0x5c05d150]
call esi
mov ecx, dword [esp + 0x24]
add esp, 0xc
add edi, dword [esp + 0x20]
inc ecx
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c0346e2
jmp 0x5c034a30
and dword [esp + 0x18], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c034a30
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c03478d
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1ac]
jmp 0x5c0347f1
cmp eax, 0x20000
jne 0x5c03479d
lea ecx, [esp + 0x14c]
jmp 0x5c0347f1
cmp eax, 0x10000
jne 0x5c0347ad
lea ecx, [esp + 0x158]
jmp 0x5c0347f1
test dword [ebx + 0x1a60], 0x1000000
je 0x5c0347d7
lea eax, [esp + 0x17c]
push eax
lea edx, [esp + 0x15c]
lea ecx, [esp + 0x150]
call fcn.5c01a4a7
pop ecx
jmp 0x5c0347ea
lea edx, [esp + 0x17c]
lea ecx, [esp + 0x158]
call fcn.5c01a531
lea ecx, [esp + 0x17c]
cmp dword [esi], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03481e
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c034826
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x24]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x14], 4
inc ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03477a
jmp 0x5c034a30
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [edi + 4]
jmp 0x5c034a30
test ecx, ecx
jne 0x5c034a36
test eax, 0x4010000
jne 0x5c034888
push dword [ebx + 0x1a8c]
push dword [esp + 0x40]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c034a30
test eax, 0x10000
jne 0x5c034938
mov edx, dword [esp + 0x3c]
xor esi, esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c034a30
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 + 0x18], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c034900
mov eax, dword [esp + 0x18]
push dword [esp + 0x10]
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 [0x5c05d150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c034908
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add esp, 0xc
add edx, dword [esp + 0x18]
add edi, dword [esp + 0x4c]
inc esi
mov eax, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c0348b7
jmp 0x5c034a30
and dword [esp + 0x18], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c034a30
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b30]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x5c03496d
mov ecx, dword [esi]
add ecx, dword [esp + 0x3c]
jmp 0x5c0349d1
cmp eax, 0x20000
jne 0x5c03497d
lea ecx, [esp + 0x14c]
jmp 0x5c0349d1
cmp eax, 0x10000
jne 0x5c03498d
lea ecx, [esp + 0x158]
jmp 0x5c0349d1
test dword [ebx + 0x1a60], 0x1000000
je 0x5c0349b7
lea eax, [esp + 0x188]
push eax
lea edx, [esp + 0x15c]
lea ecx, [esp + 0x150]
call fcn.5c01a4a7
pop ecx
jmp 0x5c0349ca
lea edx, [esp + 0x188]
lea ecx, [esp + 0x158]
call fcn.5c01a531
lea ecx, [esp + 0x188]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c034a00
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c034a08
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x24]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x14], 4
inc ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03495e
mov ecx, dword [esp + 0x24]
jmp 0x5c034a43
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [edx + 0x34]
jmp 0x5c034a30
fstp st(0)
mov esi, dword [esp + 0x7c]
test cl, 0x10
je 0x5c034aa8
inc esi
mov dword [esp + 0x7c], esi
cmp esi, 1
jne 0x5c034bac
test byte [esp + 0x78], 1
mov eax, dword [ebx + 0x1b18]
je 0x5c034a7d
mov ecx, dword [esp + 0xa8]
cmp ecx, dword [eax + 0x58]
je 0x5c034bac
mov dword [eax + 0x58], ecx
push ecx
jmp 0x5c034a91
mov esi, dword [esp + 0xb8]
cmp esi, dword [eax + 0x58]
je 0x5c034bac
mov dword [eax + 0x58], esi
push esi
mov eax, dword [ebx]
push 0x16
mov esi, dword [eax]
mov ecx, esi
call dword [0x5c05d150]
mov ecx, ebx
call esi
jmp 0x5c034bac
test esi, esi
jle 0x5c034b46
mov eax, dword [esp + 0xa4]
lea edi, [esi + 2]
mov dword [ebx + 0x1a70], eax
mov dword [ebx + 0x1a3c], 5
mov dword [ebx + 0x1a40], edi
mov dword [ebx + 0x1a54], esi
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5c05d150]
mov ecx, ebx
call esi
mov ecx, eax
mov dword [esp + 0xbc], ecx
test ecx, ecx
jne 0x5c036264
mov edx, dword [ebx + 0x1a64]
mov eax, edx
mov ecx, dword [ebx + 0x1a48]
mov esi, dword [esp + 0xa4]
add ecx, edi
and dword [esp + 0x7c], 0
imul eax, edi
mov dword [ebx + 0x1a48], ecx
add esi, eax
test dword [esp + 0x24], 0x200
mov dword [esp + 0xa4], esi
je 0x5c034b42
lea eax, [ecx - 1]
sub esi, edx
mov dword [ebx + 0x1a48], eax
mov dword [esp + 0xa4], esi
mov ecx, dword [esp + 0x24]
test cl, 8
je 0x5c034bac
mov eax, dword [ebx + 0x1b18]
mov esi, dword [esp + 0xb8]
cmp esi, dword [eax + 0x58]
je 0x5c034b73
mov dword [eax + 0x58], esi
mov eax, dword [ebx]
push esi
push 0x16
mov esi, dword [eax]
mov ecx, esi
call dword [0x5c05d150]
mov ecx, ebx
call esi
test byte [esp + 0x78], 1
je 0x5c034b87
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xb0]
jmp 0x5c034b92
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xd4]
push ecx
push eax
mov ecx, ebx
call fcn.5c021546
pop ecx
pop ecx
test eax, eax
jne 0x5c036264
mov ecx, dword [esp + 0x38]
mov eax, dword [ebx + 0x1a44]
mov esi, dword [esp + 0xa0]
and eax, 0x40000000
mov edx, dword [ebx + 0x1a60]
add ecx, esi
mov dword [esp + 0x38], ecx
mov edi, ecx
test edx, 0x8000000
je 0x5c034c4f
test eax, eax
jne 0x5c034c47
mov eax, dword [esp + 0x5c]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x60]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x50]
add eax, dword [ebx + 0x1a94]
mov dword [esp + 0x50], eax
mov dword [esp + 0x68], eax
test esi, esi
je 0x5c034c3c
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x1ac], eax
inc ecx
cmp ecx, esi
jb 0x5c034c20
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x3c], eax
mov esi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x38]
mov edx, dword [ebx + 0x1a60]
jmp 0x5c034c84
test eax, eax
jne 0x5c034c84
mov eax, dword [esp + 0x60]
add dword [esp + 0x5c], esi
add eax, esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x50]
add eax, esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
add eax, esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0xb0]
add dword [esp + 0x70], esi
mov esi, dword [esp + 0x84]
shr dword [esp + 0x24], 5
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x84], eax
mov dword [esp + 0x6c], esi
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0xb4]
jb 0x5c034cf8
mov eax, dword [esp + 0xb4]
add eax, 2
cmp dword [esp + 0x78], eax
jae 0x5c036264
fld dword [esp + 0x28]
jmp 0x5c033526
cmp dword [esp + 0x74], 0
jne 0x5c036485
cmp dword [esp + 0x7c], 1
mov dword [esp + 0x38], ecx
jne 0x5c036485
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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x40]
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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x44]
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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x48]
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 + 0x28]
fxch st(2)
fst dword [esp + 0x1c]
fst dword [esp + 0x18]
fxch st(1)
fst dword [esp + 0x14]
fst dword [esp + 0x20]
fxch st(2)
fst dword [esp + 0x2c]
fst dword [esp + 0x4c]
test ecx, ecx
je 0x5c034fe8
fld dword [esp + 0x58]
xor edx, edx
fst dword [esp + 0x14]
fld dword [esp + 0x28]
fstp dword [esp + 0x4c]
fst dword [esp + 0x40]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x28]
fxch st(2)
fst dword [esp + 0x2c]
fxch st(3)
fst dword [esp + 0x34]
fxch st(1)
fst dword [esp + 0x30]
fxch st(2)
fst dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x20]
test ecx, ecx
je 0x5c034f59
mov esi, dword [esp + 0x70]
lea eax, [ebx + 0x224]
fxch st(2)
fstp dword [esp + 0x2c]
fxch st(1)
fstp dword [esp + 0x34]
fstp dword [esp + 0x30]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x40]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x40]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x44]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x44]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x48]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x48]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
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 + 0x2c]
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 + 0x34]
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 + 0x30]
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 + 0x4c]
cmp edx, ecx
jb 0x5c034e5e
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fstp dword [esp + 0x20]
jmp 0x5c034f65
fstp st(2)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fsubr qword [esp + 0xc8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x40]
fld dword [esp + 0x34]
fmul st(2)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x44]
fld dword [esp + 0x30]
fmul st(3)
fadd dword [esp + 0x20]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x48]
fld dword [esp + 0x4c]
fmulp st(4)
fld dword [esp + 0x28]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x28]
fxch st(1)
fst dword [esp + 0x1c]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x20]
fst dword [esp + 0x2c]
fstp dword [esp + 0x4c]
jmp 0x5c034ff4
fstp st(1)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x28]
fst dword [esp + 0x28]
fld st(0)
mov eax, dword [esp + 0x40]
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fld st(2)
shr eax, 1
fsubrp st(1)
mov esi, dword [ebx + 0x1cb8]
fstp dword [esp + 0x10]
fld dword [esp + 0x20]
fld dword [esp + 0x14]
mov edx, dword [esp + 0x10]
fld st(3)
fsubrp st(1)
and edx, 0xbfffffff
or edx, eax
shr edx, 1
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
fld dword [esp + 0x4c]
and eax, 0x9fffffff
fld dword [esp + 0x2c]
or edx, eax
mov eax, dword [esp + 0x44]
fld st(4)
shr edx, 1
fsubrp st(1)
and eax, 0x8fffffff
or edx, eax
mov eax, dword [esp + 0x48]
shr edx, 1
and eax, 0x87ffffff
or edx, eax
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
shr edx, 1
and eax, 0x83ffffff
or edx, eax
shr edx, 0x1a
test esi, esi
je 0x5c0350bd
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 + 0xd8]
fnstsw ax
test ah, 5
jp 0x5c0350b3
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c03508a
mov esi, dword [esp + 0x90]
fstp st(0)
fld dword [esp + 0x40]
fst dword [esp + 0x40]
and dword [esi + 0x10], 0
fstp dword [esi]
fld dword [esp + 0x44]
fst dword [esp + 0x44]
fstp dword [esi + 4]
fld dword [esp + 0x48]
fst dword [esp + 0x48]
fstp dword [esi + 8]
fxch st(3)
fstp dword [esi + 0xc]
test edx, edx
jne 0x5c0363db
mov eax, dword [esp + 0xa0]
fstp st(0)
add dword [esp + 0x70], eax
fstp st(0)
mov esi, dword [esp + 0x6c]
fstp st(0)
fld dword [esi + 0xc]
fld qword [esp + 0xc8]
fld st(0)
inc dword [esp + 0x7c]
fdivrp st(2)
fxch st(1)
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fst dword [esp + 0x28]
fld dword [esi]
fmul st(1)
fmul dword [ebx + 0x5fc]
fadd dword [ebx + 0x604]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fst dword [esp + 0x40]
fld dword [esi + 4]
fmul st(2)
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x44]
fld dword [esp + 0x40]
fst dword [esp + 0x4c]
fld dword [esp + 0x44]
fst dword [esp + 0x84]
test edi, 0x100000
jne 0x5c035204
fld dword [esp + 0x18]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c0351b1
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 0x5c0351ca
fstp dword [ebx + 0x1b24]
jmp 0x5c0351cc
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c0351ed
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c035208
fstp dword [ebx + 0x1b28]
jmp 0x5c03520a
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esi + 8]
xor ecx, ecx
fmul dword [ebx + 0x60c]
and dword [ebx + 0x5b8], 0
fmulp st(1)
fadd dword [ebx + 0x610]
fstp dword [esp + 0x48]
test edi, 0x20000000
je 0x5c03548d
mov eax, dword [esp + 0x38]
fld dword [ebx + 0x444]
mov edx, 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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x14c]
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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x150]
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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x154]
test edx, edx
je 0x5c035484
fld dword [esp + 0x58]
xor esi, esi
fst dword [esp + 0x14]
fst dword [esp + 0x14c]
fst dword [esp + 0x150]
fst dword [esp + 0x154]
fld dword [esp + 0x10]
fst dword [esp + 0x2c]
fld dword [esp + 0x18]
fst dword [esp + 0x34]
fld dword [esp + 0x1c]
fst dword [esp + 0x30]
fxch st(3)
fst dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x20]
test edx, edx
je 0x5c03543d
mov ecx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x2c]
fstp dword [esp + 0x34]
fstp dword [esp + 0x30]
fld dword [ecx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x14c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x14c]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x150]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x150]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x154]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x154]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [ecx + 4]
fld dword [ecx]
fld dword [ecx + 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 + 0x2c]
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 + 0x34]
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 + 0x30]
cmp esi, edx
jb 0x5c035350
fld dword [esp + 0x18]
mov ecx, dword [ebx + 0x5b8]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fstp dword [esp + 0x20]
jmp 0x5c035443
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x14c]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x150]
fmul dword [esp + 0x30]
fadd dword [esp + 0x20]
fstp dword [esp + 0x154]
or ecx, 1
mov dword [ebx + 0x5b8], ecx
test edi, 0x40000000
je 0x5c0356f7
mov eax, dword [esp + 0x5c]
fld dword [ebx + 0x488]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x484]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x158]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
fld dword [ebx + 0x494]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x15c]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
fld dword [ebx + 0x4a4]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x160]
test ecx, ecx
je 0x5c0356d0
fld dword [esp + 0x58]
xor edx, edx
fst dword [esp + 0x14]
fst dword [esp + 0x158]
fst dword [esp + 0x15c]
fst dword [esp + 0x160]
fld dword [esp + 0x10]
fst dword [esp + 0x2c]
fld dword [esp + 0x18]
fst dword [esp + 0x34]
fld dword [esp + 0x1c]
fst dword [esp + 0x30]
fxch st(3)
fst dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x20]
test ecx, ecx
je 0x5c03568b
mov esi, dword [esp + 0x38]
lea eax, [ebx + 0x38c]
mov edi, dword [esp + 0x5c]
fxch st(1)
fstp dword [esp + 0x2c]
fstp dword [esp + 0x34]
fstp dword [esp + 0x30]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x158]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x158]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x15c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x15c]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x160]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x160]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [edi + 4]
fld dword [edi]
fld dword [edi + 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 + 0x2c]
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 + 0x34]
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 + 0x30]
cmp edx, ecx
jb 0x5c0355a7
fld dword [esp + 0x18]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fstp dword [esp + 0x20]
jmp 0x5c035691
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x158]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x15c]
fmul dword [esp + 0x30]
fadd dword [esp + 0x20]
fstp dword [esp + 0x160]
jmp 0x5c0356d2
fstp st(0)
test edi, 0x2000000
je 0x5c0356e8
lea edx, [esp + 0x158]
mov ecx, edx
call fcn.5c067c51
or dword [ebx + 0x5b8], 2
mov ecx, dword [ebx + 0x5b8]
jmp 0x5c0356f9
fstp st(0)
mov edx, dword [ebx + 0x1a44]
test edx, 0x400
je 0x5c035cd5
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 edx, 0x200
je 0x5c03579e
test edx, 0x10000
je 0x5c03575c
mov eax, dword [esp + 0x98]
test eax, eax
je 0x5c035754
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c035756
xor eax, eax
mov dword [ebx + 0x540], eax
test edx, 0x4000
je 0x5c03577d
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c035775
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c035777
xor eax, eax
mov dword [ebx + 0x550], eax
test edx, 0x8000
je 0x5c03579e
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c035796
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c035798
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, edx
test edi, edi
je 0x5c0357ea
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x14c]
push eax
push dword [esp + 0x60]
mov ecx, esi
push dword [esp + 0x40]
push edi
push ebx
call dword [0x5c05d150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c0357ac
mov edx, dword [ebx + 0x1a44]
mov esi, edx
mov ecx, dword [ebx + 0x5b8]
fld dword [esp + 0x58]
test edx, 0x12000
je 0x5c035a3b
test byte [ebx + 0x5b8], 8
jne 0x5c035813
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c035815
fstp st(0)
test edx, 0x10000
je 0x5c0358dc
mov eax, dword [esp + 0x98]
test eax, eax
je 0x5c035832
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c035834
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
test eax, eax
jns 0x5c03584e
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c035882
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c0358b1
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x1ac]
mov edi, dword [esp + 0x68]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov dword [esp + 0x50], edi
jmp 0x5c03591c
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 0x5c0359e1
mov eax, dword [esp + 0xac]
test eax, eax
je 0x5c035949
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03594b
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
test eax, eax
jns 0x5c035965
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c035993
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c0359bc
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x1ac]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov dword [esp + 0x50], edi
jmp 0x5c035a1a
fld dword [ebx + 0x5a4]
fld qword [esp + 0xe0]
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c035a41
mov edi, dword [esp + 0x50]
fstp st(0)
test cl, 8
je 0x5c035b72
test esi, 0x12000
jne 0x5c035a92
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
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 0x5c035a98
fld dword [ebx + 0x504]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x118]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0x118]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x120]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0x120]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x128]
mov esi, dword [esp + 0x128]
mov eax, 0xff
test ecx, ecx
jns 0x5c035afb
xor ecx, ecx
jmp 0x5c035b01
cmp ecx, eax
jle 0x5c035b01
mov ecx, eax
test edx, edx
jns 0x5c035b09
xor edx, edx
jmp 0x5c035b0f
cmp edx, eax
jle 0x5c035b0f
mov edx, eax
test esi, esi
jns 0x5c035b17
xor esi, esi
jmp 0x5c035b1d
cmp esi, eax
jle 0x5c035b1d
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c035b39
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c035b5b
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c035b4a
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c035b4c
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c035baf
test esi, 0x4000
jne 0x5c035b88
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c035ba9
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c035b9f
mov eax, dword [eax]
mov edx, dword [eax]
and edx, 0xff000000
jmp 0x5c035ba1
xor edx, edx
mov eax, dword [ebx + 0x5e8]
add eax, edx
mov dword [ebx + 0x530], eax
test cl, 4
je 0x5c035c7e
fld dword [ebx + 0x524]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x130]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0x130]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x138]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0x138]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x140]
mov esi, dword [esp + 0x140]
mov eax, 0xff
test ecx, ecx
jns 0x5c035c19
xor ecx, ecx
jmp 0x5c035c1f
cmp ecx, eax
jle 0x5c035c1f
mov ecx, eax
test edx, edx
jns 0x5c035c27
xor edx, edx
jmp 0x5c035c2d
cmp edx, eax
jle 0x5c035c2d
mov edx, eax
test esi, esi
jns 0x5c035c35
xor esi, esi
jmp 0x5c035c3b
cmp esi, eax
jle 0x5c035c3b
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c035c57
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c035c79
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c035c68
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c035c6a
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c035cc7
test esi, 0x100000
jne 0x5c035ccd
test dword [ebx + 0x1a60], 0x800
jne 0x5c035c9f
test byte [ebx + 0x1a5c], 0x80
je 0x5c035cc5
mov eax, dword [edi]
jmp 0x5c035cc7
test esi, 0x8000
jne 0x5c035caf
mov eax, dword [ebx + 0x5bc]
jmp 0x5c035cc7
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c035cc5
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c035cc7
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
jmp 0x5c035d07
mov ecx, dword [ebx + 0x1a5c]
mov eax, edx
test cl, 0xc0
je 0x5c035d07
test cl, 0x40
je 0x5c035cf3
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
mov eax, edx
test cl, cl
jns 0x5c035d07
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, edx
test eax, 0x100
je 0x5c035d22
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x14c]
push eax
mov ecx, ebx
call fcn.5c01a55e
pop ecx
mov eax, dword [esp + 0x9c]
fld dword [esp + 0x4c]
fstp dword [eax]
fld dword [esp + 0x84]
fstp dword [eax + 4]
fld dword [esp + 0x48]
fstp dword [eax + 8]
fld dword [esp + 0x28]
fstp dword [eax + 0xc]
mov edi, dword [ebx + 0x1cd0]
add edi, eax
mov eax, dword [ebx + 0x1a6c]
test al, 0x40
je 0x5c035d6a
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
test al, al
jns 0x5c035d79
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c03617a
mov ecx, dword [esp + 0x94]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c035fa0
test ecx, ecx
jne 0x5c036171
test eax, 0x4010000
jne 0x5c035e08
xor eax, eax
mov dword [esp + 0x18], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03617a
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x1c], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1b0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [esp + 0x1c]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c035dd2
jmp 0x5c03617a
test eax, 0x10000
jne 0x5c035ea1
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03617a
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x1c], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x1ac]
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c035e57
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c035e79
push dword [esp + 0x10]
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 [0x5c05d150]
call esi
mov ecx, dword [esp + 0x24]
add esp, 0xc
add edi, dword [esp + 0x20]
inc ecx
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c035e2f
jmp 0x5c03617a
and dword [esp + 0x18], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03617a
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c035eda
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1ac]
jmp 0x5c035f3e
cmp eax, 0x20000
jne 0x5c035eea
lea ecx, [esp + 0x14c]
jmp 0x5c035f3e
cmp eax, 0x10000
jne 0x5c035efa
lea ecx, [esp + 0x158]
jmp 0x5c035f3e
test dword [ebx + 0x1a60], 0x1000000
je 0x5c035f24
lea eax, [esp + 0x194]
push eax
lea edx, [esp + 0x15c]
lea ecx, [esp + 0x150]
call fcn.5c01a4a7
pop ecx
jmp 0x5c035f37
lea edx, [esp + 0x194]
lea ecx, [esp + 0x158]
call fcn.5c01a531
lea ecx, [esp + 0x194]
cmp dword [esi], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c035f6b
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c035f73
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x24]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x14], 4
inc ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c035ec7
jmp 0x5c03617a
test ecx, ecx
jne 0x5c036171
test eax, 0x4010000
jne 0x5c035fc7
push dword [ebx + 0x1a8c]
push dword [esp + 0x40]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c03617a
test eax, 0x10000
jne 0x5c036077
mov edx, dword [esp + 0x3c]
xor esi, esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c03617a
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 + 0x18], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c03603f
mov eax, dword [esp + 0x18]
push dword [esp + 0x10]
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 [0x5c05d150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c036047
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add esp, 0xc
add edx, dword [esp + 0x18]
add edi, dword [esp + 0x4c]
inc esi
mov eax, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c035ff6
jmp 0x5c03617a
and dword [esp + 0x18], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03617a
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b30]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x5c0360ac
mov ecx, dword [esi]
add ecx, dword [esp + 0x3c]
jmp 0x5c036110
cmp eax, 0x20000
jne 0x5c0360bc
lea ecx, [esp + 0x14c]
jmp 0x5c036110
cmp eax, 0x10000
jne 0x5c0360cc
lea ecx, [esp + 0x158]
jmp 0x5c036110
test dword [ebx + 0x1a60], 0x1000000
je 0x5c0360f6
lea eax, [esp + 0x1a0]
push eax
lea edx, [esp + 0x15c]
lea ecx, [esp + 0x150]
call fcn.5c01a4a7
pop ecx
jmp 0x5c036109
lea edx, [esp + 0x1a0]
lea ecx, [esp + 0x158]
call fcn.5c01a531
lea ecx, [esp + 0x1a0]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03613f
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c036147
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x24]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x14], 4
inc ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03609d
jmp 0x5c03617a
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x9c]
add eax, dword [ebx + 0x1a64]
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xa0]
add ecx, edx
inc dword [esp + 0x78]
mov esi, dword [esi + 0x2c]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x38], ecx
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x90], eax
mov eax, dword [ebx + 0x1a60]
and eax, 0x8000000
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c036246
test eax, eax
je 0x5c03639c
mov eax, dword [esp + 0x5c]
xor ecx, ecx
mov edi, dword [esp + 0x60]
mov edx, dword [esp + 0x50]
add edi, dword [ebx + 0x1a38]
add edx, dword [ebx + 0x1a94]
add eax, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x50], edx
mov dword [esp + 0x68], edx
test esi, esi
je 0x5c03623e
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x1ac], eax
inc ecx
cmp ecx, esi
jb 0x5c036222
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0xb4]
cmp edx, eax
jb 0x5c0363d2
add eax, 2
cmp edx, eax
jb 0x5c03510c
mov eax, dword [esp + 0x7c]
test eax, eax
jle 0x5c0362b0
mov ecx, dword [esp + 0xa4]
lea edi, [eax + 2]
mov dword [ebx + 0x1a70], ecx
mov dword [ebx + 0x1a3c], 5
mov dword [ebx + 0x1a40], edi
mov dword [ebx + 0x1a54], eax
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5c05d150]
mov ecx, ebx
call esi
add dword [ebx + 0x1a48], edi
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x680], eax
mov eax, dword [esp + 0x80]
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 0x5c036516
fld dword [ebx + 0x1b24]
fadd dword [ebx + 0x68c]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fst dword [esp + 0xc0]
fstp dword [ebx + 0x1b24]
fld dword [ebx + 0x68c]
fadd dword [ebx + 0x1b28]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fst dword [esp + 0x10]
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 + 0xc4]
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 0x5c036499
fstp dword [ebx + 0x1b1c]
jmp 0x5c03649b
mov eax, dword [esp + 0x60]
add dword [esp + 0x5c], edx
add eax, edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x50]
add eax, edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
add eax, edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1ac], eax
jmp 0x5c036246
mov dword [esp + 0x38], ecx
jmp 0x5c034d12
fld dword [ebx + 0x63c]
fmul st(2)
fld dword [ebx + 0x634]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fld dword [ebx + 0x638]
fmulp st(3)
fld dword [ebx + 0x640]
fmul st(2)
mov ecx, dword [esp + 0x10]
shr ecx, 1
and ecx, 0x40000000
faddp st(3)
fxch st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x20]
fld st(1)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
fsubrp st(1)
and eax, 0x8003ffff
or ecx, eax
shr ecx, 1
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
fld dword [esp + 0x28]
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
or dword [esp + 0x74], edx
or dword [esp + 0x24], 0x231
mov dword [esi + 0x10], edx
mov esi, dword [esp + 0x6c]
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x84], edi
jmp 0x5c0334ed
mov edx, dword [esp + 0x70]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x84]
jmp 0x5c033060
fstp st(0)
fld dword [ebx + 0x628]
fstp dword [esp + 0x54]
fld dword [esp + 0xc4]
fld dword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c0364c3
fstp dword [ebx + 0x1b20]
jmp 0x5c0364c5
fstp st(0)
fld dword [ebx + 0x62c]
fstp dword [esp + 0x54]
fld dword [esp + 0xc0]
fld dword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c0364ed
fstp dword [ebx + 0x1b24]
jmp 0x5c0364ef
fstp st(0)
fld dword [ebx + 0x630]
fstp dword [esp + 0x54]
fld dword [esp + 0x10]
fld dword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c036514
fstp dword [ebx + 0x1b28]
jmp 0x5c036516
fstp st(0)
mov eax, dword [ebx + 0x1b18]
mov ecx, dword [esp + 0xb8]
cmp ecx, dword [eax + 0x58]
je 0x5c03653e
mov dword [eax + 0x58], ecx
mov eax, dword [ebx]
push ecx
push 0x16
mov esi, dword [eax]
mov ecx, esi
call dword [0x5c05d150]
mov ecx, ebx
call esi
and dword [ebx + 0x1a44], 0xffbfffff
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x1cc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.5c04f7b0
mov esp, ebp
pop ebp
ret 4