Function at 0x5c02e1e0
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, 0x2ac
mov eax, dword [0x5c05aac4]
xor eax, esp
mov dword [esp + 0x2a8], eax
test byte [0x5c05c804], 2
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
je 0x5c02e22a
call fcn.5c01ce90
cmp dword [ebx + 0x684], 0
jne 0x5c032d00
mov ecx, ebx
call fcn.5c011121
jmp 0x5c032d02
test dword [ebx + 0x1a60], 0x80000
jne 0x5c02e20c
mov eax, dword [ebx + 0x1a70]
xor edi, edi
or dword [ebx + 0x225c], 0xffffffff
xor esi, esi
or dword [ebx + 0x1a44], 0x200000
inc edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x54], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0xa0], edi
mov dword [esp + 0x8c], esi
call fcn.5c01ce90
mov ecx, dword [ebx + 0x225c]
cmp ecx, 0xffffffff
jne 0x5c02e29f
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], esi
jmp 0x5c02e218
mov eax, dword [ebx + 0x1a48]
mov dword [esp + 0xc4], eax
cmp ecx, 3
jb 0x5c02e2f3
mov eax, dword [ebx + 0x1a64]
lea edx, [ecx - 1]
imul eax, edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x98], esi
mov dword [esp + 0x88], ecx
add dword [ebx + 0x1a70], eax
add edx, 0xfffffffe
mov eax, dword [ebx + 0x1a70]
mov dword [esp + 0x74], eax
lea eax, [ecx + 1]
mov dword [esp + 0x84], edx
mov dword [esp + 0x9c], eax
mov edi, dword [ebx + 0x1a78]
xor ecx, ecx
mov eax, dword [ebx + 0x1cd8]
mov edx, dword [ebx + 0x1a60]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ecx
mov ecx, edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x294], ecx
mov ecx, 0x8000000
mov dword [esp + 0xb4], eax
mov eax, dword [ebx + 0x1a7c]
mov dword [esp + 0xac], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x8c], edx
mov dword [esp + 0xb0], esi
mov dword [esp + 0x90], eax
test ecx, edx
jne 0x5c02e3a9
mov edx, dword [ebx + 0x1cc0]
mov ecx, dword [ebx + 0x1cc8]
add edx, edi
mov dword [esp + 0x44], edx
add ecx, edi
mov edx, dword [ebx + 0x1cc4]
add edx, edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x64], ecx
cmp dword [ebx + 0x1a84], esi
je 0x5c02e433
mov ecx, dword [ebx + 0x1cbc]
add ecx, edi
jmp 0x5c02e3f1
mov eax, dword [ebx + 0x1a2c]
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x1a34]
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x1a90]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], eax
test dl, 0x10
jne 0x5c02e3fe
test dword [ebx + 0x1a44], ecx
jne 0x5c02e3fe
cmp dword [ebx + 0x1a84], esi
je 0x5c02e433
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x294], ecx
jmp 0x5c02e433
mov esi, dword [ebx + 0x1a84]
xor ecx, ecx
test esi, esi
je 0x5c02e433
lea edx, [ebx + 0x1a98]
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x294], eax
inc ecx
cmp ecx, esi
jb 0x5c02e410
mov eax, dword [esp + 0x294]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x34], 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 0x5c02e59b
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 0x5c02e595
mov edx, dword [ebx + 0x1a5c]
mov edi, 0x2200
test dl, 0x40
je 0x5c02e516
cmp dword [ebx + 0x5f8], 0
mov ecx, eax
jne 0x5c02e4ba
or ecx, edi
lea esi, [esp + 0x60]
mov dword [ebx + 0x1a44], ecx
mov dword [esp + 0xb0], esi
cmp dword [ebx + 0x5f0], 0
mov eax, ecx
jne 0x5c02e4db
or eax, 0x4200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x80], ecx
cmp dword [ebx + 0x5ec], 0
jne 0x5c02e4fa
or eax, 0x10200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x94], ecx
cmp dword [ebx + 0x5f4], 0
jne 0x5c02e516
or eax, 0x8200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x7c], ecx
test dl, dl
jns 0x5c02e595
xor edx, edx
inc edx
cmp dword [ebx + 0x5f8], edx
jne 0x5c02e538
or eax, edi
lea esi, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0xb0], esi
cmp dword [ebx + 0x5f0], edx
jne 0x5c02e556
or eax, 0x4200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x80], ecx
cmp dword [ebx + 0x5ec], edx
jne 0x5c02e574
or eax, 0x10200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x94], ecx
mov edi, dword [esp + 0x38]
cmp dword [ebx + 0x5f4], edx
jne 0x5c02e59d
or eax, 0x8200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x7c], ecx
jmp 0x5c02e59d
mov edi, dword [esp + 0x38]
jmp 0x5c02e59d
fstp st(0)
mov eax, dword [esp + 0x8c]
mov edx, edi
and dword [esp + 0xa4], 0
and eax, 0x80000
neg eax
mov ecx, ebx
sbb eax, eax
neg eax
dec eax
mov dword [esp + 0xa8], eax
mov eax, dword [ebx + 0x1a54]
inc eax
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x1e0]
push eax
call fcn.5c02afc0
cmp dword [ebx + 0x225c], 3
pop ecx
sbb ecx, ecx
and ecx, eax
test dword [esp + 0xb4], ecx
jne 0x5c02e60a
lea eax, [esp + 0x1fc]
mov ecx, ebx
push eax
lea edx, [esp + 0x1e4]
call fcn.5c02b31b
pop ecx
and dword [ebx + 0x5b8], 0
xor edx, edx
mov esi, dword [ebx + 0x1a60]
fld1
fst qword [esp + 0xb8]
test esi, 0x20000000
je 0x5c02e887
fld dword [ebx + 0x454]
fmul dword [edi + 4]
fld dword [ebx + 0x444]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [edi + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x14]
fstp dword [esp + 0x168]
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 + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x18]
fstp dword [esp + 0x16c]
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]
mov edi, dword [ebx + 0x1cb4]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x2c]
fstp dword [esp + 0x170]
test edi, edi
je 0x5c02e87a
fld dword [esp + 0x54]
xor ecx, ecx
fst dword [esp + 0x24]
fst dword [esp + 0x168]
fst dword [esp + 0x16c]
fst dword [esp + 0x170]
fld dword [esp + 0x14]
fst dword [esp + 0x6c]
fld dword [esp + 0x18]
fst dword [esp + 0x70]
fld dword [esp + 0x2c]
fst dword [esp + 0x68]
fxch st(3)
fst dword [esp + 0x1c]
fst dword [esp + 0x28]
fstp dword [esp + 0x30]
test edi, edi
je 0x5c02e833
mov edx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x6c]
fstp dword [esp + 0x70]
fstp dword [esp + 0x68]
fld dword [edx + ecx*4 + 0xc]
inc ecx
fld dword [esp + 0x6c]
fmul st(1)
fadd dword [esp + 0x168]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x168]
fld dword [esp + 0x70]
fmul st(1)
fadd dword [esp + 0x16c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x2c]
fstp dword [esp + 0x16c]
fld dword [esp + 0x68]
fmul st(1)
fadd dword [esp + 0x170]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x14]
fstp dword [esp + 0x170]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
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 + 0x6c]
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 + 0x70]
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 + 0x68]
cmp ecx, edi
jb 0x5c02e746
fld dword [esp + 0x18]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fstp dword [esp + 0x28]
fld dword [esp + 0x14]
fstp dword [esp + 0x30]
jmp 0x5c02e839
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x24]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [esp + 0x6c]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x168]
fld dword [esp + 0x70]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x16c]
fmul dword [esp + 0x68]
fadd dword [esp + 0x30]
fstp dword [esp + 0x170]
mov edi, dword [esp + 0x38]
or edx, 1
mov dword [ebx + 0x5b8], edx
test esi, 0x40000000
je 0x5c02eaed
mov eax, dword [esp + 0x44]
fld dword [ebx + 0x484]
mov edx, dword [ebx + 0x1cb4]
fmul dword [eax]
fld dword [ebx + 0x488]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x14]
fstp dword [esp + 0x174]
fld dword [ebx + 0x494]
fmul dword [eax]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x18]
fstp dword [esp + 0x178]
fld dword [ebx + 0x4a4]
fmul dword [eax]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x2c]
fstp dword [esp + 0x17c]
test edx, edx
je 0x5c02eac6
fld dword [esp + 0x54]
xor ecx, ecx
fst dword [esp + 0x24]
fst dword [esp + 0x174]
fst dword [esp + 0x178]
fst dword [esp + 0x17c]
fld dword [esp + 0x14]
fst dword [esp + 0x6c]
fld dword [esp + 0x18]
fst dword [esp + 0x70]
fld dword [esp + 0x2c]
fst dword [esp + 0x68]
fxch st(3)
fst dword [esp + 0x1c]
fst dword [esp + 0x28]
fstp dword [esp + 0x30]
test edx, edx
je 0x5c02ea81
mov esi, dword [esp + 0x44]
lea eax, [ebx + 0x38c]
fxch st(1)
fstp dword [esp + 0x6c]
fstp dword [esp + 0x70]
fstp dword [esp + 0x68]
fld dword [edi + ecx*4 + 0xc]
inc ecx
fld dword [esp + 0x6c]
fmul st(1)
fadd dword [esp + 0x174]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x174]
fld dword [esp + 0x70]
fmul st(1)
fadd dword [esp + 0x178]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x2c]
fstp dword [esp + 0x178]
fld dword [esp + 0x68]
fmul st(1)
fadd dword [esp + 0x17c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x14]
fstp dword [esp + 0x17c]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
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 + 0x6c]
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 + 0x70]
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 + 0x68]
cmp ecx, edx
jb 0x5c02e99d
fld dword [esp + 0x18]
mov esi, dword [ebx + 0x1a60]
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fstp dword [esp + 0x28]
fld dword [esp + 0x14]
fstp dword [esp + 0x30]
jmp 0x5c02ea87
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x24]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [esp + 0x6c]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x174]
fld dword [esp + 0x70]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x178]
fmul dword [esp + 0x68]
fadd dword [esp + 0x30]
fstp dword [esp + 0x17c]
jmp 0x5c02eac8
fstp st(0)
test esi, 0x2000000
je 0x5c02eade
lea edx, [esp + 0x174]
mov ecx, edx
call fcn.5c050908
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
jmp 0x5c02eaef
fstp st(0)
mov ecx, dword [ebx + 0x1a44]
mov esi, 0x10000
fld qword [0x5c003160]
fst qword [esp + 0xc8]
test ecx, 0x400
je 0x5c02f0d9
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 0x5c02eb9f
test esi, ecx
je 0x5c02eb60
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c02eb58
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02eb5a
xor eax, eax
mov dword [ebx + 0x540], eax
test ecx, 0x4000
je 0x5c02eb81
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c02eb79
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02eb7b
xor eax, eax
mov dword [ebx + 0x550], eax
test ecx, 0x8000
je 0x5c02eb9f
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c02eb97
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02eb99
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, ecx
test edi, edi
je 0x5c02ebf4
fstp st(0)
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x168]
push eax
push dword [esp + 0x48]
mov ecx, esi
push dword [esp + 0x40]
push edi
push ebx
call dword [0x5c05e150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c02ebaf
fld qword [esp + 0xc8]
mov ecx, dword [ebx + 0x1a44]
mov esi, ecx
mov edx, dword [ebx + 0x5b8]
fld dword [esp + 0x54]
test ecx, 0x12000
je 0x5c02ee3c
test byte [ebx + 0x5b8], 8
jne 0x5c02ec1d
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c02ec1f
fstp st(0)
test ecx, 0x10000
je 0x5c02ece6
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c02ec3c
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02ec3e
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 0x5c02ec58
fadd dword [0x5c0031d0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
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 0x5c02ec8c
fadd dword [0x5c0031d0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
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 0x5c02ecbb
fadd dword [0x5c0031d0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
mov eax, dword [esp + 0x294]
mov edi, dword [esp + 0x64]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], edi
jmp 0x5c02ed26
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x3c]
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 0x5c02eded
mov eax, dword [esp + 0xb0]
fstp st(0)
test eax, eax
je 0x5c02ed55
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02ed57
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 0x5c02ed71
fadd dword [0x5c0031d0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
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 0x5c02ed9f
fadd dword [0x5c0031d0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02edc8
fadd dword [0x5c0031d0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
mov eax, dword [esp + 0x294]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], edi
jmp 0x5c02ee1b
fld dword [ebx + 0x5a4]
fmul st(1)
fadd dword [ebx + 0x504]
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 0x5c02ee44
mov edi, dword [esp + 0x3c]
fstp st(0)
fstp st(0)
test dl, 8
je 0x5c02ef75
test esi, 0x12000
jne 0x5c02ee95
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
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 0x5c02ee9b
fld dword [ebx + 0x504]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fistp qword [esp + 0xd8]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0xd8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fistp qword [esp + 0xe0]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0xe0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fistp qword [esp + 0xe8]
mov esi, dword [esp + 0xe8]
mov eax, 0xff
test ecx, ecx
jns 0x5c02eefe
xor ecx, ecx
jmp 0x5c02ef04
cmp ecx, eax
jle 0x5c02ef04
mov ecx, eax
test edx, edx
jns 0x5c02ef0c
xor edx, edx
jmp 0x5c02ef12
cmp edx, eax
jle 0x5c02ef12
mov edx, eax
test esi, esi
jns 0x5c02ef1a
xor esi, esi
jmp 0x5c02ef20
cmp esi, eax
jle 0x5c02ef20
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c02ef3c
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c02ef5e
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c02ef4d
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02ef4f
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 0x5c02efb2
test esi, 0x4000
jne 0x5c02ef8b
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c02efac
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c02efa2
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c02efa4
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c02f07e
fld dword [ebx + 0x524]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fistp qword [esp + 0xf0]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0xf0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fistp qword [esp + 0xf8]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0xf8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fistp qword [esp + 0x100]
mov esi, dword [esp + 0x100]
mov eax, 0xff
test ecx, ecx
jns 0x5c02f01c
xor ecx, ecx
jmp 0x5c02f022
cmp ecx, eax
jle 0x5c02f022
mov ecx, eax
test edx, edx
jns 0x5c02f02a
xor edx, edx
jmp 0x5c02f030
cmp edx, eax
jle 0x5c02f030
mov edx, eax
test esi, esi
jns 0x5c02f038
xor esi, esi
jmp 0x5c02f03e
cmp esi, eax
jle 0x5c02f03e
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c02f05a
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c02f079
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c02f068
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02f06a
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c02f0c4
test esi, 0x100000
jne 0x5c02f0ca
test dword [ebx + 0x1a60], 0x800
jne 0x5c02f09f
test byte [ebx + 0x1a5c], 0x80
je 0x5c02f0c2
mov eax, dword [edi]
jmp 0x5c02f0c4
test esi, 0x8000
jne 0x5c02f0af
mov eax, dword [ebx + 0x5bc]
jmp 0x5c02f0c4
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c02f0c2
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c02f0c4
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
mov esi, 0x10000
mov edx, eax
jmp 0x5c02f116
test byte [ebx + 0x1a5c], 0xc0
fstp st(0)
mov eax, ecx
mov edx, ecx
je 0x5c02f116
test byte [ebx + 0x1a5c], 0x40
je 0x5c02f0fd
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test byte [ebx + 0x1a5c], 0x80
mov eax, ecx
je 0x5c02f116
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, ecx
test eax, 0x100
je 0x5c02f137
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x168]
push eax
mov ecx, ebx
call fcn.5c01a3e0
mov edx, dword [ebx + 0x1a44]
pop ecx
mov eax, dword [ebx + 0x530]
and edx, 0x10000000
mov dword [esp + 0x1f4], eax
mov eax, dword [ebx + 0x560]
mov dword [esp + 0x1f8], eax
mov eax, dword [ebx + 0x1a60]
test eax, 0x8000000
je 0x5c02f4ff
test edx, edx
jne 0x5c02f392
test dword [esp + 0x8c], 0x200000
lea edi, [esp + 0x210]
jne 0x5c02f380
test eax, 0x4010000
jne 0x5c02f1e1
xor eax, eax
mov dword [esp + 0x1c], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c02f392
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x24], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x298]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x24]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c02f1ab
jmp 0x5c02f392
test esi, eax
jne 0x5c02f277
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c02f392
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x24], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x294]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x5c02f22d
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c02f24f
push dword [esp + 0x14]
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 + 0x28]
add esp, 0xc
add edi, dword [esp + 0x18]
inc ecx
mov eax, dword [esp + 0x24]
add eax, 4
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c02f205
jmp 0x5c02f392
and dword [esp + 0x1c], 0
lea edx, [esp + 0x210]
cmp dword [ebx + 0x1c2c], 0
mov dword [esp + 0x24], edx
jbe 0x5c02f392
lea esi, [ebx + 0x1ad8]
mov dword [esp + 0x28], esi
lea edi, [ebx + 0x1b40]
mov eax, dword [edi + 8]
test eax, eax
jne 0x5c02f2b7
mov eax, dword [edi - 0x14]
mov ecx, dword [esp + eax*4 + 0x294]
jmp 0x5c02f31f
cmp eax, 0x20000
jne 0x5c02f2c7
lea ecx, [esp + 0x168]
jmp 0x5c02f31f
cmp eax, 0x10000
jne 0x5c02f2d7
lea ecx, [esp + 0x174]
jmp 0x5c02f31f
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02f301
lea eax, [esp + 0x180]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a329
pop ecx
jmp 0x5c02f314
lea edx, [esp + 0x180]
lea ecx, [esp + 0x174]
call fcn.5c01a3b3
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x180]
cmp dword [edi], 0
mov eax, dword [esi]
mov dword [esp + 0x14], eax
je 0x5c02f348
push dword [edi]
mov eax, dword [edi + 4]
push edx
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x34]
jmp 0x5c02f350
push eax
push ecx
push edx
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x30]
add esp, 0xc
add edx, dword [esp + 0x14]
add esi, 4
mov ecx, dword [esp + 0x1c]
add edi, 0x20
inc ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c02f2a4
jmp 0x5c02f392
fld dword [esp + 0x54]
fst dword [esp + 0x210]
fstp dword [esp + 0x214]
mov edi, dword [esp + 0x38]
add edi, dword [esp + 0x90]
mov edx, dword [ebx + 0x1a44]
mov dword [esp + 0x38], edi
test edx, 0x40000000
jne 0x5c02f413
mov eax, dword [esp + 0x44]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov edi, dword [ebx + 0x1a84]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x48]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x3c]
add eax, dword [ebx + 0x1a94]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], eax
test edi, edi
je 0x5c02f40f
lea esi, [ebx + 0x1a9c]
mov eax, dword [esi]
lea esi, [esi + 8]
add dword [esp + ecx*4 + 0x294], eax
inc ecx
cmp ecx, edi
jb 0x5c02f3f3
mov eax, dword [esp + 0x294]
mov dword [esp + 0x34], eax
mov edi, dword [esp + 0x38]
cmp dword [ebx + 0x225c], 3
lea esi, [ebx + 0x1cdc]
fldz
lea eax, [ebx + 0x1d8c]
fstp qword [esp + 0xd0]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], eax
jb 0x5c02f813
mov ecx, dword [ebx + 0x1a7c]
mov edi, dword [esp + 0x50]
mov eax, dword [ebx + 0x1a60]
imul ecx, edi
add ecx, dword [ebx + 0x1a78]
mov dword [esp + 0x38], ecx
test eax, 0x8000000
je 0x5c02f7d2
mov esi, dword [ebx + 0x1a30]
imul esi, edi
add esi, dword [ebx + 0x1a2c]
mov dword [esp + 0x44], esi
mov esi, dword [ebx + 0x1a38]
imul esi, edi
add esi, dword [ebx + 0x1a34]
mov dword [esp + 0x48], esi
mov dword [esp + 0x60], esi
mov esi, dword [ebx + 0x1a94]
imul esi, edi
add esi, dword [ebx + 0x1a90]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x64], esi
lea esi, [ebx + 0x1cdc]
test al, 0x10
jne 0x5c02f761
test edx, 0x8000000
jne 0x5c02f761
cmp dword [ebx + 0x1a84], 0
je 0x5c02f79f
mov ecx, dword [ebx + 0x688]
mov eax, dword [ebx + ecx*8 + 0x1a9c]
imul eax, edi
add eax, dword [ebx + ecx*8 + 0x1a98]
mov dword [esp + ecx*4 + 0x294], eax
mov edi, dword [esp + 0x294]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x34], edi
jmp 0x5c02f79f
test edx, edx
jne 0x5c02f708
test dword [esp + 0x8c], 0x200000
jne 0x5c02f6f6
test eax, 0x4010000
jne 0x5c02f53e
push dword [ebx + 0x1a8c]
lea eax, [esp + 0x214]
push dword [esp + 0x38]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c02f708
test esi, eax
jne 0x5c02f5ef
mov eax, dword [esp + 0x34]
lea esi, [esp + 0x210]
and dword [esp + 0x30], 0
mov edx, eax
cmp dword [ebx + 0x1a88], 0
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
jbe 0x5c02f70c
lea edi, [ebx + 0x1af8]
cmp dword [edi + 0x138], 0
mov eax, dword [edi - 0x20]
mov ecx, dword [edi]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
je 0x5c02f5b7
push dword [edi + 0x138]
mov ecx, eax
mov eax, dword [esp + 0x20]
shr ecx, 2
shr eax, 2
push esi
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 + 0x34]
jmp 0x5c02f5bf
push eax
push edx
push esi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x30]
add esp, 0xc
add edx, dword [esp + 0x1c]
add edi, 4
add esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], ecx
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c02f573
jmp 0x5c02f708
and dword [esp + 0x1c], 0
lea edx, [esp + 0x210]
cmp dword [ebx + 0x1c2c], 0
mov dword [esp + 0x24], edx
jbe 0x5c02f708
lea esi, [ebx + 0x1ad8]
mov dword [esp + 0x28], esi
lea edi, [ebx + 0x1b30]
mov eax, dword [edi + 0x18]
test eax, eax
jne 0x5c02f62b
mov ecx, dword [edi]
add ecx, dword [esp + 0x34]
jmp 0x5c02f693
cmp eax, 0x20000
jne 0x5c02f63b
lea ecx, [esp + 0x168]
jmp 0x5c02f693
cmp eax, 0x10000
jne 0x5c02f64b
lea ecx, [esp + 0x174]
jmp 0x5c02f693
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02f675
lea eax, [esp + 0x18c]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a329
pop ecx
jmp 0x5c02f688
lea edx, [esp + 0x18c]
lea ecx, [esp + 0x174]
call fcn.5c01a3b3
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x18c]
cmp dword [edi + 0x10], 0
mov eax, dword [esi]
mov dword [esp + 0x14], eax
je 0x5c02f6be
push dword [edi + 0x10]
mov eax, dword [edi + 0x14]
push edx
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x34]
jmp 0x5c02f6c6
push eax
push ecx
push edx
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x30]
add esp, 0xc
add edx, dword [esp + 0x14]
add esi, 4
mov ecx, dword [esp + 0x1c]
add edi, 0x20
inc ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c02f61c
jmp 0x5c02f708
fld dword [esp + 0x54]
fst dword [esp + 0x210]
fstp dword [esp + 0x214]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x90]
add edi, esi
mov edx, dword [ebx + 0x1a44]
mov dword [esp + 0x38], edi
test edx, 0x40000000
jne 0x5c02f413
mov ecx, dword [esp + 0x48]
add dword [esp + 0x44], esi
add ecx, esi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x3c]
add ecx, esi
add eax, esi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x294], eax
jmp 0x5c02f413
mov esi, dword [ebx + 0x1a84]
xor edx, edx
test esi, esi
je 0x5c02f799
lea ecx, [ebx + 0x1a98]
mov eax, dword [ecx + 4]
imul eax, edi
add eax, dword [ecx]
lea ecx, [ecx + 8]
mov dword [esp + edx*4 + 0x294], eax
inc edx
cmp edx, esi
jb 0x5c02f773
mov eax, dword [esp + 0x294]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x34], eax
lea esi, [ebx + 0x1cdc]
mov edx, ecx
mov ecx, ebx
push esi
call fcn.5c02afc0
pop ecx
mov ecx, dword [esp + 0x90]
add ecx, dword [esp + 0x38]
push 2
pop eax
sub eax, dword [ebx + 0x225c]
add dword [esp + 0xa0], eax
and dword [esi + 0x10], 0
mov dword [esp + 0x68], ecx
jmp 0x5c031627
mov eax, dword [ebx + 0x1cc0]
mov edi, dword [ebx + 0x1cbc]
add eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x1cc4]
add eax, ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x1cc8]
add eax, ecx
add edi, ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x294], edi
jmp 0x5c02f79f
push esi
mov edx, edi
mov ecx, ebx
call fcn.5c02afc0
add edi, dword [esp + 0x94]
pop ecx
mov ecx, dword [esp + 0x1f0]
or ecx, dword [esi + 0x10]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0xa8]
and ecx, dword [esp + 0x1f0]
and ecx, dword [esi + 0x10]
mov dword [esp + 0x68], edi
mov dword [esp + 0xa8], ecx
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)
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 + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x5c]
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 + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x20]
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 + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x58]
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 + 0x40]
fxch st(2)
fst dword [esp + 0x18]
fst dword [esp + 0x14]
fxch st(1)
fst dword [esp + 0x1c]
fst dword [esp + 0x2c]
fxch st(2)
fst dword [esp + 0x28]
fst dword [esp + 0x24]
test ecx, ecx
je 0x5c02fb20
fld dword [esp + 0x54]
xor edx, edx
fst dword [esp + 0x24]
fld dword [esp + 0x40]
fstp dword [esp + 0x1c]
fst dword [esp + 0x5c]
fst dword [esp + 0x20]
fst dword [esp + 0x58]
fst dword [esp + 0x40]
fxch st(2)
fst dword [esp + 0x50]
fxch st(3)
fst dword [esp + 0x30]
fxch st(1)
fst dword [esp + 0x28]
fxch st(2)
fst dword [esp + 0x2c]
fst dword [esp + 0x18]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c02fa91
fxch st(2)
lea eax, [ebx + 0x224]
fstp dword [esp + 0x50]
fxch st(1)
fstp dword [esp + 0x30]
fstp dword [esp + 0x28]
fld dword [edi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x5c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x5c]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x20]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x58]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x14]
fstp dword [esp + 0x58]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x40]
fstp dword [esp + 0x40]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
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 + 0x50]
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 + 0x30]
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 + 0x28]
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 + 0x1c]
cmp edx, ecx
jb 0x5c02f996
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x18]
fstp dword [esp + 0x2c]
fld dword [esp + 0x10]
fstp dword [esp + 0x18]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
jmp 0x5c02fa9d
fstp st(2)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x24]
fsubr qword [esp + 0xb8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x5c]
fld dword [esp + 0x30]
fmul st(2)
fadd dword [esp + 0x18]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x20]
fld dword [esp + 0x28]
fmul st(3)
fadd dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x58]
fld dword [esp + 0x1c]
fmulp st(4)
fld dword [esp + 0x40]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x18]
fstp dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x2c]
fst dword [esp + 0x28]
fstp dword [esp + 0x24]
jmp 0x5c02fb2c
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 + 0x14]
fld dword [esp + 0x18]
mov edx, dword [esp + 0x5c]
fld st(2)
fsubrp st(1)
shr edx, 1
mov esi, dword [ebx + 0x1cb8]
fstp dword [esp + 0x10]
fld dword [esp + 0x2c]
fld dword [esp + 0x1c]
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 + 0x24]
and eax, 0x9fffffff
fld dword [esp + 0x28]
or edx, eax
mov eax, dword [esp + 0x20]
fld st(4)
shr edx, 1
fsubrp st(1)
and eax, 0x8fffffff
or edx, eax
mov eax, dword [esp + 0x58]
shr edx, 1
and eax, 0x87ffffff
or edx, eax
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
shr edx, 1
and eax, 0x83ffffff
or edx, eax
shr edx, 0x1a
test esi, esi
je 0x5c02fbf6
fld qword [esp + 0xd0]
lea ecx, [ebx + 0x1c54]
push 0x40
pop edi
fld dword [ecx - 4]
fmul st(4)
fld dword [ecx]
fmul st(4)
faddp st(1)
fld dword [ecx + 4]
fmul st(3)
faddp st(1)
fld dword [ecx + 8]
fmul st(6)
faddp st(1)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5c02fbea
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c02fbc6
fstp st(1)
test byte [ebx + 0x1a60], 2
fstp st(0)
je 0x5c02fc8d
fld dword [ebx + 0x634]
fmulp st(2)
fld dword [ebx + 0x63c]
fmul st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
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 + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x2c]
fld st(2)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fsubp st(1)
and eax, 0x8003ffff
or ecx, eax
shr ecx, 1
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
and eax, 0x8001ffff
or ecx, eax
mov eax, dword [esp + 0x2c]
shr ecx, 1
and eax, 0x8000ffff
or ecx, eax
shr ecx, 0x10
or edx, ecx
jmp 0x5c02fc93
fstp st(1)
fstp st(1)
fstp st(0)
mov edi, dword [esp + 0x70]
fld dword [esp + 0x5c]
or dword [esp + 0xa4], edx
and dword [esp + 0xa8], edx
fst dword [esp + 0x5c]
fstp dword [edi]
fld dword [esp + 0x20]
fst dword [esp + 0x24]
fstp dword [edi + 4]
fld dword [esp + 0x58]
fst dword [esp + 0x58]
fstp dword [edi + 8]
fld dword [esp + 0x40]
fstp dword [edi + 0xc]
mov dword [edi + 0x10], edx
mov esi, dword [esp + 0x6c]
mov eax, edx
and eax, dword [esp + 0x1f0]
mov ecx, dword [esi + 0x10]
test ecx, eax
jne 0x5c02fd05
or edx, dword [esp + 0x1f0]
or edx, ecx
and edx, dword [esp + 0xb4]
neg edx
sbb edx, edx
and edx, 0xffffff21
add edx, 0x221
jmp 0x5c02fd0a
mov edx, 0x80
or dword [esp + 0x4c], edx
mov ecx, dword [ebx + 0x1a60]
mov eax, dword [ebx + 0x1cd8]
test dword [esi + 0x10], eax
jne 0x5c02fe33
fld dword [esi + 0xc]
fld qword [esp + 0xb8]
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 + 0x5c]
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 + 0x18]
fstp dword [esp + 0x20]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fld dword [esp + 0x20]
fst dword [esp + 0x24]
test ecx, 0x100000
jne 0x5c02fe0e
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c02fdbb
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 0x5c02fdd4
fstp dword [ebx + 0x1b24]
jmp 0x5c02fdd6
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c02fdf7
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c02fe12
fstp dword [ebx + 0x1b28]
jmp 0x5c02fe14
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 + 0x58]
fld dword [esp + 0x58]
fstp dword [esp + 0x58]
jmp 0x5c02fe3a
fld qword [esp + 0xb8]
mov ecx, dword [esp + 0x4c]
test cl, 3
je 0x5c03094d
and dword [ebx + 0x5b8], 0
xor edx, edx
mov edi, dword [ebx + 0x1a60]
test edi, 0x20000000
je 0x5c0300bb
mov eax, dword [esp + 0x38]
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 + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x10]
fstp dword [esp + 0x168]
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 + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x14]
fstp dword [esp + 0x16c]
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 + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x18]
fstp dword [esp + 0x170]
test ecx, ecx
je 0x5c0300b2
fld dword [esp + 0x54]
xor esi, esi
fst dword [esp + 0x1c]
fst dword [esp + 0x168]
fst dword [esp + 0x16c]
fst dword [esp + 0x170]
fld dword [esp + 0x10]
fst dword [esp + 0x28]
fld dword [esp + 0x14]
fst dword [esp + 0x30]
fld dword [esp + 0x18]
fst dword [esp + 0x50]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x2c]
test ecx, ecx
je 0x5c03006b
mov edx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x28]
fstp dword [esp + 0x30]
fstp dword [esp + 0x50]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x168]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x168]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x16c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x16c]
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x170]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x170]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
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 + 0x28]
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 + 0x30]
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 + 0x50]
cmp esi, ecx
jb 0x5c02ff7e
fld dword [esp + 0x14]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x2c]
jmp 0x5c030071
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x1c]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x168]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x16c]
fmul dword [esp + 0x50]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x170]
or edx, 1
mov dword [ebx + 0x5b8], edx
test edi, 0x40000000
je 0x5c030325
mov eax, dword [esp + 0x44]
fld dword [ebx + 0x484]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax]
fld dword [ebx + 0x488]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x10]
fstp dword [esp + 0x174]
fld dword [ebx + 0x494]
fmul dword [eax]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x14]
fstp dword [esp + 0x178]
fld dword [ebx + 0x4a4]
fmul dword [eax]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x18]
fstp dword [esp + 0x17c]
test ecx, ecx
je 0x5c0302fe
fld dword [esp + 0x54]
xor edx, edx
fst dword [esp + 0x1c]
fst dword [esp + 0x174]
fst dword [esp + 0x178]
fst dword [esp + 0x17c]
fld dword [esp + 0x10]
fst dword [esp + 0x28]
fld dword [esp + 0x14]
fst dword [esp + 0x30]
fld dword [esp + 0x18]
fst dword [esp + 0x50]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x2c]
test ecx, ecx
je 0x5c0302b9
mov esi, dword [esp + 0x38]
lea eax, [ebx + 0x38c]
mov edi, dword [esp + 0x44]
fxch st(1)
fstp dword [esp + 0x28]
fstp dword [esp + 0x30]
fstp dword [esp + 0x50]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x174]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x174]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x178]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x178]
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x17c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x17c]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
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 + 0x28]
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 + 0x30]
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 + 0x50]
cmp edx, ecx
jb 0x5c0301d5
fld dword [esp + 0x14]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x2c]
jmp 0x5c0302bf
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x1c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x174]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x178]
fmul dword [esp + 0x50]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x17c]
jmp 0x5c030300
fstp st(0)
test edi, 0x2000000
je 0x5c030316
lea edx, [esp + 0x174]
mov ecx, edx
call fcn.5c050908
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
jmp 0x5c030327
fstp st(0)
mov ecx, dword [ebx + 0x1a44]
test ecx, 0x400
je 0x5c0308fa
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 0x5c0303c9
test ecx, 0x10000
je 0x5c03038a
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c030382
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c030384
xor eax, eax
mov dword [ebx + 0x540], eax
test ecx, 0x4000
je 0x5c0303ab
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c0303a3
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0303a5
xor eax, eax
mov dword [ebx + 0x550], eax
test ecx, 0x8000
je 0x5c0303c9
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c0303c1
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0303c3
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, ecx
test edi, edi
je 0x5c030415
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x168]
push eax
push dword [esp + 0x48]
mov ecx, esi
push dword [esp + 0x40]
push edi
push ebx
call dword [0x5c05e150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c0303d7
mov ecx, dword [ebx + 0x1a44]
mov esi, ecx
mov edx, dword [ebx + 0x5b8]
fld dword [esp + 0x54]
test ecx, 0x12000
je 0x5c030666
test byte [ebx + 0x5b8], 8
jne 0x5c03043e
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c030440
fstp st(0)
test ecx, 0x10000
je 0x5c030507
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c03045d
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03045f
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 0x5c030479
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 0x5c0304ad
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 0x5c0304dc
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x294]
mov edi, dword [esp + 0x64]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], edi
jmp 0x5c030547
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x3c]
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 0x5c03060c
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x5c030574
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c030576
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 0x5c030590
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 0x5c0305be
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 0x5c0305e7
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x294]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], edi
jmp 0x5c030645
fld dword [ebx + 0x5a4]
fld qword [esp + 0xc8]
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 0x5c03066c
mov edi, dword [esp + 0x3c]
fstp st(0)
test dl, 8
je 0x5c03079d
test esi, 0x12000
jne 0x5c0306bd
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
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 0x5c0306c3
fld dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x108]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0x108]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x110]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0x110]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x118]
mov esi, dword [esp + 0x118]
mov eax, 0xff
test ecx, ecx
jns 0x5c030726
xor ecx, ecx
jmp 0x5c03072c
cmp ecx, eax
jle 0x5c03072c
mov ecx, eax
test edx, edx
jns 0x5c030734
xor edx, edx
jmp 0x5c03073a
cmp edx, eax
jle 0x5c03073a
mov edx, eax
test esi, esi
jns 0x5c030742
xor esi, esi
jmp 0x5c030748
cmp esi, eax
jle 0x5c030748
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c030764
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c030786
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c030775
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c030777
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 0x5c0307da
test esi, 0x4000
jne 0x5c0307b3
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c0307d4
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c0307ca
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c0307cc
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c0308a6
fld dword [ebx + 0x524]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x120]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0x120]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x128]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0x128]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x130]
mov esi, dword [esp + 0x130]
mov eax, 0xff
test ecx, ecx
jns 0x5c030844
xor ecx, ecx
jmp 0x5c03084a
cmp ecx, eax
jle 0x5c03084a
mov ecx, eax
test edx, edx
jns 0x5c030852
xor edx, edx
jmp 0x5c030858
cmp edx, eax
jle 0x5c030858
mov edx, eax
test esi, esi
jns 0x5c030860
xor esi, esi
jmp 0x5c030866
cmp esi, eax
jle 0x5c030866
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c030882
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c0308a1
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c030890
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c030892
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c0308ec
test esi, 0x100000
jne 0x5c0308f2
test dword [ebx + 0x1a60], 0x800
jne 0x5c0308c7
test byte [ebx + 0x1a5c], 0x80
je 0x5c0308ea
mov eax, dword [edi]
jmp 0x5c0308ec
test esi, 0x8000
jne 0x5c0308d7
mov eax, dword [ebx + 0x5bc]
jmp 0x5c0308ec
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c0308ea
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c0308ec
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
jmp 0x5c03092c
mov edx, dword [ebx + 0x1a5c]
mov eax, ecx
test dl, 0xc0
je 0x5c03092c
test dl, 0x40
je 0x5c030918
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
mov eax, ecx
test dl, dl
jns 0x5c03092c
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, ecx
test eax, 0x100
je 0x5c030947
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x168]
push eax
mov ecx, ebx
call fcn.5c01a3e0
pop ecx
mov ecx, dword [esp + 0x4c]
jmp 0x5c03094f
fstp st(0)
test cl, 1
je 0x5c030ee5
test cl, 4
je 0x5c030a3e
mov eax, dword [esp + 0x84]
test eax, eax
jle 0x5c030a3e
mov ecx, dword [esp + 0x78]
lea edi, [eax + 2]
mov dword [ebx + 0x1a70], ecx
mov ecx, dword [esp + 0x9c]
cmp dword [esp + 0x88], ecx
jae 0x5c0309d5
mov dword [ebx + 0x1a3c], 6
mov dword [ebx + 0x1a40], edi
mov dword [ebx + 0x1a54], eax
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5c05e150]
mov ecx, ebx
call esi
test eax, eax
jne 0x5c03151c
mov eax, dword [ebx + 0x1a64]
add dword [ebx + 0x1a48], edi
mov ecx, dword [esp + 0x74]
imul eax, edi
add dword [esp + 0x78], eax
jmp 0x5c030a29
or dword [ebx + 0x1a44], 0x2000000
mov dword [ebx + 0x1a3c], 6
mov dword [ebx + 0x1a40], edi
mov dword [ebx + 0x1a54], eax
mov eax, dword [ebx]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5c05e150]
mov ecx, ebx
call esi
mov esi, dword [esp + 0x78]
mov ecx, esi
and dword [ebx + 0x1a44], 0xfdffffff
sub dword [esp + 0x88], edi
mov dword [esp + 0x74], ecx
test eax, eax
jne 0x5c031520
xor esi, esi
xor eax, eax
inc eax
mov dword [esp + 0x84], esi
mov dword [esp + 0x98], eax
jmp 0x5c030a4b
mov eax, dword [esp + 0x98]
xor esi, esi
mov ecx, dword [esp + 0x74]
test eax, eax
je 0x5c030a7f
lea eax, [esp + 0x1e0]
mov edx, ecx
push eax
mov ecx, ebx
call fcn.5c0212a2
mov eax, dword [esp + 0x78]
add eax, dword [ebx + 0x1a64]
inc dword [esp + 0x8c]
pop ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x98], esi
jmp 0x5c030a83
mov eax, dword [esp + 0x74]
fld dword [esp + 0x5c]
fstp dword [eax]
fld dword [esp + 0x24]
fstp dword [eax + 4]
fld dword [esp + 0x58]
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]
test al, 0x40
je 0x5c030ac1
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
test al, al
jns 0x5c030ad0
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c030ecc
mov ecx, dword [esp + 0x8c]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c030cf5
test ecx, ecx
jne 0x5c030ec3
test eax, 0x4010000
jne 0x5c030b5f
mov eax, esi
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], esi
jbe 0x5c030ecc
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x298]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x18]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c030b29
jmp 0x5c030ecc
test eax, 0x10000
jne 0x5c030bf8
mov ecx, esi
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], esi
jbe 0x5c030ecc
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x294]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c030bae
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c030bd0
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 + 0x2c]
inc ecx
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c030b86
jmp 0x5c030ecc
mov dword [esp + 0x14], esi
cmp dword [ebx + 0x1c2c], esi
jbe 0x5c030ecc
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c030c2f
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x294]
jmp 0x5c030c93
cmp eax, 0x20000
jne 0x5c030c3f
lea ecx, [esp + 0x168]
jmp 0x5c030c93
cmp eax, 0x10000
jne 0x5c030c4f
lea ecx, [esp + 0x174]
jmp 0x5c030c93
test dword [ebx + 0x1a60], 0x1000000
je 0x5c030c79
lea eax, [esp + 0x198]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a329
pop ecx
jmp 0x5c030c8c
lea edx, [esp + 0x198]
lea ecx, [esp + 0x174]
call fcn.5c01a3b3
lea ecx, [esp + 0x198]
cmp dword [esi], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c030cc0
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 + 0x24]
jmp 0x5c030cc8
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x1c], 4
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c030c1c
jmp 0x5c030ecc
test ecx, ecx
jne 0x5c030ec3
test eax, 0x4010000
jne 0x5c030d1c
push dword [ebx + 0x1a8c]
push dword [esp + 0x38]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c030ecc
test eax, 0x10000
jne 0x5c030dcb
cmp dword [ebx + 0x1a88], 0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
jbe 0x5c030ecc
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x2c], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c030d93
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 + 0x24]
jmp 0x5c030d9b
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x28]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x28]
inc esi
mov eax, dword [esp + 0x2c]
add eax, 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x2c], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c030d4a
jmp 0x5c030ecc
mov dword [esp + 0x14], esi
cmp dword [ebx + 0x1c2c], esi
jbe 0x5c030ecc
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b30]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x5c030dfe
mov ecx, dword [esi]
add ecx, dword [esp + 0x34]
jmp 0x5c030e62
cmp eax, 0x20000
jne 0x5c030e0e
lea ecx, [esp + 0x168]
jmp 0x5c030e62
cmp eax, 0x10000
jne 0x5c030e1e
lea ecx, [esp + 0x174]
jmp 0x5c030e62
test dword [ebx + 0x1a60], 0x1000000
je 0x5c030e48
lea eax, [esp + 0x1a4]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a329
pop ecx
jmp 0x5c030e5b
lea edx, [esp + 0x1a4]
lea ecx, [esp + 0x174]
call fcn.5c01a3b3
lea ecx, [esp + 0x1a4]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c030e91
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c030e99
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x1c], 4
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c030def
jmp 0x5c030ecc
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x74]
add eax, dword [ebx + 0x1a64]
inc dword [esp + 0x88]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x74], eax
test cl, 2
je 0x5c031341
mov edx, dword [esp + 0x6c]
mov eax, dword [ebx + 0x1cd8]
test dword [edx + 0x10], eax
jne 0x5c030f19
fld dword [esp + 0x5c]
fstp dword [edx + 0x1c]
fld dword [esp + 0x24]
fstp dword [edx + 0x20]
fld dword [esp + 0x58]
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 0x5c031341
mov ecx, dword [esp + 0x8c]
lea edi, [edx + 0x30]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c031163
test ecx, ecx
jne 0x5c031155
test eax, 0x4010000
jne 0x5c030fbd
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03133d
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x298]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x18]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c030f87
jmp 0x5c03133d
test eax, 0x10000
jne 0x5c031056
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03133d
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x294]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c03100c
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03102e
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 + 0x2c]
inc ecx
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c030fe4
jmp 0x5c03133d
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03133d
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c03108f
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x294]
jmp 0x5c0310f3
cmp eax, 0x20000
jne 0x5c03109f
lea ecx, [esp + 0x168]
jmp 0x5c0310f3
cmp eax, 0x10000
jne 0x5c0310af
lea ecx, [esp + 0x174]
jmp 0x5c0310f3
test dword [ebx + 0x1a60], 0x1000000
je 0x5c0310d9
lea eax, [esp + 0x1b0]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a329
pop ecx
jmp 0x5c0310ec
lea edx, [esp + 0x1b0]
lea ecx, [esp + 0x174]
call fcn.5c01a3b3
lea ecx, [esp + 0x1b0]
cmp dword [esi], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c031120
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 + 0x24]
jmp 0x5c031128
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x1c], 4
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03107c
jmp 0x5c03133d
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
jmp 0x5c03133d
test ecx, ecx
jne 0x5c031334
test eax, 0x4010000
jne 0x5c03118a
push dword [ebx + 0x1a8c]
push dword [esp + 0x38]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c03133d
test eax, 0x10000
jne 0x5c03123a
mov edx, dword [esp + 0x34]
xor esi, esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c03133d
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x2c], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c031202
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 + 0x24]
jmp 0x5c03120a
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x28]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x28]
inc esi
mov eax, dword [esp + 0x2c]
add eax, 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x2c], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c0311b9
jmp 0x5c03133d
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03133d
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b30]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x5c03126f
mov ecx, dword [esi]
add ecx, dword [esp + 0x34]
jmp 0x5c0312d3
cmp eax, 0x20000
jne 0x5c03127f
lea ecx, [esp + 0x168]
jmp 0x5c0312d3
cmp eax, 0x10000
jne 0x5c03128f
lea ecx, [esp + 0x174]
jmp 0x5c0312d3
test dword [ebx + 0x1a60], 0x1000000
je 0x5c0312b9
lea eax, [esp + 0x1bc]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a329
pop ecx
jmp 0x5c0312cc
lea edx, [esp + 0x1bc]
lea ecx, [esp + 0x174]
call fcn.5c01a3b3
lea ecx, [esp + 0x1bc]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c031302
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c03130a
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x1c], 4
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c031260
jmp 0x5c03133d
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edx + 0x34]
mov ecx, dword [esp + 0x4c]
test cl, 0x10
je 0x5c031352
inc dword [esp + 0x84]
jmp 0x5c0313f8
mov esi, dword [esp + 0x84]
test esi, esi
jle 0x5c0313cb
mov ecx, dword [esp + 0x78]
lea edi, [esi + 2]
mov dword [ebx + 0x1a70], ecx
mov dword [ebx + 0x1a3c], 6
mov dword [ebx + 0x1a40], edi
mov dword [ebx + 0x1a54], esi
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5c05e150]
mov ecx, ebx
call esi
mov esi, dword [esp + 0x78]
test eax, eax
jne 0x5c031520
mov eax, dword [ebx + 0x1a64]
add dword [ebx + 0x1a48], edi
mov ecx, dword [esp + 0x4c]
imul eax, edi
mov dword [esp + 0x98], 1
add esi, eax
and dword [esp + 0x84], 0
mov dword [esp + 0x78], esi
jmp 0x5c0313cf
mov esi, dword [esp + 0x78]
test cl, 8
je 0x5c0313f8
mov edx, dword [esp + 0xac]
lea eax, [esp + 0x1e0]
push eax
push dword [esp + 0x70]
mov ecx, ebx
call fcn.5c0213b6
pop ecx
pop ecx
test eax, eax
jne 0x5c031520
mov edx, dword [esp + 0x38]
mov eax, dword [ebx + 0x1a44]
mov esi, dword [esp + 0x90]
and eax, 0x40000000
mov ecx, dword [ebx + 0x1a60]
add edx, esi
mov dword [esp + 0x38], edx
mov edi, edx
test ecx, 0x8000000
je 0x5c03149b
test eax, eax
jne 0x5c031493
mov eax, dword [esp + 0x44]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x48]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x3c]
add eax, dword [ebx + 0x1a94]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], eax
test esi, esi
je 0x5c03148c
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x294], eax
inc ecx
cmp ecx, esi
jb 0x5c03146c
mov eax, dword [esp + 0x294]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x90]
mov ecx, dword [ebx + 0x1a60]
jmp 0x5c0314d0
test eax, eax
jne 0x5c0314d0
mov eax, dword [esp + 0x48]
add dword [esp + 0x44], esi
add eax, esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x3c]
add eax, esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x34]
add eax, esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x294], eax
mov eax, dword [esp + 0x6c]
add dword [esp + 0x68], esi
shr dword [esp + 0x4c], 5
inc dword [esp + 0x9c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x70]
mov esi, eax
mov dword [esp + 0x6c], esi
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xa0]
dec eax
mov dword [esp + 0xa0], eax
cmp eax, 1
ja 0x5c031603
test eax, eax
jne 0x5c02fd14
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0x84]
test edx, edx
jle 0x5c031561
mov dword [ebx + 0x1a70], esi
lea edi, [edx + 2]
mov dword [ebx + 0x1a3c], 6
mov dword [ebx + 0x1a40], edi
mov dword [ebx + 0x1a54], edx
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5c05e150]
mov ecx, ebx
call esi
add dword [ebx + 0x1a48], edi
test dword [ebx + 0x1a60], 0x100000
jne 0x5c032cc0
fld dword [ebx + 0x1b24]
fadd dword [ebx + 0x68c]
fstp dword [ebx + 0x1b24]
fld dword [ebx + 0x1b28]
fadd dword [ebx + 0x68c]
fstp dword [ebx + 0x1b28]
fld dword [ebx + 0x1b1c]
fsub dword [ebx + 0x68c]
fstp dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [ebx + 0x1b20]
fld dword [ebx + 0x624]
fstp dword [esp + 0x10]
fstp dword [esp + 0xac]
fld dword [ebx + 0x1b1c]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c032c42
fstp dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fstp dword [esp + 0xac]
jmp 0x5c032c44
cmp dword [esp + 0xa4], 0
jne 0x5c032c35
cmp dword [esp + 0x84], 1
mov dword [esp + 0x38], edx
jne 0x5c032c35
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x70]
fld dword [ecx + 4]
fld dword [ecx]
fld dword [ecx + 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 + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x5c]
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 + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x20]
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 + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x58]
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 + 0x18]
fst dword [esp + 0x14]
fxch st(1)
fst dword [esp + 0x1c]
fst dword [esp + 0x2c]
fxch st(2)
fst dword [esp + 0x28]
fst dword [esp + 0x24]
test ecx, ecx
je 0x5c0318fd
fld dword [esp + 0x54]
xor edx, edx
fst dword [esp + 0x1c]
fld dword [esp + 0x40]
fstp dword [esp + 0x24]
fst dword [esp + 0x5c]
fst dword [esp + 0x20]
fst dword [esp + 0x58]
fst dword [esp + 0x40]
fxch st(2)
fst dword [esp + 0x28]
fxch st(3)
fst dword [esp + 0x30]
fxch st(1)
fst dword [esp + 0x50]
fxch st(2)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x2c]
test ecx, ecx
je 0x5c03186e
mov esi, dword [esp + 0x68]
lea eax, [ebx + 0x224]
fxch st(2)
fstp dword [esp + 0x28]
fxch st(1)
fstp dword [esp + 0x30]
fstp dword [esp + 0x50]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x5c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x5c]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x20]
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x58]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x58]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x40]
fstp dword [esp + 0x40]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
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 + 0x28]
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 + 0x30]
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 + 0x50]
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 + 0x24]
cmp edx, ecx
jb 0x5c031773
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x2c]
jmp 0x5c03187a
fstp st(2)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x1c]
fsubr qword [esp + 0xb8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x5c]
fld dword [esp + 0x30]
fmul st(2)
fadd dword [esp + 0x18]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x20]
fld dword [esp + 0x50]
fmul st(3)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x58]
fld dword [esp + 0x24]
fmulp st(4)
fld dword [esp + 0x40]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x18]
fstp dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x2c]
fst dword [esp + 0x28]
fstp dword [esp + 0x24]
jmp 0x5c031909
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 st(0)
mov edx, dword [esp + 0x5c]
fld dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(2)
shr edx, 1
fsubrp st(1)
mov esi, dword [ebx + 0x1cb8]
fstp dword [esp + 0x10]
fld dword [esp + 0x2c]
fld dword [esp + 0x1c]
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 + 0x24]
and eax, 0x9fffffff
fld dword [esp + 0x28]
or edx, eax
mov eax, dword [esp + 0x20]
fld st(4)
shr edx, 1
fsubrp st(1)
and eax, 0x8fffffff
or edx, eax
mov eax, dword [esp + 0x58]
shr edx, 1
and eax, 0x87ffffff
or edx, eax
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
shr edx, 1
and eax, 0x83ffffff
or edx, eax
shr edx, 0x1a
test esi, esi
je 0x5c0319d5
push 0x40
pop edi
lea ecx, [ebx + 0x1c54]
fld dword [ecx - 4]
fmul st(3)
fld dword [ecx]
fmul st(3)
faddp st(1)
fld dword [ecx + 4]
fmul st(2)
faddp st(1)
fld dword [ecx + 8]
fmul st(5)
faddp st(1)
fcomp qword [esp + 0xd0]
fnstsw ax
test ah, 5
jp 0x5c0319c7
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c03199e
mov edi, dword [esp + 0x70]
and dword [edi + 0x10], 0
fstp st(0)
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [edi]
fld dword [esp + 0x20]
fst dword [esp + 0x24]
fstp dword [edi + 4]
fld dword [esp + 0x58]
fst dword [esp + 0x58]
fstp dword [edi + 8]
fxch st(3)
fstp dword [edi + 0xc]
test edx, edx
jne 0x5c032ba0
mov eax, dword [esp + 0x90]
fstp st(0)
add dword [esp + 0x68], eax
fstp st(0)
mov esi, dword [esp + 0x6c]
fstp st(0)
test dword [ebx + 0x1a60], 0x100000
fld dword [esi + 0xc]
fld qword [esp + 0xb8]
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 + 0x5c]
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 + 0x18]
fstp dword [esp + 0x20]
fld dword [esp + 0x5c]
fst dword [esp + 0x50]
fld dword [esp + 0x20]
fst dword [esp + 0x6c]
jne 0x5c031b0c
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c031ab9
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 0x5c031ad2
fstp dword [ebx + 0x1b24]
jmp 0x5c031ad4
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c031af5
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c031b10
fstp dword [ebx + 0x1b28]
jmp 0x5c031b12
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esi + 8]
xor edx, edx
fmul dword [ebx + 0x60c]
mov edi, dword [ebx + 0x1a60]
fmulp st(1)
fadd dword [ebx + 0x610]
and dword [ebx + 0x5b8], 0
fstp dword [esp + 0x58]
test edi, 0x20000000
je 0x5c031d9d
mov eax, dword [esp + 0x38]
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 + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x10]
fstp dword [esp + 0x168]
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 + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x14]
fstp dword [esp + 0x16c]
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 + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x18]
fstp dword [esp + 0x170]
test ecx, ecx
je 0x5c031d94
fld dword [esp + 0x54]
xor esi, esi
fst dword [esp + 0x1c]
fst dword [esp + 0x168]
fst dword [esp + 0x16c]
fst dword [esp + 0x170]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fld dword [esp + 0x14]
fst dword [esp + 0x28]
fld dword [esp + 0x18]
fst dword [esp + 0x30]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x2c]
test ecx, ecx
je 0x5c031d4d
mov edx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x24]
fstp dword [esp + 0x28]
fstp dword [esp + 0x30]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x168]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x168]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x16c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x16c]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x170]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x170]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
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 + 0x24]
fld dword [eax - 0xc]
fmul st(3)
fld dword [eax - 0x1c]
fmul st(3)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x28]
fld dword [eax - 8]
fmulp st(3)
fld dword [eax - 0x18]
fmulp st(2)
fxch st(2)
faddp st(1)
fld dword [eax + 8]
fmulp st(2)
faddp st(1)
fadd dword [eax + 0x18]
add eax, 0x40
fstp dword [esp + 0x30]
cmp esi, ecx
jb 0x5c031c5e
fld dword [esp + 0x14]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x2c]
jmp 0x5c031d53
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x1c]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x168]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x16c]
fmul dword [esp + 0x30]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x170]
or edx, 1
mov dword [ebx + 0x5b8], edx
test edi, 0x40000000
je 0x5c032007
mov eax, dword [esp + 0x44]
fld dword [ebx + 0x484]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax]
fld dword [ebx + 0x488]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x10]
fstp dword [esp + 0x174]
fld dword [ebx + 0x494]
fmul dword [eax]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x14]
fstp dword [esp + 0x178]
fld dword [ebx + 0x4a4]
fmul dword [eax]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x18]
fstp dword [esp + 0x17c]
test ecx, ecx
je 0x5c031fe0
fld dword [esp + 0x54]
xor edx, edx
fst dword [esp + 0x1c]
fst dword [esp + 0x174]
fst dword [esp + 0x178]
fst dword [esp + 0x17c]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fld dword [esp + 0x14]
fst dword [esp + 0x28]
fld dword [esp + 0x18]
fst dword [esp + 0x30]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x2c]
test ecx, ecx
je 0x5c031f9b
mov esi, dword [esp + 0x38]
lea eax, [ebx + 0x38c]
mov edi, dword [esp + 0x44]
fxch st(1)
fstp dword [esp + 0x24]
fstp dword [esp + 0x28]
fstp dword [esp + 0x30]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x174]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x174]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x178]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x178]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x17c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x17c]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
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 + 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 + 0x30]
cmp edx, ecx
jb 0x5c031eb7
fld dword [esp + 0x14]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x2c]
jmp 0x5c031fa1
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x1c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x174]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x178]
fmul dword [esp + 0x30]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x17c]
jmp 0x5c031fe2
fstp st(0)
test edi, 0x2000000
je 0x5c031ff8
lea edx, [esp + 0x174]
mov ecx, edx
call fcn.5c068e8d
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
jmp 0x5c032009
fstp st(0)
mov ecx, dword [ebx + 0x1a44]
test ecx, 0x400
je 0x5c0325dc
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 0x5c0320ab
test ecx, 0x10000
je 0x5c03206c
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c032064
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c032066
xor eax, eax
mov dword [ebx + 0x540], eax
test ecx, 0x4000
je 0x5c03208d
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c032085
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c032087
xor eax, eax
mov dword [ebx + 0x550], eax
test ecx, 0x8000
je 0x5c0320ab
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c0320a3
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0320a5
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, ecx
test edi, edi
je 0x5c0320f7
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x168]
push eax
push dword [esp + 0x48]
mov ecx, esi
push dword [esp + 0x40]
push edi
push ebx
call dword [0x5c05e150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c0320b9
mov ecx, dword [ebx + 0x1a44]
mov esi, ecx
mov edx, dword [ebx + 0x5b8]
fld dword [esp + 0x54]
test ecx, 0x12000
je 0x5c032348
test byte [ebx + 0x5b8], 8
jne 0x5c032120
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c032122
fstp st(0)
test ecx, 0x10000
je 0x5c0321e9
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c03213f
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c032141
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 0x5c03215b
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 0x5c03218f
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 0x5c0321be
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x294]
mov edi, dword [esp + 0x64]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], edi
jmp 0x5c032229
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x3c]
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 0x5c0322ee
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x5c032256
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c032258
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 0x5c032272
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 0x5c0322a0
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 0x5c0322c9
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x294]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], edi
jmp 0x5c032327
fld dword [ebx + 0x5a4]
fld qword [esp + 0xc8]
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 0x5c03234e
mov edi, dword [esp + 0x3c]
fstp st(0)
test dl, 8
je 0x5c03247f
test esi, 0x12000
jne 0x5c03239f
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
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 0x5c0323a5
fld dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x138]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0x138]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x140]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0x140]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x148]
mov esi, dword [esp + 0x148]
mov eax, 0xff
test ecx, ecx
jns 0x5c032408
xor ecx, ecx
jmp 0x5c03240e
cmp ecx, eax
jle 0x5c03240e
mov ecx, eax
test edx, edx
jns 0x5c032416
xor edx, edx
jmp 0x5c03241c
cmp edx, eax
jle 0x5c03241c
mov edx, eax
test esi, esi
jns 0x5c032424
xor esi, esi
jmp 0x5c03242a
cmp esi, eax
jle 0x5c03242a
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c032446
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c032468
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c032457
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c032459
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 0x5c0324bc
test esi, 0x4000
jne 0x5c032495
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c0324b6
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c0324ac
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c0324ae
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c032588
fld dword [ebx + 0x524]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x150]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0x150]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x158]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0x158]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x160]
mov esi, dword [esp + 0x160]
mov eax, 0xff
test ecx, ecx
jns 0x5c032526
xor ecx, ecx
jmp 0x5c03252c
cmp ecx, eax
jle 0x5c03252c
mov ecx, eax
test edx, edx
jns 0x5c032534
xor edx, edx
jmp 0x5c03253a
cmp edx, eax
jle 0x5c03253a
mov edx, eax
test esi, esi
jns 0x5c032542
xor esi, esi
jmp 0x5c032548
cmp esi, eax
jle 0x5c032548
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c032564
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c032583
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c032572
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c032574
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c0325ce
test esi, 0x100000
jne 0x5c0325d4
test dword [ebx + 0x1a60], 0x800
jne 0x5c0325a9
test byte [ebx + 0x1a5c], 0x80
je 0x5c0325cc
mov eax, dword [edi]
jmp 0x5c0325ce
test esi, 0x8000
jne 0x5c0325b9
mov eax, dword [ebx + 0x5bc]
jmp 0x5c0325ce
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c0325cc
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c0325ce
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
jmp 0x5c03260e
mov edx, dword [ebx + 0x1a5c]
mov eax, ecx
test dl, 0xc0
je 0x5c03260e
test dl, 0x40
je 0x5c0325fa
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
mov eax, ecx
test dl, dl
jns 0x5c03260e
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, ecx
test eax, 0x100
je 0x5c032629
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x168]
push eax
mov ecx, ebx
call fcn.5c01a3e0
pop ecx
mov eax, dword [esp + 0x74]
fld dword [esp + 0x50]
fstp dword [eax]
fld dword [esp + 0x6c]
fstp dword [eax + 4]
fld dword [esp + 0x58]
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]
test al, 0x40
je 0x5c03266b
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
test al, al
jns 0x5c03267a
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c032a7b
mov ecx, dword [esp + 0x8c]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c0328a1
test ecx, ecx
jne 0x5c032a72
test eax, 0x4010000
jne 0x5c032709
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c032a7b
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x298]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x18]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c0326d3
jmp 0x5c032a7b
test eax, 0x10000
jne 0x5c0327a2
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c032a7b
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x294]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c032758
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03277a
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 + 0x2c]
inc ecx
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c032730
jmp 0x5c032a7b
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c032a7b
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c0327db
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x294]
jmp 0x5c03283f
cmp eax, 0x20000
jne 0x5c0327eb
lea ecx, [esp + 0x168]
jmp 0x5c03283f
cmp eax, 0x10000
jne 0x5c0327fb
lea ecx, [esp + 0x174]
jmp 0x5c03283f
test dword [ebx + 0x1a60], 0x1000000
je 0x5c032825
lea eax, [esp + 0x1c8]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a329
pop ecx
jmp 0x5c032838
lea edx, [esp + 0x1c8]
lea ecx, [esp + 0x174]
call fcn.5c01a3b3
lea ecx, [esp + 0x1c8]
cmp dword [esi], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03286c
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 + 0x24]
jmp 0x5c032874
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x1c], 4
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c0327c8
jmp 0x5c032a7b
test ecx, ecx
jne 0x5c032a72
test eax, 0x4010000
jne 0x5c0328c8
push dword [ebx + 0x1a8c]
push dword [esp + 0x38]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c032a7b
test eax, 0x10000
jne 0x5c032978
mov edx, dword [esp + 0x34]
xor esi, esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c032a7b
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x2c], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c032940
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 + 0x24]
jmp 0x5c032948
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x28]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x24]
inc esi
mov eax, dword [esp + 0x2c]
add eax, 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x2c], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c0328f7
jmp 0x5c032a7b
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c032a7b
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b30]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x5c0329ad
mov ecx, dword [esi]
add ecx, dword [esp + 0x34]
jmp 0x5c032a11
cmp eax, 0x20000
jne 0x5c0329bd
lea ecx, [esp + 0x168]
jmp 0x5c032a11
cmp eax, 0x10000
jne 0x5c0329cd
lea ecx, [esp + 0x174]
jmp 0x5c032a11
test dword [ebx + 0x1a60], 0x1000000
je 0x5c0329f7
lea eax, [esp + 0x1d4]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a329
pop ecx
jmp 0x5c032a0a
lea edx, [esp + 0x1d4]
lea ecx, [esp + 0x174]
call fcn.5c01a3b3
lea ecx, [esp + 0x1d4]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c032a40
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c032a48
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x1c], 4
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03299e
jmp 0x5c032a7b
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x74]
add eax, dword [ebx + 0x1a64]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x90]
add edx, ecx
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 0x1a60]
and eax, 0x8000000
mov dword [esp + 0x38], edx
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c032b4c
test eax, eax
je 0x5c032b1b
mov eax, dword [esp + 0x44]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov edi, dword [esp + 0x3c]
add edi, dword [ebx + 0x1a94]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x48]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x64], edi
test esi, esi
je 0x5c032b4c
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x294], eax
inc ecx
cmp ecx, esi
jb 0x5c032afd
mov eax, dword [esp + 0x294]
mov edx, dword [esp + 0x38]
jmp 0x5c032b48
mov eax, dword [esp + 0x48]
add dword [esp + 0x44], ecx
add eax, ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x3c]
add eax, ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0x294], eax
mov dword [esp + 0x34], eax
inc dword [esp + 0x84]
mov edi, dword [esp + 0x70]
mov esi, edi
inc dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
inc dword [esp + 0x88]
dec eax
mov edi, dword [edi + 0x2c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], edi
mov dword [esp + 0xa0], eax
cmp eax, 1
ja 0x5c032b93
test eax, eax
jne 0x5c031a1d
jmp 0x5c03151c
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x38], edx
jmp 0x5c03162b
fld dword [ebx + 0x63c]
fmul st(2)
fld dword [ebx + 0x634]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
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 + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x2c]
fld st(1)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fsubrp st(1)
and eax, 0x8003ffff
or ecx, eax
shr ecx, 1
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
and eax, 0x8001ffff
or ecx, eax
mov eax, dword [esp + 0x2c]
shr ecx, 1
and eax, 0x8000ffff
or ecx, eax
shr ecx, 0x10
or edx, ecx
or dword [esp + 0x4c], 0x11
mov dword [esp + 0xa4], edx
jmp 0x5c02fccc
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x68]
jmp 0x5c02f852
fstp st(0)
fld dword [ebx + 0x628]
fstp dword [esp + 0x10]
fld dword [esp + 0xac]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c032c6c
fstp dword [ebx + 0x1b20]
jmp 0x5c032c6e
fstp st(0)
fld dword [ebx + 0x62c]
fstp dword [esp + 0x10]
fld dword [ebx + 0x1b24]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c032c95
fstp dword [ebx + 0x1b24]
jmp 0x5c032c97
fstp st(0)
fld dword [ebx + 0x630]
fstp dword [esp + 0x10]
fld dword [ebx + 0x1b28]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c032cbe
fstp dword [ebx + 0x1b28]
jmp 0x5c032cc0
fstp st(0)
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
mov dword [ebx + 0x680], eax
mov eax, dword [ebx + 0x1a48]
mov dword [ebx + 0x684], ecx
mov dword [ebx + 0x1a58], eax
mov eax, dword [ebx + 0x1a48]
sub eax, dword [esp + 0xc4]
imul eax, dword [ebx + 0x1a64]
mov dword [ebx + 0x1a74], eax
xor eax, eax
mov ecx, dword [esp + 0x2b4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.5c0501b0
mov esp, ebp
pop ebp
ret 4