Function at 0x5c02f730
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, 0x30c
mov eax, dword [0x5c066124]
xor eax, esp
mov dword [esp + 0x308], eax
test byte [0x5c067ffc], 2
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
je 0x5c02f77a
call fcn.5c01df40
cmp dword [ebx + 0x684], 0
jne 0x5c03466e
mov ecx, ebx
call fcn.5c011e17
jmp 0x5c034670
test dword [ebx + 0x1a60], 0x80000
jne 0x5c02f75c
mov eax, dword [ebx + 0x1a70]
xor esi, esi
or dword [ebx + 0x225c], 0xffffffff
xor edi, edi
or dword [ebx + 0x1a44], 0x200000
inc esi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0xa0], esi
mov dword [esp + 0x8c], edi
call fcn.5c01df40
mov ecx, dword [ebx + 0x225c]
cmp ecx, 0xffffffff
jne 0x5c02f7ef
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], edi
jmp 0x5c02f768
mov eax, dword [ebx + 0x1a48]
mov dword [esp + 0xc4], eax
cmp ecx, 3
jb 0x5c02f840
mov eax, dword [ebx + 0x1a64]
lea edx, [ecx - 1]
imul eax, edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x98], edi
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 + 0x7c], edx
mov dword [esp + 0x9c], eax
mov eax, dword [ebx + 0x1cd8]
mov ecx, dword [ebx + 0x1a7c]
mov edx, dword [ebx + 0x1a60]
mov dword [esp + 0xb4], eax
mov eax, dword [ebx + 0x1a78]
mov dword [esp + 0x90], ecx
mov ecx, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2f4], ecx
mov ecx, 0x8000000
mov dword [esp + 0xb0], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x8c], edx
mov dword [esp + 0xa8], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
test ecx, edx
jne 0x5c02f8f7
mov edx, dword [ebx + 0x1cc4]
mov esi, dword [ebx + 0x1cc0]
add edx, eax
mov ecx, dword [ebx + 0x1cc8]
add esi, eax
add ecx, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x50], esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x68], ecx
cmp dword [ebx + 0x1a84], edi
je 0x5c02f981
mov ecx, dword [ebx + 0x1cbc]
add ecx, eax
jmp 0x5c02f93f
mov eax, dword [ebx + 0x1a2c]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x1a34]
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 0x1a90]
mov dword [esp + 0x44], eax
mov dword [esp + 0x68], eax
test dl, 0x10
jne 0x5c02f94c
test dword [ebx + 0x1a44], ecx
jne 0x5c02f94c
cmp dword [ebx + 0x1a84], edi
je 0x5c02f981
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2f4], ecx
jmp 0x5c02f981
mov esi, dword [ebx + 0x1a84]
mov ecx, edi
test esi, esi
je 0x5c02f981
lea edx, [ebx + 0x1a98]
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x2f4], eax
inc ecx
cmp ecx, esi
jb 0x5c02f95e
mov eax, dword [esp + 0x2f4]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x34], eax
or dword [ebx + 0x530], 0xffffffff
mov eax, dword [ebx + 0x1a44]
fldz
mov dword [ebx + 0x560], edi
mov dword [ebx + 0x5b8], edi
fst dword [esp + 0x5c]
test eax, 0x400
je 0x5c02fae3
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]
xor edi, edi
test edx, 0x10000000
je 0x5c02fae5
mov edx, dword [ebx + 0x1a5c]
test dl, 0x40
je 0x5c02fa62
mov ecx, eax
cmp dword [ebx + 0x5f8], edi
jne 0x5c02fa06
or ecx, 0x2200
lea esi, [esp + 0x64]
mov dword [ebx + 0x1a44], ecx
mov dword [esp + 0xa8], esi
mov eax, ecx
cmp dword [ebx + 0x5f0], edi
jne 0x5c02fa26
or eax, 0x4200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x80], ecx
cmp dword [ebx + 0x5ec], edi
jne 0x5c02fa44
or eax, 0x10200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x94], ecx
cmp dword [ebx + 0x5f4], edi
jne 0x5c02fa62
or eax, 0x8200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x84], ecx
test dl, dl
jns 0x5c02fae5
xor edx, edx
inc edx
cmp dword [ebx + 0x5f8], edx
jne 0x5c02fa87
or eax, 0x2200
lea esi, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0xa8], esi
cmp dword [ebx + 0x5f0], edx
jne 0x5c02faa5
or eax, 0x4200
lea ecx, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x80], ecx
cmp dword [ebx + 0x5ec], edx
jne 0x5c02fac3
or eax, 0x10200
lea ecx, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x94], ecx
cmp dword [ebx + 0x5f4], edx
jne 0x5c02fae5
or eax, 0x8200
lea ecx, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x84], ecx
jmp 0x5c02fae5
fstp st(0)
mov eax, dword [esp + 0x8c]
mov ecx, ebx
mov esi, dword [esp + 0x38]
and eax, 0x80000
neg eax
mov dword [esp + 0xa4], edi
mov edx, esi
sbb eax, eax
neg eax
dec eax
mov dword [esp + 0xac], eax
mov eax, dword [ebx + 0x1a54]
inc eax
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x240]
push eax
call fcn.5c02c510
cmp dword [ebx + 0x225c], 3
pop ecx
sbb ecx, ecx
and ecx, eax
test dword [esp + 0xb4], ecx
jne 0x5c02fb57
lea eax, [esp + 0x25c]
mov ecx, ebx
push eax
lea edx, [esp + 0x244]
call fcn.5c02c86d
add esp, 4
fld1
xor edx, edx
mov dword [ebx + 0x5b8], edi
xor ecx, ecx
mov edi, dword [ebx + 0x1a60]
fst qword [esp + 0xb8]
test edi, 0x20000000
je 0x5c02fdd5
fld dword [ebx + 0x454]
fmul dword [esi + 4]
fld dword [ebx + 0x444]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [esi + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fst dword [esp + 0x14]
fstp dword [esp + 0x168]
fld dword [ebx + 0x458]
fmul dword [esi + 4]
fld dword [ebx + 0x448]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [esi + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fst dword [esp + 0x18]
fstp dword [esp + 0x16c]
fld dword [ebx + 0x45c]
fmul dword [esi + 4]
fld dword [ebx + 0x44c]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [esi + 8]
mov esi, dword [ebx + 0x1cb4]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fst dword [esp + 0x30]
fstp dword [esp + 0x170]
test esi, esi
je 0x5c02fdc6
fld dword [esp + 0x5c]
fst dword [esp + 0x1c]
fst dword [esp + 0x168]
fst dword [esp + 0x16c]
fst dword [esp + 0x170]
fld dword [esp + 0x14]
fst dword [esp + 0x4c]
fld dword [esp + 0x18]
fst dword [esp + 0x70]
fld dword [esp + 0x30]
fst dword [esp + 0x6c]
fxch st(3)
fst dword [esp + 0x2c]
fst dword [esp + 0x20]
fstp dword [esp + 0x24]
test esi, esi
je 0x5c02fd7f
mov edx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x4c]
fstp dword [esp + 0x70]
fstp dword [esp + 0x6c]
fld dword [edx + ecx*4 + 0xc]
inc ecx
fld dword [esp + 0x4c]
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 + 0x30]
fstp dword [esp + 0x16c]
fld dword [esp + 0x6c]
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 + 0x1c]
fstp dword [esp + 0x1c]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x4c]
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 + 0x6c]
cmp ecx, esi
jb 0x5c02fc92
fld dword [esp + 0x18]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fstp dword [esp + 0x20]
fld dword [esp + 0x14]
fstp dword [esp + 0x24]
jmp 0x5c02fd85
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x1c]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x168]
fld dword [esp + 0x70]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0x16c]
fmul dword [esp + 0x6c]
fadd dword [esp + 0x24]
fstp dword [esp + 0x170]
mov esi, dword [esp + 0x38]
or edx, 1
mov dword [ebx + 0x5b8], edx
mov ecx, edx
test edi, 0x40000000
je 0x5c03003d
mov eax, dword [esp + 0x50]
fld dword [ebx + 0x488]
mov edx, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x484]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
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 + 0x28]
fld dword [esp + 0x28]
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 + 0x28]
fld dword [esp + 0x28]
fst dword [esp + 0x30]
fstp dword [esp + 0x17c]
test edx, edx
je 0x5c030014
fld dword [esp + 0x5c]
xor ecx, ecx
fst dword [esp + 0x1c]
fst dword [esp + 0x174]
fst dword [esp + 0x178]
fst dword [esp + 0x17c]
fld dword [esp + 0x14]
fst dword [esp + 0x4c]
fld dword [esp + 0x18]
fst dword [esp + 0x70]
fld dword [esp + 0x30]
fst dword [esp + 0x6c]
fxch st(3)
fst dword [esp + 0x2c]
fst dword [esp + 0x20]
fstp dword [esp + 0x24]
test edx, edx
je 0x5c02ffcf
mov edi, dword [esp + 0x50]
lea eax, [ebx + 0x38c]
fxch st(1)
fstp dword [esp + 0x4c]
fstp dword [esp + 0x70]
fstp dword [esp + 0x6c]
fld dword [esi + ecx*4 + 0xc]
inc ecx
fld dword [esp + 0x4c]
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 + 0x30]
fstp dword [esp + 0x178]
fld dword [esp + 0x6c]
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 + 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 + 0x4c]
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 + 0x6c]
cmp ecx, edx
jb 0x5c02feeb
fld dword [esp + 0x18]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fstp dword [esp + 0x20]
fld dword [esp + 0x14]
fstp dword [esp + 0x24]
jmp 0x5c02ffd5
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x1c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x174]
fld dword [esp + 0x70]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0x178]
fmul dword [esp + 0x6c]
fadd dword [esp + 0x24]
fstp dword [esp + 0x17c]
jmp 0x5c030016
fstp st(0)
test edi, 0x2000000
je 0x5c03002c
lea edx, [esp + 0x174]
mov ecx, edx
call fcn.5c0504a4
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
jmp 0x5c03003f
fstp st(0)
mov edi, dword [ebx + 0x1a44]
fld qword [0x5c003840]
fst qword [esp + 0xc8]
test edi, 0x400
je 0x5c030628
fld dword [esp + 0x5c]
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 edi, 0x200
je 0x5c0300f1
test edi, 0x10000
je 0x5c0300af
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c0300a7
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0300a9
xor eax, eax
mov dword [ebx + 0x540], eax
test edi, 0x4000
je 0x5c0300d0
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c0300c8
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0300ca
xor eax, eax
mov dword [ebx + 0x550], eax
test edi, 0x8000
je 0x5c0300f1
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c0300e9
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0300eb
xor eax, eax
mov dword [ebx + 0x570], eax
mov eax, dword [ebx + 0x5c0]
mov esi, edi
mov dword [esp + 0x1c], eax
test eax, eax
je 0x5c030154
fstp st(0)
fstp st(0)
mov esi, dword [eax + 0x80]
lea ecx, [esp + 0x168]
push ecx
push dword [esp + 0x54]
mov ecx, esi
push dword [esp + 0x40]
push eax
push ebx
call dword [0x5c06a150]
call esi
mov eax, dword [esp + 0x30]
add esp, 0x14
mov eax, dword [eax + 0x58]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x5c030105
fld qword [esp + 0xc8]
mov edi, dword [ebx + 0x1a44]
mov esi, edi
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
fld dword [esp + 0x5c]
test edi, 0x12000
je 0x5c030398
test cl, 8
jne 0x5c030179
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c03017b
fstp st(0)
test edi, 0x10000
je 0x5c030242
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c030198
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03019a
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 0x5c0301b4
fadd dword [0x5c00386c]
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 0x5c0301e8
fadd dword [0x5c00386c]
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 0x5c030217
fadd dword [0x5c00386c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
mov eax, dword [esp + 0x2f4]
mov edi, dword [esp + 0x68]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x54], eax
mov dword [esp + 0x44], edi
jmp 0x5c030282
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x44]
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x588]
fmul dword [ebx + 0x548]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x58c]
fmul dword [ebx + 0x54c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
test dword [ebx + 0x1a44], 0x2000
je 0x5c030349
mov eax, dword [esp + 0xa8]
fstp st(0)
test eax, eax
je 0x5c0302b1
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c0302b3
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 0x5c0302cd
fadd dword [0x5c00386c]
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 0x5c0302fb
fadd dword [0x5c00386c]
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 0x5c030324
fadd dword [0x5c00386c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
mov eax, dword [esp + 0x2f4]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x54], eax
mov dword [esp + 0x44], edi
jmp 0x5c030377
fld dword [ebx + 0x5a4]
fmul st(1)
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x5a8]
fmul st(1)
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fmul dword [ebx + 0x5ac]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
or dword [ebx + 0x5b8], 8
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c0303a0
mov edi, dword [esp + 0x44]
fstp st(0)
fstp st(0)
test dl, 8
je 0x5c0304d1
test esi, 0x12000
jne 0x5c0303f1
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
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 0x5c0303f7
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 0x5c03045a
xor ecx, ecx
jmp 0x5c030460
cmp ecx, eax
jle 0x5c030460
mov ecx, eax
test edx, edx
jns 0x5c030468
xor edx, edx
jmp 0x5c03046e
cmp edx, eax
jle 0x5c03046e
mov edx, eax
test esi, esi
jns 0x5c030476
xor esi, esi
jmp 0x5c03047c
cmp esi, eax
jle 0x5c03047c
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c030498
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c0304ba
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c0304a9
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0304ab
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
mov dword [ebx + 0x530], eax
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c03050e
test esi, 0x4000
jne 0x5c0304e7
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c030508
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c0304fe
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c030500
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c0305dd
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 0x5c030578
xor ecx, ecx
jmp 0x5c03057e
cmp ecx, eax
jle 0x5c03057e
mov ecx, eax
test edx, edx
jns 0x5c030586
xor edx, edx
jmp 0x5c03058c
cmp edx, eax
jle 0x5c03058c
mov edx, eax
test esi, esi
jns 0x5c030594
xor esi, esi
jmp 0x5c03059a
cmp esi, eax
jle 0x5c03059a
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c0305b6
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c0305d8
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c0305c7
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0305c9
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c030650
test esi, 0x100000
jne 0x5c030656
test dword [ebx + 0x1a60], 0x800
jne 0x5c030602
test byte [ebx + 0x1a5c], 0x80
je 0x5c0305fe
mov eax, dword [edi]
jmp 0x5c030650
xor eax, eax
jmp 0x5c030650
test esi, 0x8000
jne 0x5c030612
mov eax, dword [ebx + 0x5bc]
jmp 0x5c030650
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c0305fe
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c030650
mov ecx, dword [ebx + 0x1a5c]
fstp st(0)
test cl, 0xc0
je 0x5c030656
test cl, 0x40
je 0x5c030646
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test cl, cl
jns 0x5c030656
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov ecx, dword [ebx + 0x1a44]
test ecx, 0x100
je 0x5c03067e
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x168]
push eax
mov ecx, ebx
call fcn.5c075e32
pop ecx
mov ecx, dword [ebx + 0x1a44]
mov eax, dword [ebx + 0x530]
and ecx, 0x10000000
mov dword [esp + 0x254], eax
mov eax, dword [ebx + 0x560]
mov dword [esp + 0x258], eax
mov eax, dword [ebx + 0x1a60]
test eax, 0x8000000
je 0x5c0309fc
test ecx, ecx
jne 0x5c03096e
test dword [esp + 0x8c], 0x200000
lea edi, [esp + 0x270]
jne 0x5c03095c
test eax, 0x4010000
jne 0x5c030728
xor eax, eax
mov dword [esp + 0x1c], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03096e
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x2c], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x2f8]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x2c]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c0306f2
jmp 0x5c03096e
test eax, 0x10000
jne 0x5c0307c6
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03096e
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x2c], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x5c030776
push edx
push dword [esp + ecx*4 + 0x2f8]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03079e
push dword [esp + 0x14]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x2fc]
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov ecx, dword [esp + 0x28]
add esp, 0xc
add edi, dword [esp + 0x18]
inc ecx
mov eax, dword [esp + 0x2c]
add eax, 4
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c03074f
jmp 0x5c03096e
and dword [esp + 0x20], 0
lea edx, [esp + 0x270]
cmp dword [ebx + 0x1c2c], 0
mov dword [esp + 0x1c], edx
jbe 0x5c03096e
lea esi, [ebx + 0x1ad8]
lea edi, [ebx + 0x1b40]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], edi
mov eax, dword [edi + 8]
test eax, eax
jne 0x5c03080d
mov eax, dword [edi - 0x14]
mov ecx, dword [esp + eax*4 + 0x2f4]
jmp 0x5c0308f7
cmp eax, 0x20000
jne 0x5c030820
lea ecx, [esp + 0x168]
jmp 0x5c0308f7
cmp eax, 0x10000
jne 0x5c030833
lea ecx, [esp + 0x174]
jmp 0x5c0308f7
test dword [ebx + 0x1a60], 0x1000000
je 0x5c0308d9
lea esi, [esp + 0x168]
lea edi, [esp + 0x180]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x180]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x184]
fld dword [esp + 0x178]
fld dword [esp + 0x180]
fld dword [esp + 0x174]
fld dword [esp + 0x188]
fld dword [esp + 0x17c]
fld st(5)
mov edi, dword [esp + 0x24]
fmul st(5)
fld st(4)
mov esi, dword [esp + 0x2c]
fmul st(4)
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1e0]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x1e4]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x1e8]
jmp 0x5c0308ec
lea edx, [esp + 0x1e0]
lea ecx, [esp + 0x174]
call fcn.5c01b43c
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x1e0]
cmp dword [edi], 0
mov eax, dword [esi]
mov dword [esp + 0x14], eax
je 0x5c030920
push dword [edi]
mov eax, dword [edi + 4]
push edx
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x38]
jmp 0x5c030928
push eax
push ecx
push edx
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x28]
add esp, 0xc
add edx, dword [esp + 0x14]
add esi, 4
mov ecx, dword [esp + 0x20]
add edi, 0x20
inc ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], edi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c0307f7
jmp 0x5c03096e
fld dword [esp + 0x5c]
fst dword [esp + 0x270]
fstp dword [esp + 0x274]
mov eax, dword [esp + 0x38]
add eax, dword [esp + 0x90]
mov esi, dword [ebx + 0x1a44]
mov dword [esp + 0x38], eax
test esi, 0x40000000
jne 0x5c030ce9
mov ecx, dword [esp + 0x50]
add ecx, dword [ebx + 0x1a30]
mov edx, dword [esp + 0x44]
add edx, dword [ebx + 0x1a94]
mov edi, dword [ebx + 0x1a84]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x54]
add ecx, dword [ebx + 0x1a38]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x64], ecx
xor ecx, ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x68], edx
test edi, edi
je 0x5c030ce9
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x2f4], eax
inc ecx
cmp ecx, edi
jb 0x5c0309d7
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
jmp 0x5c030ce9
test ecx, ecx
jne 0x5c030c99
test dword [esp + 0x8c], 0x200000
jne 0x5c030c87
test eax, 0x4010000
jne 0x5c030a3b
push dword [ebx + 0x1a8c]
lea eax, [esp + 0x274]
push dword [esp + 0x38]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c030c99
test eax, 0x10000
jne 0x5c030aef
mov ecx, dword [esp + 0x34]
lea esi, [esp + 0x270]
and dword [esp + 0x24], 0
mov edx, ecx
cmp dword [ebx + 0x1a88], 0
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], esi
jbe 0x5c030c9d
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 0x5c030ab7
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 [0x5c06a150]
call esi
mov esi, dword [esp + 0x2c]
jmp 0x5c030abf
push eax
push edx
push esi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x38]
add esp, 0xc
add edx, dword [esp + 0x1c]
add edi, 4
add esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ecx
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c030a73
jmp 0x5c030c99
and dword [esp + 0x20], 0
lea edx, [esp + 0x270]
cmp dword [ebx + 0x1c2c], 0
mov dword [esp + 0x1c], edx
jbe 0x5c030c99
lea esi, [ebx + 0x1ad8]
lea edi, [ebx + 0x1b30]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], edi
mov eax, dword [edi + 0x18]
test eax, eax
jne 0x5c030b32
mov ecx, dword [edi]
add ecx, dword [esp + 0x34]
jmp 0x5c030c20
cmp eax, 0x20000
jne 0x5c030b45
lea ecx, [esp + 0x168]
jmp 0x5c030c20
cmp eax, 0x10000
jne 0x5c030b58
lea ecx, [esp + 0x174]
jmp 0x5c030c20
test dword [ebx + 0x1a60], 0x1000000
je 0x5c030c02
lea esi, [esp + 0x168]
lea edi, [esp + 0x18c]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x18c]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x190]
fld dword [esp + 0x178]
fld dword [esp + 0x18c]
fld dword [esp + 0x174]
fld dword [esp + 0x194]
fld dword [esp + 0x17c]
fld st(5)
mov edi, dword [esp + 0x24]
fmul st(5)
fld st(4)
mov esi, dword [esp + 0x2c]
fmul st(4)
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld st(0)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1ec]
fld st(2)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1f0]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x1f4]
jmp 0x5c030c15
lea edx, [esp + 0x1ec]
lea ecx, [esp + 0x174]
call fcn.5c01b43c
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x1ec]
cmp dword [edi + 0x10], 0
mov eax, dword [esi]
mov dword [esp + 0x14], eax
je 0x5c030c4b
push dword [edi + 0x10]
mov eax, dword [edi + 0x14]
push edx
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x38]
jmp 0x5c030c53
push eax
push ecx
push edx
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x28]
add esp, 0xc
add edx, dword [esp + 0x14]
add esi, 4
mov ecx, dword [esp + 0x20]
add edi, 0x20
inc ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], edi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c030b20
jmp 0x5c030c99
fld dword [esp + 0x5c]
fst dword [esp + 0x270]
fstp dword [esp + 0x274]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x90]
add eax, edi
mov esi, dword [ebx + 0x1a44]
mov dword [esp + 0x38], eax
test esi, 0x40000000
jne 0x5c030ce9
mov edx, dword [esp + 0x54]
add dword [esp + 0x50], edi
add edx, edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x44]
add edx, edi
add ecx, edi
mov dword [esp + 0x44], edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2f4], ecx
cmp dword [ebx + 0x225c], 3
lea edi, [ebx + 0x1cdc]
fldz
lea ecx, [ebx + 0x1d8c]
fstp qword [esp + 0xd0]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x70], ecx
jb 0x5c030e72
mov ecx, dword [ebx + 0x1a7c]
mov edi, dword [esp + 0x3c]
mov eax, dword [ebx + 0x1a60]
imul ecx, edi
add ecx, dword [ebx + 0x1a78]
mov dword [esp + 0x38], ecx
test eax, 0x8000000
je 0x5c030dfa
mov edx, dword [ebx + 0x1a30]
imul edx, edi
add edx, dword [ebx + 0x1a2c]
mov dword [esp + 0x50], edx
mov edx, dword [ebx + 0x1a38]
imul edx, edi
add edx, dword [ebx + 0x1a34]
mov dword [esp + 0x54], edx
mov dword [esp + 0x64], edx
mov edx, dword [ebx + 0x1a94]
imul edx, edi
add edx, dword [ebx + 0x1a90]
mov dword [esp + 0x44], edx
mov dword [esp + 0x68], edx
test al, 0x10
jne 0x5c030dc0
test esi, 0x8000000
jne 0x5c030dc0
cmp dword [ebx + 0x1a84], 0
je 0x5c030e39
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 + 0x2f4], eax
mov edi, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x38]
jmp 0x5c030e35
mov esi, dword [ebx + 0x1a84]
xor edx, edx
test esi, esi
je 0x5c030e39
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 + 0x2f4], eax
inc edx
cmp edx, esi
jb 0x5c030dd2
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x34], eax
jmp 0x5c030e39
mov eax, dword [ebx + 0x1cc0]
mov edi, dword [ebx + 0x1cbc]
add eax, ecx
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x1cc4]
add eax, ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 0x1cc8]
add eax, ecx
add edi, ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x2f4], edi
mov dword [esp + 0x34], edi
lea esi, [ebx + 0x1cdc]
mov edx, ecx
push esi
mov ecx, ebx
call fcn.5c02c510
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 + 0x6c], ecx
jmp 0x5c032e61
push edi
mov edx, eax
mov ecx, ebx
call fcn.5c02c510
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x94]
add esi, dword [esp + 0x3c]
pop ecx
mov ecx, eax
mov dword [esp + 0x6c], esi
or ecx, dword [esp + 0x250]
and eax, dword [esp + 0x250]
and dword [esp + 0xac], eax
mov dword [esp + 0xa4], ecx
fld dword [esi + 4]
fld dword [esi]
fld dword [esi + 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 + 0x60]
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 + 0x28]
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 + 0x40]
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 + 0x48]
fxch st(2)
fst dword [esp + 0x18]
fst dword [esp + 0x14]
fxch st(1)
fst dword [esp + 0x1c]
fst dword [esp + 0x30]
fxch st(2)
fst dword [esp + 0x20]
fst dword [esp + 0x2c]
test ecx, ecx
je 0x5c03117b
fld dword [esp + 0x5c]
xor edx, edx
fst dword [esp + 0x1c]
fld dword [esp + 0x48]
fstp dword [esp + 0x2c]
fst dword [esp + 0x60]
fst dword [esp + 0x28]
fst dword [esp + 0x40]
fst dword [esp + 0x48]
fxch st(2)
fst dword [esp + 0x3c]
fxch st(3)
fst dword [esp + 0x24]
fxch st(1)
fst dword [esp + 0x20]
fxch st(2)
fst dword [esp + 0x30]
fst dword [esp + 0x18]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c0310ec
fxch st(2)
lea eax, [ebx + 0x224]
fstp dword [esp + 0x3c]
fxch st(1)
fstp dword [esp + 0x24]
fstp dword [esp + 0x20]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x3c]
fmul st(1)
fadd dword [esp + 0x60]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x60]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x28]
fld dword [esp + 0x20]
fmul st(1)
fadd dword [esp + 0x40]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x14]
fstp dword [esp + 0x40]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x48]
fstp dword [esp + 0x48]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [eax - 0x10]
fmul st(3)
fld dword [eax - 0x20]
fmul st(3)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax - 0xc]
fmul st(3)
fld dword [eax - 0x1c]
fmul st(3)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x24]
fld dword [eax - 8]
fmul st(3)
fld dword [eax - 0x18]
fmul st(3)
faddp st(1)
fld dword [eax + 8]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x18]
fstp dword [esp + 0x20]
fld dword [eax - 4]
fmul st(3)
fld dword [eax - 0x14]
fmul st(3)
faddp st(1)
fld dword [eax + 0xc]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x1c]
add eax, 0x40
fstp dword [esp + 0x2c]
cmp edx, ecx
jb 0x5c030ff1
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x18]
fstp dword [esp + 0x30]
fld dword [esp + 0x10]
fstp dword [esp + 0x18]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
jmp 0x5c0310f8
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 + 0x3c]
fmul st(1)
fadd dword [esp + 0x30]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x60]
fld dword [esp + 0x24]
fmul st(2)
fadd dword [esp + 0x18]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x28]
fld dword [esp + 0x20]
fmul st(3)
fadd dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x40]
fld dword [esp + 0x2c]
fmulp st(4)
fld dword [esp + 0x48]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x48]
fxch st(1)
fst dword [esp + 0x18]
fstp dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x30]
fst dword [esp + 0x20]
fstp dword [esp + 0x2c]
jmp 0x5c031187
fstp st(1)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x48]
fst dword [esp + 0x48]
fld dword [esp + 0x14]
fld dword [esp + 0x18]
mov edx, dword [esp + 0x60]
fld st(2)
fsubrp st(1)
shr edx, 1
mov esi, dword [ebx + 0x1cb8]
fstp dword [esp + 0x10]
fld dword [esp + 0x30]
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 + 0x2c]
and eax, 0x9fffffff
fld dword [esp + 0x20]
or edx, eax
mov eax, dword [esp + 0x28]
fld st(4)
shr edx, 1
fsubrp st(1)
and eax, 0x8fffffff
or edx, eax
mov eax, dword [esp + 0x40]
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 0x5c031251
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 0x5c031245
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c031221
fstp st(1)
test byte [ebx + 0x1a60], 2
fstp st(0)
je 0x5c0312e8
fld dword [ebx + 0x63c]
fmul st(3)
fld dword [ebx + 0x634]
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
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 + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x30]
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 + 0x30]
shr ecx, 1
and eax, 0x8000ffff
or ecx, eax
shr ecx, 0x10
or edx, ecx
jmp 0x5c0312ee
fstp st(1)
fstp st(1)
fstp st(0)
mov edi, dword [esp + 0x70]
fld dword [esp + 0x60]
or dword [esp + 0xa4], edx
and dword [esp + 0xac], edx
fst dword [esp + 0x60]
fstp dword [edi]
fld dword [esp + 0x28]
fst dword [esp + 0x2c]
fstp dword [edi + 4]
fld dword [esp + 0x40]
fst dword [esp + 0x1c]
fstp dword [edi + 8]
fld dword [esp + 0x48]
fstp dword [edi + 0xc]
mov dword [edi + 0x10], edx
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x250]
mov eax, ecx
and eax, dword [esi + 0x10]
test edx, eax
jne 0x5c03135c
or ecx, dword [esi + 0x10]
or ecx, edx
and ecx, dword [esp + 0xb4]
neg ecx
sbb ecx, ecx
and ecx, 0xffffff21
add ecx, 0x221
jmp 0x5c031361
mov ecx, 0x80
mov edi, dword [ebx + 0x1a60]
or dword [esp + 0x58], ecx
mov eax, dword [esi + 0x10]
test dword [ebx + 0x1cd8], eax
jne 0x5c03148a
fld dword [esi + 0xc]
fld qword [esp + 0xb8]
fld st(0)
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fst dword [esp + 0x48]
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 + 0x60]
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 + 0x28]
fld dword [esp + 0x60]
fst dword [esp + 0x60]
fld dword [esp + 0x28]
fst dword [esp + 0x2c]
test edi, 0x100000
jne 0x5c031465
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c031412
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 0x5c03142b
fstp dword [ebx + 0x1b24]
jmp 0x5c03142d
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c03144e
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c031469
fstp dword [ebx + 0x1b28]
jmp 0x5c03146b
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 + 0x40]
fld dword [esp + 0x40]
fstp dword [esp + 0x1c]
jmp 0x5c031491
fld qword [esp + 0xb8]
mov ecx, dword [esp + 0x58]
test cl, 3
je 0x5c031fb0
and dword [ebx + 0x5b8], 0
xor edx, edx
mov edi, dword [ebx + 0x1a60]
xor ecx, ecx
test edi, 0x20000000
je 0x5c031716
mov eax, dword [esp + 0x38]
fld dword [ebx + 0x454]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x444]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
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 + 0x28]
fld dword [esp + 0x28]
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 + 0x28]
fld dword [esp + 0x28]
fst dword [esp + 0x18]
fstp dword [esp + 0x170]
test ecx, ecx
je 0x5c03170b
fld dword [esp + 0x5c]
xor esi, esi
fst dword [esp + 0x40]
fst dword [esp + 0x168]
fst dword [esp + 0x16c]
fst dword [esp + 0x170]
fld dword [esp + 0x10]
fst dword [esp + 0x20]
fld dword [esp + 0x14]
fst dword [esp + 0x24]
fld dword [esp + 0x18]
fst dword [esp + 0x3c]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x30]
test ecx, ecx
je 0x5c0316c4
mov edx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x20]
fstp dword [esp + 0x24]
fstp dword [esp + 0x3c]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x20]
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 + 0x24]
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 + 0x3c]
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 + 0x40]
fstp dword [esp + 0x40]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x20]
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 + 0x24]
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 + 0x3c]
cmp esi, ecx
jb 0x5c0315d7
fld dword [esp + 0x14]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x30]
jmp 0x5c0316ca
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x40]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x20]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x168]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x16c]
fmul dword [esp + 0x3c]
fadd dword [esp + 0x30]
fstp dword [esp + 0x170]
or edx, 1
mov dword [ebx + 0x5b8], edx
mov ecx, edx
test edi, 0x40000000
je 0x5c031982
mov eax, dword [esp + 0x50]
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 + 0x28]
fld dword [esp + 0x28]
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 + 0x28]
fld dword [esp + 0x28]
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 + 0x28]
fld dword [esp + 0x28]
fst dword [esp + 0x18]
fstp dword [esp + 0x17c]
test ecx, ecx
je 0x5c031959
fld dword [esp + 0x5c]
xor edx, edx
fst dword [esp + 0x40]
fst dword [esp + 0x174]
fst dword [esp + 0x178]
fst dword [esp + 0x17c]
fld dword [esp + 0x10]
fst dword [esp + 0x20]
fld dword [esp + 0x14]
fst dword [esp + 0x24]
fld dword [esp + 0x18]
fst dword [esp + 0x3c]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x30]
test ecx, ecx
je 0x5c031914
mov esi, dword [esp + 0x38]
lea eax, [ebx + 0x38c]
mov edi, dword [esp + 0x50]
fxch st(1)
fstp dword [esp + 0x20]
fstp dword [esp + 0x24]
fstp dword [esp + 0x3c]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x20]
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 + 0x24]
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 + 0x3c]
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 + 0x40]
fstp dword [esp + 0x40]
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 + 0x20]
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 + 0x24]
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 + 0x3c]
cmp edx, ecx
jb 0x5c031830
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 + 0x30]
jmp 0x5c03191a
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x40]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x20]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x174]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x178]
fmul dword [esp + 0x3c]
fadd dword [esp + 0x30]
fstp dword [esp + 0x17c]
jmp 0x5c03195b
fstp st(0)
test edi, 0x2000000
je 0x5c031971
lea edx, [esp + 0x174]
mov ecx, edx
call fcn.5c0504a4
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
jmp 0x5c031984
fstp st(0)
mov edi, dword [ebx + 0x1a44]
test edi, 0x400
je 0x5c031f5e
fld dword [esp + 0x5c]
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 edi, 0x200
je 0x5c031a29
test edi, 0x10000
je 0x5c0319e7
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c0319df
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0319e1
xor eax, eax
mov dword [ebx + 0x540], eax
test edi, 0x4000
je 0x5c031a08
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c031a00
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c031a02
xor eax, eax
mov dword [ebx + 0x550], eax
test edi, 0x8000
je 0x5c031a29
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c031a21
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c031a23
xor eax, eax
mov dword [ebx + 0x570], eax
mov eax, dword [ebx + 0x5c0]
mov esi, edi
mov dword [esp + 0x14], eax
test eax, eax
je 0x5c031a83
fstp st(0)
mov esi, dword [eax + 0x80]
lea ecx, [esp + 0x168]
push ecx
push dword [esp + 0x54]
mov ecx, esi
push dword [esp + 0x40]
push eax
push ebx
call dword [0x5c06a150]
call esi
mov eax, dword [esp + 0x28]
add esp, 0x14
mov eax, dword [eax + 0x58]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x5c031a3b
mov edi, dword [ebx + 0x1a44]
mov esi, edi
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
fld dword [esp + 0x5c]
test edi, 0x12000
je 0x5c031cd0
test cl, 8
jne 0x5c031aa8
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c031aaa
fstp st(0)
test edi, 0x10000
je 0x5c031b71
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c031ac7
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c031ac9
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 0x5c031ae3
fadd dword [0x5c00386c]
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 0x5c031b17
fadd dword [0x5c00386c]
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 0x5c031b46
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x2f4]
mov edi, dword [esp + 0x68]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x54], eax
mov dword [esp + 0x44], edi
jmp 0x5c031bb1
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x44]
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x588]
fmul dword [ebx + 0x548]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x58c]
fmul dword [ebx + 0x54c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
test dword [ebx + 0x1a44], 0x2000
je 0x5c031c76
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x5c031bde
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c031be0
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 0x5c031bfa
fadd dword [0x5c00386c]
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 0x5c031c28
fadd dword [0x5c00386c]
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 0x5c031c51
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x2f4]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x54], eax
mov dword [esp + 0x44], edi
jmp 0x5c031caf
fld dword [ebx + 0x5a4]
fld qword [esp + 0xc8]
fmul st(1), st(0)
fld dword [ebx + 0x504]
faddp st(2)
fxch st(1)
fstp dword [ebx + 0x504]
fld dword [ebx + 0x5a8]
fmul st(1)
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fmul dword [ebx + 0x5ac]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
or dword [ebx + 0x5b8], 8
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c031cd6
mov edi, dword [esp + 0x44]
fstp st(0)
test dl, 8
je 0x5c031e07
test esi, 0x12000
jne 0x5c031d27
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
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 0x5c031d2d
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 0x5c031d90
xor ecx, ecx
jmp 0x5c031d96
cmp ecx, eax
jle 0x5c031d96
mov ecx, eax
test edx, edx
jns 0x5c031d9e
xor edx, edx
jmp 0x5c031da4
cmp edx, eax
jle 0x5c031da4
mov edx, eax
test esi, esi
jns 0x5c031dac
xor esi, esi
jmp 0x5c031db2
cmp esi, eax
jle 0x5c031db2
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c031dce
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c031df0
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c031ddf
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c031de1
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
mov dword [ebx + 0x530], eax
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c031e44
test esi, 0x4000
jne 0x5c031e1d
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c031e3e
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c031e34
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c031e36
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c031f13
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 0x5c031eae
xor ecx, ecx
jmp 0x5c031eb4
cmp ecx, eax
jle 0x5c031eb4
mov ecx, eax
test edx, edx
jns 0x5c031ebc
xor edx, edx
jmp 0x5c031ec2
cmp edx, eax
jle 0x5c031ec2
mov edx, eax
test esi, esi
jns 0x5c031eca
xor esi, esi
jmp 0x5c031ed0
cmp esi, eax
jle 0x5c031ed0
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c031eec
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c031f0e
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c031efd
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c031eff
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c031f84
test esi, 0x100000
jne 0x5c031f8a
test dword [ebx + 0x1a60], 0x800
jne 0x5c031f38
test byte [ebx + 0x1a5c], 0x80
je 0x5c031f34
mov eax, dword [edi]
jmp 0x5c031f84
xor eax, eax
jmp 0x5c031f84
test esi, 0x8000
jne 0x5c031f48
mov eax, dword [ebx + 0x5bc]
jmp 0x5c031f84
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c031f34
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c031f84
mov ecx, dword [ebx + 0x1a5c]
test cl, 0xc0
je 0x5c031f8a
test cl, 0x40
je 0x5c031f7a
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test cl, cl
jns 0x5c031f8a
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
test dword [ebx + 0x1a44], 0x100
je 0x5c031faa
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x168]
push eax
mov ecx, ebx
call fcn.5c01b46b
pop ecx
mov ecx, dword [esp + 0x58]
jmp 0x5c031fb2
fstp st(0)
test cl, 1
je 0x5c03263b
test cl, 4
je 0x5c032064
mov edi, dword [esp + 0x7c]
test edi, edi
jle 0x5c032064
mov eax, dword [esp + 0x9c]
lea esi, [edi + 2]
mov ecx, ebx
push edi
push esi
push dword [esp + 0x80]
push 6
pop edx
cmp dword [esp + 0x94], eax
jae 0x5c03201a
call fcn.5c022413
add esp, 0xc
test eax, eax
jne 0x5c032d3f
mov eax, dword [ebx + 0x1a64]
add dword [ebx + 0x1a48], esi
mov ecx, dword [esp + 0x74]
imul eax, esi
add dword [esp + 0x78], eax
jmp 0x5c032052
or dword [ebx + 0x1a44], 0x2000000
call fcn.5c022469
mov edx, dword [esp + 0x84]
add esp, 0xc
and dword [ebx + 0x1a44], 0xfdffffff
mov ecx, edx
sub dword [esp + 0x88], esi
mov dword [esp + 0x74], ecx
test eax, eax
jne 0x5c032d43
xor esi, esi
xor eax, eax
inc eax
mov dword [esp + 0x7c], esi
mov dword [esp + 0x98], eax
jmp 0x5c032071
mov eax, dword [esp + 0x98]
xor esi, esi
mov ecx, dword [esp + 0x74]
test eax, eax
je 0x5c0320a5
lea eax, [esp + 0x240]
mov edx, ecx
push eax
mov ecx, ebx
call fcn.5c0223ba
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 0x5c0320a9
mov eax, dword [esp + 0x74]
fld dword [esp + 0x60]
fstp dword [eax]
fld dword [esp + 0x2c]
fstp dword [eax + 4]
fld dword [esp + 0x1c]
fstp dword [eax + 8]
fld dword [esp + 0x48]
fstp dword [eax + 0xc]
mov edi, dword [ebx + 0x1cd0]
add edi, eax
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x40], edi
test al, 0x40
je 0x5c0320ef
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x40], edi
test al, al
jns 0x5c032102
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x40], edi
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c032622
mov ecx, dword [esp + 0x8c]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c0323b5
test ecx, ecx
jne 0x5c032619
test eax, 0x4010000
jne 0x5c032191
mov eax, esi
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], esi
jbe 0x5c032622
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x2f8]
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 0x5c03215b
jmp 0x5c032622
test eax, 0x10000
jne 0x5c03222f
mov ecx, esi
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], esi
jbe 0x5c032622
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x30], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c0321df
push edx
push dword [esp + ecx*4 + 0x2f8]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c032207
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x2fc]
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x30]
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 0x5c0321b8
jmp 0x5c032622
mov dword [esp + 0x14], esi
cmp dword [ebx + 0x1c2c], esi
jbe 0x5c032622
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c032269
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x2f4]
jmp 0x5c03234f
cmp eax, 0x20000
jne 0x5c03227c
lea ecx, [esp + 0x168]
jmp 0x5c03234f
cmp eax, 0x10000
jne 0x5c03228f
lea ecx, [esp + 0x174]
jmp 0x5c03234f
test dword [ebx + 0x1a60], 0x1000000
je 0x5c032335
lea esi, [esp + 0x168]
lea edi, [esp + 0x198]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x198]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x19c]
fld dword [esp + 0x178]
fld dword [esp + 0x198]
fld dword [esp + 0x174]
fld dword [esp + 0x1a0]
fld dword [esp + 0x17c]
fld st(3)
mov edi, dword [esp + 0x40]
fmul st(3)
fld st(6)
mov esi, dword [esp + 0x24]
fmul st(6)
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1f8]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x1fc]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x200]
jmp 0x5c032348
lea edx, [esp + 0x1f8]
lea ecx, [esp + 0x174]
call fcn.5c01b43c
lea ecx, [esp + 0x1f8]
cmp dword [esi], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03237c
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x30]
jmp 0x5c032384
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add esi, 0x20
add dword [esp + 0x20], 4
inc ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c032253
jmp 0x5c032622
test ecx, ecx
jne 0x5c032619
test eax, 0x4010000
jne 0x5c0323dc
push dword [ebx + 0x1a8c]
push dword [esp + 0x38]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c032622
test eax, 0x10000
jne 0x5c03248b
cmp dword [ebx + 0x1a88], 0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], esi
jbe 0x5c032622
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x30], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c032453
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 [0x5c06a150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c03245b
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x2c]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x24]
inc esi
mov eax, dword [esp + 0x30]
add eax, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x30], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c03240a
jmp 0x5c032622
mov dword [esp + 0x14], esi
cmp dword [ebx + 0x1c2c], esi
jbe 0x5c032622
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c0324c1
mov ecx, dword [eax]
add ecx, dword [esp + 0x34]
jmp 0x5c0325b1
cmp ecx, 0x20000
jne 0x5c0324d5
lea ecx, [esp + 0x168]
jmp 0x5c0325b1
cmp ecx, 0x10000
jne 0x5c0324e9
lea ecx, [esp + 0x174]
jmp 0x5c0325b1
test dword [ebx + 0x1a60], 0x1000000
je 0x5c032597
lea esi, [esp + 0x168]
lea edi, [esp + 0x1a4]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x1a4]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x1a8]
fld dword [esp + 0x178]
fld dword [esp + 0x1a4]
fld dword [esp + 0x174]
fld dword [esp + 0x1ac]
fld dword [esp + 0x17c]
fld st(5)
mov edi, dword [esp + 0x40]
fmul st(5)
fld st(4)
mov eax, dword [esp + 0x24]
fmul st(4)
mov esi, dword [esp + 0x20]
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld st(0)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x204]
fld st(2)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x208]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x20c]
jmp 0x5c0325aa
lea edx, [esp + 0x204]
lea ecx, [esp + 0x174]
call fcn.5c01b43c
lea ecx, [esp + 0x204]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
test edx, edx
je 0x5c0325db
mov eax, dword [eax + 0x14]
push edx
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x1c]
jmp 0x5c0325e3
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esp + 0x24]
inc edx
add esi, 4
mov dword [esp + 0x40], edi
add eax, 0x20
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c0324af
jmp 0x5c032622
fld dword [esp + 0x5c]
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 + 0x58]
mov dword [esp + 0x74], eax
test cl, 2
je 0x5c032bc3
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x10]
test dword [ebx + 0x1cd8], eax
jne 0x5c03266f
fld dword [esp + 0x60]
fstp dword [edx + 0x1c]
fld dword [esp + 0x2c]
fstp dword [edx + 0x20]
fld dword [esp + 0x1c]
fstp dword [edx + 0x24]
fld dword [esp + 0x48]
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 0x5c032bc3
mov ecx, dword [esp + 0x8c]
lea edi, [edx + 0x30]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
mov dword [esp + 0x20], edi
test eax, 0x8000000
je 0x5c03294f
test ecx, ecx
jne 0x5c032941
test eax, 0x4010000
jne 0x5c032717
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c032bbf
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x2f8]
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 0x5c0326e1
jmp 0x5c032bbf
test eax, 0x10000
jne 0x5c0327b5
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c032bbf
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x30], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c032765
push edx
push dword [esp + ecx*4 + 0x2f8]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03278d
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x2fc]
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x30]
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 0x5c03273e
jmp 0x5c032bbf
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c032bbf
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c0327f1
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x2f4]
jmp 0x5c0328db
cmp eax, 0x20000
jne 0x5c032804
lea ecx, [esp + 0x168]
jmp 0x5c0328db
cmp eax, 0x10000
jne 0x5c032817
lea ecx, [esp + 0x174]
jmp 0x5c0328db
test dword [ebx + 0x1a60], 0x1000000
je 0x5c0328c1
lea esi, [esp + 0x168]
lea edi, [esp + 0x1b0]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x1b0]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x1b4]
fld dword [esp + 0x178]
fld dword [esp + 0x1b0]
fld dword [esp + 0x174]
fld dword [esp + 0x1b8]
fld dword [esp + 0x17c]
fld st(4)
mov edi, dword [esp + 0x20]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x3c]
fmul st(5)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld st(0)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x210]
fld st(2)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x214]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x218]
jmp 0x5c0328d4
lea edx, [esp + 0x210]
lea ecx, [esp + 0x174]
call fcn.5c01b43c
lea ecx, [esp + 0x210]
cmp dword [esi], 0
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c032908
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x48]
jmp 0x5c032910
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add esi, 0x20
add dword [esp + 0x24], 4
inc ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x3c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c0327db
jmp 0x5c032bbf
fld dword [esp + 0x5c]
fst dword [edi]
fstp dword [edi + 4]
jmp 0x5c032bbf
test ecx, ecx
jne 0x5c032bb6
test eax, 0x4010000
jne 0x5c032976
push dword [ebx + 0x1a8c]
push dword [esp + 0x38]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c032bbf
test eax, 0x10000
jne 0x5c032a26
mov edx, dword [esp + 0x34]
xor esi, esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c032bbf
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x30], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c0329ee
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 [0x5c06a150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c0329f6
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x2c]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x24]
inc esi
mov eax, dword [esp + 0x30]
add eax, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x30], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c0329a5
jmp 0x5c032bbf
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c032bbf
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x24], esi
mov dword [esp + 0x3c], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c032a5e
mov ecx, dword [eax]
add ecx, dword [esp + 0x34]
jmp 0x5c032b4e
cmp ecx, 0x20000
jne 0x5c032a72
lea ecx, [esp + 0x168]
jmp 0x5c032b4e
cmp ecx, 0x10000
jne 0x5c032a86
lea ecx, [esp + 0x174]
jmp 0x5c032b4e
test dword [ebx + 0x1a60], 0x1000000
je 0x5c032b34
lea esi, [esp + 0x168]
lea edi, [esp + 0x1bc]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x1bc]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x1c0]
fld dword [esp + 0x178]
fld dword [esp + 0x1bc]
fld dword [esp + 0x174]
fld dword [esp + 0x1c4]
fld dword [esp + 0x17c]
fld st(5)
mov edi, dword [esp + 0x20]
fmul st(5)
fld st(4)
mov eax, dword [esp + 0x3c]
fmul st(4)
mov esi, dword [esp + 0x24]
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld st(0)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x21c]
fld st(2)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x220]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x224]
jmp 0x5c032b47
lea edx, [esp + 0x21c]
lea ecx, [esp + 0x174]
call fcn.5c01b43c
lea ecx, [esp + 0x21c]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
test edx, edx
je 0x5c032b78
mov eax, dword [eax + 0x14]
push edx
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x1c]
jmp 0x5c032b80
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [esp + 0x3c]
inc edx
add esi, 4
mov dword [esp + 0x20], edi
add eax, 0x20
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], esi
mov dword [esp + 0x3c], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c032a4c
jmp 0x5c032bbf
fld dword [esp + 0x5c]
fst dword [edi]
fstp dword [edx + 0x34]
mov ecx, dword [esp + 0x58]
test cl, 0x10
je 0x5c032bce
inc dword [esp + 0x7c]
jmp 0x5c032c48
mov edi, dword [esp + 0x7c]
test edi, edi
jle 0x5c032c1f
push edi
lea esi, [edi + 2]
mov ecx, ebx
push esi
push dword [esp + 0x80]
push 6
pop edx
call fcn.5c022413
add esp, 0xc
test eax, eax
jne 0x5c032d3f
mov eax, dword [ebx + 0x1a64]
add dword [ebx + 0x1a48], esi
mov ecx, dword [esp + 0x58]
imul eax, esi
mov dword [esp + 0x98], 1
add dword [esp + 0x78], eax
xor edi, edi
mov dword [esp + 0x7c], edi
test cl, 8
je 0x5c032c48
mov edx, dword [esp + 0xb0]
lea eax, [esp + 0x240]
push eax
push dword [esp + 0x50]
mov ecx, ebx
call fcn.5c022515
pop ecx
pop ecx
test eax, eax
jne 0x5c032d3f
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x90]
add edx, esi
mov eax, dword [ebx + 0x1a44]
mov ecx, edx
mov edi, dword [ebx + 0x1a60]
and eax, 0x40000000
mov dword [esp + 0x38], edx
mov dword [esp + 0x14], ecx
test edi, 0x8000000
je 0x5c032e02
test eax, eax
jne 0x5c032cef
mov eax, dword [esp + 0x50]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x54]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x44]
add eax, dword [ebx + 0x1a94]
mov dword [esp + 0x44], eax
mov dword [esp + 0x68], eax
test esi, esi
je 0x5c032ce4
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x2f4], eax
inc ecx
cmp ecx, esi
jb 0x5c032cc4
mov eax, dword [esp + 0x2f4]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
add dword [esp + 0x6c], esi
shr dword [esp + 0x58], 5
inc dword [esp + 0x9c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x70]
mov esi, eax
mov dword [esp + 0x4c], 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 0x5c032e40
test eax, eax
jne 0x5c03136b
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
test edi, edi
jle 0x5c032d60
push edi
lea esi, [edi + 2]
mov ecx, ebx
push esi
push edx
push 6
pop edx
call fcn.5c022413
add esp, 0xc
add dword [ebx + 0x1a48], esi
test dword [ebx + 0x1a60], 0x100000
jne 0x5c03462e
fld dword [ebx + 0x68c]
fadd dword [ebx + 0x1b24]
fstp dword [ebx + 0x1b24]
fld dword [ebx + 0x68c]
fadd dword [ebx + 0x1b28]
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 + 0xb0]
fld dword [ebx + 0x1b1c]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c0345b0
fstp dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fstp dword [esp + 0xb0]
jmp 0x5c0345b2
test eax, eax
jne 0x5c032cef
mov eax, dword [esp + 0x54]
add dword [esp + 0x50], esi
add eax, esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x44]
add eax, esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x34]
add eax, esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x2f4], eax
jmp 0x5c032cef
cmp dword [esp + 0xa4], 0
jne 0x5c0345a3
cmp dword [esp + 0x7c], 1
mov dword [esp + 0x38], edx
jne 0x5c0345a3
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
fld dword [ecx + 4]
fld dword [ecx]
fld dword [ecx + 8]
fld dword [ebx + 0x4d4]
fmul st(3)
fld dword [ebx + 0x4c4]
fmul st(3)
mov ecx, dword [ebx + 0x1cb4]
faddp st(1)
fld dword [ebx + 0x4e4]
fmul st(2)
faddp st(1)
fadd dword [ebx + 0x4f4]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x60]
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 + 0x28]
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 + 0x40]
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 + 0x48]
fxch st(2)
fst dword [esp + 0x18]
fst dword [esp + 0x14]
fxch st(1)
fst dword [esp + 0x1c]
fst dword [esp + 0x30]
fxch st(2)
fst dword [esp + 0x20]
fst dword [esp + 0x2c]
test ecx, ecx
je 0x5c033137
fld dword [esp + 0x5c]
xor edx, edx
fst dword [esp + 0x1c]
fld dword [esp + 0x48]
fstp dword [esp + 0x2c]
fst dword [esp + 0x60]
fst dword [esp + 0x28]
fst dword [esp + 0x40]
fst dword [esp + 0x48]
fxch st(2)
fst dword [esp + 0x20]
fxch st(3)
fst dword [esp + 0x24]
fxch st(1)
fst dword [esp + 0x3c]
fxch st(2)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x30]
test ecx, ecx
je 0x5c0330a8
mov esi, dword [esp + 0x6c]
lea eax, [ebx + 0x224]
fxch st(2)
fstp dword [esp + 0x20]
fxch st(1)
fstp dword [esp + 0x24]
fstp dword [esp + 0x3c]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x20]
fmul st(1)
fadd dword [esp + 0x60]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x60]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x28]
fld dword [esp + 0x3c]
fmul st(1)
fadd dword [esp + 0x40]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x40]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x48]
fstp dword [esp + 0x48]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [eax - 0x10]
fmul st(3)
fld dword [eax - 0x20]
fmul st(3)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x20]
fld dword [eax - 0xc]
fmul st(3)
fld dword [eax - 0x1c]
fmul st(3)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x24]
fld dword [eax - 8]
fmul st(3)
fld dword [eax - 0x18]
fmul st(3)
faddp st(1)
fld dword [eax + 8]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x18]
fstp dword [esp + 0x3c]
fld dword [eax - 4]
fmul st(3)
fld dword [eax - 0x14]
fmul st(3)
faddp st(1)
fld dword [eax + 0xc]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x1c]
add eax, 0x40
fstp dword [esp + 0x2c]
cmp edx, ecx
jb 0x5c032fad
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 + 0x30]
jmp 0x5c0330b4
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 + 0x20]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x60]
fld dword [esp + 0x24]
fmul st(2)
fadd dword [esp + 0x18]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x28]
fld dword [esp + 0x3c]
fmul st(3)
fadd dword [esp + 0x30]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x40]
fld dword [esp + 0x2c]
fmulp st(4)
fld dword [esp + 0x48]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x48]
fxch st(1)
fst dword [esp + 0x18]
fstp dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x30]
fst dword [esp + 0x20]
fstp dword [esp + 0x2c]
jmp 0x5c033143
fstp st(1)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x48]
fst dword [esp + 0x48]
fld st(0)
mov edx, dword [esp + 0x60]
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 + 0x30]
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 + 0x2c]
and eax, 0x9fffffff
fld dword [esp + 0x20]
or edx, eax
mov eax, dword [esp + 0x28]
fld st(4)
shr edx, 1
fsubrp st(1)
and eax, 0x8fffffff
or edx, eax
mov eax, dword [esp + 0x40]
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 0x5c03320f
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 0x5c033201
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c0331d8
mov edi, dword [esp + 0x70]
and dword [edi + 0x10], 0
fstp st(0)
fld dword [esp + 0x60]
fst dword [esp + 0x60]
fstp dword [edi]
fld dword [esp + 0x28]
fst dword [esp + 0x2c]
fstp dword [edi + 4]
fld dword [esp + 0x40]
fst dword [esp + 0x1c]
fstp dword [edi + 8]
fxch st(3)
fstp dword [edi + 0xc]
test edx, edx
jne 0x5c03450e
mov eax, dword [esp + 0x90]
fstp st(0)
add dword [esp + 0x6c], eax
fstp st(0)
mov esi, dword [esp + 0x4c]
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 + 0x48]
fld dword [esp + 0x48]
fst dword [esp + 0x48]
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 + 0x60]
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 + 0x28]
fld dword [esp + 0x60]
fst dword [esp + 0x3c]
fld dword [esp + 0x28]
fst dword [esp + 0x4c]
jne 0x5c033346
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c0332f3
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 0x5c03330c
fstp dword [ebx + 0x1b24]
jmp 0x5c03330e
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c03332f
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c03334a
fstp dword [ebx + 0x1b28]
jmp 0x5c03334c
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esi + 8]
xor edx, edx
fmul dword [ebx + 0x60c]
xor ecx, ecx
mov edi, dword [ebx + 0x1a60]
fmulp st(1)
fadd dword [ebx + 0x610]
and dword [ebx + 0x5b8], 0
fstp dword [esp + 0x40]
test edi, 0x20000000
je 0x5c0335d9
mov eax, dword [esp + 0x38]
fld dword [ebx + 0x454]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x444]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
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 + 0x28]
fld dword [esp + 0x28]
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 + 0x28]
fld dword [esp + 0x28]
fst dword [esp + 0x18]
fstp dword [esp + 0x170]
test ecx, ecx
je 0x5c0335ce
fld dword [esp + 0x5c]
xor esi, esi
fst dword [esp + 0x24]
fst dword [esp + 0x168]
fst dword [esp + 0x16c]
fst dword [esp + 0x170]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fld dword [esp + 0x14]
fst dword [esp + 0x2c]
fld dword [esp + 0x18]
fst dword [esp + 0x20]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x30]
test ecx, ecx
je 0x5c033587
mov edx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x2c]
fstp dword [esp + 0x20]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x1c]
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 + 0x2c]
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 + 0x20]
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 + 0x24]
fstp dword [esp + 0x24]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x1c]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x2c]
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 + 0x20]
cmp esi, ecx
jb 0x5c03349a
fld dword [esp + 0x14]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x30]
jmp 0x5c03358d
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x24]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x168]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x16c]
fmul dword [esp + 0x20]
fadd dword [esp + 0x30]
fstp dword [esp + 0x170]
or edx, 1
mov dword [ebx + 0x5b8], edx
mov ecx, edx
test edi, 0x40000000
je 0x5c033845
mov eax, dword [esp + 0x50]
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 + 0x28]
fld dword [esp + 0x28]
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 + 0x28]
fld dword [esp + 0x28]
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 + 0x28]
fld dword [esp + 0x28]
fst dword [esp + 0x18]
fstp dword [esp + 0x17c]
test ecx, ecx
je 0x5c03381c
fld dword [esp + 0x5c]
xor edx, edx
fst dword [esp + 0x24]
fst dword [esp + 0x174]
fst dword [esp + 0x178]
fst dword [esp + 0x17c]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fld dword [esp + 0x14]
fst dword [esp + 0x2c]
fld dword [esp + 0x18]
fst dword [esp + 0x20]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x30]
test ecx, ecx
je 0x5c0337d7
mov esi, dword [esp + 0x38]
lea eax, [ebx + 0x38c]
mov edi, dword [esp + 0x50]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x2c]
fstp dword [esp + 0x20]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x1c]
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 + 0x2c]
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 + 0x20]
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 + 0x24]
fstp dword [esp + 0x24]
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 + 0x1c]
fld dword [eax + 8]
fmul st(2)
fld dword [eax + 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 0x10]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x2c]
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 + 0x20]
cmp edx, ecx
jb 0x5c0336f3
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 + 0x30]
jmp 0x5c0337dd
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x24]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x174]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x178]
fmul dword [esp + 0x20]
fadd dword [esp + 0x30]
fstp dword [esp + 0x17c]
jmp 0x5c03381e
fstp st(0)
test edi, 0x2000000
je 0x5c033834
lea edx, [esp + 0x174]
mov ecx, edx
call fcn.5c0504a4
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
jmp 0x5c033847
fstp st(0)
mov edi, dword [ebx + 0x1a44]
test edi, 0x400
je 0x5c033e21
fld dword [esp + 0x5c]
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 edi, 0x200
je 0x5c0338ec
test edi, 0x10000
je 0x5c0338aa
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c0338a2
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0338a4
xor eax, eax
mov dword [ebx + 0x540], eax
test edi, 0x4000
je 0x5c0338cb
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c0338c3
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0338c5
xor eax, eax
mov dword [ebx + 0x550], eax
test edi, 0x8000
je 0x5c0338ec
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c0338e4
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0338e6
xor eax, eax
mov dword [ebx + 0x570], eax
mov eax, dword [ebx + 0x5c0]
mov esi, edi
mov dword [esp + 0x14], eax
test eax, eax
je 0x5c033946
fstp st(0)
mov esi, dword [eax + 0x80]
lea ecx, [esp + 0x168]
push ecx
push dword [esp + 0x54]
mov ecx, esi
push dword [esp + 0x40]
push eax
push ebx
call dword [0x5c06a150]
call esi
mov eax, dword [esp + 0x28]
add esp, 0x14
mov eax, dword [eax + 0x58]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x5c0338fe
mov edi, dword [ebx + 0x1a44]
mov esi, edi
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
fld dword [esp + 0x5c]
test edi, 0x12000
je 0x5c033b93
test cl, 8
jne 0x5c03396b
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c03396d
fstp st(0)
test edi, 0x10000
je 0x5c033a34
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c03398a
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03398c
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 0x5c0339a6
fadd dword [0x5c00386c]
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 0x5c0339da
fadd dword [0x5c00386c]
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 0x5c033a09
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x2f4]
mov edi, dword [esp + 0x68]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x54], eax
mov dword [esp + 0x44], edi
jmp 0x5c033a74
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x44]
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x588]
fmul dword [ebx + 0x548]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x58c]
fmul dword [ebx + 0x54c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
test dword [ebx + 0x1a44], 0x2000
je 0x5c033b39
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x5c033aa1
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c033aa3
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 0x5c033abd
fadd dword [0x5c00386c]
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 0x5c033aeb
fadd dword [0x5c00386c]
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 0x5c033b14
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x2f4]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x54], eax
mov dword [esp + 0x44], edi
jmp 0x5c033b72
fld dword [ebx + 0x5a4]
fld qword [esp + 0xc8]
fmul st(1), st(0)
fld dword [ebx + 0x504]
faddp st(2)
fxch st(1)
fstp dword [ebx + 0x504]
fld dword [ebx + 0x5a8]
fmul st(1)
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fmul dword [ebx + 0x5ac]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
or dword [ebx + 0x5b8], 8
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c033b99
mov edi, dword [esp + 0x44]
fstp st(0)
test dl, 8
je 0x5c033cca
test esi, 0x12000
jne 0x5c033bea
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
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 0x5c033bf0
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 0x5c033c53
xor ecx, ecx
jmp 0x5c033c59
cmp ecx, eax
jle 0x5c033c59
mov ecx, eax
test edx, edx
jns 0x5c033c61
xor edx, edx
jmp 0x5c033c67
cmp edx, eax
jle 0x5c033c67
mov edx, eax
test esi, esi
jns 0x5c033c6f
xor esi, esi
jmp 0x5c033c75
cmp esi, eax
jle 0x5c033c75
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c033c91
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c033cb3
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c033ca2
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c033ca4
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
mov dword [ebx + 0x530], eax
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c033d07
test esi, 0x4000
jne 0x5c033ce0
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c033d01
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c033cf7
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c033cf9
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c033dd6
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 0x5c033d71
xor ecx, ecx
jmp 0x5c033d77
cmp ecx, eax
jle 0x5c033d77
mov ecx, eax
test edx, edx
jns 0x5c033d7f
xor edx, edx
jmp 0x5c033d85
cmp edx, eax
jle 0x5c033d85
mov edx, eax
test esi, esi
jns 0x5c033d8d
xor esi, esi
jmp 0x5c033d93
cmp esi, eax
jle 0x5c033d93
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c033daf
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c033dd1
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c033dc0
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c033dc2
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c033e47
test esi, 0x100000
jne 0x5c033e4d
test dword [ebx + 0x1a60], 0x800
jne 0x5c033dfb
test byte [ebx + 0x1a5c], 0x80
je 0x5c033df7
mov eax, dword [edi]
jmp 0x5c033e47
xor eax, eax
jmp 0x5c033e47
test esi, 0x8000
jne 0x5c033e0b
mov eax, dword [ebx + 0x5bc]
jmp 0x5c033e47
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c033df7
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c033e47
mov ecx, dword [ebx + 0x1a5c]
test cl, 0xc0
je 0x5c033e4d
test cl, 0x40
je 0x5c033e3d
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test cl, cl
jns 0x5c033e4d
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
test dword [ebx + 0x1a44], 0x100
je 0x5c033e6d
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x168]
push eax
mov ecx, ebx
call fcn.5c01b46b
pop ecx
mov eax, dword [esp + 0x74]
fld dword [esp + 0x3c]
fstp dword [eax]
fld dword [esp + 0x4c]
fstp dword [eax + 4]
fld dword [esp + 0x40]
fstp dword [eax + 8]
fld dword [esp + 0x48]
fstp dword [eax + 0xc]
mov edi, dword [ebx + 0x1cd0]
add edi, eax
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x4c], edi
test al, 0x40
je 0x5c033eb7
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x4c], edi
test al, al
jns 0x5c033eca
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x4c], edi
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c0343e8
mov ecx, dword [esp + 0x8c]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c034183
test ecx, ecx
jne 0x5c0343df
test eax, 0x4010000
jne 0x5c033f59
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c0343e8
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x2f8]
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 0x5c033f23
jmp 0x5c0343e8
test eax, 0x10000
jne 0x5c033ff7
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c0343e8
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x30], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c033fa7
push edx
push dword [esp + ecx*4 + 0x2f8]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c033fcf
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x2fc]
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x30]
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 0x5c033f80
jmp 0x5c0343e8
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c0343e8
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c034033
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x2f4]
jmp 0x5c03411d
cmp eax, 0x20000
jne 0x5c034046
lea ecx, [esp + 0x168]
jmp 0x5c03411d
cmp eax, 0x10000
jne 0x5c034059
lea ecx, [esp + 0x174]
jmp 0x5c03411d
test dword [ebx + 0x1a60], 0x1000000
je 0x5c034103
lea esi, [esp + 0x168]
lea edi, [esp + 0x1c8]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x1c8]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x1cc]
fld dword [esp + 0x178]
fld dword [esp + 0x1c8]
fld dword [esp + 0x174]
fld dword [esp + 0x1d0]
fld dword [esp + 0x17c]
fld st(5)
mov edi, dword [esp + 0x4c]
fmul st(5)
fld st(4)
mov esi, dword [esp + 0x2c]
fmul st(4)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld st(0)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x228]
fld st(2)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x22c]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x230]
jmp 0x5c034116
lea edx, [esp + 0x228]
lea ecx, [esp + 0x174]
call fcn.5c01b43c
lea ecx, [esp + 0x228]
cmp dword [esi], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03414a
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x38]
jmp 0x5c034152
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add esi, 0x20
add dword [esp + 0x1c], 4
inc ecx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03401d
jmp 0x5c0343e8
test ecx, ecx
jne 0x5c0343df
test eax, 0x4010000
jne 0x5c0341aa
push dword [ebx + 0x1a8c]
push dword [esp + 0x38]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c0343e8
test eax, 0x10000
jne 0x5c03424f
and dword [esp + 0x30], 0
cmp dword [ebx + 0x1a88], 0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x18], edx
jbe 0x5c0343e8
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
mov ecx, dword [eax - 0x20]
mov dword [esp + 0x14], esi
mov esi, dword [eax + 0x138]
mov dword [esp + 0x10], ecx
test esi, esi
je 0x5c034213
mov eax, dword [esp + 0x14]
shr ecx, 2
shr eax, 2
push esi
push edi
push edx
lea eax, [eax + ecx*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
jmp 0x5c03421b
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x24]
add esp, 0xc
add edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
add edi, dword [esp + 0x10]
inc ecx
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x18], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c0341d9
jmp 0x5c0343e8
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c0343e8
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c034287
mov ecx, dword [eax]
add ecx, dword [esp + 0x34]
jmp 0x5c034377
cmp ecx, 0x20000
jne 0x5c03429b
lea ecx, [esp + 0x168]
jmp 0x5c034377
cmp ecx, 0x10000
jne 0x5c0342af
lea ecx, [esp + 0x174]
jmp 0x5c034377
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03435d
lea esi, [esp + 0x168]
lea edi, [esp + 0x1d4]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x1d4]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x1d8]
fld dword [esp + 0x178]
fld dword [esp + 0x1d4]
fld dword [esp + 0x174]
fld dword [esp + 0x1dc]
fld dword [esp + 0x17c]
fld st(4)
mov edi, dword [esp + 0x4c]
fmul st(6)
fld st(4)
mov eax, dword [esp + 0x2c]
fmul st(4)
mov esi, dword [esp + 0x1c]
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld st(0)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x234]
fld st(2)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x238]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x23c]
jmp 0x5c034370
lea edx, [esp + 0x234]
lea ecx, [esp + 0x174]
call fcn.5c01b43c
lea ecx, [esp + 0x234]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
test edx, edx
je 0x5c0343a1
mov eax, dword [eax + 0x14]
push edx
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x1c]
jmp 0x5c0343a9
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [esp + 0x2c]
inc edx
add esi, 4
mov dword [esp + 0x4c], edi
add eax, 0x20
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c034275
jmp 0x5c0343e8
fld dword [esp + 0x5c]
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 + 0x1a44]
and eax, 0x40000000
mov dword [esp + 0x38], edx
test dword [ebx + 0x1a60], 0x8000000
je 0x5c034488
test eax, eax
jne 0x5c0344bd
mov eax, dword [esp + 0x50]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov edi, dword [esp + 0x44]
add edi, dword [ebx + 0x1a94]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x54]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x68], edi
test esi, esi
je 0x5c0344bd
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x2f4], eax
inc ecx
cmp ecx, esi
jb 0x5c03446a
mov eax, dword [esp + 0x2f4]
mov edx, dword [esp + 0x38]
jmp 0x5c0344b9
test eax, eax
jne 0x5c0344bd
mov eax, dword [esp + 0x54]
add dword [esp + 0x50], ecx
add eax, ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x44]
add eax, ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x34], eax
inc dword [esp + 0x7c]
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 + 0x4c], esi
mov dword [esp + 0x70], edi
mov dword [esp + 0xa0], eax
cmp eax, 1
ja 0x5c034501
test eax, eax
jne 0x5c033257
jmp 0x5c032d3b
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x38], edx
jmp 0x5c032e65
fld dword [ebx + 0x63c]
fmul st(2)
fld dword [ebx + 0x634]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
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 + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x30]
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 + 0x30]
shr ecx, 1
and eax, 0x8000ffff
or ecx, eax
shr ecx, 0x10
or edx, ecx
or dword [esp + 0x58], 0x11
mov dword [esp + 0xa4], edx
jmp 0x5c031327
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x38], ecx
jmp 0x5c030ead
fstp st(0)
fld dword [ebx + 0x628]
fstp dword [esp + 0x10]
fld dword [esp + 0xb0]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c0345da
fstp dword [ebx + 0x1b20]
jmp 0x5c0345dc
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 0x5c034603
fstp dword [ebx + 0x1b24]
jmp 0x5c034605
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 0x5c03462c
fstp dword [ebx + 0x1b28]
jmp 0x5c03462e
fstp st(0)
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xac]
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 + 0x314]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.5c04fcf0
mov esp, ebp
pop ebp
ret 4