Function at 0x5c02e030
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 [0x5c059aa4]
xor eax, esp
mov dword [esp + 0x2a8], eax
test byte [0x5c05b7fc], 2
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
je 0x5c02e07a
call fcn.5c01d010
cmp dword [ebx + 0x684], 0
jne 0x5c032b4c
mov ecx, ebx
call fcn.5c011281
jmp 0x5c032b4e
test dword [ebx + 0x1a60], 0x80000
jne 0x5c02e05c
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.5c01d010
mov ecx, dword [ebx + 0x225c]
cmp ecx, 0xffffffff
jne 0x5c02e0ef
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], esi
jmp 0x5c02e068
mov eax, dword [ebx + 0x1a48]
mov dword [esp + 0xc4], eax
cmp ecx, 3
jb 0x5c02e143
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 0x5c02e1f9
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 0x5c02e283
mov ecx, dword [ebx + 0x1cbc]
add ecx, edi
jmp 0x5c02e241
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 0x5c02e24e
test dword [ebx + 0x1a44], ecx
jne 0x5c02e24e
cmp dword [ebx + 0x1a84], esi
je 0x5c02e283
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x294], ecx
jmp 0x5c02e283
mov esi, dword [ebx + 0x1a84]
xor ecx, ecx
test esi, esi
je 0x5c02e283
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 0x5c02e260
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 0x5c02e3eb
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 0x5c02e3e5
mov edx, dword [ebx + 0x1a5c]
mov edi, 0x2200
test dl, 0x40
je 0x5c02e366
cmp dword [ebx + 0x5f8], 0
mov ecx, eax
jne 0x5c02e30a
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 0x5c02e32b
or eax, 0x4200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x80], ecx
cmp dword [ebx + 0x5ec], 0
jne 0x5c02e34a
or eax, 0x10200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x94], ecx
cmp dword [ebx + 0x5f4], 0
jne 0x5c02e366
or eax, 0x8200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x7c], ecx
test dl, dl
jns 0x5c02e3e5
xor edx, edx
inc edx
cmp dword [ebx + 0x5f8], edx
jne 0x5c02e388
or eax, edi
lea esi, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0xb0], esi
cmp dword [ebx + 0x5f0], edx
jne 0x5c02e3a6
or eax, 0x4200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x80], ecx
cmp dword [ebx + 0x5ec], edx
jne 0x5c02e3c4
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 0x5c02e3ed
or eax, 0x8200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x7c], ecx
jmp 0x5c02e3ed
mov edi, dword [esp + 0x38]
jmp 0x5c02e3ed
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.5c02b037
cmp dword [ebx + 0x225c], 3
pop ecx
sbb ecx, ecx
and ecx, eax
test dword [esp + 0xb4], ecx
jne 0x5c02e45a
lea eax, [esp + 0x1fc]
mov ecx, ebx
push eax
lea edx, [esp + 0x1e4]
call fcn.5c02b392
pop ecx
and dword [ebx + 0x5b8], 0
xor ecx, ecx
mov edx, dword [ebx + 0x1a60]
fld1
fst qword [esp + 0xb8]
test edx, 0x20000000
je 0x5c02e6d7
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 0x5c02e6ca
fld dword [esp + 0x54]
xor esi, esi
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 0x5c02e683
mov ecx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x6c]
fstp dword [esp + 0x70]
fstp dword [esp + 0x68]
fld dword [ecx + esi*4 + 0xc]
inc esi
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 [ecx + 4]
fld dword [ecx]
fld dword [ecx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 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 esi, edi
jb 0x5c02e596
fld dword [esp + 0x18]
mov ecx, dword [ebx + 0x5b8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fstp dword [esp + 0x28]
fld dword [esp + 0x14]
fstp dword [esp + 0x30]
jmp 0x5c02e689
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 ecx, 1
mov dword [ebx + 0x5b8], ecx
test edx, 0x40000000
je 0x5c02e93d
mov eax, dword [esp + 0x44]
fld dword [ebx + 0x488]
mov esi, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x484]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x14]
fstp dword [esp + 0x174]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
fld dword [ebx + 0x494]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x18]
fstp dword [esp + 0x178]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
fld dword [ebx + 0x4a4]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x2c]
fstp dword [esp + 0x17c]
test esi, esi
je 0x5c02e916
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 esi, esi
je 0x5c02e8d1
mov edx, 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 [edx + 4]
fld dword [edx]
fld dword [edx + 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, esi
jb 0x5c02e7ed
fld dword [esp + 0x18]
mov edx, dword [ebx + 0x1a60]
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fstp dword [esp + 0x28]
fld dword [esp + 0x14]
fstp dword [esp + 0x30]
jmp 0x5c02e8d7
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 0x5c02e918
fstp st(0)
test edx, 0x2000000
je 0x5c02e92e
lea edx, [esp + 0x174]
mov ecx, edx
call fcn.5c04ff08
or dword [ebx + 0x5b8], 2
mov ecx, dword [ebx + 0x5b8]
jmp 0x5c02e93f
fstp st(0)
mov edx, dword [ebx + 0x1a44]
mov esi, 0x10000
fld qword [0x5c003180]
fst qword [esp + 0xc8]
test edx, 0x400
je 0x5c02ef29
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 edx, 0x200
je 0x5c02e9ef
test esi, edx
je 0x5c02e9b0
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c02e9a8
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02e9aa
xor eax, eax
mov dword [ebx + 0x540], eax
test edx, 0x4000
je 0x5c02e9d1
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c02e9c9
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02e9cb
xor eax, eax
mov dword [ebx + 0x550], eax
test edx, 0x8000
je 0x5c02e9ef
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c02e9e7
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02e9e9
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, edx
test edi, edi
je 0x5c02ea44
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 [0x5c05d150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c02e9ff
fld qword [esp + 0xc8]
mov edx, dword [ebx + 0x1a44]
mov esi, edx
mov ecx, dword [ebx + 0x5b8]
fld dword [esp + 0x54]
test edx, 0x12000
je 0x5c02ec8c
test byte [ebx + 0x5b8], 8
jne 0x5c02ea6d
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c02ea6f
fstp st(0)
test edx, 0x10000
je 0x5c02eb36
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c02ea8c
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02ea8e
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 0x5c02eaa8
fadd dword [0x5c0031f0]
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 0x5c02eadc
fadd dword [0x5c0031f0]
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 0x5c02eb0b
fadd dword [0x5c0031f0]
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 0x5c02eb76
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 0x5c02ec3d
mov eax, dword [esp + 0xb0]
fstp st(0)
test eax, eax
je 0x5c02eba5
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02eba7
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 0x5c02ebc1
fadd dword [0x5c0031f0]
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 0x5c02ebef
fadd dword [0x5c0031f0]
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 0x5c02ec18
fadd dword [0x5c0031f0]
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 0x5c02ec6b
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c02ec94
mov edi, dword [esp + 0x3c]
fstp st(0)
fstp st(0)
test cl, 8
je 0x5c02edc5
test esi, 0x12000
jne 0x5c02ece5
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 0x5c02eceb
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 0x5c02ed4e
xor ecx, ecx
jmp 0x5c02ed54
cmp ecx, eax
jle 0x5c02ed54
mov ecx, eax
test edx, edx
jns 0x5c02ed5c
xor edx, edx
jmp 0x5c02ed62
cmp edx, eax
jle 0x5c02ed62
mov edx, eax
test esi, esi
jns 0x5c02ed6a
xor esi, esi
jmp 0x5c02ed70
cmp esi, eax
jle 0x5c02ed70
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c02ed8c
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c02edae
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c02ed9d
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02ed9f
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
mov dword [ebx + 0x530], eax
mov ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c02ee02
test esi, 0x4000
jne 0x5c02eddb
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c02edfc
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c02edf2
mov eax, dword [eax]
mov edx, dword [eax]
and edx, 0xff000000
jmp 0x5c02edf4
xor edx, edx
mov eax, dword [ebx + 0x5e8]
add eax, edx
mov dword [ebx + 0x530], eax
test cl, 4
je 0x5c02eece
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 0x5c02ee6c
xor ecx, ecx
jmp 0x5c02ee72
cmp ecx, eax
jle 0x5c02ee72
mov ecx, eax
test edx, edx
jns 0x5c02ee7a
xor edx, edx
jmp 0x5c02ee80
cmp edx, eax
jle 0x5c02ee80
mov edx, eax
test esi, esi
jns 0x5c02ee88
xor esi, esi
jmp 0x5c02ee8e
cmp esi, eax
jle 0x5c02ee8e
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c02eeaa
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c02eec9
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c02eeb8
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02eeba
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c02ef14
test esi, 0x100000
jne 0x5c02ef1a
test dword [ebx + 0x1a60], 0x800
jne 0x5c02eeef
test byte [ebx + 0x1a5c], 0x80
je 0x5c02ef12
mov eax, dword [edi]
jmp 0x5c02ef14
test esi, 0x8000
jne 0x5c02eeff
mov eax, dword [ebx + 0x5bc]
jmp 0x5c02ef14
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c02ef12
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c02ef14
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
mov esi, 0x10000
mov ecx, eax
jmp 0x5c02ef66
test byte [ebx + 0x1a5c], 0xc0
fstp st(0)
mov eax, edx
mov ecx, edx
je 0x5c02ef66
test byte [ebx + 0x1a5c], 0x40
je 0x5c02ef4d
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test byte [ebx + 0x1a5c], 0x80
mov eax, edx
je 0x5c02ef66
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, edx
test eax, 0x100
je 0x5c02ef87
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x168]
push eax
mov ecx, ebx
call fcn.5c01a55e
pop ecx
mov ecx, dword [ebx + 0x1a44]
mov eax, dword [ebx + 0x530]
and ecx, 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 0x5c02f34f
test ecx, ecx
jne 0x5c02f1e2
test dword [esp + 0x8c], 0x200000
lea edi, [esp + 0x210]
jne 0x5c02f1d0
test eax, 0x4010000
jne 0x5c02f031
xor eax, eax
mov dword [esp + 0x1c], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c02f1e2
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 0x5c02effb
jmp 0x5c02f1e2
test esi, eax
jne 0x5c02f0c7
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c02f1e2
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 0x5c02f07d
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c02f09f
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 [0x5c05d150]
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 0x5c02f055
jmp 0x5c02f1e2
and dword [esp + 0x1c], 0
lea edx, [esp + 0x210]
cmp dword [ebx + 0x1c2c], 0
mov dword [esp + 0x24], edx
jbe 0x5c02f1e2
lea esi, [ebx + 0x1ad8]
mov dword [esp + 0x28], esi
lea edi, [ebx + 0x1b40]
mov eax, dword [edi + 8]
test eax, eax
jne 0x5c02f107
mov eax, dword [edi - 0x14]
mov ecx, dword [esp + eax*4 + 0x294]
jmp 0x5c02f16f
cmp eax, 0x20000
jne 0x5c02f117
lea ecx, [esp + 0x168]
jmp 0x5c02f16f
cmp eax, 0x10000
jne 0x5c02f127
lea ecx, [esp + 0x174]
jmp 0x5c02f16f
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02f151
lea eax, [esp + 0x180]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a4a7
pop ecx
jmp 0x5c02f164
lea edx, [esp + 0x180]
lea ecx, [esp + 0x174]
call fcn.5c01a531
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x180]
cmp dword [edi], 0
mov eax, dword [esi]
mov dword [esp + 0x14], eax
je 0x5c02f198
push dword [edi]
mov eax, dword [edi + 4]
push edx
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x34]
jmp 0x5c02f1a0
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 0x5c02f0f4
jmp 0x5c02f1e2
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 0x5c02f263
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 0x5c02f25f
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 0x5c02f243
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 0x5c02f663
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 0x5c02f622
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 0x5c02f5b1
test edx, 0x8000000
jne 0x5c02f5b1
cmp dword [ebx + 0x1a84], 0
je 0x5c02f5ef
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 0x5c02f5ef
test ecx, ecx
jne 0x5c02f558
test dword [esp + 0x8c], 0x200000
jne 0x5c02f546
test eax, 0x4010000
jne 0x5c02f38e
push dword [ebx + 0x1a8c]
lea eax, [esp + 0x214]
push dword [esp + 0x38]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c02f558
test esi, eax
jne 0x5c02f43f
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 0x5c02f55c
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 0x5c02f407
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 [0x5c05d150]
call esi
mov esi, dword [esp + 0x34]
jmp 0x5c02f40f
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 0x5c02f3c3
jmp 0x5c02f558
and dword [esp + 0x1c], 0
lea edx, [esp + 0x210]
cmp dword [ebx + 0x1c2c], 0
mov dword [esp + 0x24], edx
jbe 0x5c02f558
lea esi, [ebx + 0x1ad8]
mov dword [esp + 0x28], esi
lea edi, [ebx + 0x1b30]
mov eax, dword [edi + 0x18]
test eax, eax
jne 0x5c02f47b
mov ecx, dword [edi]
add ecx, dword [esp + 0x34]
jmp 0x5c02f4e3
cmp eax, 0x20000
jne 0x5c02f48b
lea ecx, [esp + 0x168]
jmp 0x5c02f4e3
cmp eax, 0x10000
jne 0x5c02f49b
lea ecx, [esp + 0x174]
jmp 0x5c02f4e3
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02f4c5
lea eax, [esp + 0x18c]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a4a7
pop ecx
jmp 0x5c02f4d8
lea edx, [esp + 0x18c]
lea ecx, [esp + 0x174]
call fcn.5c01a531
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x18c]
cmp dword [edi + 0x10], 0
mov eax, dword [esi]
mov dword [esp + 0x14], eax
je 0x5c02f50e
push dword [edi + 0x10]
mov eax, dword [edi + 0x14]
push edx
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x34]
jmp 0x5c02f516
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 0x5c02f46c
jmp 0x5c02f558
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 0x5c02f263
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 0x5c02f263
mov esi, dword [ebx + 0x1a84]
xor edx, edx
test esi, esi
je 0x5c02f5e9
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 0x5c02f5c3
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.5c02b037
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 0x5c031477
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 0x5c02f5ef
push esi
mov edx, edi
mov ecx, ebx
call fcn.5c02b037
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 0x5c02f970
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 0x5c02f8e1
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 - 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 + 0x50]
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 + 0x28]
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 + 0x1c]
cmp edx, ecx
jb 0x5c02f7e6
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 0x5c02f8ed
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 0x5c02f97c
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 0x5c02fa46
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 0x5c02fa3a
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c02fa16
fstp st(1)
test byte [ebx + 0x1a60], 2
fstp st(0)
je 0x5c02fadd
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 + 0x640]
fmul st(3)
fld dword [ebx + 0x638]
fmulp 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 0x5c02fae3
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 0x5c02fb55
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 0x5c02fb5a
mov edx, 0x80
or dword [esp + 0x4c], edx
mov ecx, dword [ebx + 0x1a60]
mov eax, dword [ebx + 0x1cd8]
test dword [esi + 0x10], eax
jne 0x5c02fc83
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 0x5c02fc5e
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c02fc0b
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 0x5c02fc24
fstp dword [ebx + 0x1b24]
jmp 0x5c02fc26
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c02fc47
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c02fc62
fstp dword [ebx + 0x1b28]
jmp 0x5c02fc64
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 0x5c02fc8a
fld qword [esp + 0xb8]
mov ecx, dword [esp + 0x4c]
test cl, 3
je 0x5c03079d
and dword [ebx + 0x5b8], 0
xor ecx, ecx
mov edi, dword [ebx + 0x1a60]
test edi, 0x20000000
je 0x5c02ff0b
mov eax, dword [esp + 0x38]
fld dword [ebx + 0x454]
mov edx, 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 edx, edx
je 0x5c02ff02
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 edx, edx
je 0x5c02febb
mov ecx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x28]
fstp dword [esp + 0x30]
fstp dword [esp + 0x50]
fld dword [ecx + 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 [ecx + 4]
fld dword [ecx]
fld dword [ecx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 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, edx
jb 0x5c02fdce
fld dword [esp + 0x14]
mov ecx, dword [ebx + 0x5b8]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x2c]
jmp 0x5c02fec1
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 ecx, 1
mov dword [ebx + 0x5b8], ecx
test edi, 0x40000000
je 0x5c030175
mov eax, dword [esp + 0x44]
fld dword [ebx + 0x488]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x484]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x10]
fstp dword [esp + 0x174]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
fld dword [ebx + 0x494]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x14]
fstp dword [esp + 0x178]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
fld dword [ebx + 0x4a4]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x18]
fstp dword [esp + 0x17c]
test ecx, ecx
je 0x5c03014e
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 0x5c030109
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 0x5c030025
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 0x5c03010f
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 0x5c030150
fstp st(0)
test edi, 0x2000000
je 0x5c030166
lea edx, [esp + 0x174]
mov ecx, edx
call fcn.5c04ff08
or dword [ebx + 0x5b8], 2
mov ecx, dword [ebx + 0x5b8]
jmp 0x5c030177
fstp st(0)
mov edx, dword [ebx + 0x1a44]
test edx, 0x400
je 0x5c03074a
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 edx, 0x200
je 0x5c030219
test edx, 0x10000
je 0x5c0301da
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c0301d2
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0301d4
xor eax, eax
mov dword [ebx + 0x540], eax
test edx, 0x4000
je 0x5c0301fb
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c0301f3
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0301f5
xor eax, eax
mov dword [ebx + 0x550], eax
test edx, 0x8000
je 0x5c030219
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c030211
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c030213
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, edx
test edi, edi
je 0x5c030265
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 [0x5c05d150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c030227
mov edx, dword [ebx + 0x1a44]
mov esi, edx
mov ecx, dword [ebx + 0x5b8]
fld dword [esp + 0x54]
test edx, 0x12000
je 0x5c0304b6
test byte [ebx + 0x5b8], 8
jne 0x5c03028e
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c030290
fstp st(0)
test edx, 0x10000
je 0x5c030357
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c0302ad
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c0302af
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 0x5c0302c9
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c0302fd
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c03032c
fadd dword [0x5c0031f0]
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 0x5c030397
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 0x5c03045c
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x5c0303c4
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c0303c6
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 0x5c0303e0
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c03040e
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c030437
fadd dword [0x5c0031f0]
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 0x5c030495
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c0304bc
mov edi, dword [esp + 0x3c]
fstp st(0)
test cl, 8
je 0x5c0305ed
test esi, 0x12000
jne 0x5c03050d
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 0x5c030513
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 0x5c030576
xor ecx, ecx
jmp 0x5c03057c
cmp ecx, eax
jle 0x5c03057c
mov ecx, eax
test edx, edx
jns 0x5c030584
xor edx, edx
jmp 0x5c03058a
cmp edx, eax
jle 0x5c03058a
mov edx, eax
test esi, esi
jns 0x5c030592
xor esi, esi
jmp 0x5c030598
cmp esi, eax
jle 0x5c030598
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c0305b4
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c0305d6
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c0305c5
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0305c7
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
mov dword [ebx + 0x530], eax
mov ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c03062a
test esi, 0x4000
jne 0x5c030603
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c030624
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c03061a
mov eax, dword [eax]
mov edx, dword [eax]
and edx, 0xff000000
jmp 0x5c03061c
xor edx, edx
mov eax, dword [ebx + 0x5e8]
add eax, edx
mov dword [ebx + 0x530], eax
test cl, 4
je 0x5c0306f6
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 0x5c030694
xor ecx, ecx
jmp 0x5c03069a
cmp ecx, eax
jle 0x5c03069a
mov ecx, eax
test edx, edx
jns 0x5c0306a2
xor edx, edx
jmp 0x5c0306a8
cmp edx, eax
jle 0x5c0306a8
mov edx, eax
test esi, esi
jns 0x5c0306b0
xor esi, esi
jmp 0x5c0306b6
cmp esi, eax
jle 0x5c0306b6
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c0306d2
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c0306f1
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c0306e0
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0306e2
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c03073c
test esi, 0x100000
jne 0x5c030742
test dword [ebx + 0x1a60], 0x800
jne 0x5c030717
test byte [ebx + 0x1a5c], 0x80
je 0x5c03073a
mov eax, dword [edi]
jmp 0x5c03073c
test esi, 0x8000
jne 0x5c030727
mov eax, dword [ebx + 0x5bc]
jmp 0x5c03073c
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03073a
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c03073c
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
jmp 0x5c03077c
mov ecx, dword [ebx + 0x1a5c]
mov eax, edx
test cl, 0xc0
je 0x5c03077c
test cl, 0x40
je 0x5c030768
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
mov eax, edx
test cl, cl
jns 0x5c03077c
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, edx
test eax, 0x100
je 0x5c030797
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x168]
push eax
mov ecx, ebx
call fcn.5c01a55e
pop ecx
mov ecx, dword [esp + 0x4c]
jmp 0x5c03079f
fstp st(0)
test cl, 1
je 0x5c030d35
test cl, 4
je 0x5c03088e
mov eax, dword [esp + 0x84]
test eax, eax
jle 0x5c03088e
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 0x5c030825
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 [0x5c05d150]
mov ecx, ebx
call esi
test eax, eax
jne 0x5c03136c
mov eax, dword [ebx + 0x1a64]
add dword [ebx + 0x1a48], edi
mov ecx, dword [esp + 0x74]
imul eax, edi
add dword [esp + 0x78], eax
jmp 0x5c030879
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 [0x5c05d150]
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 0x5c031370
xor esi, esi
xor eax, eax
inc eax
mov dword [esp + 0x84], esi
mov dword [esp + 0x98], eax
jmp 0x5c03089b
mov eax, dword [esp + 0x98]
xor esi, esi
mov ecx, dword [esp + 0x74]
test eax, eax
je 0x5c0308cf
lea eax, [esp + 0x1e0]
mov edx, ecx
push eax
mov ecx, ebx
call fcn.5c021432
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 0x5c0308d3
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 0x5c030911
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
test al, al
jns 0x5c030920
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c030d1c
mov ecx, dword [esp + 0x8c]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c030b45
test ecx, ecx
jne 0x5c030d13
test eax, 0x4010000
jne 0x5c0309af
mov eax, esi
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], esi
jbe 0x5c030d1c
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 0x5c030979
jmp 0x5c030d1c
test eax, 0x10000
jne 0x5c030a48
mov ecx, esi
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], esi
jbe 0x5c030d1c
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 0x5c0309fe
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c030a20
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push ecx
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov ecx, dword [esp + 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 0x5c0309d6
jmp 0x5c030d1c
mov dword [esp + 0x14], esi
cmp dword [ebx + 0x1c2c], esi
jbe 0x5c030d1c
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 0x5c030a7f
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x294]
jmp 0x5c030ae3
cmp eax, 0x20000
jne 0x5c030a8f
lea ecx, [esp + 0x168]
jmp 0x5c030ae3
cmp eax, 0x10000
jne 0x5c030a9f
lea ecx, [esp + 0x174]
jmp 0x5c030ae3
test dword [ebx + 0x1a60], 0x1000000
je 0x5c030ac9
lea eax, [esp + 0x198]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a4a7
pop ecx
jmp 0x5c030adc
lea edx, [esp + 0x198]
lea ecx, [esp + 0x174]
call fcn.5c01a531
lea ecx, [esp + 0x198]
cmp dword [esi], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c030b10
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c030b18
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 0x5c030a6c
jmp 0x5c030d1c
test ecx, ecx
jne 0x5c030d13
test eax, 0x4010000
jne 0x5c030b6c
push dword [ebx + 0x1a8c]
push dword [esp + 0x38]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c030d1c
test eax, 0x10000
jne 0x5c030c1b
cmp dword [ebx + 0x1a88], 0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
jbe 0x5c030d1c
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 0x5c030be3
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 [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c030beb
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 0x5c030b9a
jmp 0x5c030d1c
mov dword [esp + 0x14], esi
cmp dword [ebx + 0x1c2c], esi
jbe 0x5c030d1c
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 0x5c030c4e
mov ecx, dword [esi]
add ecx, dword [esp + 0x34]
jmp 0x5c030cb2
cmp eax, 0x20000
jne 0x5c030c5e
lea ecx, [esp + 0x168]
jmp 0x5c030cb2
cmp eax, 0x10000
jne 0x5c030c6e
lea ecx, [esp + 0x174]
jmp 0x5c030cb2
test dword [ebx + 0x1a60], 0x1000000
je 0x5c030c98
lea eax, [esp + 0x1a4]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call 0x5c067d61
pop ecx
jmp 0x5c030cab
lea edx, [esp + 0x1a4]
lea ecx, [esp + 0x174]
call fcn.5c01a531
lea ecx, [esp + 0x1a4]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c030ce1
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c030ce9
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 0x5c030c3f
jmp 0x5c030d1c
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 0x5c031191
mov edx, dword [esp + 0x6c]
mov eax, dword [ebx + 0x1cd8]
test dword [edx + 0x10], eax
jne 0x5c030d69
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 0x5c031191
mov ecx, dword [esp + 0x8c]
lea edi, [edx + 0x30]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c030fb3
test ecx, ecx
jne 0x5c030fa5
test eax, 0x4010000
jne 0x5c030e0d
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03118d
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 0x5c030dd7
jmp 0x5c03118d
test eax, 0x10000
jne 0x5c030ea6
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03118d
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 0x5c030e5c
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c030e7e
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push ecx
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov ecx, dword [esp + 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 0x5c030e34
jmp 0x5c03118d
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03118d
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 0x5c030edf
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x294]
jmp 0x5c030f43
cmp eax, 0x20000
jne 0x5c030eef
lea ecx, [esp + 0x168]
jmp 0x5c030f43
cmp eax, 0x10000
jne 0x5c030eff
lea ecx, [esp + 0x174]
jmp 0x5c030f43
test dword [ebx + 0x1a60], 0x1000000
je 0x5c030f29
lea eax, [esp + 0x1b0]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a4a7
pop ecx
jmp 0x5c030f3c
lea edx, [esp + 0x1b0]
lea ecx, [esp + 0x174]
call fcn.5c01a531
lea ecx, [esp + 0x1b0]
cmp dword [esi], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c030f70
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c030f78
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 0x5c030ecc
jmp 0x5c03118d
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
jmp 0x5c03118d
test ecx, ecx
jne 0x5c031184
test eax, 0x4010000
jne 0x5c030fda
push dword [ebx + 0x1a8c]
push dword [esp + 0x38]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c03118d
test eax, 0x10000
jne 0x5c03108a
mov edx, dword [esp + 0x34]
xor esi, esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c03118d
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 0x5c031052
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 [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c03105a
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 0x5c031009
jmp 0x5c03118d
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03118d
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 0x5c0310bf
mov ecx, dword [esi]
add ecx, dword [esp + 0x34]
jmp 0x5c031123
cmp eax, 0x20000
jne 0x5c0310cf
lea ecx, [esp + 0x168]
jmp 0x5c031123
cmp eax, 0x10000
jne 0x5c0310df
lea ecx, [esp + 0x174]
jmp 0x5c031123
test dword [ebx + 0x1a60], 0x1000000
je 0x5c031109
lea eax, [esp + 0x1bc]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a4a7
pop ecx
jmp 0x5c03111c
lea edx, [esp + 0x1bc]
lea ecx, [esp + 0x174]
call fcn.5c01a531
lea ecx, [esp + 0x1bc]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c031152
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c03115a
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 0x5c0310b0
jmp 0x5c03118d
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edx + 0x34]
mov ecx, dword [esp + 0x4c]
test cl, 0x10
je 0x5c0311a2
inc dword [esp + 0x84]
jmp 0x5c031248
mov esi, dword [esp + 0x84]
test esi, esi
jle 0x5c03121b
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 [0x5c05d150]
mov ecx, ebx
call esi
mov esi, dword [esp + 0x78]
test eax, eax
jne 0x5c031370
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 0x5c03121f
mov esi, dword [esp + 0x78]
test cl, 8
je 0x5c031248
mov edx, dword [esp + 0xac]
lea eax, [esp + 0x1e0]
push eax
push dword [esp + 0x70]
mov ecx, ebx
call fcn.5c021546
pop ecx
pop ecx
test eax, eax
jne 0x5c031370
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 0x5c0312eb
test eax, eax
jne 0x5c0312e3
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 0x5c0312dc
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 0x5c0312bc
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 0x5c031320
test eax, eax
jne 0x5c031320
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 0x5c031453
test eax, eax
jne 0x5c02fb64
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0x84]
test edx, edx
jle 0x5c0313b1
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 [0x5c05d150]
mov ecx, ebx
call esi
add dword [ebx + 0x1a48], edi
test dword [ebx + 0x1a60], 0x100000
jne 0x5c032b0c
fld dword [ebx + 0x68c]
fadd dword [ebx + 0x1b24]
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 0x5c032a8e
fstp dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fstp dword [esp + 0xac]
jmp 0x5c032a90
cmp dword [esp + 0xa4], 0
jne 0x5c032a81
cmp dword [esp + 0x84], 1
mov dword [esp + 0x38], edx
jne 0x5c032a81
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x70]
fld dword [ecx + 4]
fld dword [ecx]
fld dword [ecx + 8]
fld dword [ebx + 0x4c4]
fmul st(2)
fld dword [ebx + 0x4d4]
fmul st(4)
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 0x5c03174d
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 0x5c0316be
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 0x5c0315c3
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 0x5c0316ca
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 0x5c031759
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 0x5c031825
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 0x5c031817
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c0317ee
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 0x5c0329ee
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 0x5c03195c
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c031909
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 0x5c031922
fstp dword [ebx + 0x1b24]
jmp 0x5c031924
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c031945
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c031960
fstp dword [ebx + 0x1b28]
jmp 0x5c031962
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esi + 8]
xor ecx, ecx
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 0x5c031beb
mov eax, dword [esp + 0x38]
fld dword [ebx + 0x454]
mov edx, 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 edx, edx
je 0x5c031be2
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 edx, edx
je 0x5c031b9b
mov ecx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x24]
fstp dword [esp + 0x28]
fstp dword [esp + 0x30]
fld dword [ecx + 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 [ecx + 4]
fld dword [ecx]
fld dword [ecx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x24]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x28]
fld dword [eax - 0x18]
fmulp st(2)
fld dword [eax - 8]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 8]
faddp st(1)
fadd dword [eax + 0x18]
add eax, 0x40
fstp dword [esp + 0x30]
cmp esi, edx
jb 0x5c031aae
fld dword [esp + 0x14]
mov ecx, dword [ebx + 0x5b8]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x2c]
jmp 0x5c031ba1
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 ecx, 1
mov dword [ebx + 0x5b8], ecx
test edi, 0x40000000
je 0x5c031e55
mov eax, dword [esp + 0x44]
fld dword [ebx + 0x488]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x484]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x10]
fstp dword [esp + 0x174]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
fld dword [ebx + 0x494]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x14]
fstp dword [esp + 0x178]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
fld dword [ebx + 0x4a4]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x18]
fstp dword [esp + 0x17c]
test ecx, ecx
je 0x5c031e2e
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 0x5c031de9
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 0x5c031d05
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 0x5c031def
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 0x5c031e30
fstp st(0)
test edi, 0x2000000
je 0x5c031e46
lea edx, [esp + 0x174]
mov ecx, edx
call fcn.5c04ff08
or dword [ebx + 0x5b8], 2
mov ecx, dword [ebx + 0x5b8]
jmp 0x5c031e57
fstp st(0)
mov edx, dword [ebx + 0x1a44]
test edx, 0x400
je 0x5c03242a
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 edx, 0x200
je 0x5c031ef9
test edx, 0x10000
je 0x5c031eba
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c031eb2
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c031eb4
xor eax, eax
mov dword [ebx + 0x540], eax
test edx, 0x4000
je 0x5c031edb
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c031ed3
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c031ed5
xor eax, eax
mov dword [ebx + 0x550], eax
test edx, 0x8000
je 0x5c031ef9
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c031ef1
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c031ef3
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, edx
test edi, edi
je 0x5c031f45
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 [0x5c05d150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c031f07
mov edx, dword [ebx + 0x1a44]
mov esi, edx
mov ecx, dword [ebx + 0x5b8]
fld dword [esp + 0x54]
test edx, 0x12000
je 0x5c032196
test byte [ebx + 0x5b8], 8
jne 0x5c031f6e
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c031f70
fstp st(0)
test edx, 0x10000
je 0x5c032037
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c031f8d
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c031f8f
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 0x5c031fa9
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c031fdd
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c03200c
fadd dword [0x5c0031f0]
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 0x5c032077
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 0x5c03213c
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x5c0320a4
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c0320a6
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 0x5c0320c0
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c0320ee
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c032117
fadd dword [0x5c0031f0]
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 0x5c032175
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c03219c
mov edi, dword [esp + 0x3c]
fstp st(0)
test cl, 8
je 0x5c0322cd
test esi, 0x12000
jne 0x5c0321ed
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 0x5c0321f3
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 0x5c032256
xor ecx, ecx
jmp 0x5c03225c
cmp ecx, eax
jle 0x5c03225c
mov ecx, eax
test edx, edx
jns 0x5c032264
xor edx, edx
jmp 0x5c03226a
cmp edx, eax
jle 0x5c03226a
mov edx, eax
test esi, esi
jns 0x5c032272
xor esi, esi
jmp 0x5c032278
cmp esi, eax
jle 0x5c032278
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c032294
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c0322b6
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c0322a5
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0322a7
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
mov dword [ebx + 0x530], eax
mov ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c03230a
test esi, 0x4000
jne 0x5c0322e3
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c032304
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c0322fa
mov eax, dword [eax]
mov edx, dword [eax]
and edx, 0xff000000
jmp 0x5c0322fc
xor edx, edx
mov eax, dword [ebx + 0x5e8]
add eax, edx
mov dword [ebx + 0x530], eax
test cl, 4
je 0x5c0323d6
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 0x5c032374
xor ecx, ecx
jmp 0x5c03237a
cmp ecx, eax
jle 0x5c03237a
mov ecx, eax
test edx, edx
jns 0x5c032382
xor edx, edx
jmp 0x5c032388
cmp edx, eax
jle 0x5c032388
mov edx, eax
test esi, esi
jns 0x5c032390
xor esi, esi
jmp 0x5c032396
cmp esi, eax
jle 0x5c032396
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c0323b2
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c0323d1
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c0323c0
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0323c2
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c03241c
test esi, 0x100000
jne 0x5c032422
test dword [ebx + 0x1a60], 0x800
jne 0x5c0323f7
test byte [ebx + 0x1a5c], 0x80
je 0x5c03241a
mov eax, dword [edi]
jmp 0x5c03241c
test esi, 0x8000
jne 0x5c032407
mov eax, dword [ebx + 0x5bc]
jmp 0x5c03241c
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03241a
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c03241c
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
jmp 0x5c03245c
mov ecx, dword [ebx + 0x1a5c]
mov eax, edx
test cl, 0xc0
je 0x5c03245c
test cl, 0x40
je 0x5c032448
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
mov eax, edx
test cl, cl
jns 0x5c03245c
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, edx
test eax, 0x100
je 0x5c032477
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x168]
push eax
mov ecx, ebx
call 0x5c067d61
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 0x5c0324b9
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
test al, al
jns 0x5c0324c8
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c0328c9
mov ecx, dword [esp + 0x8c]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c0326ef
test ecx, ecx
jne 0x5c0328c0
test eax, 0x4010000
jne 0x5c032557
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c0328c9
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 0x5c032521
jmp 0x5c0328c9
test eax, 0x10000
jne 0x5c0325f0
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c0328c9
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 0x5c0325a6
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c0325c8
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push ecx
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov ecx, dword [esp + 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 0x5c03257e
jmp 0x5c0328c9
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c0328c9
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 0x5c032629
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x294]
jmp 0x5c03268d
cmp eax, 0x20000
jne 0x5c032639
lea ecx, [esp + 0x168]
jmp 0x5c03268d
cmp eax, 0x10000
jne 0x5c032649
lea ecx, [esp + 0x174]
jmp 0x5c03268d
test dword [ebx + 0x1a60], 0x1000000
je 0x5c032673
lea eax, [esp + 0x1c8]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a4a7
pop ecx
jmp 0x5c032686
lea edx, [esp + 0x1c8]
lea ecx, [esp + 0x174]
call fcn.5c01a531
lea ecx, [esp + 0x1c8]
cmp dword [esi], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c0326ba
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c0326c2
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 0x5c032616
jmp 0x5c0328c9
test ecx, ecx
jne 0x5c0328c0
test eax, 0x4010000
jne 0x5c032716
push dword [ebx + 0x1a8c]
push dword [esp + 0x38]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c0328c9
test eax, 0x10000
jne 0x5c0327c6
mov edx, dword [esp + 0x34]
xor esi, esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c0328c9
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 0x5c03278e
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 [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c032796
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 0x5c032745
jmp 0x5c0328c9
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c0328c9
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 0x5c0327fb
mov ecx, dword [esi]
add ecx, dword [esp + 0x34]
jmp 0x5c03285f
cmp eax, 0x20000
jne 0x5c03280b
lea ecx, [esp + 0x168]
jmp 0x5c03285f
cmp eax, 0x10000
jne 0x5c03281b
lea ecx, [esp + 0x174]
jmp 0x5c03285f
test dword [ebx + 0x1a60], 0x1000000
je 0x5c032845
lea eax, [esp + 0x1d4]
push eax
lea edx, [esp + 0x178]
lea ecx, [esp + 0x16c]
call fcn.5c01a4a7
pop ecx
jmp 0x5c032858
lea edx, [esp + 0x1d4]
lea ecx, [esp + 0x174]
call fcn.5c01a531
lea ecx, [esp + 0x1d4]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03288e
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c032896
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 0x5c0327ec
jmp 0x5c0328c9
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 0x5c03299a
test eax, eax
je 0x5c032969
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 0x5c03299a
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 0x5c03294b
mov eax, dword [esp + 0x294]
mov edx, dword [esp + 0x38]
jmp 0x5c032996
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 0x5c0329e1
test eax, eax
jne 0x5c03186d
jmp 0x5c03136c
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x38], edx
jmp 0x5c03147b
fmul dword [ebx + 0x634]
fld dword [ebx + 0x63c]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x10]
fld dword [ebx + 0x640]
fmul st(2)
fld dword [ebx + 0x638]
fmulp st(4)
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 0x5c02fb1c
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x68]
jmp 0x5c02f6a2
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 0x5c032ab8
fstp dword [ebx + 0x1b20]
jmp 0x5c032aba
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 0x5c032ae1
fstp dword [ebx + 0x1b24]
jmp 0x5c032ae3
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 0x5c032b0a
fstp dword [ebx + 0x1b28]
jmp 0x5c032b0c
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.5c04f7b0
mov esp, ebp
pop ebp
ret 4