Function at 0x5c0394cc
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, 0x1f4
mov eax, dword [0x5c05aac4]
xor eax, esp
mov dword [esp + 0x1f0], eax
test byte [0x5c05c804], 2
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
je 0x5c039512
call fcn.5c01ce90
cmp dword [ebx + 0x684], 0
jne 0x5c039564
mov ecx, ebx
call fcn.5c011121
jmp 0x5c03cb61
test dword [ebx + 0x1a60], 0x80000
jne 0x5c0394f8
mov eax, dword [ebx + 0x1a70]
xor edi, edi
or dword [ebx + 0x225c], 0xffffffff
or dword [ebx + 0x1a44], 0x200000
mov dword [esp + 0xac], eax
mov dword [esp + 0x30], edi
call fcn.5c01ce90
mov eax, dword [ebx + 0x225c]
cmp eax, 0xffffffff
jne 0x5c03956b
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], edi
je 0x5c039506
xor eax, eax
jmp 0x5c03cb61
mov ecx, dword [ebx + 0x1a48]
mov dword [esp + 0x74], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0xbc], ecx
cmp eax, 2
jbe 0x5c0395aa
lea esi, [eax - 1]
mov dword [esp + 0x2c], 0x11
lea eax, [esi - 1]
mov dword [esp + 0x90], esi
mov edx, esi
mov dword [esp + 0x74], eax
mov ecx, ebx
call fcn.5c02b3f9
mov eax, dword [ebx + 0x1a70]
mov edx, dword [ebx + 0x1a60]
mov dword [esp + 0x9c], edi
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x1cd8]
mov dword [esp + 0x98], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov edi, dword [ebx + 0x1a78]
mov ecx, edi
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x1a54]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x1dc], ecx
mov ecx, 0x8000000
mov dword [esp + 0xac], eax
mov eax, dword [ebx + 0x1a7c]
mov dword [esp + 0x80], edx
mov dword [esp + 0x30], edi
mov dword [esp + 0x8c], eax
test ecx, edx
jne 0x5c03966f
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 + 0x5c], edx
cmp dword [ebx + 0x1a84], 0
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x58], esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x64], ecx
je 0x5c0396fa
mov ecx, dword [ebx + 0x1cbc]
add ecx, edi
jmp 0x5c0396b8
mov eax, dword [ebx + 0x1a2c]
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x1a34]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x1a90]
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], eax
test dl, 0x10
jne 0x5c0396c5
test dword [ebx + 0x1a44], ecx
jne 0x5c0396c5
cmp dword [ebx + 0x1a84], 0
je 0x5c0396fa
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x1dc], ecx
jmp 0x5c0396fa
mov esi, dword [ebx + 0x1a84]
xor ecx, ecx
test esi, esi
je 0x5c0396fa
lea edx, [ebx + 0x1a98]
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x1dc], eax
inc ecx
cmp ecx, esi
jb 0x5c0396d7
mov eax, dword [esp + 0x1dc]
mov edx, dword [esp + 0x80]
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 + 0x54]
test eax, 0x400
je 0x5c03985d
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 0x5c039857
mov edx, dword [ebx + 0x1a5c]
test dl, 0x40
je 0x5c0397d7
xor edi, edi
mov ecx, eax
cmp dword [ebx + 0x5f8], edi
jne 0x5c039781
or ecx, 0x2200
lea esi, [esp + 0x60]
mov dword [ebx + 0x1a44], ecx
mov dword [esp + 0x98], esi
mov eax, ecx
cmp dword [ebx + 0x5f0], edi
jne 0x5c03979e
or eax, 0x4200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x78], ecx
cmp dword [ebx + 0x5ec], edi
jne 0x5c0397bc
or eax, 0x10200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x84], ecx
cmp dword [ebx + 0x5f4], edi
jne 0x5c0397d7
or eax, 0x8200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x7c], ecx
test dl, dl
jns 0x5c039857
cmp dword [ebx + 0x5f8], 1
jne 0x5c0397fa
or eax, 0x2200
lea esi, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x98], esi
cmp dword [ebx + 0x5f0], 1
jne 0x5c039816
or eax, 0x4200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x78], ecx
cmp dword [ebx + 0x5ec], 1
jne 0x5c039835
or eax, 0x10200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x84], ecx
cmp dword [ebx + 0x5f4], 1
mov edi, dword [esp + 0x30]
jne 0x5c03985f
or eax, 0x8200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x7c], ecx
jmp 0x5c03985f
mov edi, dword [esp + 0x30]
jmp 0x5c03985f
fstp st(0)
and dword [esp + 0xa0], 0
lea esi, [ebx + 0x1cdc]
mov eax, edi
mov dword [esp + 0x68], esi
push esi
mov edx, eax
mov dword [esp + 0x70], eax
mov ecx, ebx
call fcn.5c02afc0
fld1
pop ecx
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x70], ecx
mov ecx, edi
add ecx, dword [esp + 0x8c]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esi + 0x10]
mov edx, ecx
or edx, eax
and ecx, eax
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x80]
and edx, 0x80000
neg edx
fstp qword [esp + 0xb0]
fld qword [0x5c003160]
sbb edx, edx
fstp qword [esp + 0xc0]
fldz
not edx
and edx, ecx
cmp dword [ebx + 0x225c], 2
fstp qword [esp + 0xf8]
mov dword [esp + 0xa4], edx
jbe 0x5c0398fb
and dword [esi + 0x10], 0
and dword [esp + 0xa4], 0
jmp 0x5c03b27d
fld dword [esp + 0x40]
mov eax, dword [esp + 0x70]
fstp dword [esp + 0x40]
fld dword [esp + 0x38]
fstp dword [esp + 0x34]
fld dword [esp + 0x28]
fstp dword [esp + 0x4c]
fld dword [esp + 0x24]
fstp dword [esp + 0x48]
mov edx, dword [esp + 0x6c]
mov ecx, ebx
push eax
call fcn.5c02afc0
or dword [esp + 0x98], eax
and dword [esp + 0xa8], eax
pop ecx
mov ecx, dword [esp + 0x70]
mov ecx, dword [ecx + 0x10]
mov eax, dword [esi + 0x10]
test ecx, eax
jne 0x5c03995e
or eax, ecx
and eax, dword [esp + 0x50]
neg eax
sbb eax, eax
and eax, 0xffffff21
add eax, 0x221
jmp 0x5c039963
mov eax, 0x80
mov ecx, dword [esp + 0x2c]
or ecx, eax
mov dword [esp + 0x2c], ecx
mov eax, dword [ebx + 0x1cd8]
test dword [esi + 0x10], eax
jne 0x5c039a90
test dword [ebx + 0x1a60], 0x100000
fld dword [esi + 0xc]
fld qword [esp + 0xb0]
fld st(0)
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fst dword [esp + 0x40]
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 + 0x14]
fst dword [esp + 0x38]
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 + 0x28]
fld dword [esp + 0x38]
fst dword [esp + 0x34]
fld dword [esp + 0x28]
fst dword [esp + 0x4c]
jne 0x5c039a6b
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c039a18
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 0x5c039a31
fstp dword [ebx + 0x1b24]
jmp 0x5c039a33
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c039a54
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c039a6f
fstp dword [ebx + 0x1b28]
jmp 0x5c039a71
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 + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 0x48]
jmp 0x5c039a97
fld qword [esp + 0xb0]
test cl, 3
je 0x5c03a599
and dword [ebx + 0x5b8], 0
xor edx, edx
mov esi, dword [ebx + 0x1a60]
test esi, 0x20000000
je 0x5c039d14
fld dword [ebx + 0x454]
fmul dword [edi + 4]
fld dword [ebx + 0x444]
fmul dword [edi]
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 + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x10]
fstp dword [esp + 0x134]
fld dword [ebx + 0x458]
fmul dword [edi + 4]
fld dword [ebx + 0x448]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [edi + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x138]
fld dword [ebx + 0x45c]
fmul dword [edi + 4]
fld dword [ebx + 0x44c]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [edi + 8]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x13c]
test ecx, ecx
je 0x5c039d0b
fld dword [esp + 0x54]
xor edi, edi
fst dword [esp + 0x20]
fst dword [esp + 0x134]
fst dword [esp + 0x138]
fst dword [esp + 0x13c]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fld dword [esp + 0x14]
fst dword [esp + 0x28]
fld dword [esp + 0x1c]
fst dword [esp + 0x38]
fxch st(3)
fst dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c039cc0
mov edx, dword [esp + 0x30]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x24]
fstp dword [esp + 0x28]
fstp dword [esp + 0x38]
fld dword [edx + edi*4 + 0xc]
inc edi
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x134]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x134]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x138]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x138]
fld dword [esp + 0x38]
fmul st(1)
fadd dword [esp + 0x13c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x13c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
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 + 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 + 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 + 0x38]
cmp edi, ecx
jb 0x5c039bd3
fld dword [esp + 0x14]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fstp dword [esp + 0x14]
jmp 0x5c039cc6
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x20]
fld st(1)
mov edi, dword [esp + 0x30]
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x134]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x138]
fmul dword [esp + 0x38]
fadd dword [esp + 0x14]
fstp dword [esp + 0x13c]
or edx, 1
mov dword [ebx + 0x5b8], edx
test esi, 0x40000000
je 0x5c039f7a
mov eax, dword [esp + 0x58]
fld dword [ebx + 0x488]
mov edx, 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 + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x10]
fstp dword [esp + 0x140]
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 + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x144]
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 + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x148]
test edx, edx
je 0x5c039f53
fld dword [esp + 0x54]
xor ecx, ecx
fst dword [esp + 0x20]
fst dword [esp + 0x140]
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fld dword [esp + 0x14]
fst dword [esp + 0x28]
fld dword [esp + 0x1c]
fst dword [esp + 0x38]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x18]
test edx, edx
je 0x5c039f0e
mov esi, dword [esp + 0x58]
lea eax, [ebx + 0x38c]
fxch st(1)
fstp dword [esp + 0x24]
fstp dword [esp + 0x28]
fstp dword [esp + 0x38]
fld dword [edi + ecx*4 + 0xc]
inc ecx
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x140]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x140]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x144]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x144]
fld dword [esp + 0x38]
fmul st(1)
fadd dword [esp + 0x148]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x148]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
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 + 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 + 0x38]
cmp ecx, edx
jb 0x5c039e2a
fld dword [esp + 0x14]
mov esi, dword [ebx + 0x1a60]
fstp dword [esp + 0x14]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fstp dword [esp + 0x18]
jmp 0x5c039f14
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x20]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x140]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x144]
fmul dword [esp + 0x38]
fadd dword [esp + 0x18]
fstp dword [esp + 0x148]
jmp 0x5c039f55
fstp st(0)
test esi, 0x2000000
je 0x5c039f6b
lea edx, [esp + 0x140]
mov ecx, edx
call fcn.5c050908
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
jmp 0x5c039f7c
fstp st(0)
mov ecx, dword [ebx + 0x1a44]
test ecx, 0x400
je 0x5c03a546
fld dword [esp + 0x54]
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 0x5c03a01b
test ecx, 0x10000
je 0x5c039fdf
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c039fd7
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c039fd9
xor eax, eax
mov dword [ebx + 0x540], eax
test ecx, 0x4000
je 0x5c039ffd
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c039ff5
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c039ff7
xor eax, eax
mov dword [ebx + 0x550], eax
test ecx, 0x8000
je 0x5c03a01b
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03a013
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03a015
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, ecx
test edi, edi
je 0x5c03a067
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x134]
push eax
push dword [esp + 0x5c]
mov ecx, esi
push dword [esp + 0x38]
push edi
push ebx
call dword [0x5c05e150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c03a029
mov ecx, dword [ebx + 0x1a44]
mov esi, ecx
mov edx, dword [ebx + 0x5b8]
fld dword [esp + 0x54]
test ecx, 0x12000
je 0x5c03a2b8
test byte [ebx + 0x5b8], 8
jne 0x5c03a090
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c03a092
fstp st(0)
test ecx, 0x10000
je 0x5c03a159
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c03a0af
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03a0b1
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 0x5c03a0cb
fadd dword [0x5c0031d0]
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 0x5c03a0ff
fadd dword [0x5c0031d0]
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 0x5c03a12e
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x1dc]
mov edi, dword [esp + 0x64]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], edi
jmp 0x5c03a199
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x44]
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 0x5c03a25e
mov eax, dword [esp + 0x98]
test eax, eax
je 0x5c03a1c6
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03a1c8
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 0x5c03a1e2
fadd dword [0x5c0031d0]
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 0x5c03a210
fadd dword [0x5c0031d0]
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 0x5c03a239
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x1dc]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], edi
jmp 0x5c03a297
fld dword [ebx + 0x5a4]
fld qword [esp + 0xc0]
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 0x5c03a2be
mov edi, dword [esp + 0x44]
fstp st(0)
test dl, 8
je 0x5c03a3ec
test esi, 0x12000
jne 0x5c03a30f
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
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 0x5c03a315
fld dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xc8]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0xc8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xd0]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0xd0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xd8]
mov esi, dword [esp + 0xd8]
mov eax, 0xff
test ecx, ecx
jns 0x5c03a378
xor ecx, ecx
jmp 0x5c03a37e
cmp ecx, eax
jle 0x5c03a37e
mov ecx, eax
test edx, edx
jns 0x5c03a386
xor edx, edx
jmp 0x5c03a38c
cmp edx, eax
jle 0x5c03a38c
mov edx, eax
test esi, esi
jns 0x5c03a394
xor esi, esi
jmp 0x5c03a39a
cmp esi, eax
jle 0x5c03a39a
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c03a3b6
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c03a3d5
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03a3c4
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03a3c6
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 edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c03a426
test esi, 0x4000
jne 0x5c03a402
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c03a420
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03a416
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c03a418
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c03a4f2
fld dword [ebx + 0x524]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xe0]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0xe0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xe8]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0xe8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xf0]
mov esi, dword [esp + 0xf0]
mov eax, 0xff
test ecx, ecx
jns 0x5c03a490
xor ecx, ecx
jmp 0x5c03a496
cmp ecx, eax
jle 0x5c03a496
mov ecx, eax
test edx, edx
jns 0x5c03a49e
xor edx, edx
jmp 0x5c03a4a4
cmp edx, eax
jle 0x5c03a4a4
mov edx, eax
test esi, esi
jns 0x5c03a4ac
xor esi, esi
jmp 0x5c03a4b2
cmp esi, eax
jle 0x5c03a4b2
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c03a4ce
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c03a4ed
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03a4dc
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03a4de
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [esi + ecx]
jmp 0x5c03a538
test esi, 0x100000
jne 0x5c03a53e
test dword [ebx + 0x1a60], 0x800
jne 0x5c03a513
test byte [ebx + 0x1a5c], 0x80
je 0x5c03a536
mov eax, dword [edi]
jmp 0x5c03a538
test esi, 0x8000
jne 0x5c03a523
mov eax, dword [ebx + 0x5bc]
jmp 0x5c03a538
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03a536
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c03a538
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
jmp 0x5c03a578
mov edx, dword [ebx + 0x1a5c]
mov eax, ecx
test dl, 0xc0
je 0x5c03a578
test dl, 0x40
je 0x5c03a564
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
mov eax, ecx
test dl, dl
jns 0x5c03a578
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, ecx
test eax, 0x100
je 0x5c03a593
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x134]
push eax
mov ecx, ebx
call fcn.5c01a3e0
pop ecx
mov ecx, dword [esp + 0x2c]
jmp 0x5c03a59b
fstp st(0)
test cl, 1
je 0x5c03ab3c
mov eax, dword [esp + 0x88]
fld dword [esp + 0x34]
fstp dword [eax]
fld dword [esp + 0x4c]
fstp dword [eax + 4]
fld dword [esp + 0x48]
fstp dword [eax + 8]
fld dword [esp + 0x40]
fstp dword [eax + 0xc]
mov edi, dword [ebx + 0x1cd0]
add edi, eax
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x24], edi
test al, 0x40
je 0x5c03a5f1
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x24], edi
test al, al
jns 0x5c03a604
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x24], edi
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c03ab28
mov ecx, dword [esp + 0x80]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c03a8b8
test ecx, ecx
jne 0x5c03ab1b
test eax, 0x4010000
jne 0x5c03a693
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03ab24
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x1c], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1e0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x1c]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c03a65d
jmp 0x5c03ab24
test eax, 0x10000
jne 0x5c03a72c
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03ab24
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 + 0x1dc]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c03a6e2
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03a704
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 [0x5c05e150]
call esi
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x18]
inc ecx
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c03a6ba
jmp 0x5c03ab24
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03ab24
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c03a768
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1dc]
jmp 0x5c03a852
cmp eax, 0x20000
jne 0x5c03a77b
lea ecx, [esp + 0x134]
jmp 0x5c03a852
cmp eax, 0x10000
jne 0x5c03a78e
lea ecx, [esp + 0x140]
jmp 0x5c03a852
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03a838
lea esi, [esp + 0x134]
lea edi, [esp + 0x14c]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x14c]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c050908
fld dword [esp + 0x150]
fld dword [esp + 0x144]
fld dword [esp + 0x14c]
fld dword [esp + 0x140]
fld dword [esp + 0x154]
fld dword [esp + 0x148]
fld st(4)
mov edi, dword [esp + 0x24]
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 + 0x10]
fld dword [esp + 0x10]
fld st(0)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x194]
fld st(2)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x198]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x19c]
jmp 0x5c03a84b
lea edx, [esp + 0x194]
lea ecx, [esp + 0x140]
call fcn.5c01a3b3
lea ecx, [esp + 0x194]
cmp dword [esi], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03a87f
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 0x5c03a887
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add esi, 0x20
add dword [esp + 0x20], 4
inc ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03a752
jmp 0x5c03ab24
test ecx, ecx
jne 0x5c03ab1b
test eax, 0x4010000
jne 0x5c03a8df
push dword [ebx + 0x1a8c]
push dword [esp + 0x40]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c03ab24
test eax, 0x10000
jne 0x5c03a98f
mov edx, dword [esp + 0x3c]
xor esi, esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c03ab24
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c03a957
mov eax, dword [esp + 0x14]
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 [0x5c05e150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c03a95f
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x2c]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x24]
inc esi
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c03a90e
jmp 0x5c03ab24
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03ab24
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c03a9c7
mov ecx, dword [eax]
add ecx, dword [esp + 0x3c]
jmp 0x5c03aab3
cmp ecx, 0x20000
jne 0x5c03a9db
lea ecx, [esp + 0x134]
jmp 0x5c03aab3
cmp ecx, 0x10000
jne 0x5c03a9ef
lea ecx, [esp + 0x140]
jmp 0x5c03aab3
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03aa99
lea esi, [esp + 0x134]
lea edi, [esp + 0x158]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x158]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c050908
fld dword [esp + 0x15c]
fld dword [esp + 0x144]
fld dword [esp + 0x158]
fld dword [esp + 0x140]
fld dword [esp + 0x160]
fld dword [esp + 0x148]
fld st(4)
mov edi, dword [esp + 0x24]
fmul st(6)
fld st(3)
mov eax, dword [esp + 0x28]
fmul st(5)
mov esi, dword [esp + 0x20]
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1a0]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x1a4]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x1a8]
jmp 0x5c03aaac
lea edx, [esp + 0x1a0]
lea ecx, [esp + 0x140]
call fcn.5c01a3b3
lea ecx, [esp + 0x1a0]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
test edx, edx
je 0x5c03aadd
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 + 0x1c]
jmp 0x5c03aae5
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esp + 0x28]
inc edx
add esi, 4
mov dword [esp + 0x24], edi
add eax, 0x20
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c03a9b5
jmp 0x5c03ab24
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x88]
add eax, dword [ebx + 0x1a64]
mov dword [esp + 0x88], eax
test cl, 2
je 0x5c03b0b7
mov edx, dword [esp + 0x68]
mov eax, dword [ebx + 0x1cd8]
test dword [edx + 0x10], eax
jne 0x5c03ab70
fld dword [esp + 0x34]
fstp dword [edx + 0x1c]
fld dword [esp + 0x4c]
fstp dword [edx + 0x20]
fld dword [esp + 0x48]
fstp dword [edx + 0x24]
fld dword [esp + 0x40]
fstp dword [edx + 0x28]
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 0x5c03b0b7
mov ecx, dword [esp + 0x80]
lea edi, [edx + 0x30]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
mov dword [esp + 0x24], edi
test eax, 0x8000000
je 0x5c03ae47
test ecx, ecx
jne 0x5c03ae39
test eax, 0x4010000
jne 0x5c03ac18
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03b0b3
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x1c], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1e0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x1c]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c03abe2
jmp 0x5c03b0b3
test eax, 0x10000
jne 0x5c03acb1
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03b0b3
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 + 0x1dc]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c03ac67
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03ac89
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 [0x5c05e150]
call esi
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x18]
inc ecx
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c03ac3f
jmp 0x5c03b0b3
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03b0b3
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c03aced
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1dc]
jmp 0x5c03add3
cmp eax, 0x20000
jne 0x5c03ad00
lea ecx, [esp + 0x134]
jmp 0x5c03add3
cmp eax, 0x10000
jne 0x5c03ad13
lea ecx, [esp + 0x140]
jmp 0x5c03add3
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03adb9
lea esi, [esp + 0x134]
lea edi, [esp + 0x164]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x164]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c050908
fld dword [esp + 0x168]
fld dword [esp + 0x144]
fld dword [esp + 0x164]
fld dword [esp + 0x140]
fld dword [esp + 0x16c]
fld dword [esp + 0x148]
fld st(4)
mov edi, dword [esp + 0x24]
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 + 0x10]
fld dword [esp + 0x10]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1ac]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x1b0]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x1b4]
jmp 0x5c03adcc
lea edx, [esp + 0x1ac]
lea ecx, [esp + 0x140]
call fcn.5c01a3b3
lea ecx, [esp + 0x1ac]
cmp dword [esi], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03ae00
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 0x5c03ae08
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add esi, 0x20
add dword [esp + 0x20], 4
inc ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03acd7
jmp 0x5c03b0b3
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
jmp 0x5c03b0b3
test ecx, ecx
jne 0x5c03b0aa
test eax, 0x4010000
jne 0x5c03ae6e
push dword [ebx + 0x1a8c]
push dword [esp + 0x40]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c03b0b3
test eax, 0x10000
jne 0x5c03af1e
mov edx, dword [esp + 0x3c]
xor esi, esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c03b0b3
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c03aee6
mov eax, dword [esp + 0x14]
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 [0x5c05e150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c03aeee
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x2c]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x24]
inc esi
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c03ae9d
jmp 0x5c03b0b3
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03b0b3
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c03af56
mov ecx, dword [eax]
add ecx, dword [esp + 0x3c]
jmp 0x5c03b042
cmp ecx, 0x20000
jne 0x5c03af6a
lea ecx, [esp + 0x134]
jmp 0x5c03b042
cmp ecx, 0x10000
jne 0x5c03af7e
lea ecx, [esp + 0x140]
jmp 0x5c03b042
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03b028
lea esi, [esp + 0x134]
lea edi, [esp + 0x170]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x170]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c050908
fld dword [esp + 0x174]
fld dword [esp + 0x144]
fld dword [esp + 0x170]
fld dword [esp + 0x140]
fld dword [esp + 0x178]
fld dword [esp + 0x148]
fld st(4)
mov edi, dword [esp + 0x24]
fmul st(6)
fld st(3)
mov eax, dword [esp + 0x28]
fmul st(5)
mov esi, dword [esp + 0x20]
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1b8]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x1bc]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x1c0]
jmp 0x5c03b03b
lea edx, [esp + 0x1b8]
lea ecx, [esp + 0x140]
call fcn.5c01a3b3
lea ecx, [esp + 0x1b8]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
test edx, edx
je 0x5c03b06c
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 + 0x1c]
jmp 0x5c03b074
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esp + 0x28]
inc edx
add esi, 4
mov dword [esp + 0x24], edi
add eax, 0x20
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c03af44
jmp 0x5c03b0b3
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edx + 0x34]
mov ecx, dword [esp + 0x2c]
test cl, 0x10
je 0x5c03b0c2
inc dword [esp + 0x74]
jmp 0x5c03b133
mov edx, dword [esp + 0x74]
test edx, edx
jle 0x5c03b111
mov edi, dword [esp + 0xa8]
lea esi, [edx + 1]
push edx
push esi
push edi
push 3
pop edx
mov ecx, ebx
call fcn.5c0212f9
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x9c], ecx
test ecx, ecx
jne 0x5c03c8db
mov ecx, dword [ebx + 0x1a64]
add dword [ebx + 0x1a48], esi
imul ecx, esi
add edi, ecx
and dword [esp + 0x74], eax
mov dword [esp + 0xa8], edi
test byte [esp + 0x2c], 8
je 0x5c03b133
push dword [esp + 0x68]
mov edx, dword [esp + 0xa4]
mov ecx, ebx
call fcn.5c021500
pop ecx
test eax, eax
jne 0x5c03c8d4
mov ecx, dword [esp + 0x30]
mov eax, dword [ebx + 0x1a60]
mov edx, dword [esp + 0x8c]
and eax, 0x8000000
add ecx, edx
test dword [ebx + 0x1a44], 0x40000000
mov dword [esp + 0x30], ecx
mov edi, ecx
jne 0x5c03b1d0
test eax, eax
je 0x5c03b22a
mov eax, dword [esp + 0x58]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov edx, dword [esp + 0x44]
add edx, dword [ebx + 0x1a94]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x5c]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x64], edx
test esi, esi
je 0x5c03b1c5
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x1dc], eax
inc ecx
cmp ecx, esi
jb 0x5c03b1a9
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x68]
add dword [esp + 0x6c], edx
mov edx, dword [esp + 0x90]
shr dword [esp + 0x2c], 5
inc edx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x70]
mov esi, eax
mov dword [esp + 0x68], esi
mov dword [esp + 0x90], edx
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x70], eax
cmp edx, dword [esp + 0xac]
jb 0x5c03b260
mov eax, dword [esp + 0xac]
inc eax
cmp edx, eax
jae 0x5c03c8d4
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
jmp 0x5c03996d
mov eax, dword [esp + 0x5c]
add dword [esp + 0x58], edx
add eax, edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
add eax, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x3c]
add eax, edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1dc], eax
jmp 0x5c03b1d0
cmp dword [esp + 0x94], 0
jne 0x5c03cab6
cmp dword [esp + 0x74], 1
mov dword [esp + 0x30], ecx
jne 0x5c03cab2
mov edi, dword [esp + 0x6c]
mov ecx, dword [ebx + 0x1cb4]
fld dword [edi + 4]
fld dword [edi]
fld dword [edi + 8]
fld dword [ebx + 0x4d4]
fmul st(3)
fld dword [ebx + 0x4c4]
fmul st(3)
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 + 0x38]
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 + 0x28]
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 + 0x24]
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 + 0x40]
fxch st(2)
fst dword [esp + 0x14]
fst dword [esp + 0x10]
fxch st(1)
fst dword [esp + 0x18]
fst dword [esp + 0x1c]
fxch st(2)
fst dword [esp + 0x34]
fst dword [esp + 0x20]
test ecx, ecx
je 0x5c03b54f
fld dword [esp + 0x54]
xor edx, edx
fst dword [esp + 0x20]
fld dword [esp + 0x40]
fstp dword [esp + 0x18]
fst dword [esp + 0x38]
fst dword [esp + 0x28]
fst dword [esp + 0x24]
fst dword [esp + 0x40]
fxch st(2)
fst dword [esp + 0x48]
fxch st(3)
fst dword [esp + 0x4c]
fxch st(1)
fst dword [esp + 0x34]
fxch st(2)
fst dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x10]
test ecx, ecx
je 0x5c03b4c0
fxch st(2)
lea eax, [ebx + 0x224]
fstp dword [esp + 0x48]
fxch st(1)
fstp dword [esp + 0x4c]
fstp dword [esp + 0x34]
fld dword [edi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x38]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x38]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x28]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x24]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x24]
fld dword [esp + 0x18]
fmul st(1)
fadd dword [esp + 0x40]
fstp dword [esp + 0x40]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
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 + 0x4c]
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 + 0x34]
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 + 0x18]
cmp edx, ecx
jb 0x5c03b3c5
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fstp dword [esp + 0x10]
jmp 0x5c03b4cc
fstp st(2)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x20]
fsubr qword [esp + 0xb0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x38]
fld dword [esp + 0x4c]
fmul st(2)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x28]
fld dword [esp + 0x34]
fmul st(3)
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fld dword [esp + 0x18]
fmulp st(4)
fld dword [esp + 0x40]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x1c]
fst dword [esp + 0x34]
fstp dword [esp + 0x20]
jmp 0x5c03b55b
fstp st(1)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x40]
fst dword [esp + 0x40]
fld dword [esp + 0x10]
fld dword [esp + 0x14]
mov edx, dword [esp + 0x38]
fld st(2)
fsubrp st(1)
shr edx, 1
mov esi, dword [ebx + 0x1cb8]
fstp dword [esp + 0x10]
fld dword [esp + 0x1c]
fld dword [esp + 0x18]
mov eax, dword [esp + 0x10]
fld st(3)
fsubrp st(1)
and eax, 0xbfffffff
or edx, eax
shr edx, 1
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fld dword [esp + 0x20]
and eax, 0x9fffffff
fld dword [esp + 0x34]
or edx, eax
mov eax, dword [esp + 0x28]
fld st(4)
shr edx, 1
fsubrp st(1)
and eax, 0x8fffffff
or edx, eax
mov eax, dword [esp + 0x24]
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 0x5c03b625
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 + 0xf8]
fnstsw ax
test ah, 5
jp 0x5c03b617
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c03b5ee
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
fstp st(0)
fld dword [esp + 0x38]
fst dword [esp + 0x34]
and dword [ecx + 0x10], 0
fstp dword [ecx]
fld dword [esp + 0x28]
fst dword [esp + 0x4c]
fstp dword [ecx + 4]
fld dword [esp + 0x24]
fst dword [esp + 0x48]
fstp dword [ecx + 8]
fld dword [esp + 0x40]
fstp dword [ecx + 0xc]
test edx, edx
jne 0x5c03ca0c
add edi, dword [esp + 0x8c]
fstp st(1)
mov esi, dword [esp + 0x68]
fstp st(1)
fstp st(0)
mov dword [esp + 0x6c], edi
fld dword [esi + 0xc]
fld qword [esp + 0xb0]
fld st(0)
inc dword [esp + 0x74]
fdivrp st(2)
fxch st(1)
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fst dword [esp + 0x40]
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 + 0x14]
fst dword [esp + 0x38]
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 + 0x28]
fld dword [esp + 0x38]
fst dword [esp + 0x38]
fld dword [esp + 0x28]
fst dword [esp + 0x28]
test edi, 0x100000
jne 0x5c03b768
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c03b715
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 0x5c03b72e
fstp dword [ebx + 0x1b24]
jmp 0x5c03b730
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c03b751
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c03b76c
fstp dword [ebx + 0x1b28]
jmp 0x5c03b76e
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esi + 8]
xor edx, edx
fmul dword [ebx + 0x60c]
and dword [ebx + 0x5b8], 0
fmulp st(1)
fadd dword [ebx + 0x610]
fstp dword [esp + 0x24]
test edi, 0x20000000
je 0x5c03b9f1
mov eax, dword [esp + 0x30]
fld dword [ebx + 0x454]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x444]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x10]
fstp dword [esp + 0x134]
fld dword [ebx + 0x458]
fmul dword [eax + 4]
fld dword [ebx + 0x448]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x138]
fld dword [ebx + 0x45c]
fmul dword [eax + 4]
fld dword [ebx + 0x44c]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x13c]
test ecx, ecx
je 0x5c03b9e8
fld dword [esp + 0x54]
xor esi, esi
fst dword [esp + 0x18]
fst dword [esp + 0x134]
fst dword [esp + 0x138]
fst dword [esp + 0x13c]
fld dword [esp + 0x10]
fst dword [esp + 0x34]
fld dword [esp + 0x14]
fst dword [esp + 0x4c]
fld dword [esp + 0x1c]
fst dword [esp + 0x48]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x1c]
test ecx, ecx
je 0x5c03b9a1
mov edx, dword [esp + 0x30]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x34]
fstp dword [esp + 0x4c]
fstp dword [esp + 0x48]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x134]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x134]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x138]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x138]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x13c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x20]
fstp dword [esp + 0x13c]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
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 + 0x34]
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 + 0x4c]
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 esi, ecx
jb 0x5c03b8b4
fld dword [esp + 0x14]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x10]
fld dword [esp + 0x1c]
fstp dword [esp + 0x14]
fld dword [esp + 0x20]
fstp dword [esp + 0x1c]
jmp 0x5c03b9a7
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x18]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x10]
fstp dword [esp + 0x134]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x138]
fmul dword [esp + 0x48]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x13c]
or edx, 1
mov dword [ebx + 0x5b8], edx
test edi, 0x40000000
je 0x5c03bc5b
mov eax, dword [esp + 0x58]
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 + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x10]
fstp dword [esp + 0x140]
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 + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x144]
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 + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x148]
test ecx, ecx
je 0x5c03bc34
fld dword [esp + 0x54]
xor edx, edx
fst dword [esp + 0x18]
fst dword [esp + 0x140]
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fld dword [esp + 0x10]
fst dword [esp + 0x34]
fld dword [esp + 0x14]
fst dword [esp + 0x4c]
fld dword [esp + 0x1c]
fst dword [esp + 0x48]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x1c]
test ecx, ecx
je 0x5c03bbef
mov esi, dword [esp + 0x30]
lea eax, [ebx + 0x38c]
mov edi, dword [esp + 0x58]
fxch st(1)
fstp dword [esp + 0x34]
fstp dword [esp + 0x4c]
fstp dword [esp + 0x48]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x140]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x140]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x144]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x144]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x148]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x20]
fstp dword [esp + 0x148]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
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 + 0x34]
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 + 0x4c]
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 edx, ecx
jb 0x5c03bb0b
fld dword [esp + 0x14]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x10]
fld dword [esp + 0x1c]
fstp dword [esp + 0x14]
fld dword [esp + 0x20]
fstp dword [esp + 0x1c]
jmp 0x5c03bbf5
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x10]
fstp dword [esp + 0x140]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x144]
fmul dword [esp + 0x48]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x148]
jmp 0x5c03bc36
fstp st(0)
test edi, 0x2000000
je 0x5c03bc4c
lea edx, [esp + 0x140]
mov ecx, edx
call fcn.5c050908
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
jmp 0x5c03bc5d
fstp st(0)
mov ecx, dword [ebx + 0x1a44]
test ecx, 0x400
je 0x5c03c227
fld dword [esp + 0x54]
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 0x5c03bcfc
test ecx, 0x10000
je 0x5c03bcc0
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c03bcb8
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03bcba
xor eax, eax
mov dword [ebx + 0x540], eax
test ecx, 0x4000
je 0x5c03bcde
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03bcd6
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03bcd8
xor eax, eax
mov dword [ebx + 0x550], eax
test ecx, 0x8000
je 0x5c03bcfc
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03bcf4
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03bcf6
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, ecx
test edi, edi
je 0x5c03bd48
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x134]
push eax
push dword [esp + 0x5c]
mov ecx, esi
push dword [esp + 0x38]
push edi
push ebx
call dword [0x5c05e150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c03bd0a
mov ecx, dword [ebx + 0x1a44]
mov esi, ecx
mov edx, dword [ebx + 0x5b8]
fld dword [esp + 0x54]
test ecx, 0x12000
je 0x5c03bf99
test byte [ebx + 0x5b8], 8
jne 0x5c03bd71
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c03bd73
fstp st(0)
test ecx, 0x10000
je 0x5c03be3a
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c03bd90
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03bd92
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 0x5c03bdac
fadd dword [0x5c0031d0]
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 0x5c03bde0
fadd dword [0x5c0031d0]
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 0x5c03be0f
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x1dc]
mov edi, dword [esp + 0x64]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], edi
jmp 0x5c03be7a
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x44]
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 0x5c03bf3f
mov eax, dword [esp + 0x98]
test eax, eax
je 0x5c03bea7
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03bea9
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 0x5c03bec3
fadd dword [0x5c0031d0]
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 0x5c03bef1
fadd dword [0x5c0031d0]
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 0x5c03bf1a
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x1dc]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], edi
jmp 0x5c03bf78
fld dword [ebx + 0x5a4]
fld qword [esp + 0xc0]
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 0x5c03bf9f
mov edi, dword [esp + 0x44]
fstp st(0)
test dl, 8
je 0x5c03c0cd
test esi, 0x12000
jne 0x5c03bff0
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
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 0x5c03bff6
fld dword [ebx + 0x504]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x100]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0x100]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x108]
fld dword [ebx + 0x50c]
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 0x5c03c059
xor ecx, ecx
jmp 0x5c03c05f
cmp ecx, eax
jle 0x5c03c05f
mov ecx, eax
test edx, edx
jns 0x5c03c067
xor edx, edx
jmp 0x5c03c06d
cmp edx, eax
jle 0x5c03c06d
mov edx, eax
test esi, esi
jns 0x5c03c075
xor esi, esi
jmp 0x5c03c07b
cmp esi, eax
jle 0x5c03c07b
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c03c097
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c03c0b6
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03c0a5
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03c0a7
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 0x5c03c107
test esi, 0x4000
jne 0x5c03c0e3
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c03c101
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03c0f7
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c03c0f9
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c03c1d3
fld dword [ebx + 0x524]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x118]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0x118]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x120]
fld dword [ebx + 0x52c]
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 0x5c03c171
xor ecx, ecx
jmp 0x5c03c177
cmp ecx, eax
jle 0x5c03c177
mov ecx, eax
test edx, edx
jns 0x5c03c17f
xor edx, edx
jmp 0x5c03c185
cmp edx, eax
jle 0x5c03c185
mov edx, eax
test esi, esi
jns 0x5c03c18d
xor esi, esi
jmp 0x5c03c193
cmp esi, eax
jle 0x5c03c193
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c03c1af
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c03c1ce
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03c1bd
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03c1bf
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c03c219
test esi, 0x100000
jne 0x5c03c21f
test dword [ebx + 0x1a60], 0x800
jne 0x5c03c1f4
test byte [ebx + 0x1a5c], 0x80
je 0x5c03c217
mov eax, dword [edi]
jmp 0x5c03c219
test esi, 0x8000
jne 0x5c03c204
mov eax, dword [ebx + 0x5bc]
jmp 0x5c03c219
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03c217
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c03c219
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
jmp 0x5c03c259
mov edx, dword [ebx + 0x1a5c]
mov eax, ecx
test dl, 0xc0
je 0x5c03c259
test dl, 0x40
je 0x5c03c245
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
mov eax, ecx
test dl, dl
jns 0x5c03c259
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, ecx
test eax, 0x100
je 0x5c03c274
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x134]
push eax
mov ecx, ebx
call fcn.5c068e8d
pop ecx
mov eax, dword [esp + 0x88]
fld dword [esp + 0x38]
fstp dword [eax]
fld dword [esp + 0x28]
fstp dword [eax + 4]
fld dword [esp + 0x24]
fstp dword [eax + 8]
fld dword [esp + 0x40]
fstp dword [eax + 0xc]
mov edi, dword [ebx + 0x1cd0]
add edi, eax
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x24], edi
test al, 0x40
je 0x5c03c2c1
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x24], edi
test al, al
jns 0x5c03c2d4
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x24], edi
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c03c7f0
mov ecx, dword [esp + 0x80]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c03c584
test ecx, ecx
jne 0x5c03c7e7
test eax, 0x4010000
jne 0x5c03c363
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03c7f0
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x14], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1e0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c03c32d
jmp 0x5c03c7f0
test eax, 0x10000
jne 0x5c03c3fc
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03c7f0
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x14], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x1dc]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x5c03c3b2
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03c3d4
push dword [esp + 0x1c]
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 + 0x1c]
add esp, 0xc
add edi, dword [esp + 0x18]
inc ecx
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c03c38a
jmp 0x5c03c7f0
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03c7f0
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c03c438
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1dc]
jmp 0x5c03c51e
cmp eax, 0x20000
jne 0x5c03c44b
lea ecx, [esp + 0x134]
jmp 0x5c03c51e
cmp eax, 0x10000
jne 0x5c03c45e
lea ecx, [esp + 0x140]
jmp 0x5c03c51e
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03c504
lea esi, [esp + 0x134]
lea edi, [esp + 0x17c]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x17c]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c050908
fld dword [esp + 0x180]
fld dword [esp + 0x144]
fld dword [esp + 0x17c]
fld dword [esp + 0x140]
fld dword [esp + 0x184]
fld dword [esp + 0x148]
fld st(4)
mov edi, dword [esp + 0x24]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x20]
fmul st(5)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1c4]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x1c8]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x1cc]
jmp 0x5c03c517
lea edx, [esp + 0x1c4]
lea ecx, [esp + 0x140]
call fcn.5c01a3b3
lea ecx, [esp + 0x1c4]
cmp dword [esi], 0
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
je 0x5c03c54b
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 + 0x2c]
jmp 0x5c03c553
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x18], 4
inc ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03c422
jmp 0x5c03c7f0
test ecx, ecx
jne 0x5c03c7e7
test eax, 0x4010000
jne 0x5c03c5ab
push dword [ebx + 0x1a8c]
push dword [esp + 0x40]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c03c7f0
test eax, 0x10000
jne 0x5c03c65b
mov edx, dword [esp + 0x3c]
xor esi, esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c03c7f0
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x1c], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], eax
test eax, eax
je 0x5c03c623
mov eax, dword [esp + 0x10]
push dword [esp + 0x20]
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 + 0x20]
jmp 0x5c03c62b
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x24]
add esp, 0xc
add edx, dword [esp + 0x10]
add edi, dword [esp + 0x34]
inc esi
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c03c5da
jmp 0x5c03c7f0
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03c7f0
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c03c693
mov ecx, dword [eax]
add ecx, dword [esp + 0x3c]
jmp 0x5c03c77f
cmp ecx, 0x20000
jne 0x5c03c6a7
lea ecx, [esp + 0x134]
jmp 0x5c03c77f
cmp ecx, 0x10000
jne 0x5c03c6bb
lea ecx, [esp + 0x140]
jmp 0x5c03c77f
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03c765
lea esi, [esp + 0x134]
lea edi, [esp + 0x188]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x188]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c050908
fld dword [esp + 0x18c]
fld dword [esp + 0x144]
fld dword [esp + 0x188]
fld dword [esp + 0x140]
fld dword [esp + 0x190]
fld dword [esp + 0x148]
fld st(4)
mov edi, dword [esp + 0x24]
fmul st(6)
fld st(3)
mov eax, dword [esp + 0x20]
fmul st(5)
mov esi, dword [esp + 0x18]
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1d0]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x1d4]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x1d8]
jmp 0x5c03c778
lea edx, [esp + 0x1d0]
lea ecx, [esp + 0x140]
call fcn.5c01a3b3
lea ecx, [esp + 0x1d0]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0x14], esi
test edx, edx
je 0x5c03c7a9
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 + 0x20]
jmp 0x5c03c7b1
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x1c]
add edi, esi
mov esi, dword [esp + 0x24]
add esp, 0xc
mov eax, dword [esp + 0x20]
inc edx
add esi, 4
mov dword [esp + 0x24], edi
add eax, 0x20
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c03c681
jmp 0x5c03c7f0
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x88]
add eax, dword [ebx + 0x1a64]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x8c]
add edi, edx
inc dword [esp + 0x90]
mov esi, dword [esi + 0x2c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x68], esi
mov dword [esp + 0x30], edi
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x1a60]
and eax, 0x8000000
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c03c8b5
test eax, eax
je 0x5c03c9cd
mov eax, dword [esp + 0x58]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov edx, dword [esp + 0x44]
add edx, dword [ebx + 0x1a94]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x5c]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x64], edx
test esi, esi
je 0x5c03c8b1
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x1dc], eax
inc ecx
cmp ecx, esi
jb 0x5c03c895
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x3c], eax
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0xac]
cmp edx, eax
jb 0x5c03ca03
inc eax
cmp edx, eax
jb 0x5c03b673
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x5c03c904
push eax
lea esi, [eax + 1]
mov ecx, ebx
push esi
push dword [esp + 0xb0]
push 3
pop edx
call fcn.5c0212f9
add esp, 0xc
mov ecx, eax
add dword [ebx + 0x1a48], esi
mov eax, dword [esp + 0x94]
mov dword [ebx + 0x680], eax
test dword [ebx + 0x1a60], 0x100000
mov eax, dword [esp + 0xa4]
mov dword [ebx + 0x684], eax
jne 0x5c03cb39
fld dword [ebx + 0x1b24]
fadd dword [ebx + 0x68c]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fst dword [esp + 0xa0]
fstp dword [ebx + 0x1b24]
fld dword [ebx + 0x68c]
fadd dword [ebx + 0x1b28]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fst dword [esp + 0x14]
fstp dword [ebx + 0x1b28]
fld dword [ebx + 0x1b1c]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fst dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fst dword [esp + 0x10]
fstp dword [ebx + 0x1b20]
fld dword [ebx + 0x624]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c03cabf
fstp dword [ebx + 0x1b1c]
jmp 0x5c03cac1
mov eax, dword [esp + 0x5c]
add dword [esp + 0x58], edx
add eax, edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
add eax, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x3c]
add eax, edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1dc], eax
jmp 0x5c03c8b5
mov dword [esp + 0x30], edi
jmp 0x5c03b27d
fld dword [ebx + 0x63c]
fmul st(3)
fld dword [ebx + 0x634]
fmulp st(3)
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x68]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fld dword [ebx + 0x640]
fmul st(3)
fld dword [ebx + 0x638]
fmulp st(3)
mov ecx, dword [esp + 0x14]
shr ecx, 1
and ecx, 0x40000000
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fld st(2)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
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 + 0x18]
shr ecx, 1
and eax, 0x8000ffff
or ecx, eax
shr ecx, 0x10
or edx, ecx
mov ecx, dword [esp + 0x70]
or dword [esp + 0x94], edx
or dword [esp + 0x2c], 0x11
mov dword [ecx + 0x10], edx
jmp 0x5c03993e
mov eax, dword [esp + 0x70]
mov dword [esp + 0x30], edi
jmp 0x5c03991f
fstp st(0)
fld dword [ebx + 0x628]
fstp dword [esp + 0x50]
fld dword [esp + 0x10]
fld dword [esp + 0x50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c03cae6
fstp dword [ebx + 0x1b20]
jmp 0x5c03cae8
fstp st(0)
fld dword [ebx + 0x62c]
fstp dword [esp + 0x50]
fld dword [esp + 0xa0]
fld dword [esp + 0x50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c03cb10
fstp dword [ebx + 0x1b24]
jmp 0x5c03cb12
fstp st(0)
fld dword [ebx + 0x630]
fstp dword [esp + 0x50]
fld dword [esp + 0x14]
fld dword [esp + 0x50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c03cb37
fstp dword [ebx + 0x1b28]
jmp 0x5c03cb39
fstp st(0)
mov eax, dword [ebx + 0x1a48]
mov dword [ebx + 0x1a58], eax
mov eax, dword [ebx + 0x1a48]
sub eax, dword [esp + 0xbc]
imul eax, dword [ebx + 0x1a64]
mov dword [ebx + 0x1a74], eax
mov eax, ecx
mov ecx, dword [esp + 0x1fc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.5c0501b0
mov esp, ebp
pop ebp
ret 4