Function at 0x5c03ae39
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1f4
mov eax, dword [0x5c066124]
xor eax, esp
mov dword [esp + 0x1f0], eax
test byte [0x5c067ffc], 2
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
je 0x5c03ae86
call fcn.5c01df40
cmp dword [ebx + 0x684], 0
je 0x5c03ae7a
xor eax, eax
jmp 0x5c03e4db
mov ecx, ebx
call fcn.5c011e17
jmp 0x5c03e4db
test dword [ebx + 0x1a60], 0x80000
jne 0x5c03ae65
mov eax, dword [ebx + 0x1a70]
xor edi, edi
or dword [ebx + 0x225c], 0xffffffff
or dword [ebx + 0x1a44], 0x200000
mov dword [esp + 0xac], eax
mov dword [esp + 0x30], edi
call fcn.5c01df40
mov eax, dword [ebx + 0x225c]
cmp eax, 0xffffffff
jne 0x5c03aed8
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], edi
jmp 0x5c03ae71
mov ecx, dword [ebx + 0x1a48]
mov dword [esp + 0x74], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0xbc], ecx
cmp eax, 2
jbe 0x5c03af17
lea esi, [eax - 1]
mov dword [esp + 0x2c], 0x11
lea eax, [esi - 1]
mov dword [esp + 0x90], esi
mov edx, esi
mov dword [esp + 0x74], eax
mov ecx, ebx
call fcn.5c02c94d
mov eax, dword [ebx + 0x1a70]
mov ecx, dword [ebx + 0x1a7c]
mov edx, dword [ebx + 0x1a60]
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x1cd8]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x1a54]
mov dword [esp + 0xac], eax
mov eax, dword [ebx + 0x1a78]
mov dword [esp + 0x8c], ecx
mov ecx, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1dc], ecx
mov ecx, 0x8000000
mov dword [esp + 0x9c], edi
mov dword [esp + 0x80], edx
mov dword [esp + 0x98], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x38], eax
test ecx, edx
jne 0x5c03afdb
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 + 0x5c], edx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x58], esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x64], ecx
cmp dword [ebx + 0x1a84], edi
je 0x5c03b065
mov ecx, dword [ebx + 0x1cbc]
add ecx, eax
jmp 0x5c03b023
mov eax, dword [ebx + 0x1a2c]
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x1a34]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x1a90]
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], eax
test dl, 0x10
jne 0x5c03b030
test dword [ebx + 0x1a44], ecx
jne 0x5c03b030
cmp dword [ebx + 0x1a84], edi
je 0x5c03b065
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1dc], ecx
jmp 0x5c03b065
mov esi, dword [ebx + 0x1a84]
mov ecx, edi
test esi, esi
je 0x5c03b065
lea edx, [ebx + 0x1a98]
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x1dc], eax
inc ecx
cmp ecx, esi
jb 0x5c03b042
mov eax, dword [esp + 0x1dc]
mov edx, dword [esp + 0x80]
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 + 0x54]
test eax, 0x400
je 0x5c03b1bc
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 0x5c03b1be
mov edx, dword [ebx + 0x1a5c]
test dl, 0x40
je 0x5c03b140
mov ecx, eax
cmp dword [ebx + 0x5f8], edi
jne 0x5c03b0ea
or ecx, 0x2200
lea esi, [esp + 0x60]
mov dword [ebx + 0x1a44], ecx
mov dword [esp + 0x98], esi
mov eax, ecx
cmp dword [ebx + 0x5f0], edi
jne 0x5c03b107
or eax, 0x4200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x78], ecx
cmp dword [ebx + 0x5ec], edi
jne 0x5c03b125
or eax, 0x10200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x84], ecx
cmp dword [ebx + 0x5f4], edi
jne 0x5c03b140
or eax, 0x8200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x7c], ecx
test dl, dl
jns 0x5c03b1be
cmp dword [ebx + 0x5f8], 1
jne 0x5c03b163
or eax, 0x2200
lea esi, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x98], esi
cmp dword [ebx + 0x5f0], 1
jne 0x5c03b17f
or eax, 0x4200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x78], ecx
cmp dword [ebx + 0x5ec], 1
jne 0x5c03b19e
or eax, 0x10200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x84], ecx
cmp dword [ebx + 0x5f4], 1
jne 0x5c03b1be
or eax, 0x8200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x7c], ecx
jmp 0x5c03b1be
fstp st(0)
mov esi, dword [esp + 0x38]
mov ecx, ebx
mov eax, esi
mov dword [esp + 0xa0], edi
lea edi, [ebx + 0x1cdc]
mov edx, eax
push edi
mov dword [esp + 0x6c], edi
call fcn.5c02c510
fld1
pop ecx
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x70], ecx
mov ecx, esi
add ecx, dword [esp + 0x8c]
mov dword [esp + 0x6c], ecx
mov ecx, dword [edi + 0x10]
mov edx, ecx
or edx, eax
and ecx, eax
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x80]
and edx, 0x80000
neg edx
fstp qword [esp + 0xb0]
fld qword [0x5c003840]
sbb edx, edx
fstp qword [esp + 0xc0]
fldz
not edx
and edx, ecx
cmp dword [ebx + 0x225c], 2
fstp qword [esp + 0xf8]
mov dword [esp + 0xa4], edx
jbe 0x5c03b259
and dword [edi + 0x10], 0
and dword [esp + 0xa4], 0
jmp 0x5c03cbe8
fld dword [esp + 0x40]
mov eax, dword [esp + 0x70]
fstp dword [esp + 0x40]
fld dword [esp + 0x30]
fstp dword [esp + 0x3c]
fld dword [esp + 0x28]
fstp dword [esp + 0x4c]
fld dword [esp + 0x24]
fstp dword [esp + 0x48]
mov edx, dword [esp + 0x6c]
mov ecx, ebx
push eax
call fcn.5c02c510
or dword [esp + 0x98], eax
and dword [esp + 0xa8], eax
pop ecx
mov ecx, dword [esp + 0x70]
mov ecx, dword [ecx + 0x10]
mov eax, dword [edi + 0x10]
test ecx, eax
jne 0x5c03b2bc
or eax, ecx
and eax, dword [esp + 0x50]
neg eax
sbb eax, eax
and eax, 0xffffff21
add eax, 0x221
jmp 0x5c03b2c1
mov eax, 0x80
mov ecx, dword [esp + 0x2c]
or ecx, eax
mov dword [esp + 0x2c], ecx
mov eax, dword [edi + 0x10]
test dword [ebx + 0x1cd8], eax
jne 0x5c03b3ee
test dword [ebx + 0x1a60], 0x100000
fld dword [edi + 0xc]
fld qword [esp + 0xb0]
fld st(0)
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fst dword [esp + 0x40]
fld dword [edi]
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 + 0x30]
fld dword [edi + 4]
fmul st(2)
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x28]
fld dword [esp + 0x30]
fst dword [esp + 0x3c]
fld dword [esp + 0x28]
fst dword [esp + 0x4c]
jne 0x5c03b3c9
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c03b376
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 0x5c03b38f
fstp dword [ebx + 0x1b24]
jmp 0x5c03b391
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c03b3b2
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c03b3cd
fstp dword [ebx + 0x1b28]
jmp 0x5c03b3cf
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [ebx + 0x60c]
fmul dword [edi + 8]
fmulp st(1)
fadd dword [ebx + 0x610]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 0x48]
jmp 0x5c03b3f5
fld qword [esp + 0xb0]
test cl, 3
je 0x5c03befa
and dword [ebx + 0x5b8], 0
xor edx, edx
mov edi, dword [ebx + 0x1a60]
xor ecx, ecx
test edi, 0x20000000
je 0x5c03b676
fld dword [ebx + 0x444]
fmul dword [esi]
fld dword [ebx + 0x454]
fmul dword [esi + 4]
mov ecx, dword [ebx + 0x1cb4]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [esi + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x10]
fstp dword [esp + 0x134]
fld dword [ebx + 0x448]
fmul dword [esi]
fld dword [ebx + 0x458]
fmul dword [esi + 4]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [esi + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x138]
fld dword [ebx + 0x44c]
fmul dword [esi]
fld dword [ebx + 0x45c]
fmul dword [esi + 4]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [esi + 8]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x13c]
test ecx, ecx
je 0x5c03b66b
fld dword [esp + 0x54]
xor esi, esi
fst dword [esp + 0x20]
fst dword [esp + 0x134]
fst dword [esp + 0x138]
fst dword [esp + 0x13c]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fld dword [esp + 0x14]
fst dword [esp + 0x28]
fld dword [esp + 0x1c]
fst dword [esp + 0x30]
fxch st(3)
fst dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c03b620
mov edx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x24]
fstp dword [esp + 0x28]
fstp dword [esp + 0x30]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x134]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x134]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x138]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x138]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x13c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x13c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x24]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x28]
fld dword [eax - 0x18]
fmulp st(2)
fld dword [eax - 8]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 8]
faddp st(1)
fadd dword [eax + 0x18]
add eax, 0x40
fstp dword [esp + 0x30]
cmp esi, ecx
jb 0x5c03b533
fld dword [esp + 0x14]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fstp dword [esp + 0x14]
jmp 0x5c03b626
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x20]
fld st(1)
mov esi, dword [esp + 0x38]
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x134]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x138]
fmul dword [esp + 0x30]
fadd dword [esp + 0x14]
fstp dword [esp + 0x13c]
or edx, 1
mov dword [ebx + 0x5b8], edx
mov ecx, edx
test edi, 0x40000000
je 0x5c03b8de
mov eax, dword [esp + 0x58]
fld dword [ebx + 0x488]
mov edx, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x484]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x10]
fstp dword [esp + 0x140]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
fld dword [ebx + 0x494]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x144]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
fld dword [ebx + 0x4a4]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x148]
test edx, edx
je 0x5c03b8b5
fld dword [esp + 0x54]
xor ecx, ecx
fst dword [esp + 0x20]
fst dword [esp + 0x140]
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fld dword [esp + 0x14]
fst dword [esp + 0x28]
fld dword [esp + 0x1c]
fst dword [esp + 0x30]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x18]
test edx, edx
je 0x5c03b870
mov edi, dword [esp + 0x58]
lea eax, [ebx + 0x38c]
fxch st(1)
fstp dword [esp + 0x24]
fstp dword [esp + 0x28]
fstp dword [esp + 0x30]
fld dword [esi + ecx*4 + 0xc]
inc ecx
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x140]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x140]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x144]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x144]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x148]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x148]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [edi + 4]
fld dword [edi]
fld dword [edi + 8]
fld dword [eax - 8]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x24]
fld dword [eax + 8]
fmul st(2)
fld dword [eax + 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 0x10]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x28]
fld dword [eax + 0x18]
fmulp st(2)
fld dword [eax + 0x1c]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 0x20]
add eax, 0x40
faddp st(1)
fstp dword [esp + 0x30]
cmp ecx, edx
jb 0x5c03b78c
fld dword [esp + 0x14]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x14]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fstp dword [esp + 0x18]
jmp 0x5c03b876
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x20]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x24]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x140]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x144]
fmul dword [esp + 0x30]
fadd dword [esp + 0x18]
fstp dword [esp + 0x148]
jmp 0x5c03b8b7
fstp st(0)
test edi, 0x2000000
je 0x5c03b8cd
lea edx, [esp + 0x140]
mov ecx, edx
call fcn.5c0504a4
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
jmp 0x5c03b8e0
fstp st(0)
mov edi, dword [ebx + 0x1a44]
test edi, 0x400
je 0x5c03bea8
fld dword [esp + 0x54]
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fst dword [ebx + 0x50c]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fst dword [ebx + 0x52c]
test edi, 0x200
je 0x5c03b97f
test edi, 0x10000
je 0x5c03b943
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c03b93b
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03b93d
xor eax, eax
mov dword [ebx + 0x540], eax
test edi, 0x4000
je 0x5c03b961
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03b959
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03b95b
xor eax, eax
mov dword [ebx + 0x550], eax
test edi, 0x8000
je 0x5c03b97f
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03b977
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03b979
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 0x5c03b9d9
fstp st(0)
mov esi, dword [eax + 0x80]
lea ecx, [esp + 0x134]
push ecx
push dword [esp + 0x5c]
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 0x5c03b991
mov edi, dword [ebx + 0x1a44]
mov esi, edi
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
fld dword [esp + 0x54]
test edi, 0x12000
je 0x5c03bc26
test cl, 8
jne 0x5c03b9fe
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c03ba00
fstp st(0)
test edi, 0x10000
je 0x5c03bac7
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c03ba1d
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03ba1f
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 0x5c03ba39
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 0x5c03ba6d
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 0x5c03ba9c
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x1dc]
mov edi, dword [esp + 0x64]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], edi
jmp 0x5c03bb07
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 0x5c03bbcc
mov eax, dword [esp + 0x98]
test eax, eax
je 0x5c03bb34
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03bb36
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 0x5c03bb50
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 0x5c03bb7e
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 0x5c03bba7
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x1dc]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], edi
jmp 0x5c03bc05
fld dword [ebx + 0x5a4]
fld qword [esp + 0xc0]
fmul st(1), st(0)
fld dword [ebx + 0x504]
faddp st(2)
fxch st(1)
fstp dword [ebx + 0x504]
fld dword [ebx + 0x5a8]
fmul st(1)
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fmul dword [ebx + 0x5ac]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
or dword [ebx + 0x5b8], 8
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c03bc2c
mov edi, dword [esp + 0x44]
fstp st(0)
test dl, 8
je 0x5c03bd5a
test esi, 0x12000
jne 0x5c03bc7d
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ebx + 0x504]
fld dword [ebx + 0x518]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x51c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
jmp 0x5c03bc83
fld dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xc8]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0xc8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xd0]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0xd0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xd8]
mov esi, dword [esp + 0xd8]
mov eax, 0xff
test ecx, ecx
jns 0x5c03bce6
xor ecx, ecx
jmp 0x5c03bcec
cmp ecx, eax
jle 0x5c03bcec
mov ecx, eax
test edx, edx
jns 0x5c03bcf4
xor edx, edx
jmp 0x5c03bcfa
cmp edx, eax
jle 0x5c03bcfa
mov edx, eax
test esi, esi
jns 0x5c03bd02
xor esi, esi
jmp 0x5c03bd08
cmp esi, eax
jle 0x5c03bd08
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c03bd24
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c03bd43
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03bd32
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03bd34
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [esi + ecx]
mov dword [ebx + 0x530], eax
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c03bd94
test esi, 0x4000
jne 0x5c03bd70
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c03bd8e
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03bd84
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c03bd86
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c03be60
fld dword [ebx + 0x524]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xe0]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0xe0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xe8]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0xe8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xf0]
mov esi, dword [esp + 0xf0]
mov eax, 0xff
test ecx, ecx
jns 0x5c03bdfe
xor ecx, ecx
jmp 0x5c03be04
cmp ecx, eax
jle 0x5c03be04
mov ecx, eax
test edx, edx
jns 0x5c03be0c
xor edx, edx
jmp 0x5c03be12
cmp edx, eax
jle 0x5c03be12
mov edx, eax
test esi, esi
jns 0x5c03be1a
xor esi, esi
jmp 0x5c03be20
cmp esi, eax
jle 0x5c03be20
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c03be3c
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c03be5b
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03be4a
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03be4c
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [esi + ecx]
jmp 0x5c03bece
test esi, 0x100000
jne 0x5c03bed4
test dword [ebx + 0x1a60], 0x800
jne 0x5c03be85
test byte [ebx + 0x1a5c], 0x80
je 0x5c03be81
mov eax, dword [edi]
jmp 0x5c03bece
xor eax, eax
jmp 0x5c03bece
test esi, 0x8000
jne 0x5c03be95
mov eax, dword [ebx + 0x5bc]
jmp 0x5c03bece
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03be81
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c03bece
mov ecx, dword [ebx + 0x1a5c]
test cl, 0xc0
je 0x5c03bed4
test cl, 0x40
je 0x5c03bec4
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test cl, cl
jns 0x5c03bed4
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
test dword [ebx + 0x1a44], 0x100
je 0x5c03bef4
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x134]
push eax
mov ecx, ebx
call fcn.5c01b46b
pop ecx
mov ecx, dword [esp + 0x2c]
jmp 0x5c03befc
fstp st(0)
test cl, 1
je 0x5c03c49e
mov eax, dword [esp + 0x88]
fld dword [esp + 0x3c]
fstp dword [eax]
fld dword [esp + 0x4c]
fstp dword [eax + 4]
fld dword [esp + 0x48]
fstp dword [eax + 8]
fld dword [esp + 0x40]
fstp dword [eax + 0xc]
mov edi, dword [ebx + 0x1cd0]
add edi, eax
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x24], edi
test al, 0x40
je 0x5c03bf52
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x24], edi
test al, al
jns 0x5c03bf65
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x24], edi
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c03c48a
mov ecx, dword [esp + 0x80]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c03c21a
test ecx, ecx
jne 0x5c03c47d
test eax, 0x4010000
jne 0x5c03bff4
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03c486
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x1c], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1e0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x1c]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c03bfbe
jmp 0x5c03c486
test eax, 0x10000
jne 0x5c03c092
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03c486
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x1c], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c03c042
push edx
push dword [esp + ecx*4 + 0x1e0]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03c06a
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x1e4]
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 + 0x18]
inc ecx
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c03c01b
jmp 0x5c03c486
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03c486
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c03c0ce
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1dc]
jmp 0x5c03c1b4
cmp eax, 0x20000
jne 0x5c03c0e1
lea ecx, [esp + 0x134]
jmp 0x5c03c1b4
cmp eax, 0x10000
jne 0x5c03c0f4
lea ecx, [esp + 0x140]
jmp 0x5c03c1b4
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03c19a
lea esi, [esp + 0x134]
lea edi, [esp + 0x14c]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x14c]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x150]
fld dword [esp + 0x144]
fld dword [esp + 0x14c]
fld dword [esp + 0x140]
fld dword [esp + 0x154]
fld dword [esp + 0x148]
fld st(4)
mov edi, dword [esp + 0x24]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x28]
fmul st(5)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x194]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x198]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x19c]
jmp 0x5c03c1ad
lea edx, [esp + 0x194]
lea ecx, [esp + 0x140]
call fcn.5c01b43c
lea ecx, [esp + 0x194]
cmp dword [esi], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03c1e1
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 0x5c03c1e9
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add esi, 0x20
add dword [esp + 0x20], 4
inc ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03c0b8
jmp 0x5c03c486
test ecx, ecx
jne 0x5c03c47d
test eax, 0x4010000
jne 0x5c03c241
push dword [ebx + 0x1a8c]
push dword [esp + 0x38]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c03c486
test eax, 0x10000
jne 0x5c03c2f1
mov edx, dword [esp + 0x34]
xor esi, esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c03c486
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c03c2b9
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 + 0x28]
jmp 0x5c03c2c1
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x2c]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x24]
inc esi
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c03c270
jmp 0x5c03c486
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03c486
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c03c329
mov ecx, dword [eax]
add ecx, dword [esp + 0x34]
jmp 0x5c03c415
cmp ecx, 0x20000
jne 0x5c03c33d
lea ecx, [esp + 0x134]
jmp 0x5c03c415
cmp ecx, 0x10000
jne 0x5c03c351
lea ecx, [esp + 0x140]
jmp 0x5c03c415
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03c3fb
lea esi, [esp + 0x134]
lea edi, [esp + 0x158]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x158]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x15c]
fld dword [esp + 0x144]
fld dword [esp + 0x158]
fld dword [esp + 0x140]
fld dword [esp + 0x160]
fld dword [esp + 0x148]
fld st(4)
mov edi, dword [esp + 0x24]
fmul st(6)
fld st(3)
mov eax, dword [esp + 0x28]
fmul st(5)
mov esi, dword [esp + 0x20]
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1a0]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x1a4]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x1a8]
jmp 0x5c03c40e
lea edx, [esp + 0x1a0]
lea ecx, [esp + 0x140]
call fcn.5c01b43c
lea ecx, [esp + 0x1a0]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
test edx, edx
je 0x5c03c43f
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 0x5c03c447
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esp + 0x28]
inc edx
add esi, 4
mov dword [esp + 0x24], edi
add eax, 0x20
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c03c317
jmp 0x5c03c486
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x88]
add eax, dword [ebx + 0x1a64]
mov dword [esp + 0x88], eax
test cl, 2
je 0x5c03ca1e
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 0x10]
test dword [ebx + 0x1cd8], eax
jne 0x5c03c4d2
fld dword [esp + 0x3c]
fstp dword [edx + 0x1c]
fld dword [esp + 0x4c]
fstp dword [edx + 0x20]
fld dword [esp + 0x48]
fstp dword [edx + 0x24]
fld dword [esp + 0x40]
fstp dword [edx + 0x28]
mov eax, dword [ebx + 0x530]
mov dword [edx + 0x14], eax
mov eax, dword [ebx + 0x560]
mov dword [edx + 0x18], eax
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c03ca1e
mov ecx, dword [esp + 0x80]
lea edi, [edx + 0x30]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
mov dword [esp + 0x24], edi
test eax, 0x8000000
je 0x5c03c7ae
test ecx, ecx
jne 0x5c03c7a0
test eax, 0x4010000
jne 0x5c03c57a
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03ca1a
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x1c], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1e0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x1c]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c03c544
jmp 0x5c03ca1a
test eax, 0x10000
jne 0x5c03c618
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03ca1a
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x1c], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c03c5c8
push edx
push dword [esp + ecx*4 + 0x1e0]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03c5f0
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x1e4]
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 + 0x18]
inc ecx
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c03c5a1
jmp 0x5c03ca1a
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03ca1a
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c03c654
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1dc]
jmp 0x5c03c73a
cmp eax, 0x20000
jne 0x5c03c667
lea ecx, [esp + 0x134]
jmp 0x5c03c73a
cmp eax, 0x10000
jne 0x5c03c67a
lea ecx, [esp + 0x140]
jmp 0x5c03c73a
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03c720
lea esi, [esp + 0x134]
lea edi, [esp + 0x164]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x164]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x168]
fld dword [esp + 0x144]
fld dword [esp + 0x164]
fld dword [esp + 0x140]
fld dword [esp + 0x16c]
fld dword [esp + 0x148]
fld st(4)
mov edi, dword [esp + 0x24]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x28]
fmul st(5)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1ac]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x1b0]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x1b4]
jmp 0x5c03c733
lea edx, [esp + 0x1ac]
lea ecx, [esp + 0x140]
call fcn.5c01b43c
lea ecx, [esp + 0x1ac]
cmp dword [esi], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03c767
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 0x5c03c76f
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add esi, 0x20
add dword [esp + 0x20], 4
inc ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03c63e
jmp 0x5c03ca1a
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
jmp 0x5c03ca1a
test ecx, ecx
jne 0x5c03ca11
test eax, 0x4010000
jne 0x5c03c7d5
push dword [ebx + 0x1a8c]
push dword [esp + 0x38]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c03ca1a
test eax, 0x10000
jne 0x5c03c885
mov edx, dword [esp + 0x34]
xor esi, esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c03ca1a
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c03c84d
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 + 0x28]
jmp 0x5c03c855
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x2c]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x24]
inc esi
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c03c804
jmp 0x5c03ca1a
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03ca1a
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c03c8bd
mov ecx, dword [eax]
add ecx, dword [esp + 0x34]
jmp 0x5c03c9a9
cmp ecx, 0x20000
jne 0x5c03c8d1
lea ecx, [esp + 0x134]
jmp 0x5c03c9a9
cmp ecx, 0x10000
jne 0x5c03c8e5
lea ecx, [esp + 0x140]
jmp 0x5c03c9a9
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03c98f
lea esi, [esp + 0x134]
lea edi, [esp + 0x170]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x170]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x174]
fld dword [esp + 0x144]
fld dword [esp + 0x170]
fld dword [esp + 0x140]
fld dword [esp + 0x178]
fld dword [esp + 0x148]
fld st(4)
mov edi, dword [esp + 0x24]
fmul st(6)
fld st(3)
mov eax, dword [esp + 0x28]
fmul st(5)
mov esi, dword [esp + 0x20]
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1b8]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x1bc]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x1c0]
jmp 0x5c03c9a2
lea edx, [esp + 0x1b8]
lea ecx, [esp + 0x140]
call fcn.5c01b43c
lea ecx, [esp + 0x1b8]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
test edx, edx
je 0x5c03c9d3
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 0x5c03c9db
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esp + 0x28]
inc edx
add esi, 4
mov dword [esp + 0x24], edi
add eax, 0x20
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c03c8ab
jmp 0x5c03ca1a
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edx + 0x34]
mov ecx, dword [esp + 0x2c]
test cl, 0x10
je 0x5c03ca29
inc dword [esp + 0x74]
jmp 0x5c03ca9a
mov ecx, dword [esp + 0x74]
test ecx, ecx
jle 0x5c03ca78
mov edi, dword [esp + 0xa8]
lea esi, [ecx + 1]
push ecx
push esi
push edi
push 3
pop edx
mov ecx, ebx
call fcn.5c022413
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x9c], ecx
test ecx, ecx
jne 0x5c03e247
mov ecx, dword [ebx + 0x1a64]
add dword [ebx + 0x1a48], esi
imul ecx, esi
add edi, ecx
and dword [esp + 0x74], eax
mov dword [esp + 0xa8], edi
test byte [esp + 0x2c], 8
je 0x5c03ca9a
push dword [esp + 0x68]
mov edx, dword [esp + 0xa4]
mov ecx, ebx
call fcn.5c022675
pop ecx
test eax, eax
jne 0x5c03e240
mov esi, dword [esp + 0x38]
mov eax, dword [ebx + 0x1a44]
mov edx, dword [esp + 0x8c]
and eax, 0x40000000
add esi, edx
test dword [ebx + 0x1a60], 0x8000000
mov dword [esp + 0x38], esi
mov edi, esi
je 0x5c03cb91
test eax, eax
jne 0x5c03cb37
mov eax, dword [esp + 0x58]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov edx, dword [esp + 0x44]
add edx, dword [ebx + 0x1a94]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x5c]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x64], edx
test esi, esi
je 0x5c03cb2c
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x1dc], eax
inc ecx
cmp ecx, esi
jb 0x5c03cb10
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x68]
add dword [esp + 0x6c], edx
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x2c]
inc edx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x70]
shr ecx, 5
mov dword [esp + 0x68], eax
mov dword [esp + 0x90], edx
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x2c], ecx
cmp edx, dword [esp + 0xac]
jb 0x5c03cbcb
mov eax, dword [esp + 0xac]
inc eax
cmp edx, eax
jae 0x5c03e240
mov edi, dword [esp + 0x68]
jmp 0x5c03b2cb
test eax, eax
jne 0x5c03cb37
mov eax, dword [esp + 0x5c]
add dword [esp + 0x58], edx
add eax, edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
add eax, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x34]
add eax, edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x1dc], eax
jmp 0x5c03cb37
cmp dword [esp + 0x94], 0
jne 0x5c03e42a
cmp dword [esp + 0x74], 1
mov dword [esp + 0x38], esi
jne 0x5c03e426
mov edi, dword [esp + 0x6c]
mov ecx, dword [ebx + 0x1cb4]
fld dword [edi + 4]
fld dword [edi]
fld dword [edi + 8]
fld dword [ebx + 0x4c4]
fmul st(2)
fld dword [ebx + 0x4d4]
fmul st(4)
faddp st(1)
fld dword [ebx + 0x4e4]
fmul st(2)
faddp st(1)
fadd dword [ebx + 0x4f4]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x30]
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 + 0x10]
fld dword [esp + 0x10]
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 + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fld dword [ebx + 0x4e0]
fmul st(6)
fld dword [ebx + 0x4d0]
fmul st(6)
faddp st(1)
fld dword [ebx + 0x4f0]
fmul st(5)
faddp st(1)
fadd dword [ebx + 0x500]
fstp dword [esp + 0x40]
fxch st(2)
fst dword [esp + 0x14]
fst dword [esp + 0x10]
fxch st(1)
fst dword [esp + 0x18]
fst dword [esp + 0x1c]
fxch st(2)
fst dword [esp + 0x3c]
fst dword [esp + 0x20]
test ecx, ecx
je 0x5c03ceba
fld dword [esp + 0x54]
xor edx, edx
fst dword [esp + 0x20]
fld dword [esp + 0x40]
fstp dword [esp + 0x18]
fst dword [esp + 0x30]
fst dword [esp + 0x28]
fst dword [esp + 0x24]
fst dword [esp + 0x40]
fxch st(2)
fst dword [esp + 0x48]
fxch st(3)
fst dword [esp + 0x4c]
fxch st(1)
fst dword [esp + 0x3c]
fxch st(2)
fst dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x10]
test ecx, ecx
je 0x5c03ce2b
fxch st(2)
lea eax, [ebx + 0x224]
fstp dword [esp + 0x48]
fxch st(1)
fstp dword [esp + 0x4c]
fstp dword [esp + 0x3c]
fld dword [edi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x30]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x30]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x28]
fld dword [esp + 0x3c]
fmul st(1)
fadd dword [esp + 0x24]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x24]
fld dword [esp + 0x18]
fmul st(1)
fadd dword [esp + 0x40]
fstp dword [esp + 0x40]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x48]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x4c]
fld dword [eax - 0x18]
fmul st(2)
fld dword [eax - 8]
fmul st(4)
faddp st(1)
fld dword [eax + 8]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x18]
fstp dword [esp + 0x3c]
fld dword [eax - 0x14]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax + 0xc]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x1c]
add eax, 0x40
fstp dword [esp + 0x18]
cmp edx, ecx
jb 0x5c03cd30
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fstp dword [esp + 0x10]
jmp 0x5c03ce37
fstp st(2)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x20]
fsubr qword [esp + 0xb0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x30]
fld dword [esp + 0x4c]
fmul st(2)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x28]
fld dword [esp + 0x3c]
fmul st(3)
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fld dword [esp + 0x18]
fmulp st(4)
fld dword [esp + 0x40]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x1c]
fst dword [esp + 0x3c]
fstp dword [esp + 0x20]
jmp 0x5c03cec6
fstp st(1)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x40]
fst dword [esp + 0x40]
fld dword [esp + 0x10]
fld dword [esp + 0x14]
mov edx, dword [esp + 0x30]
fld st(2)
fsubrp st(1)
shr edx, 1
mov esi, dword [ebx + 0x1cb8]
fstp dword [esp + 0x10]
fld dword [esp + 0x1c]
fld dword [esp + 0x18]
mov eax, dword [esp + 0x10]
fld st(3)
fsubrp st(1)
and eax, 0xbfffffff
or edx, eax
shr edx, 1
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fld dword [esp + 0x20]
and eax, 0x9fffffff
fld dword [esp + 0x3c]
or edx, eax
mov eax, dword [esp + 0x28]
fld st(4)
shr edx, 1
fsubrp st(1)
and eax, 0x8fffffff
or edx, eax
mov eax, dword [esp + 0x24]
shr edx, 1
and eax, 0x87ffffff
or edx, eax
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
shr edx, 1
and eax, 0x83ffffff
or edx, eax
shr edx, 0x1a
test esi, esi
je 0x5c03cf90
push 0x40
pop edi
lea ecx, [ebx + 0x1c54]
fld dword [ecx - 4]
fmul st(3)
fld dword [ecx]
fmul st(3)
faddp st(1)
fld dword [ecx + 4]
fmul st(2)
faddp st(1)
fld dword [ecx + 8]
fmul st(5)
faddp st(1)
fcomp qword [esp + 0xf8]
fnstsw ax
test ah, 5
jp 0x5c03cf82
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c03cf59
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
fstp st(0)
fld dword [esp + 0x30]
fst dword [esp + 0x3c]
and dword [ecx + 0x10], 0
fstp dword [ecx]
fld dword [esp + 0x28]
fst dword [esp + 0x4c]
fstp dword [ecx + 4]
fld dword [esp + 0x24]
fst dword [esp + 0x48]
fstp dword [ecx + 8]
fld dword [esp + 0x40]
fstp dword [ecx + 0xc]
test edx, edx
jne 0x5c03e380
add edi, dword [esp + 0x8c]
fstp st(1)
fstp st(1)
mov dword [esp + 0x6c], edi
mov edi, dword [esp + 0x68]
fstp st(0)
fld dword [edi + 0xc]
fld qword [esp + 0xb0]
fld st(0)
inc dword [esp + 0x74]
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fst dword [esp + 0x40]
fld dword [edi]
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 + 0x30]
fld dword [edi + 4]
fmul st(2)
mov edi, dword [ebx + 0x1a60]
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x28]
fld dword [esp + 0x30]
fst dword [esp + 0x30]
fld dword [esp + 0x28]
fst dword [esp + 0x28]
test edi, 0x100000
jne 0x5c03d0d3
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c03d080
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 0x5c03d099
fstp dword [ebx + 0x1b24]
jmp 0x5c03d09b
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c03d0bc
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c03d0d7
fstp dword [ebx + 0x1b28]
jmp 0x5c03d0d9
fstp st(2)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x68]
xor edx, edx
xor ecx, ecx
fld dword [eax + 8]
fmul dword [ebx + 0x60c]
and dword [ebx + 0x5b8], 0
fmulp st(1)
fadd dword [ebx + 0x610]
fstp dword [esp + 0x24]
test edi, 0x20000000
je 0x5c03d364
mov eax, dword [esp + 0x38]
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 + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x10]
fstp dword [esp + 0x134]
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 + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x138]
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 + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x13c]
test ecx, ecx
je 0x5c03d359
fld dword [esp + 0x54]
xor esi, esi
fst dword [esp + 0x18]
fst dword [esp + 0x134]
fst dword [esp + 0x138]
fst dword [esp + 0x13c]
fld dword [esp + 0x10]
fst dword [esp + 0x3c]
fld dword [esp + 0x14]
fst dword [esp + 0x4c]
fld dword [esp + 0x1c]
fst dword [esp + 0x48]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x1c]
test ecx, ecx
je 0x5c03d312
mov edx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x3c]
fstp dword [esp + 0x4c]
fstp dword [esp + 0x48]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x3c]
fmul st(1)
fadd dword [esp + 0x134]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x134]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x138]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x138]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x13c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x20]
fstp dword [esp + 0x13c]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x4c]
fld dword [eax - 0x18]
fmulp st(2)
fld dword [eax - 8]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 8]
faddp st(1)
fadd dword [eax + 0x18]
add eax, 0x40
fstp dword [esp + 0x48]
cmp esi, ecx
jb 0x5c03d225
fld dword [esp + 0x14]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x10]
fld dword [esp + 0x1c]
fstp dword [esp + 0x14]
fld dword [esp + 0x20]
fstp dword [esp + 0x1c]
jmp 0x5c03d318
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x18]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [esp + 0x3c]
fmul st(1)
fadd dword [esp + 0x10]
fstp dword [esp + 0x134]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x138]
fmul dword [esp + 0x48]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x13c]
or edx, 1
mov dword [ebx + 0x5b8], edx
mov ecx, edx
test edi, 0x40000000
je 0x5c03d5d0
mov eax, dword [esp + 0x58]
fld dword [ebx + 0x488]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x484]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x10]
fstp dword [esp + 0x140]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
fld dword [ebx + 0x494]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x144]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
fld dword [ebx + 0x4a4]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x1c]
fstp dword [esp + 0x148]
test ecx, ecx
je 0x5c03d5a7
fld dword [esp + 0x54]
xor edx, edx
fst dword [esp + 0x18]
fst dword [esp + 0x140]
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fld dword [esp + 0x10]
fst dword [esp + 0x3c]
fld dword [esp + 0x14]
fst dword [esp + 0x4c]
fld dword [esp + 0x1c]
fst dword [esp + 0x48]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x1c]
test ecx, ecx
je 0x5c03d562
mov esi, dword [esp + 0x38]
lea eax, [ebx + 0x38c]
mov edi, dword [esp + 0x58]
fxch st(1)
fstp dword [esp + 0x3c]
fstp dword [esp + 0x4c]
fstp dword [esp + 0x48]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x3c]
fmul st(1)
fadd dword [esp + 0x140]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x140]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x144]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x144]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x148]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x20]
fstp dword [esp + 0x148]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [edi + 4]
fld dword [edi]
fld dword [edi + 8]
fld dword [eax - 8]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x3c]
fld dword [eax + 8]
fmul st(2)
fld dword [eax + 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 0x10]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x4c]
fld dword [eax + 0x18]
fmulp st(2)
fld dword [eax + 0x1c]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 0x20]
add eax, 0x40
faddp st(1)
fstp dword [esp + 0x48]
cmp edx, ecx
jb 0x5c03d47e
fld dword [esp + 0x14]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x10]
fld dword [esp + 0x1c]
fstp dword [esp + 0x14]
fld dword [esp + 0x20]
fstp dword [esp + 0x1c]
jmp 0x5c03d568
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [esp + 0x3c]
fmul st(1)
fadd dword [esp + 0x10]
fstp dword [esp + 0x140]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x144]
fmul dword [esp + 0x48]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x148]
jmp 0x5c03d5a9
fstp st(0)
test edi, 0x2000000
je 0x5c03d5bf
lea edx, [esp + 0x140]
mov ecx, edx
call fcn.5c0504a4
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
jmp 0x5c03d5d2
fstp st(0)
mov edi, dword [ebx + 0x1a44]
test edi, 0x400
je 0x5c03db9a
fld dword [esp + 0x54]
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fst dword [ebx + 0x50c]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fst dword [ebx + 0x52c]
test edi, 0x200
je 0x5c03d671
test edi, 0x10000
je 0x5c03d635
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c03d62d
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03d62f
xor eax, eax
mov dword [ebx + 0x540], eax
test edi, 0x4000
je 0x5c03d653
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03d64b
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03d64d
xor eax, eax
mov dword [ebx + 0x550], eax
test edi, 0x8000
je 0x5c03d671
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03d669
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03d66b
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 0x5c03d6cb
fstp st(0)
mov esi, dword [eax + 0x80]
lea ecx, [esp + 0x134]
push ecx
push dword [esp + 0x5c]
mov ecx, esi
push dword [esp + 0x40]
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 0x5c03d683
mov edi, dword [ebx + 0x1a44]
mov esi, edi
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
fld dword [esp + 0x54]
test edi, 0x12000
je 0x5c03d918
test cl, 8
jne 0x5c03d6f0
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c03d6f2
fstp st(0)
test edi, 0x10000
je 0x5c03d7b9
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c03d70f
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03d711
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 0x5c03d72b
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 0x5c03d75f
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 0x5c03d78e
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x1dc]
mov edi, dword [esp + 0x64]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], edi
jmp 0x5c03d7f9
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 0x5c03d8be
mov eax, dword [esp + 0x98]
test eax, eax
je 0x5c03d826
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03d828
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 0x5c03d842
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 0x5c03d870
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 0x5c03d899
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x1dc]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], edi
jmp 0x5c03d8f7
fld dword [ebx + 0x5a4]
fld qword [esp + 0xc0]
fmul st(1), st(0)
fld dword [ebx + 0x504]
faddp st(2)
fxch st(1)
fstp dword [ebx + 0x504]
fld dword [ebx + 0x5a8]
fmul st(1)
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fmul dword [ebx + 0x5ac]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
or dword [ebx + 0x5b8], 8
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c03d91e
mov edi, dword [esp + 0x44]
fstp st(0)
test dl, 8
je 0x5c03da4c
test esi, 0x12000
jne 0x5c03d96f
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ebx + 0x504]
fld dword [ebx + 0x518]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x51c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
jmp 0x5c03d975
fld dword [ebx + 0x504]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x100]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0x100]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x108]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0x108]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x110]
mov esi, dword [esp + 0x110]
mov eax, 0xff
test ecx, ecx
jns 0x5c03d9d8
xor ecx, ecx
jmp 0x5c03d9de
cmp ecx, eax
jle 0x5c03d9de
mov ecx, eax
test edx, edx
jns 0x5c03d9e6
xor edx, edx
jmp 0x5c03d9ec
cmp edx, eax
jle 0x5c03d9ec
mov edx, eax
test esi, esi
jns 0x5c03d9f4
xor esi, esi
jmp 0x5c03d9fa
cmp esi, eax
jle 0x5c03d9fa
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c03da16
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c03da35
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03da24
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03da26
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 0x5c03da86
test esi, 0x4000
jne 0x5c03da62
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c03da80
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03da76
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c03da78
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c03db52
fld dword [ebx + 0x524]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x118]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0x118]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x120]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0x120]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x128]
mov esi, dword [esp + 0x128]
mov eax, 0xff
test ecx, ecx
jns 0x5c03daf0
xor ecx, ecx
jmp 0x5c03daf6
cmp ecx, eax
jle 0x5c03daf6
mov ecx, eax
test edx, edx
jns 0x5c03dafe
xor edx, edx
jmp 0x5c03db04
cmp edx, eax
jle 0x5c03db04
mov edx, eax
test esi, esi
jns 0x5c03db0c
xor esi, esi
jmp 0x5c03db12
cmp esi, eax
jle 0x5c03db12
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c03db2e
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c03db4d
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03db3c
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03db3e
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c03dbc0
test esi, 0x100000
jne 0x5c03dbc6
test dword [ebx + 0x1a60], 0x800
jne 0x5c03db77
test byte [ebx + 0x1a5c], 0x80
je 0x5c03db73
mov eax, dword [edi]
jmp 0x5c03dbc0
xor eax, eax
jmp 0x5c03dbc0
test esi, 0x8000
jne 0x5c03db87
mov eax, dword [ebx + 0x5bc]
jmp 0x5c03dbc0
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c03db73
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c03dbc0
mov ecx, dword [ebx + 0x1a5c]
test cl, 0xc0
je 0x5c03dbc6
test cl, 0x40
je 0x5c03dbb6
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test cl, cl
jns 0x5c03dbc6
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
test dword [ebx + 0x1a44], 0x100
je 0x5c03dbe6
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x134]
push eax
mov ecx, ebx
call fcn.5c075e32
pop ecx
mov eax, dword [esp + 0x88]
fld dword [esp + 0x30]
fstp dword [eax]
fld dword [esp + 0x28]
fstp dword [eax + 4]
fld dword [esp + 0x24]
fstp dword [eax + 8]
fld dword [esp + 0x40]
fstp dword [eax + 0xc]
mov edi, dword [ebx + 0x1cd0]
add edi, eax
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x24], edi
test al, 0x40
je 0x5c03dc33
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
mov dword [esp + 0x24], edi
test al, al
jns 0x5c03dc46
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x24], edi
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c03e15c
mov ecx, dword [esp + 0x80]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c03defb
test ecx, ecx
jne 0x5c03e153
test eax, 0x4010000
jne 0x5c03dcd5
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03e15c
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x14], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x1e0]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c03dc9f
jmp 0x5c03e15c
test eax, 0x10000
jne 0x5c03dd73
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03e15c
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x14], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x5c03dd23
push edx
push dword [esp + ecx*4 + 0x1e0]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03dd4b
push dword [esp + 0x1c]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x1e4]
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 + 0x18]
inc ecx
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c03dcfc
jmp 0x5c03e15c
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03e15c
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c03ddaf
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x1dc]
jmp 0x5c03de95
cmp eax, 0x20000
jne 0x5c03ddc2
lea ecx, [esp + 0x134]
jmp 0x5c03de95
cmp eax, 0x10000
jne 0x5c03ddd5
lea ecx, [esp + 0x140]
jmp 0x5c03de95
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03de7b
lea esi, [esp + 0x134]
lea edi, [esp + 0x17c]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x17c]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x180]
fld dword [esp + 0x144]
fld dword [esp + 0x17c]
fld dword [esp + 0x140]
fld dword [esp + 0x184]
fld dword [esp + 0x148]
fld st(4)
mov edi, dword [esp + 0x24]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x20]
fmul st(5)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1c4]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x1c8]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x1cc]
jmp 0x5c03de8e
lea edx, [esp + 0x1c4]
lea ecx, [esp + 0x140]
call fcn.5c01b43c
lea ecx, [esp + 0x1c4]
cmp dword [esi], 0
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
je 0x5c03dec2
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 + 0x2c]
jmp 0x5c03deca
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x18], 4
inc ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03dd99
jmp 0x5c03e15c
test ecx, ecx
jne 0x5c03e153
test eax, 0x4010000
jne 0x5c03df22
push dword [ebx + 0x1a8c]
push dword [esp + 0x38]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c03e15c
test eax, 0x10000
jne 0x5c03dfc7
and dword [esp + 0x1c], 0
cmp dword [ebx + 0x1a88], 0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x14], edx
jbe 0x5c03e15c
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov ecx, dword [eax - 0x20]
mov dword [esp + 0x10], esi
mov esi, dword [eax + 0x138]
mov dword [esp + 0x20], ecx
test esi, esi
je 0x5c03df8b
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 0x5c03df93
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add esp, 0xc
add edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edi, dword [esp + 0x20]
inc ecx
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c03df51
jmp 0x5c03e15c
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03e15c
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c03dfff
mov ecx, dword [eax]
add ecx, dword [esp + 0x34]
jmp 0x5c03e0eb
cmp ecx, 0x20000
jne 0x5c03e013
lea ecx, [esp + 0x134]
jmp 0x5c03e0eb
cmp ecx, 0x10000
jne 0x5c03e027
lea ecx, [esp + 0x140]
jmp 0x5c03e0eb
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03e0d1
lea esi, [esp + 0x134]
lea edi, [esp + 0x188]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x188]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x18c]
fld dword [esp + 0x144]
fld dword [esp + 0x188]
fld dword [esp + 0x140]
fld dword [esp + 0x190]
fld dword [esp + 0x148]
fld st(4)
mov edi, dword [esp + 0x24]
fmul st(6)
fld st(3)
mov eax, dword [esp + 0x20]
fmul st(5)
mov esi, dword [esp + 0x18]
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1d0]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x1d4]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x1d8]
jmp 0x5c03e0e4
lea edx, [esp + 0x1d0]
lea ecx, [esp + 0x140]
call fcn.5c01b43c
lea ecx, [esp + 0x1d0]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0x14], esi
test edx, edx
je 0x5c03e115
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 + 0x20]
jmp 0x5c03e11d
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x1c]
add edi, esi
mov esi, dword [esp + 0x24]
add esp, 0xc
mov eax, dword [esp + 0x20]
inc edx
add esi, 4
mov dword [esp + 0x24], edi
add eax, 0x20
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c03dfed
jmp 0x5c03e15c
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x88]
add eax, dword [ebx + 0x1a64]
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x8c]
add esi, edx
inc dword [esp + 0x90]
mov edi, dword [edi + 0x2c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x68], edi
mov dword [esp + 0x38], esi
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x1a44]
and eax, 0x40000000
test dword [ebx + 0x1a60], 0x8000000
je 0x5c03e339
test eax, eax
jne 0x5c03e221
mov eax, dword [esp + 0x58]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov edx, dword [esp + 0x44]
add edx, dword [ebx + 0x1a94]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x5c]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x64], edx
test esi, esi
je 0x5c03e21d
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x1dc], eax
inc ecx
cmp ecx, esi
jb 0x5c03e201
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0xac]
cmp edx, eax
jb 0x5c03e377
inc eax
cmp edx, eax
jb 0x5c03cfde
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x5c03e270
push eax
lea esi, [eax + 1]
mov ecx, ebx
push esi
push dword [esp + 0xb0]
push 3
pop edx
call fcn.5c022413
add esp, 0xc
mov ecx, eax
add dword [ebx + 0x1a48], esi
mov eax, dword [esp + 0x94]
mov dword [ebx + 0x680], eax
test dword [ebx + 0x1a60], 0x100000
mov eax, dword [esp + 0xa4]
mov dword [ebx + 0x684], eax
jne 0x5c03e4b3
fld dword [ebx + 0x1b24]
fadd dword [ebx + 0x68c]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fst dword [esp + 0xa0]
fstp dword [ebx + 0x1b24]
fld dword [ebx + 0x68c]
fadd dword [ebx + 0x1b28]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fst dword [esp + 0x14]
fstp dword [ebx + 0x1b28]
fld dword [ebx + 0x1b1c]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fst dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fst dword [esp + 0x10]
fstp dword [ebx + 0x1b20]
fld dword [ebx + 0x624]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c03e439
fstp dword [ebx + 0x1b1c]
jmp 0x5c03e43b
test eax, eax
jne 0x5c03e221
mov eax, dword [esp + 0x5c]
add dword [esp + 0x58], edx
add eax, edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
add eax, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x34]
add eax, edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x1dc], eax
jmp 0x5c03e221
mov dword [esp + 0x38], esi
jmp 0x5c03cbe8
fld dword [ebx + 0x63c]
fmul st(3)
fld dword [ebx + 0x634]
fmulp st(3)
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x68]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fld dword [ebx + 0x640]
fmul st(3)
fld dword [ebx + 0x638]
fmulp st(3)
mov ecx, dword [esp + 0x14]
shr ecx, 1
and ecx, 0x40000000
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fld st(2)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
fsubp st(1)
and eax, 0x8003ffff
or ecx, eax
shr ecx, 1
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
and eax, 0x8001ffff
or ecx, eax
mov eax, dword [esp + 0x18]
shr ecx, 1
and eax, 0x8000ffff
or ecx, eax
shr ecx, 0x10
or edx, ecx
mov ecx, dword [esp + 0x70]
or dword [esp + 0x94], edx
or dword [esp + 0x2c], 0x11
mov dword [ecx + 0x10], edx
jmp 0x5c03b29c
mov eax, dword [esp + 0x70]
mov esi, edi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x38], esi
jmp 0x5c03b27d
fstp st(0)
fld dword [ebx + 0x628]
fstp dword [esp + 0x50]
fld dword [esp + 0x10]
fld dword [esp + 0x50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c03e460
fstp dword [ebx + 0x1b20]
jmp 0x5c03e462
fstp st(0)
fld dword [ebx + 0x62c]
fstp dword [esp + 0x50]
fld dword [esp + 0xa0]
fld dword [esp + 0x50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c03e48a
fstp dword [ebx + 0x1b24]
jmp 0x5c03e48c
fstp st(0)
fld dword [ebx + 0x630]
fstp dword [esp + 0x50]
fld dword [esp + 0x14]
fld dword [esp + 0x50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c03e4b1
fstp dword [ebx + 0x1b28]
jmp 0x5c03e4b3
fstp st(0)
mov eax, dword [ebx + 0x1a48]
mov dword [ebx + 0x1a58], eax
mov eax, dword [ebx + 0x1a48]
sub eax, dword [esp + 0xbc]
imul eax, dword [ebx + 0x1a64]
mov dword [ebx + 0x1a74], eax
mov eax, ecx
mov ecx, dword [esp + 0x1fc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.5c04fcf0
mov esp, ebp
pop ebp
ret 4