Function at 0x5c034690
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, 0x204
mov eax, dword [0x5c066124]
xor eax, esp
mov dword [esp + 0x200], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
mov eax, dword [ebx + 0x1a44]
or eax, 0x400000
mov dword [ebx + 0x1a44], eax
test byte [0x5c067ffc], 2
je 0x5c0346ee
call fcn.5c01df40
cmp dword [ebx + 0x684], 0
je 0x5c0346e2
xor eax, eax
jmp 0x5c038389
mov ecx, ebx
call fcn.5c011e17
jmp 0x5c038389
test dword [ebx + 0x1a60], 0x80000
jne 0x5c0346cd
mov edx, dword [ebx + 0x1a70]
or eax, 0x200000
or dword [ebx + 0x225c], 0xffffffff
xor edi, edi
mov dword [esp + 0xa4], edx
mov dword [esp + 0x38], edi
mov dword [ebx + 0x1a44], eax
call fcn.5c01df40
mov eax, dword [ebx + 0x225c]
cmp eax, 0xffffffff
jne 0x5c034741
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], edi
jmp 0x5c0346d9
mov ecx, dword [ebx + 0x1a48]
mov dword [esp + 0x78], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x54], ecx
cmp eax, 3
jbe 0x5c034775
lea ecx, [eax - 2]
lea eax, [ecx - 2]
mov dword [esp + 0x80], ecx
mov edx, ecx
mov dword [esp + 0x78], eax
mov ecx, ebx
call fcn.5c02c94d
mov eax, dword [ebx + 0x1a70]
mov edx, dword [ebx + 0x1a60]
mov dword [esp + 0xac], edi
mov dword [esp + 0x98], eax
mov eax, dword [ebx + 0x1cd8]
mov dword [esp + 0xa8], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov edi, dword [ebx + 0x1a78]
mov ecx, edi
mov dword [esp + 0xb8], eax
mov eax, dword [ebx + 0x1a54]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x1ec], ecx
mov ecx, 0x8000000
mov dword [esp + 0xb4], eax
mov eax, dword [ebx + 0x1a7c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x9c], eax
test ecx, edx
jne 0x5c034843
mov edx, dword [ebx + 0x1cc4]
mov esi, dword [ebx + 0x1cc0]
add edx, edi
mov ecx, dword [ebx + 0x1cc8]
add esi, edi
add ecx, edi
mov dword [esp + 0x5c], edx
cmp dword [ebx + 0x1a84], 0
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x60], esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x64], ecx
je 0x5c0348ce
mov ecx, dword [ebx + 0x1cbc]
add ecx, edi
jmp 0x5c03488c
mov eax, dword [ebx + 0x1a2c]
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x1a34]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0x1a90]
mov dword [esp + 0x50], eax
mov dword [esp + 0x64], eax
test dl, 0x10
jne 0x5c034899
test dword [ebx + 0x1a44], ecx
jne 0x5c034899
cmp dword [ebx + 0x1a84], 0
je 0x5c0348ce
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x1ec], ecx
jmp 0x5c0348ce
mov esi, dword [ebx + 0x1a84]
xor ecx, ecx
test esi, esi
je 0x5c0348ce
lea edx, [ebx + 0x1a98]
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x1ec], eax
inc ecx
cmp ecx, esi
jb 0x5c0348ab
mov eax, dword [esp + 0x1ec]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x40], eax
or dword [ebx + 0x530], 0xffffffff
and dword [ebx + 0x560], 0
and dword [ebx + 0x5b8], 0
mov eax, dword [ebx + 0x1a44]
fldz
fst dword [esp + 0x58]
test eax, 0x400
je 0x5c034a41
lea esi, [ebx + 0x514]
lea edi, [ebx + 0x504]
movsd dword es:[edi], dword [esi]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fstp dword [ebx + 0x52c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test edx, 0x10000000
je 0x5c034a3b
mov edx, dword [ebx + 0x1a5c]
test dl, 0x40
je 0x5c0349b1
xor edi, edi
mov ecx, eax
cmp dword [ebx + 0x5f8], edi
jne 0x5c034955
or ecx, 0x2200
lea esi, [esp + 0x68]
mov dword [ebx + 0x1a44], ecx
mov dword [esp + 0xa8], esi
mov eax, ecx
cmp dword [ebx + 0x5f0], edi
jne 0x5c034975
or eax, 0x4200
lea ecx, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x88], ecx
cmp dword [ebx + 0x5ec], edi
jne 0x5c034993
or eax, 0x10200
lea ecx, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x94], ecx
cmp dword [ebx + 0x5f4], edi
jne 0x5c0349b1
or eax, 0x8200
lea ecx, [esp + 0x68]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x8c], ecx
test dl, dl
jns 0x5c034a3b
cmp dword [ebx + 0x5f8], 1
jne 0x5c0349d8
or eax, 0x2200
lea esi, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0xa8], esi
cmp dword [ebx + 0x5f0], 1
jne 0x5c0349f7
or eax, 0x4200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x88], ecx
cmp dword [ebx + 0x5ec], 1
jne 0x5c034a16
or eax, 0x10200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x94], ecx
cmp dword [ebx + 0x5f4], 1
mov edi, dword [esp + 0x3c]
jne 0x5c034a43
or eax, 0x8200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x8c], ecx
jmp 0x5c034a43
mov edi, dword [esp + 0x3c]
jmp 0x5c034a43
fstp st(0)
xor ecx, ecx
test dword [esp + 0x90], 0x80000
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
jne 0x5c034a5f
or dword [esp + 0x74], 0xffffffff
mov eax, dword [ebx + 0x1b18]
mov eax, dword [eax + 0x58]
mov dword [esp + 0xbc], eax
sub eax, 1
je 0x5c034a8d
sub eax, 1
je 0x5c034a89
sub eax, 1
jne 0x5c034a83
push 2
pop eax
jmp 0x5c034a90
mov eax, dword [esp + 0x54]
jmp 0x5c034a90
push 3
jmp 0x5c034a80
xor eax, eax
inc eax
mov dword [esp + 0xb0], eax
mov edx, edi
lea eax, [ebx + 0x1cdc]
mov dword [esp + 0x6c], edx
mov edi, dword [eax + 0x2c]
push 2
mov dword [esp + 0x88], edi
mov edi, eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x3c], eax
pop esi
push edi
mov ecx, ebx
call fcn.5c02c510
mov edx, dword [esp + 0x70]
add edx, dword [esp + 0xa0]
or dword [esp + 0x74], eax
and dword [esp + 0x78], eax
mov edi, dword [edi + 0x2c]
mov dword [esp + 0x70], edx
pop ecx
sub esi, 1
jne 0x5c034ac4
cmp dword [ebx + 0x225c], 3
fld1
fstp qword [esp + 0xc0]
fldz
fstp qword [esp + 0xd0]
fld qword [0x5c003840]
mov dword [esp + 0x7c], edi
mov edi, dword [esp + 0x84]
fstp qword [esp + 0xd8]
jbe 0x5c034b39
and dword [ebx + 0x1cec], esi
and dword [edi + 0x10], esi
and dword [esp + 0x74], esi
mov dword [esp + 0x34], 0x231
jmp 0x5c036a4e
mov ecx, dword [ebx + 0x1cec]
mov eax, ecx
or eax, dword [edi + 0x10]
and ecx, dword [edi + 0x10]
or dword [esp + 0x70], eax
and dword [esp + 0x74], ecx
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [ebx + 0x4d4]
fmul st(3)
fld dword [ebx + 0x4c4]
fmul st(3)
mov ecx, dword [ebx + 0x1cb4]
faddp st(1)
fld dword [ebx + 0x4e4]
fmul st(2)
faddp st(1)
fadd dword [ebx + 0x4f4]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x44]
fld dword [ebx + 0x4d8]
fmul st(4)
fld dword [ebx + 0x4c8]
fmul st(4)
faddp st(1)
fld dword [ebx + 0x4e8]
fmul st(3)
faddp st(1)
fadd dword [ebx + 0x4f8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x48]
fld dword [ebx + 0x4dc]
fmul st(5)
fld dword [ebx + 0x4cc]
fmul st(5)
faddp st(1)
fld dword [ebx + 0x4ec]
fmul st(4)
faddp st(1)
fadd dword [ebx + 0x4fc]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x30]
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 + 0x2c]
fxch st(2)
fst dword [esp + 0x18]
fst dword [esp + 0x10]
fxch st(1)
fst dword [esp + 0x14]
fst dword [esp + 0x20]
fxch st(2)
fst dword [esp + 0x1c]
fst dword [esp + 0x28]
test ecx, ecx
je 0x5c034e21
fld dword [esp + 0x58]
xor edx, edx
fst dword [esp + 0x28]
fld dword [esp + 0x2c]
fstp dword [esp + 0x14]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x30]
fst dword [esp + 0x2c]
fxch st(2)
fst dword [esp + 0x4c]
fxch st(3)
fst dword [esp + 0x24]
fxch st(1)
fst dword [esp + 0x1c]
fxch st(2)
fst dword [esp + 0x20]
fst dword [esp + 0x18]
fstp dword [esp + 0x10]
test ecx, ecx
je 0x5c034d92
mov esi, dword [esp + 0x6c]
lea eax, [ebx + 0x224]
fxch st(2)
fstp dword [esp + 0x4c]
fxch st(1)
fstp dword [esp + 0x24]
fstp dword [esp + 0x1c]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x44]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x44]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x48]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0xc]
fstp dword [esp + 0x48]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x30]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x30]
fld dword [esp + 0x14]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
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 + 0x24]
fld dword [eax - 0x18]
fmul st(2)
fld dword [eax - 8]
fmul st(4)
faddp st(1)
fld dword [eax + 8]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x18]
fstp dword [esp + 0x1c]
fld dword [eax - 0x14]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax + 0xc]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x1c]
add eax, 0x40
fstp dword [esp + 0x14]
cmp edx, ecx
jb 0x5c034c97
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x18]
fstp dword [esp + 0x20]
fld dword [esp + 0xc]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x10]
jmp 0x5c034d9e
fstp st(2)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x28]
fsubr qword [esp + 0xc0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x44]
fld dword [esp + 0x24]
fmul st(2)
fadd dword [esp + 0x18]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x48]
fld dword [esp + 0x1c]
fmul st(3)
fadd dword [esp + 0x10]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x30]
fld dword [esp + 0x14]
fmulp st(4)
fld dword [esp + 0x2c]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x2c]
fxch st(1)
fst dword [esp + 0x18]
fstp dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x20]
fst dword [esp + 0x1c]
fstp dword [esp + 0x28]
jmp 0x5c034e2d
fstp st(1)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fld dword [esp + 0x10]
fld dword [esp + 0x18]
mov eax, dword [esp + 0x44]
fld st(2)
fsubrp st(1)
shr eax, 1
mov esi, dword [ebx + 0x1cb8]
fstp dword [esp + 0xc]
fld dword [esp + 0x20]
fld dword [esp + 0x14]
mov edx, dword [esp + 0xc]
fld st(3)
fsubrp st(1)
and edx, 0xbfffffff
or edx, eax
shr edx, 1
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x28]
and eax, 0x9fffffff
fld dword [esp + 0x1c]
or edx, eax
mov eax, dword [esp + 0x48]
fld st(4)
shr edx, 1
fsubrp st(1)
and eax, 0x8fffffff
or edx, eax
mov eax, dword [esp + 0x30]
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 0x5c034eff
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 0x5c034eec
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c034ec8
mov edi, dword [esp + 0x84]
fstp st(1)
test byte [ebx + 0x1a60], 2
fstp st(0)
je 0x5c034f96
fld dword [ebx + 0x63c]
fmul st(3)
fld dword [ebx + 0x634]
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0xc]
fld dword [ebx + 0x638]
fmulp st(2)
fld dword [ebx + 0x640]
fmul st(3)
mov ecx, dword [esp + 0xc]
shr ecx, 1
and ecx, 0x40000000
faddp st(2)
fxch st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x20]
fld st(2)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
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 + 0x20]
shr ecx, 1
and eax, 0x8000ffff
or ecx, eax
shr ecx, 0x10
or edx, ecx
jmp 0x5c034f9c
fstp st(1)
fstp st(1)
fstp st(0)
mov eax, dword [esp + 0x7c]
fld dword [esp + 0x44]
or dword [esp + 0x70], edx
and dword [esp + 0x74], edx
mov esi, dword [esp + 0x38]
fst dword [esp + 0x44]
fstp dword [eax]
fld dword [esp + 0x48]
fst dword [esp + 0x48]
fstp dword [eax + 4]
fld dword [esp + 0x30]
fst dword [esp + 0x28]
fstp dword [eax + 8]
fld dword [esp + 0x2c]
fst dword [eax + 0xc]
mov dword [eax + 0x10], edx
mov ecx, dword [edi + 0x10]
mov eax, edx
and eax, dword [esi + 0x10]
test ecx, eax
jne 0x5c035000
or edx, dword [esi + 0x10]
or edx, ecx
and edx, dword [esp + 0xb8]
neg edx
sbb edx, edx
and edx, 0xffffe421
add edx, 0x4421
jmp 0x5c035005
mov edx, 0x1000
or dword [esp + 0x34], edx
mov esi, dword [ebx + 0x1a60]
mov edx, dword [esp + 0x38]
mov eax, dword [ebx + 0x1cd8]
test dword [edx + 0x10], eax
jne 0x5c03512e
fstp st(0)
fld dword [edx + 0xc]
fdivr qword [esp + 0xc0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fld st(0)
fld dword [edx]
fmul st(1)
fmul dword [ebx + 0x5fc]
fadd dword [ebx + 0x604]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fst dword [esp + 0x44]
fld dword [edx + 4]
fmul st(2)
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x48]
fld dword [esp + 0x44]
fst dword [esp + 0x44]
fld dword [esp + 0x48]
fst dword [esp + 0x48]
test esi, 0x100000
jne 0x5c03510b
fld dword [esp + 0x10]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c0350b8
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 0x5c0350d1
fstp dword [ebx + 0x1b24]
jmp 0x5c0350d3
fstp st(0)
fld dword [esp + 0xc]
fld dword [esp + 0x18]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c0350f4
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c03510f
fstp dword [ebx + 0x1b28]
jmp 0x5c035111
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [ebx + 0x60c]
fmul dword [edx + 8]
fmulp st(1)
fadd dword [ebx + 0x610]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x34]
test dl, 3
je 0x5c035c4f
and dword [ebx + 0x5b8], 0
xor edx, edx
xor ecx, ecx
fstp st(0)
test esi, 0x20000000
je 0x5c0353b8
mov eax, dword [esp + 0x3c]
fld dword [ebx + 0x444]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax]
fld dword [ebx + 0x454]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0xc]
fstp dword [esp + 0x144]
fld dword [ebx + 0x448]
fmul dword [eax]
fld dword [ebx + 0x458]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x148]
fld dword [ebx + 0x44c]
fmul dword [eax]
fld dword [ebx + 0x45c]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x14c]
test ecx, ecx
je 0x5c0353ad
fld dword [esp + 0x58]
xor edi, edi
fst dword [esp + 0x14]
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fst dword [esp + 0x14c]
fld dword [esp + 0xc]
fst dword [esp + 0x1c]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fld dword [esp + 0x18]
fst dword [esp + 0x4c]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x20]
test ecx, ecx
je 0x5c035363
mov edx, dword [esp + 0x3c]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x24]
fstp dword [esp + 0x4c]
fld dword [edx + edi*4 + 0xc]
inc edi
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x144]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fstp dword [esp + 0x144]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x148]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x148]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x14c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x14c]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
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 + 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 + 0x4c]
cmp edi, ecx
jb 0x5c035270
fld dword [esp + 0x10]
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a60]
fstp dword [esp + 0x10]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0xc]
fstp dword [esp + 0x20]
jmp 0x5c035369
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fsubr qword [esp + 0xc0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x10]
fstp dword [esp + 0x144]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x148]
fmul dword [esp + 0x4c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x14c]
or edx, 1
mov dword [ebx + 0x5b8], edx
mov ecx, edx
test esi, 0x40000000
je 0x5c035621
mov edi, dword [esp + 0x60]
fld dword [ebx + 0x488]
mov edx, dword [ebx + 0x1cb4]
fmul dword [edi + 4]
fld dword [ebx + 0x484]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [edi + 8]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0xc]
fstp dword [esp + 0x150]
fld dword [ebx + 0x498]
fmul dword [edi + 4]
fld dword [ebx + 0x494]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [edi + 8]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x154]
fld dword [ebx + 0x4a8]
fmul dword [edi + 4]
fld dword [ebx + 0x4a4]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [edi + 8]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x158]
test edx, edx
je 0x5c0355fc
fld dword [esp + 0x58]
xor ecx, ecx
fst dword [esp + 0x14]
fst dword [esp + 0x150]
fst dword [esp + 0x154]
fst dword [esp + 0x158]
fld dword [esp + 0xc]
fst dword [esp + 0x1c]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fld dword [esp + 0x18]
fst dword [esp + 0x4c]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x20]
test edx, edx
je 0x5c0355b2
mov esi, dword [esp + 0x3c]
lea eax, [ebx + 0x38c]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x24]
fstp dword [esp + 0x4c]
fld dword [esi + ecx*4 + 0xc]
inc ecx
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x150]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fstp dword [esp + 0x150]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x154]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x154]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x158]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x158]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [edi + 4]
fld dword [edi]
fld dword [edi + 8]
fld dword [eax - 8]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fstp dword [esp + 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 + 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 + 0x4c]
cmp ecx, edx
jb 0x5c0354ce
fld dword [esp + 0x10]
mov esi, dword [ebx + 0x1a60]
fstp dword [esp + 0x10]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0xc]
fstp dword [esp + 0x20]
jmp 0x5c0355b8
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fsubr qword [esp + 0xc0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x10]
fstp dword [esp + 0x150]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x154]
fmul dword [esp + 0x4c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x158]
test esi, 0x2000000
je 0x5c035612
lea edx, [esp + 0x150]
mov ecx, edx
call fcn.5c0504a4
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
mov edi, dword [ebx + 0x1a44]
test edi, 0x400
je 0x5c035bfb
fld dword [esp + 0x58]
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fst dword [ebx + 0x50c]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fst dword [ebx + 0x52c]
test edi, 0x200
je 0x5c0356c6
test edi, 0x10000
je 0x5c035684
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c03567c
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03567e
xor eax, eax
mov dword [ebx + 0x540], eax
test edi, 0x4000
je 0x5c0356a5
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c03569d
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03569f
xor eax, eax
mov dword [ebx + 0x550], eax
test edi, 0x8000
je 0x5c0356c6
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c0356be
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0356c0
xor eax, eax
mov dword [ebx + 0x570], eax
mov eax, dword [ebx + 0x5c0]
mov esi, edi
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c035720
fstp st(0)
mov esi, dword [eax + 0x80]
lea ecx, [esp + 0x144]
push ecx
push dword [esp + 0x64]
mov ecx, esi
push dword [esp + 0x44]
push eax
push ebx
call dword [0x5c06a150]
call esi
mov eax, dword [esp + 0x24]
add esp, 0x14
mov eax, dword [eax + 0x58]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c0356d8
mov edi, dword [ebx + 0x1a44]
mov esi, edi
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
fld dword [esp + 0x58]
test edi, 0x12000
je 0x5c03596d
test cl, 8
jne 0x5c035745
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c035747
fstp st(0)
test edi, 0x10000
je 0x5c03580e
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c035764
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c035766
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c035780
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c0357b4
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c0357e3
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x1ec]
mov edi, dword [esp + 0x64]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x50], edi
jmp 0x5c03584e
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x50]
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x588]
fmul dword [ebx + 0x548]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x58c]
fmul dword [ebx + 0x54c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
test dword [ebx + 0x1a44], 0x2000
je 0x5c035913
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x5c03587b
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03587d
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c035897
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c0358c5
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c0358ee
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x1ec]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x50], edi
jmp 0x5c03594c
fld dword [ebx + 0x5a4]
fld qword [esp + 0xd8]
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 0x5c035973
mov edi, dword [esp + 0x50]
fstp st(0)
test dl, 8
je 0x5c035aa4
test esi, 0x12000
jne 0x5c0359c4
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [ebx + 0x504]
fld dword [ebx + 0x518]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x51c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
jmp 0x5c0359ca
fld dword [ebx + 0x504]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xe0]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0xe0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xe8]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0xe8]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xf0]
mov esi, dword [esp + 0xf0]
mov eax, 0xff
test ecx, ecx
jns 0x5c035a2d
xor ecx, ecx
jmp 0x5c035a33
cmp ecx, eax
jle 0x5c035a33
mov ecx, eax
test edx, edx
jns 0x5c035a3b
xor edx, edx
jmp 0x5c035a41
cmp edx, eax
jle 0x5c035a41
mov edx, eax
test esi, esi
jns 0x5c035a49
xor esi, esi
jmp 0x5c035a4f
cmp esi, eax
jle 0x5c035a4f
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c035a6b
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c035a8d
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c035a7c
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c035a7e
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 0x5c035ae1
test esi, 0x4000
jne 0x5c035aba
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c035adb
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c035ad1
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c035ad3
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c035bb0
fld dword [ebx + 0x524]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xf8]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0xf8]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x100]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0x100]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x108]
mov esi, dword [esp + 0x108]
mov eax, 0xff
test ecx, ecx
jns 0x5c035b4b
xor ecx, ecx
jmp 0x5c035b51
cmp ecx, eax
jle 0x5c035b51
mov ecx, eax
test edx, edx
jns 0x5c035b59
xor edx, edx
jmp 0x5c035b5f
cmp edx, eax
jle 0x5c035b5f
mov edx, eax
test esi, esi
jns 0x5c035b67
xor esi, esi
jmp 0x5c035b6d
cmp esi, eax
jle 0x5c035b6d
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c035b89
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c035bab
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c035b9a
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c035b9c
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c035c21
test esi, 0x100000
jne 0x5c035c27
test dword [ebx + 0x1a60], 0x800
jne 0x5c035bd5
test byte [ebx + 0x1a5c], 0x80
je 0x5c035bd1
mov eax, dword [edi]
jmp 0x5c035c21
xor eax, eax
jmp 0x5c035c21
test esi, 0x8000
jne 0x5c035be5
mov eax, dword [ebx + 0x5bc]
jmp 0x5c035c21
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c035bd1
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c035c21
mov ecx, dword [ebx + 0x1a5c]
test cl, 0xc0
je 0x5c035c27
test cl, 0x40
je 0x5c035c17
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test cl, cl
jns 0x5c035c27
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
test dword [ebx + 0x1a44], 0x100
je 0x5c035c47
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x144]
push eax
mov ecx, ebx
call fcn.5c01b46b
pop ecx
mov edx, dword [esp + 0x34]
fld dword [esp + 0x2c]
test dl, 1
je 0x5c035d5c
mov eax, dword [esp + 0x98]
fld dword [esp + 0x44]
fstp dword [eax]
fld dword [esp + 0x48]
fstp dword [eax + 4]
fld dword [esp + 0x28]
fstp dword [eax + 8]
fst dword [eax + 0xc]
mov edi, dword [ebx + 0x1cd0]
add edi, eax
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x30], edi
test al, 0x40
je 0x5c035ca1
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x30], edi
test al, al
jns 0x5c035cb4
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x30], edi
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c035d48
mov ecx, dword [esp + 0x90]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c035fcb
test ecx, ecx
jne 0x5c035fbd
test eax, 0x4010000
jne 0x5c035d95
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c035d48
lea ecx, [ebx + 0x1ad8]
fstp st(0)
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1f0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x18]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c035d0f
fld dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x98]
add eax, dword [ebx + 0x1a64]
mov dword [esp + 0x98], eax
mov edi, dword [esp + 0x38]
test dl, 2
je 0x5c03679d
mov eax, dword [ebx + 0x1cd8]
test dword [edi + 0x10], eax
jne 0x5c036235
fld dword [esp + 0x44]
fstp dword [edi + 0x1c]
fld dword [esp + 0x48]
fstp dword [edi + 0x20]
fld dword [esp + 0x28]
fstp dword [edi + 0x24]
fstp dword [edi + 0x28]
jmp 0x5c036237
test eax, 0x10000
jne 0x5c035e31
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c035d48
lea eax, [ebx + 0x1af8]
fstp st(0)
mov dword [esp + 0x18], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x20], edx
mov dword [esp + 0xc], eax
test eax, eax
jne 0x5c035de1
push edx
push dword [esp + ecx*4 + 0x1f0]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c035e09
push dword [esp + 0xc]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x1f4]
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add edi, dword [esp + 0x20]
inc ecx
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c035dba
jmp 0x5c035d40
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c035d48
lea eax, [ebx + 0x1ad8]
fstp st(0)
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c035e6f
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1ec]
jmp 0x5c035f57
cmp eax, 0x20000
jne 0x5c035e82
lea ecx, [esp + 0x144]
jmp 0x5c035f57
cmp eax, 0x10000
jne 0x5c035e95
lea ecx, [esp + 0x150]
jmp 0x5c035f57
test dword [ebx + 0x1a60], 0x1000000
je 0x5c035f3d
lea esi, [esp + 0x144]
lea edi, [esp + 0x15c]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x15c]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x154]
fld dword [esp + 0x160]
fld dword [esp + 0x150]
fld dword [esp + 0x15c]
fld dword [esp + 0x158]
fld dword [esp + 0x164]
fld st(4)
mov edi, dword [esp + 0x30]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x1c]
fmul st(5)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul st(4), st(0)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1a4]
fxch st(4)
fmul st(1)
fsubp st(3)
fxch st(2)
fstp dword [esp + 0x1a8]
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x1ac]
jmp 0x5c035f50
lea edx, [esp + 0x1a4]
lea ecx, [esp + 0x150]
call fcn.5c01b43c
lea ecx, [esp + 0x1a4]
cmp dword [esi], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
je 0x5c035f84
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 + 0x28]
jmp 0x5c035f8c
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x14], 4
inc ecx
mov dword [esp + 0x30], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c035e59
jmp 0x5c035d40
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [edi + 4]
jmp 0x5c035d48
test ecx, ecx
jne 0x5c035fbd
test eax, 0x4010000
jne 0x5c035ff0
push dword [ebx + 0x1a8c]
fstp st(0)
push dword [esp + 0x44]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c035d40
test eax, 0x10000
jne 0x5c0360a2
mov edx, dword [esp + 0x40]
xor esi, esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c035d44
lea eax, [ebx + 0x1af8]
fstp st(0)
mov dword [esp + 0x20], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], eax
test eax, eax
je 0x5c03606a
mov eax, dword [esp + 0x10]
push dword [esp + 0xc]
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 0x5c036072
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add esp, 0xc
add edx, dword [esp + 0x10]
add edi, dword [esp + 0x1c]
inc esi
mov eax, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c036021
jmp 0x5c035d40
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c035d48
lea esi, [ebx + 0x1ad8]
fstp st(0)
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c0360dc
mov ecx, dword [eax]
add ecx, dword [esp + 0x40]
jmp 0x5c0361ca
cmp ecx, 0x20000
jne 0x5c0360f0
lea ecx, [esp + 0x144]
jmp 0x5c0361ca
cmp ecx, 0x10000
jne 0x5c036104
lea ecx, [esp + 0x150]
jmp 0x5c0361ca
test dword [ebx + 0x1a60], 0x1000000
je 0x5c0361b0
lea esi, [esp + 0x144]
lea edi, [esp + 0x168]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x168]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x154]
fld dword [esp + 0x16c]
fld dword [esp + 0x150]
fld dword [esp + 0x168]
fld dword [esp + 0x158]
fld dword [esp + 0x170]
fld st(4)
mov edi, dword [esp + 0x30]
fmul st(6)
fld st(3)
mov eax, dword [esp + 0x1c]
fmul st(5)
mov esi, dword [esp + 0x14]
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul st(4), st(0)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1b0]
fxch st(4)
fmul st(1)
fsubp st(3)
fxch st(2)
fstp dword [esp + 0x1b4]
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x1b8]
jmp 0x5c0361c3
lea edx, [esp + 0x1b0]
lea ecx, [esp + 0x150]
call fcn.5c01b43c
lea ecx, [esp + 0x1b0]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0xc], esi
test edx, edx
je 0x5c0361f4
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 + 0x18]
jmp 0x5c0361fc
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x1c]
add edi, esi
mov esi, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x1c]
inc edx
add esi, 4
mov dword [esp + 0x30], edi
add eax, 0x20
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c0360ca
jmp 0x5c035d40
fstp st(0)
mov eax, dword [ebx + 0x530]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0x560]
mov dword [edi + 0x18], eax
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c03679f
mov ecx, dword [esp + 0x90]
add edi, 0x30
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
mov dword [esp + 0x1c], edi
test eax, 0x8000000
je 0x5c03651d
test ecx, ecx
jne 0x5c03650b
test eax, 0x4010000
jne 0x5c0362df
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c036514
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1f0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x18]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c0362a9
jmp 0x5c036784
test eax, 0x10000
jne 0x5c03637d
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c036514
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 + 0x20], edx
mov dword [esp + 0xc], eax
test eax, eax
jne 0x5c03632d
push edx
push dword [esp + ecx*4 + 0x1f0]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c036355
push dword [esp + 0xc]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x1f4]
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add edi, dword [esp + 0x20]
inc ecx
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c036306
jmp 0x5c036784
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c036514
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c0363b9
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1ec]
jmp 0x5c0364a5
cmp eax, 0x20000
jne 0x5c0363cc
lea ecx, [esp + 0x144]
jmp 0x5c0364a5
cmp eax, 0x10000
jne 0x5c0363df
lea ecx, [esp + 0x150]
jmp 0x5c0364a5
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03648b
lea esi, [esp + 0x144]
lea edi, [esp + 0x174]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x174]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x154]
fld dword [esp + 0x178]
fld dword [esp + 0x150]
fld dword [esp + 0x174]
fld dword [esp + 0x158]
fld dword [esp + 0x17c]
fld st(4)
mov edi, dword [esp + 0x1c]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x24]
fmul st(5)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld st(0)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1bc]
fld st(1)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1c0]
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x1c4]
jmp 0x5c03649e
lea edx, [esp + 0x1bc]
lea ecx, [esp + 0x150]
call fcn.5c01b43c
lea ecx, [esp + 0x1bc]
cmp dword [esi], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
je 0x5c0364d2
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 0x5c0364da
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x14], 4
inc ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c0363a3
jmp 0x5c036784
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [edi + 4]
mov edi, dword [esp + 0x38]
jmp 0x5c03679f
test ecx, ecx
jne 0x5c03678e
test eax, 0x4010000
jne 0x5c036544
push dword [ebx + 0x1a8c]
push dword [esp + 0x44]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c036784
test eax, 0x10000
jne 0x5c0365f4
mov edx, dword [esp + 0x40]
xor esi, esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c036784
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x20], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], eax
test eax, eax
je 0x5c0365bc
mov eax, dword [esp + 0x10]
push dword [esp + 0xc]
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 0x5c0365c4
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add esp, 0xc
add edx, dword [esp + 0x10]
add edi, dword [esp + 0x1c]
inc esi
mov eax, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c036573
jmp 0x5c036784
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c036514
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c03662c
mov ecx, dword [eax]
add ecx, dword [esp + 0x40]
jmp 0x5c03671e
cmp ecx, 0x20000
jne 0x5c036640
lea ecx, [esp + 0x144]
jmp 0x5c03671e
cmp ecx, 0x10000
jne 0x5c036654
lea ecx, [esp + 0x150]
jmp 0x5c03671e
test dword [ebx + 0x1a60], 0x1000000
je 0x5c036704
lea esi, [esp + 0x144]
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 + 0x154]
fld dword [esp + 0x184]
fld dword [esp + 0x150]
fld dword [esp + 0x180]
fld dword [esp + 0x158]
fld dword [esp + 0x188]
fld st(5)
mov edi, dword [esp + 0x1c]
fmul st(5)
fld st(4)
mov eax, dword [esp + 0x24]
fmul st(4)
mov esi, dword [esp + 0x14]
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld st(0)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1c8]
fld st(1)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1cc]
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x1d0]
jmp 0x5c036717
lea edx, [esp + 0x1c8]
lea ecx, [esp + 0x150]
call fcn.5c01b43c
lea ecx, [esp + 0x1c8]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0xc], esi
test edx, edx
je 0x5c036748
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 + 0x18]
jmp 0x5c036750
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x1c]
add edi, esi
mov esi, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x24]
inc edx
add esi, 4
mov dword [esp + 0x1c], edi
add eax, 0x20
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c03661a
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
jmp 0x5c03679f
fld dword [esp + 0x58]
fst dword [edi]
mov edi, dword [esp + 0x38]
fstp dword [edi + 0x34]
jmp 0x5c03679f
fstp st(0)
test dl, 0x10
mov edx, dword [esp + 0x78]
je 0x5c0367f7
inc edx
mov dword [esp + 0x78], edx
cmp edx, 1
jne 0x5c0368d6
mov eax, dword [ebx + 0x1b18]
mov ecx, dword [esp + 0xb0]
test byte [esp + 0x80], dl
jne 0x5c0367d3
mov ecx, dword [esp + 0xbc]
cmp ecx, dword [eax + 0x58]
je 0x5c0368d6
mov dword [eax + 0x58], ecx
mov eax, dword [ebx]
push ecx
push 0x16
mov esi, dword [eax]
mov ecx, esi
call dword [0x5c06a150]
mov ecx, ebx
call esi
jmp 0x5c0368d6
test edx, edx
jle 0x5c03686f
push edx
lea esi, [edx + 2]
mov ecx, ebx
push esi
push dword [esp + 0xa8]
push 5
pop edx
call fcn.5c022413
mov ecx, eax
add esp, 0xc
mov dword [esp + 0xac], ecx
test ecx, ecx
jne 0x5c0380c1
mov edx, dword [ebx + 0x1a64]
mov eax, edx
mov ecx, dword [ebx + 0x1a48]
and dword [esp + 0x78], 0
add ecx, esi
imul eax, esi
mov esi, dword [esp + 0xa0]
mov dword [ebx + 0x1a48], ecx
add esi, eax
test dword [esp + 0x34], 0x200
mov dword [esp + 0xa0], esi
je 0x5c03686f
lea eax, [ecx - 1]
sub esi, edx
mov dword [ebx + 0x1a48], eax
mov dword [esp + 0xa0], esi
test byte [esp + 0x34], 8
je 0x5c0368d6
mov eax, dword [ebx + 0x1b18]
mov ecx, dword [esp + 0xbc]
cmp ecx, dword [eax + 0x58]
je 0x5c03689e
mov dword [eax + 0x58], ecx
mov eax, dword [ebx]
push ecx
push 0x16
mov esi, dword [eax]
mov ecx, esi
call dword [0x5c06a150]
mov ecx, ebx
call esi
test byte [esp + 0x80], 1
je 0x5c0368b3
mov ecx, dword [esp + 0xa4]
mov eax, edi
jmp 0x5c0368bc
mov eax, dword [esp + 0xa4]
mov ecx, edi
mov edx, dword [esp + 0xcc]
push ecx
push eax
mov ecx, ebx
call fcn.5c022515
pop ecx
pop ecx
test eax, eax
jne 0x5c0380c1
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x9c]
add eax, edx
mov esi, dword [ebx + 0x1a60]
mov ecx, eax
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x1a44]
and eax, 0x40000000
mov dword [esp + 0x10], ecx
test esi, 0x8000000
je 0x5c0369f2
test eax, eax
jne 0x5c036979
mov eax, dword [esp + 0x60]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov edi, dword [ebx + 0x1a84]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x5c]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x50]
add eax, dword [ebx + 0x1a94]
mov dword [esp + 0x50], eax
mov dword [esp + 0x64], eax
test edi, edi
je 0x5c036975
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x1ec], eax
inc ecx
cmp ecx, edi
jb 0x5c036952
mov eax, dword [esp + 0x1ec]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xa4]
add dword [esp + 0x6c], edx
mov edx, dword [esp + 0x84]
shr dword [esp + 0x34], 5
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x7c]
mov edi, eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x84], edi
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x80], eax
cmp eax, dword [esp + 0xb4]
jb 0x5c036a2c
mov eax, dword [esp + 0xb4]
add eax, 2
cmp dword [esp + 0x80], eax
jae 0x5c0380c1
fld dword [esp + 0x2c]
jmp 0x5c035013
test eax, eax
jne 0x5c036979
mov eax, dword [esp + 0x5c]
add dword [esp + 0x60], edx
add eax, edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x50]
add eax, edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x40]
add eax, edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x1ec], eax
jmp 0x5c036979
cmp dword [esp + 0x70], 0
jne 0x5c0381e2
cmp dword [esp + 0x78], 1
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x3c], esi
jne 0x5c0381e2
mov edx, dword [esp + 0x6c]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [ebx + 0x4d4]
fmul st(3)
fld dword [ebx + 0x4c4]
fmul st(3)
mov ecx, dword [ebx + 0x1cb4]
faddp st(1)
fld dword [ebx + 0x4e4]
fmul st(2)
faddp st(1)
fadd dword [ebx + 0x4f4]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x44]
fld dword [ebx + 0x4c8]
fmul st(3)
fld dword [ebx + 0x4d8]
fmul st(5)
faddp st(1)
fld dword [ebx + 0x4e8]
fmul st(3)
faddp st(1)
fadd dword [ebx + 0x4f8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x48]
fld dword [ebx + 0x4cc]
fmul st(4)
fld dword [ebx + 0x4dc]
fmul st(6)
faddp st(1)
fld dword [ebx + 0x4ec]
fmul st(4)
faddp st(1)
fadd dword [ebx + 0x4fc]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x30]
fld dword [ebx + 0x4d0]
fmul st(5)
fld dword [ebx + 0x4e0]
fmul st(7)
faddp st(1)
fld dword [ebx + 0x4f0]
fmul st(5)
faddp st(1)
fadd dword [ebx + 0x500]
fstp dword [esp + 0x2c]
fxch st(2)
fst dword [esp + 0x18]
fst dword [esp + 0x10]
fxch st(1)
fst dword [esp + 0x14]
fst dword [esp + 0x20]
fxch st(2)
fst dword [esp + 0x1c]
fst dword [esp + 0x28]
test ecx, ecx
je 0x5c036d20
fld dword [esp + 0x58]
xor edx, edx
fst dword [esp + 0x14]
fld dword [esp + 0x2c]
fstp dword [esp + 0x28]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x30]
fst dword [esp + 0x2c]
fxch st(2)
fst dword [esp + 0x1c]
fxch st(3)
fst dword [esp + 0x24]
fxch st(1)
fst dword [esp + 0x4c]
fxch st(2)
fst dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x20]
test ecx, ecx
je 0x5c036c91
mov esi, dword [esp + 0x6c]
lea eax, [ebx + 0x224]
fxch st(2)
fstp dword [esp + 0x1c]
fxch st(1)
fstp dword [esp + 0x24]
fstp dword [esp + 0x4c]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x44]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fstp dword [esp + 0x44]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x48]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x48]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x30]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x30]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 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 + 0x24]
fld dword [eax - 0x18]
fmul st(2)
fld dword [eax - 8]
fmul st(4)
faddp st(1)
fld dword [eax + 8]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x18]
fstp dword [esp + 0x4c]
fld dword [eax - 0x14]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax + 0xc]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x1c]
add eax, 0x40
fstp dword [esp + 0x28]
cmp edx, ecx
jb 0x5c036b96
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0xc]
fstp dword [esp + 0x20]
jmp 0x5c036c9d
fstp st(2)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fsubr qword [esp + 0xc0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x10]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x44]
fld dword [esp + 0x24]
fmul st(2)
fadd dword [esp + 0x18]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x48]
fld dword [esp + 0x4c]
fmul st(3)
fadd dword [esp + 0x20]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x30]
fld dword [esp + 0x28]
fmulp st(4)
fld dword [esp + 0x2c]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x2c]
fxch st(1)
fst dword [esp + 0x18]
fstp dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x20]
fst dword [esp + 0x1c]
fstp dword [esp + 0x28]
jmp 0x5c036d2c
fstp st(1)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fld st(0)
mov eax, dword [esp + 0x44]
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld st(2)
shr eax, 1
fsubrp st(1)
mov esi, dword [ebx + 0x1cb8]
fstp dword [esp + 0xc]
fld dword [esp + 0x20]
fld dword [esp + 0x14]
mov edx, dword [esp + 0xc]
fld st(3)
fsubrp st(1)
and edx, 0xbfffffff
or edx, eax
shr edx, 1
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x28]
and eax, 0x9fffffff
fld dword [esp + 0x1c]
or edx, eax
mov eax, dword [esp + 0x48]
fld st(4)
shr edx, 1
fsubrp st(1)
and eax, 0x8fffffff
or edx, eax
mov eax, dword [esp + 0x30]
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 0x5c036df5
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 0x5c036deb
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c036dc2
mov ecx, dword [esp + 0x7c]
fstp st(0)
fld dword [esp + 0x44]
fst dword [esp + 0x44]
and dword [ecx + 0x10], 0
fstp dword [ecx]
fld dword [esp + 0x48]
fst dword [esp + 0x48]
fstp dword [ecx + 4]
fld dword [esp + 0x30]
fst dword [esp + 0x28]
fstp dword [ecx + 8]
fxch st(3)
fstp dword [ecx + 0xc]
test edx, edx
jne 0x5c038136
mov eax, dword [esp + 0x9c]
fstp st(0)
add dword [esp + 0x6c], eax
fstp st(0)
mov edx, dword [esp + 0x38]
fstp st(0)
fld dword [edx + 0xc]
fld qword [esp + 0xc0]
fld st(0)
inc dword [esp + 0x78]
fdivrp st(2)
fxch st(1)
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fld dword [edx]
fmul st(1)
fmul dword [ebx + 0x5fc]
fadd dword [ebx + 0x604]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fst dword [esp + 0x44]
fld dword [edx + 4]
fmul st(2)
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x48]
fld dword [esp + 0x44]
fst dword [esp + 0x4c]
fld dword [esp + 0x48]
fst dword [esp + 0x84]
test edi, 0x100000
jne 0x5c036f39
fld dword [esp + 0x10]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c036ee6
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 0x5c036eff
fstp dword [ebx + 0x1b24]
jmp 0x5c036f01
fstp st(0)
fld dword [esp + 0xc]
fld dword [esp + 0x18]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c036f22
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c036f3d
fstp dword [ebx + 0x1b28]
jmp 0x5c036f3f
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [edx + 8]
xor ecx, ecx
fmul dword [ebx + 0x60c]
xor edx, edx
and dword [ebx + 0x5b8], 0
fmulp st(1)
fadd dword [ebx + 0x610]
fstp dword [esp + 0x30]
test edi, 0x20000000
je 0x5c0371c6
mov eax, dword [esp + 0x3c]
fld dword [ebx + 0x444]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax]
fld dword [ebx + 0x454]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0xc]
fstp dword [esp + 0x144]
fld dword [ebx + 0x448]
fmul dword [eax]
fld dword [ebx + 0x458]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x148]
fld dword [ebx + 0x44c]
fmul dword [eax]
fld dword [ebx + 0x45c]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x14c]
test ecx, ecx
je 0x5c0371bb
fld dword [esp + 0x58]
xor esi, esi
fst dword [esp + 0x14]
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fst dword [esp + 0x14c]
fld dword [esp + 0xc]
fst dword [esp + 0x28]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fld dword [esp + 0x18]
fst dword [esp + 0x24]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x20]
test ecx, ecx
je 0x5c037174
mov edx, dword [esp + 0x3c]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x28]
fstp dword [esp + 0x1c]
fstp dword [esp + 0x24]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x144]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fstp dword [esp + 0x144]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x148]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x148]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x14c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x14c]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x28]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x1c]
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 + 0x24]
cmp esi, ecx
jb 0x5c037087
fld dword [esp + 0x10]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x10]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0xc]
fstp dword [esp + 0x20]
jmp 0x5c03717a
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x10]
fstp dword [esp + 0x144]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x148]
fmul dword [esp + 0x24]
fadd dword [esp + 0x20]
fstp dword [esp + 0x14c]
or edx, 1
mov dword [ebx + 0x5b8], edx
mov ecx, edx
test edi, 0x40000000
je 0x5c037432
mov eax, dword [esp + 0x60]
fld dword [ebx + 0x488]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x484]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0xc]
fstp dword [esp + 0x150]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
fld dword [ebx + 0x494]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x154]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
fld dword [ebx + 0x4a4]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x158]
test ecx, ecx
je 0x5c037409
fld dword [esp + 0x58]
xor edx, edx
fst dword [esp + 0x14]
fst dword [esp + 0x150]
fst dword [esp + 0x154]
fst dword [esp + 0x158]
fld dword [esp + 0xc]
fst dword [esp + 0x28]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fld dword [esp + 0x18]
fst dword [esp + 0x24]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x20]
test ecx, ecx
je 0x5c0373c4
mov esi, dword [esp + 0x3c]
lea eax, [ebx + 0x38c]
mov edi, dword [esp + 0x60]
fxch st(1)
fstp dword [esp + 0x28]
fstp dword [esp + 0x1c]
fstp dword [esp + 0x24]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x150]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fstp dword [esp + 0x150]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x154]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x18]
fstp dword [esp + 0x154]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x158]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x158]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [edi + 4]
fld dword [edi]
fld dword [edi + 8]
fld dword [eax - 8]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x28]
fld dword [eax + 8]
fmul st(2)
fld dword [eax + 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 0x10]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x1c]
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 + 0x24]
cmp edx, ecx
jb 0x5c0372e0
fld dword [esp + 0x10]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x10]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0xc]
fstp dword [esp + 0x20]
jmp 0x5c0373ca
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x14]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x10]
fstp dword [esp + 0x150]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x154]
fmul dword [esp + 0x24]
fadd dword [esp + 0x20]
fstp dword [esp + 0x158]
jmp 0x5c03740b
fstp st(0)
test edi, 0x2000000
je 0x5c037421
lea edx, [esp + 0x150]
mov ecx, edx
call fcn.5c0504a4
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
jmp 0x5c037434
fstp st(0)
mov edi, dword [ebx + 0x1a44]
test edi, 0x400
je 0x5c037a0e
fld dword [esp + 0x58]
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fst dword [ebx + 0x50c]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fst dword [ebx + 0x52c]
test edi, 0x200
je 0x5c0374d9
test edi, 0x10000
je 0x5c037497
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c03748f
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c037491
xor eax, eax
mov dword [ebx + 0x540], eax
test edi, 0x4000
je 0x5c0374b8
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c0374b0
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0374b2
xor eax, eax
mov dword [ebx + 0x550], eax
test edi, 0x8000
je 0x5c0374d9
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c0374d1
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0374d3
xor eax, eax
mov dword [ebx + 0x570], eax
mov eax, dword [ebx + 0x5c0]
mov esi, edi
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c037533
fstp st(0)
mov esi, dword [eax + 0x80]
lea ecx, [esp + 0x144]
push ecx
push dword [esp + 0x64]
mov ecx, esi
push dword [esp + 0x44]
push eax
push ebx
call dword [0x5c06a150]
call esi
mov eax, dword [esp + 0x24]
add esp, 0x14
mov eax, dword [eax + 0x58]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c0374eb
mov edi, dword [ebx + 0x1a44]
mov esi, edi
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
fld dword [esp + 0x58]
test edi, 0x12000
je 0x5c037780
test cl, 8
jne 0x5c037558
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c03755a
fstp st(0)
test edi, 0x10000
je 0x5c037621
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c037577
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c037579
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c037593
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c0375c7
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c0375f6
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x1ec]
mov edi, dword [esp + 0x64]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x50], edi
jmp 0x5c037661
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x50]
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x588]
fmul dword [ebx + 0x548]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x58c]
fmul dword [ebx + 0x54c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
test dword [ebx + 0x1a44], 0x2000
je 0x5c037726
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x5c03768e
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c037690
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c0376aa
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c0376d8
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c037701
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x1ec]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x50], edi
jmp 0x5c03775f
fld dword [ebx + 0x5a4]
fld qword [esp + 0xd8]
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 0x5c037786
mov edi, dword [esp + 0x50]
fstp st(0)
test dl, 8
je 0x5c0378b7
test esi, 0x12000
jne 0x5c0377d7
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [ebx + 0x504]
fld dword [ebx + 0x518]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x51c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
jmp 0x5c0377dd
fld dword [ebx + 0x504]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x110]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0x110]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x118]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0x118]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x120]
mov esi, dword [esp + 0x120]
mov eax, 0xff
test ecx, ecx
jns 0x5c037840
xor ecx, ecx
jmp 0x5c037846
cmp ecx, eax
jle 0x5c037846
mov ecx, eax
test edx, edx
jns 0x5c03784e
xor edx, edx
jmp 0x5c037854
cmp edx, eax
jle 0x5c037854
mov edx, eax
test esi, esi
jns 0x5c03785c
xor esi, esi
jmp 0x5c037862
cmp esi, eax
jle 0x5c037862
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c03787e
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c0378a0
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c03788f
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c037891
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 0x5c0378f4
test esi, 0x4000
jne 0x5c0378cd
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c0378ee
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c0378e4
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c0378e6
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c0379c3
fld dword [ebx + 0x524]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x128]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0x128]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x130]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0x130]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0x138]
mov esi, dword [esp + 0x138]
mov eax, 0xff
test ecx, ecx
jns 0x5c03795e
xor ecx, ecx
jmp 0x5c037964
cmp ecx, eax
jle 0x5c037964
mov ecx, eax
test edx, edx
jns 0x5c03796c
xor edx, edx
jmp 0x5c037972
cmp edx, eax
jle 0x5c037972
mov edx, eax
test esi, esi
jns 0x5c03797a
xor esi, esi
jmp 0x5c037980
cmp esi, eax
jle 0x5c037980
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c03799c
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c0379be
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c0379ad
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0379af
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c037a34
test esi, 0x100000
jne 0x5c037a3a
test dword [ebx + 0x1a60], 0x800
jne 0x5c0379e8
test byte [ebx + 0x1a5c], 0x80
je 0x5c0379e4
mov eax, dword [edi]
jmp 0x5c037a34
xor eax, eax
jmp 0x5c037a34
test esi, 0x8000
jne 0x5c0379f8
mov eax, dword [ebx + 0x5bc]
jmp 0x5c037a34
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5c0379e4
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c037a34
mov ecx, dword [ebx + 0x1a5c]
test cl, 0xc0
je 0x5c037a3a
test cl, 0x40
je 0x5c037a2a
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test cl, cl
jns 0x5c037a3a
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
test dword [ebx + 0x1a44], 0x100
je 0x5c037a5a
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x144]
push eax
mov ecx, ebx
call fcn.5c075df4
pop ecx
mov eax, dword [esp + 0x98]
fld dword [esp + 0x4c]
fstp dword [eax]
fld dword [esp + 0x84]
fstp dword [eax + 4]
fld dword [esp + 0x30]
fstp dword [eax + 8]
fld dword [esp + 0x2c]
fstp dword [eax + 0xc]
mov edi, dword [ebx + 0x1cd0]
add edi, eax
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x30], edi
test al, 0x40
je 0x5c037aaa
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x30], edi
test al, al
jns 0x5c037abd
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x30], edi
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c037fdb
mov ecx, dword [esp + 0x90]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c037d74
test ecx, ecx
jne 0x5c037fd2
test eax, 0x4010000
jne 0x5c037b4c
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c037fdb
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1f0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x18]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c037b16
jmp 0x5c037fdb
test eax, 0x10000
jne 0x5c037bea
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c037fdb
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 + 0x20], edx
mov dword [esp + 0xc], eax
test eax, eax
jne 0x5c037b9a
push edx
push dword [esp + ecx*4 + 0x1f0]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c037bc2
push dword [esp + 0xc]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x1f4]
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add edi, dword [esp + 0x20]
inc ecx
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c037b73
jmp 0x5c037fdb
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c037fdb
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c037c26
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1ec]
jmp 0x5c037d0e
cmp eax, 0x20000
jne 0x5c037c39
lea ecx, [esp + 0x144]
jmp 0x5c037d0e
cmp eax, 0x10000
jne 0x5c037c4c
lea ecx, [esp + 0x150]
jmp 0x5c037d0e
test dword [ebx + 0x1a60], 0x1000000
je 0x5c037cf4
lea esi, [esp + 0x144]
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 + 0x154]
fld dword [esp + 0x190]
fld dword [esp + 0x150]
fld dword [esp + 0x18c]
fld dword [esp + 0x158]
fld dword [esp + 0x194]
fld st(4)
mov edi, dword [esp + 0x30]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x28]
fmul st(5)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul st(4), st(0)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1d4]
fxch st(4)
fmul st(1)
fsubp st(3)
fxch st(2)
fstp dword [esp + 0x1d8]
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x1dc]
jmp 0x5c037d07
lea edx, [esp + 0x1d4]
lea ecx, [esp + 0x150]
call fcn.5c01b43c
lea ecx, [esp + 0x1d4]
cmp dword [esi], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
je 0x5c037d3b
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 + 0x34]
jmp 0x5c037d43
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x14], 4
inc ecx
mov dword [esp + 0x30], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c037c10
jmp 0x5c037fdb
test ecx, ecx
jne 0x5c037fd2
test eax, 0x4010000
jne 0x5c037d9b
push dword [ebx + 0x1a8c]
push dword [esp + 0x44]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c037fdb
test eax, 0x10000
jne 0x5c037e40
and dword [esp + 0x20], 0
cmp dword [ebx + 0x1a88], 0
mov edx, dword [esp + 0x40]
mov dword [esp + 0x18], edx
jbe 0x5c037fdb
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x14], eax
mov esi, dword [eax]
mov ecx, dword [eax - 0x20]
mov dword [esp + 0x10], esi
mov esi, dword [eax + 0x138]
mov dword [esp + 0xc], ecx
test esi, esi
je 0x5c037e04
mov eax, dword [esp + 0x10]
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 0x5c037e0c
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x24]
add esp, 0xc
add edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
add edi, dword [esp + 0xc]
inc ecx
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c037dca
jmp 0x5c037fdb
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c037fdb
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c037e78
mov ecx, dword [eax]
add ecx, dword [esp + 0x40]
jmp 0x5c037f6a
cmp ecx, 0x20000
jne 0x5c037e8c
lea ecx, [esp + 0x144]
jmp 0x5c037f6a
cmp ecx, 0x10000
jne 0x5c037ea0
lea ecx, [esp + 0x150]
jmp 0x5c037f6a
test dword [ebx + 0x1a60], 0x1000000
je 0x5c037f50
lea esi, [esp + 0x144]
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 + 0x154]
fld dword [esp + 0x19c]
fld dword [esp + 0x150]
fld dword [esp + 0x198]
fld dword [esp + 0x158]
fld dword [esp + 0x1a0]
fld st(5)
mov edi, dword [esp + 0x30]
fmul st(5)
fld st(4)
mov eax, dword [esp + 0x28]
fmul st(4)
mov esi, dword [esp + 0x14]
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld st(0)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1e0]
fld st(1)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x1e4]
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x1e8]
jmp 0x5c037f63
lea edx, [esp + 0x1e0]
lea ecx, [esp + 0x150]
call fcn.5c01b43c
lea ecx, [esp + 0x1e0]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0xc], esi
test edx, edx
je 0x5c037f94
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 + 0x18]
jmp 0x5c037f9c
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x1c]
add edi, esi
mov esi, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x28]
inc edx
add esi, 4
mov dword [esp + 0x30], edi
add eax, 0x20
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c037e66
jmp 0x5c037fdb
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x98]
add eax, dword [ebx + 0x1a64]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x9c]
add esi, ecx
inc dword [esp + 0x80]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], esi
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x7c], eax
mov eax, dword [ebx + 0x1a44]
and eax, 0x40000000
test dword [ebx + 0x1a60], 0x8000000
je 0x5c0380f3
test eax, eax
jne 0x5c0380a4
mov eax, dword [esp + 0x60]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov edi, dword [esp + 0x50]
add edi, dword [ebx + 0x1a94]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x5c]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x64], edi
test esi, esi
je 0x5c0380a0
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x1ec], eax
inc ecx
cmp ecx, esi
jb 0x5c038080
mov eax, dword [esp + 0x1ec]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0xb4]
cmp ecx, eax
jb 0x5c03812d
add eax, 2
cmp ecx, eax
jb 0x5c036e41
mov eax, dword [esp + 0x78]
test eax, eax
jle 0x5c0381ef
push eax
lea esi, [eax + 2]
mov ecx, ebx
push esi
push dword [esp + 0xa8]
push 5
pop edx
call fcn.5c022413
add esp, 0xc
mov edi, eax
add dword [ebx + 0x1a48], esi
jmp 0x5c0381f6
test eax, eax
jne 0x5c0380a4
mov eax, dword [esp + 0x5c]
add dword [esp + 0x60], ecx
add eax, ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x50]
add eax, ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x40]
add eax, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x1ec], eax
jmp 0x5c0380a4
mov dword [esp + 0x3c], esi
jmp 0x5c036a4a
fmul dword [ebx + 0x634]
fld dword [ebx + 0x63c]
fmul st(2)
mov esi, dword [esp + 0x38]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0xc]
fld dword [ebx + 0x638]
fmulp st(3)
fld dword [ebx + 0x640]
fmul st(2)
mov ecx, dword [esp + 0xc]
shr ecx, 1
and ecx, 0x40000000
faddp st(3)
fxch st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x20]
fld st(1)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
fsubrp st(1)
and eax, 0x8003ffff
or ecx, eax
shr ecx, 1
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
fld dword [esp + 0x2c]
and eax, 0x8001ffff
or ecx, eax
mov eax, dword [esp + 0x20]
shr ecx, 1
and eax, 0x8000ffff
or ecx, eax
shr ecx, 0x10
or edx, ecx
mov ecx, dword [esp + 0x7c]
or dword [esp + 0x70], edx
or dword [esp + 0x34], 0x231
mov dword [ecx + 0x10], edx
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x84], edi
jmp 0x5c034fd6
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x3c], ecx
jmp 0x5c034b4f
mov edi, dword [esp + 0xac]
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x680], eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x684], eax
mov eax, dword [ebx + 0x1a48]
mov dword [ebx + 0x1a58], eax
mov eax, dword [ebx + 0x1a48]
sub eax, dword [esp + 0x54]
imul eax, dword [ebx + 0x1a64]
mov dword [ebx + 0x1a74], eax
test dword [ebx + 0x1a60], 0x100000
jne 0x5c038355
fld dword [ebx + 0x1b24]
fadd dword [ebx + 0x68c]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fst dword [esp + 0xc]
fstp dword [ebx + 0x1b24]
fld dword [ebx + 0x1b28]
fadd dword [ebx + 0x68c]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fst dword [esp + 0xac]
fstp dword [ebx + 0x1b28]
fld dword [ebx + 0x1b1c]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fst dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fst dword [esp + 0xb8]
fstp dword [ebx + 0x1b20]
fld dword [ebx + 0x624]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c0382d8
fstp dword [ebx + 0x1b1c]
jmp 0x5c0382da
fstp st(0)
fld dword [ebx + 0x628]
fstp dword [esp + 0x54]
fld dword [esp + 0xb8]
fld dword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c038302
fstp dword [ebx + 0x1b20]
jmp 0x5c038304
fstp st(0)
fld dword [ebx + 0x62c]
fstp dword [esp + 0x54]
fld dword [esp + 0xc]
fld dword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c038329
fstp dword [ebx + 0x1b24]
jmp 0x5c03832b
fstp st(0)
fld dword [ebx + 0x630]
fstp dword [esp + 0x54]
fld dword [esp + 0xac]
fld dword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c038353
fstp dword [ebx + 0x1b28]
jmp 0x5c038355
fstp st(0)
mov eax, dword [ebx + 0x1b18]
mov ecx, dword [esp + 0xbc]
cmp ecx, dword [eax + 0x58]
je 0x5c03837d
mov dword [eax + 0x58], ecx
mov eax, dword [ebx]
push ecx
push 0x16
mov esi, dword [eax]
mov ecx, esi
call dword [0x5c06a150]
mov ecx, ebx
call esi
and dword [ebx + 0x1a44], 0xffbfffff
mov eax, edi
mov ecx, dword [esp + 0x20c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.5c04fcf0
mov esp, ebp
pop ebp
ret 4