Function at 0x5c038dca
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, 0x1ac
mov eax, dword [0x5c059aa4]
xor eax, esp
mov dword [esp + 0x1a8], eax
test byte [0x5c05b7fc], 2
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
je 0x5c038e10
call fcn.5c01d010
cmp dword [ebx + 0x684], 0
jne 0x5c038e62
mov ecx, ebx
call fcn.5c011281
jmp 0x5c03c129
test dword [ebx + 0x1a60], 0x80000
jne 0x5c038df6
mov eax, dword [ebx + 0x1a70]
xor edi, edi
or dword [ebx + 0x225c], 0xffffffff
or dword [ebx + 0x1a44], 0x200000
mov dword [esp + 0x9c], eax
mov dword [esp + 0x28], edi
call fcn.5c01d010
mov eax, dword [ebx + 0x225c]
cmp eax, 0xffffffff
jne 0x5c038e69
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], edi
je 0x5c038e04
xor eax, eax
jmp 0x5c03c129
mov ecx, dword [ebx + 0x1a48]
mov dword [esp + 0x70], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0xbc], ecx
cmp eax, 2
jbe 0x5c038ea8
lea esi, [eax - 1]
mov dword [esp + 0x24], 0x11
lea eax, [esi - 1]
mov dword [esp + 0x80], esi
mov edx, esi
mov dword [esp + 0x70], eax
mov ecx, ebx
call fcn.5c02b470
mov eax, dword [ebx + 0x1a70]
mov edx, dword [ebx + 0x1a60]
mov dword [esp + 0x9c], edi
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x1cd8]
mov dword [esp + 0xa4], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edi
mov edi, dword [ebx + 0x1a78]
mov ecx, edi
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x1a54]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x194], ecx
mov ecx, 0x8000000
mov dword [esp + 0xac], eax
mov eax, dword [ebx + 0x1a7c]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x8c], eax
test ecx, edx
jne 0x5c038f67
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 + 0x60], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x58], esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x64], ecx
je 0x5c038fef
mov ecx, dword [ebx + 0x1cbc]
add ecx, edi
jmp 0x5c038fb0
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 0x5c038fbd
test dword [ebx + 0x1a44], ecx
jne 0x5c038fbd
cmp dword [ebx + 0x1a84], 0
je 0x5c038fef
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x194], ecx
jmp 0x5c038fef
mov esi, dword [ebx + 0x1a84]
xor ecx, ecx
test esi, esi
je 0x5c038fef
lea edx, [ebx + 0x1a98]
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x194], eax
inc ecx
cmp ecx, esi
jb 0x5c038fcf
mov eax, dword [esp + 0x194]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x3c], eax
or dword [ebx + 0x530], 0xffffffff
and dword [ebx + 0x560], 0
and dword [ebx + 0x5b8], 0
mov eax, dword [ebx + 0x1a44]
fldz
fst dword [esp + 0x54]
test eax, 0x400
je 0x5c039152
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 0x5c03914c
mov edx, dword [ebx + 0x1a5c]
test dl, 0x40
je 0x5c0390cc
xor edi, edi
mov ecx, eax
cmp dword [ebx + 0x5f8], edi
jne 0x5c039076
or ecx, 0x2200
lea esi, [esp + 0x60]
mov dword [ebx + 0x1a44], ecx
mov dword [esp + 0xa4], esi
mov eax, ecx
cmp dword [ebx + 0x5f0], edi
jne 0x5c039093
or eax, 0x4200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x74], ecx
cmp dword [ebx + 0x5ec], edi
jne 0x5c0390b1
or eax, 0x10200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x94], ecx
cmp dword [ebx + 0x5f4], edi
jne 0x5c0390cc
or eax, 0x8200
lea ecx, [esp + 0x60]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x78], ecx
test dl, dl
jns 0x5c03914c
cmp dword [ebx + 0x5f8], 1
jne 0x5c0390ef
or eax, 0x2200
lea esi, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0xa4], esi
cmp dword [ebx + 0x5f0], 1
jne 0x5c03910b
or eax, 0x4200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x74], ecx
cmp dword [ebx + 0x5ec], 1
jne 0x5c03912a
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 + 0x2c]
jne 0x5c039154
or eax, 0x8200
lea ecx, [esp + 0x64]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x78], ecx
jmp 0x5c039154
mov edi, dword [esp + 0x2c]
jmp 0x5c039154
fstp st(0)
and dword [esp + 0xa0], 0
lea esi, [ebx + 0x1cdc]
mov eax, edi
mov dword [esp + 0x68], esi
push esi
mov edx, eax
mov dword [esp + 0x70], eax
mov ecx, ebx
call fcn.5c02b037
fld1
mov edx, dword [esi + 0x2c]
pop ecx
mov ecx, edi
mov dword [esp + 0x84], edx
add ecx, dword [esp + 0x8c]
mov dword [esp + 0x6c], ecx
mov ecx, eax
or ecx, dword [esi + 0x10]
and eax, dword [esi + 0x10]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x7c]
and ecx, 0x80000
neg ecx
fstp qword [esp + 0xb0]
fld qword [0x5c003180]
sbb ecx, ecx
fstp qword [esp + 0xc0]
fldz
not ecx
and ecx, eax
cmp dword [ebx + 0x225c], 2
fstp qword [esp + 0xf8]
mov dword [esp + 0xa8], ecx
jbe 0x5c0391ef
and dword [esi + 0x10], 0
and dword [esp + 0xa8], 0
jmp 0x5c03a949
fld dword [esp + 0x40]
fstp dword [esp + 0x40]
fld dword [esp + 0x34]
fstp dword [esp + 0x30]
fld dword [esp + 0x38]
fstp dword [esp + 0x4c]
fld dword [esp + 0x28]
fstp dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x70]
mov ecx, ebx
call fcn.5c02b037
or dword [esp + 0x94], eax
and dword [esp + 0xac], eax
mov eax, dword [esp + 0x88]
pop ecx
mov ecx, dword [eax + 0x10]
mov eax, dword [esi + 0x10]
test ecx, eax
jne 0x5c039251
or eax, ecx
and eax, dword [esp + 0x50]
neg eax
sbb eax, eax
and eax, 0xffffff21
add eax, 0x221
jmp 0x5c039256
mov eax, 0x80
mov ecx, dword [esp + 0x24]
or ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [esi + 0x10]
test dword [ebx + 0x1cd8], eax
jne 0x5c039383
test dword [ebx + 0x1a60], 0x100000
fld dword [esi + 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 [esi]
fmul st(1)
fmul dword [ebx + 0x5fc]
fadd dword [ebx + 0x604]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fst dword [esp + 0x34]
fld dword [esi + 4]
fmul st(2)
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x38]
fld dword [esp + 0x34]
fst dword [esp + 0x30]
fld dword [esp + 0x38]
fst dword [esp + 0x4c]
jne 0x5c03935e
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c03930b
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 0x5c039324
fstp dword [ebx + 0x1b24]
jmp 0x5c039326
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c039347
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c039362
fstp dword [ebx + 0x1b28]
jmp 0x5c039364
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [ebx + 0x60c]
fmul dword [esi + 8]
fmulp st(1)
fadd dword [ebx + 0x610]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 0x48]
jmp 0x5c03938a
fld qword [esp + 0xb0]
test cl, 3
je 0x5c039e8c
and dword [ebx + 0x5b8], 0
xor ecx, ecx
mov esi, dword [ebx + 0x1a60]
test esi, 0x20000000
je 0x5c039607
fld dword [ebx + 0x444]
fmul dword [edi]
fld dword [ebx + 0x454]
fmul dword [edi + 4]
mov edx, dword [ebx + 0x1cb4]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [edi + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x10]
fstp dword [esp + 0x134]
fld dword [ebx + 0x448]
fmul dword [edi]
fld dword [ebx + 0x458]
fmul dword [edi + 4]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [edi + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x14]
fstp dword [esp + 0x138]
fld dword [ebx + 0x44c]
fmul dword [edi]
fld dword [ebx + 0x45c]
fmul dword [edi + 4]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [edi + 8]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x18]
fstp dword [esp + 0x13c]
test edx, edx
je 0x5c0395fe
fld dword [esp + 0x54]
xor edi, edi
fst dword [esp + 0x20]
fst dword [esp + 0x134]
fst dword [esp + 0x138]
fst dword [esp + 0x13c]
fld dword [esp + 0x10]
fst dword [esp + 0x28]
fld dword [esp + 0x14]
fst dword [esp + 0x38]
fld dword [esp + 0x18]
fst dword [esp + 0x34]
fxch st(3)
fst dword [esp + 0x1c]
fst dword [esp + 0x18]
fstp dword [esp + 0x14]
test edx, edx
je 0x5c0395b3
mov ecx, dword [esp + 0x2c]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x28]
fstp dword [esp + 0x38]
fstp dword [esp + 0x34]
fld dword [ecx + edi*4 + 0xc]
inc edi
fld dword [esp + 0x28]
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 + 0x38]
fmul st(1)
fadd dword [esp + 0x138]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x138]
fld dword [esp + 0x34]
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 [ecx + 4]
fld dword [ecx]
fld dword [ecx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x28]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x38]
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 + 0x34]
cmp edi, edx
jb 0x5c0394c6
fld dword [esp + 0x14]
mov ecx, dword [ebx + 0x5b8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x14]
jmp 0x5c0395b9
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x20]
fld st(1)
mov edi, dword [esp + 0x2c]
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x134]
fld dword [esp + 0x38]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x138]
fmul dword [esp + 0x34]
fadd dword [esp + 0x14]
fstp dword [esp + 0x13c]
or ecx, 1
mov dword [ebx + 0x5b8], ecx
test esi, 0x40000000
je 0x5c03986d
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 + 0x1c]
fld dword [esp + 0x1c]
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 + 0x1c]
fld dword [esp + 0x1c]
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 + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x18]
fstp dword [esp + 0x148]
test edx, edx
je 0x5c039846
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 + 0x28]
fld dword [esp + 0x14]
fst dword [esp + 0x38]
fld dword [esp + 0x18]
fst dword [esp + 0x34]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x1c]
test edx, edx
je 0x5c039801
mov esi, dword [esp + 0x58]
lea eax, [ebx + 0x38c]
fxch st(1)
fstp dword [esp + 0x28]
fstp dword [esp + 0x38]
fstp dword [esp + 0x34]
fld dword [edi + ecx*4 + 0xc]
inc ecx
fld dword [esp + 0x28]
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 + 0x38]
fmul st(1)
fadd dword [esp + 0x144]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x144]
fld dword [esp + 0x34]
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 [esi + 4]
fld dword [esi]
fld dword [esi + 8]
fld dword [eax - 8]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fstp dword [esp + 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 + 0x38]
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 + 0x34]
cmp ecx, edx
jb 0x5c03971d
fld dword [esp + 0x14]
mov esi, dword [ebx + 0x1a60]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x1c]
jmp 0x5c039807
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x20]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x140]
fld dword [esp + 0x38]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x144]
fmul dword [esp + 0x34]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x148]
jmp 0x5c039848
fstp st(0)
test esi, 0x2000000
je 0x5c03985e
lea edx, [esp + 0x140]
mov ecx, edx
call fcn.5c04ff08
or dword [ebx + 0x5b8], 2
mov ecx, dword [ebx + 0x5b8]
jmp 0x5c03986f
fstp st(0)
mov edx, dword [ebx + 0x1a44]
test edx, 0x400
je 0x5c039e39
fld dword [esp + 0x54]
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fst dword [ebx + 0x50c]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fst dword [ebx + 0x52c]
test edx, 0x200
je 0x5c03990e
test edx, 0x10000
je 0x5c0398d2
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c0398ca
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0398cc
xor eax, eax
mov dword [ebx + 0x540], eax
test edx, 0x4000
je 0x5c0398f0
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c0398e8
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0398ea
xor eax, eax
mov dword [ebx + 0x550], eax
test edx, 0x8000
je 0x5c03990e
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c039906
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c039908
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, edx
test edi, edi
je 0x5c03995a
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x134]
push eax
push dword [esp + 0x5c]
mov ecx, esi
push dword [esp + 0x34]
push edi
push ebx
call dword [0x5c05d150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c03991c
mov edx, dword [ebx + 0x1a44]
mov esi, edx
mov ecx, dword [ebx + 0x5b8]
fld dword [esp + 0x54]
test edx, 0x12000
je 0x5c039bab
test byte [ebx + 0x5b8], 8
jne 0x5c039983
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c039985
fstp st(0)
test edx, 0x10000
je 0x5c039a4c
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c0399a2
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c0399a4
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 0x5c0399be
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c0399f2
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c039a21
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x194]
mov edi, dword [esp + 0x64]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], edi
jmp 0x5c039a8c
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 0x5c039b51
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x5c039ab9
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c039abb
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 0x5c039ad5
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c039b03
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c039b2c
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x194]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], edi
jmp 0x5c039b8a
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c039bb1
mov edi, dword [esp + 0x44]
fstp st(0)
test cl, 8
je 0x5c039cdf
test esi, 0x12000
jne 0x5c039c02
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
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 0x5c039c08
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 0x5c039c6b
xor ecx, ecx
jmp 0x5c039c71
cmp ecx, eax
jle 0x5c039c71
mov ecx, eax
test edx, edx
jns 0x5c039c79
xor edx, edx
jmp 0x5c039c7f
cmp edx, eax
jle 0x5c039c7f
mov edx, eax
test esi, esi
jns 0x5c039c87
xor esi, esi
jmp 0x5c039c8d
cmp esi, eax
jle 0x5c039c8d
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c039ca9
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c039cc8
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c039cb7
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c039cb9
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c039d19
test esi, 0x4000
jne 0x5c039cf5
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c039d13
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c039d09
mov eax, dword [eax]
mov edx, dword [eax]
and edx, 0xff000000
jmp 0x5c039d0b
xor edx, edx
mov eax, dword [ebx + 0x5e8]
add eax, edx
mov dword [ebx + 0x530], eax
test cl, 4
je 0x5c039de5
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 0x5c039d83
xor ecx, ecx
jmp 0x5c039d89
cmp ecx, eax
jle 0x5c039d89
mov ecx, eax
test edx, edx
jns 0x5c039d91
xor edx, edx
jmp 0x5c039d97
cmp edx, eax
jle 0x5c039d97
mov edx, eax
test esi, esi
jns 0x5c039d9f
xor esi, esi
jmp 0x5c039da5
cmp esi, eax
jle 0x5c039da5
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c039dc1
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c039de0
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c039dcf
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c039dd1
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [esi + ecx]
jmp 0x5c039e2b
test esi, 0x100000
jne 0x5c039e31
test dword [ebx + 0x1a60], 0x800
jne 0x5c039e06
test byte [ebx + 0x1a5c], 0x80
je 0x5c039e29
mov eax, dword [edi]
jmp 0x5c039e2b
test esi, 0x8000
jne 0x5c039e16
mov eax, dword [ebx + 0x5bc]
jmp 0x5c039e2b
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c039e29
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c039e2b
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
jmp 0x5c039e6b
mov ecx, dword [ebx + 0x1a5c]
mov eax, edx
test cl, 0xc0
je 0x5c039e6b
test cl, 0x40
je 0x5c039e57
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
mov eax, edx
test cl, cl
jns 0x5c039e6b
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, edx
test eax, 0x100
je 0x5c039e86
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x134]
push eax
mov ecx, ebx
call fcn.5c01a55e
pop ecx
mov ecx, dword [esp + 0x24]
jmp 0x5c039e8e
fstp st(0)
test cl, 1
je 0x5c03a301
mov eax, dword [esp + 0x88]
fld dword [esp + 0x30]
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]
test al, 0x40
je 0x5c039edc
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
test al, al
jns 0x5c039eeb
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c03a2ed
mov ecx, dword [esp + 0x7c]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c03a10f
test ecx, ecx
jne 0x5c03a2e0
test eax, 0x4010000
jne 0x5c039f77
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03a2e9
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x198]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x18]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c039f41
jmp 0x5c03a2e9
test eax, 0x10000
jne 0x5c03a010
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03a2e9
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x194]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c039fc6
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c039fe8
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push ecx
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x1c]
inc ecx
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c039f9e
jmp 0x5c03a2e9
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03a2e9
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c03a049
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x194]
jmp 0x5c03a0ad
cmp eax, 0x20000
jne 0x5c03a059
lea ecx, [esp + 0x134]
jmp 0x5c03a0ad
cmp eax, 0x10000
jne 0x5c03a069
lea ecx, [esp + 0x140]
jmp 0x5c03a0ad
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03a093
lea eax, [esp + 0x14c]
push eax
lea edx, [esp + 0x144]
lea ecx, [esp + 0x138]
call fcn.5c01a4a7
pop ecx
jmp 0x5c03a0a6
lea edx, [esp + 0x14c]
lea ecx, [esp + 0x140]
call fcn.5c01a531
lea ecx, [esp + 0x14c]
cmp dword [esi], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03a0da
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c03a0e2
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x20], 4
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03a036
jmp 0x5c03a2e9
test ecx, ecx
jne 0x5c03a2e0
test eax, 0x4010000
jne 0x5c03a136
push dword [ebx + 0x1a8c]
push dword [esp + 0x40]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c03a2e9
test eax, 0x10000
jne 0x5c03a1e6
mov edx, dword [esp + 0x3c]
xor esi, esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c03a2e9
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x1c], 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 + 0x28], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c03a1ae
mov eax, dword [esp + 0x14]
push dword [esp + 0x10]
shr ecx, 2
shr eax, 2
push edi
push edx
lea eax, [eax + ecx*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c03a1b6
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 + 0x28]
inc esi
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c03a165
jmp 0x5c03a2e9
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03a2e9
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b30]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], esi
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x5c03a21b
mov ecx, dword [esi]
add ecx, dword [esp + 0x3c]
jmp 0x5c03a27f
cmp eax, 0x20000
jne 0x5c03a22b
lea ecx, [esp + 0x134]
jmp 0x5c03a27f
cmp eax, 0x10000
jne 0x5c03a23b
lea ecx, [esp + 0x140]
jmp 0x5c03a27f
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03a265
lea eax, [esp + 0x158]
push eax
lea edx, [esp + 0x144]
lea ecx, [esp + 0x138]
call fcn.5c01a4a7
pop ecx
jmp 0x5c03a278
lea edx, [esp + 0x158]
lea ecx, [esp + 0x140]
call fcn.5c01a531
lea ecx, [esp + 0x158]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03a2ae
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c03a2b6
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x20], 4
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03a20c
jmp 0x5c03a2e9
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x88]
add eax, dword [ebx + 0x1a64]
mov dword [esp + 0x88], eax
test cl, 2
je 0x5c03a75a
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 0x10]
test dword [ebx + 0x1cd8], eax
jne 0x5c03a335
fld dword [esp + 0x30]
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 0x5c03a75a
mov ecx, dword [esp + 0x7c]
lea edi, [edx + 0x30]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c03a57c
test ecx, ecx
jne 0x5c03a56e
test eax, 0x4010000
jne 0x5c03a3d6
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03a756
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x198]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x18]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c03a3a0
jmp 0x5c03a756
test eax, 0x10000
jne 0x5c03a46f
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03a756
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x194]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c03a425
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03a447
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push ecx
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x1c]
inc ecx
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c03a3fd
jmp 0x5c03a756
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03a756
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c03a4a8
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x194]
jmp 0x5c03a50c
cmp eax, 0x20000
jne 0x5c03a4b8
lea ecx, [esp + 0x134]
jmp 0x5c03a50c
cmp eax, 0x10000
jne 0x5c03a4c8
lea ecx, [esp + 0x140]
jmp 0x5c03a50c
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03a4f2
lea eax, [esp + 0x164]
push eax
lea edx, [esp + 0x144]
lea ecx, [esp + 0x138]
call fcn.5c067c5f
pop ecx
jmp 0x5c03a505
lea edx, [esp + 0x164]
lea ecx, [esp + 0x140]
call fcn.5c01a531
lea ecx, [esp + 0x164]
cmp dword [esi], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03a539
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c03a541
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x20], 4
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03a495
jmp 0x5c03a756
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
jmp 0x5c03a756
test ecx, ecx
jne 0x5c03a74d
test eax, 0x4010000
jne 0x5c03a5a3
push dword [ebx + 0x1a8c]
push dword [esp + 0x40]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c03a756
test eax, 0x10000
jne 0x5c03a653
mov edx, dword [esp + 0x3c]
xor esi, esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c03a756
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x1c], 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 + 0x28], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c03a61b
mov eax, dword [esp + 0x14]
push dword [esp + 0x10]
shr ecx, 2
shr eax, 2
push edi
push edx
lea eax, [eax + ecx*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c03a623
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 + 0x28]
inc esi
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c03a5d2
jmp 0x5c03a756
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03a756
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b30]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], esi
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x5c03a688
mov ecx, dword [esi]
add ecx, dword [esp + 0x3c]
jmp 0x5c03a6ec
cmp eax, 0x20000
jne 0x5c03a698
lea ecx, [esp + 0x134]
jmp 0x5c03a6ec
cmp eax, 0x10000
jne 0x5c03a6a8
lea ecx, [esp + 0x140]
jmp 0x5c03a6ec
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03a6d2
lea eax, [esp + 0x170]
push eax
lea edx, [esp + 0x144]
lea ecx, [esp + 0x138]
call fcn.5c01a4a7
pop ecx
jmp 0x5c03a6e5
lea edx, [esp + 0x170]
lea ecx, [esp + 0x140]
call fcn.5c01a531
lea ecx, [esp + 0x170]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c03a71b
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x24]
jmp 0x5c03a723
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x20], 4
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03a679
jmp 0x5c03a756
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edx + 0x34]
mov ecx, dword [esp + 0x24]
test cl, 0x10
je 0x5c03a768
inc dword [esp + 0x70]
jmp 0x5c03a7f4
mov edx, dword [esp + 0x70]
test edx, edx
jle 0x5c03a7d2
mov eax, dword [esp + 0x98]
lea edi, [edx + 1]
mov dword [ebx + 0x1a70], eax
mov dword [ebx + 0x1a3c], 3
mov dword [ebx + 0x1a40], edi
mov dword [ebx + 0x1a54], edx
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5c05d150]
mov ecx, ebx
call esi
mov ecx, eax
mov dword [esp + 0x9c], ecx
test ecx, ecx
jne 0x5c03be86
mov ecx, dword [ebx + 0x1a64]
add dword [ebx + 0x1a48], edi
imul ecx, edi
add dword [esp + 0x98], ecx
and dword [esp + 0x70], eax
test byte [esp + 0x24], 8
je 0x5c03a7f4
push dword [esp + 0x68]
mov edx, dword [esp + 0xa4]
mov ecx, ebx
call fcn.5c021690
pop ecx
test eax, eax
jne 0x5c03be7f
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x1a60]
mov edx, dword [esp + 0x8c]
and eax, 0x8000000
add ecx, edx
test dword [ebx + 0x1a44], 0x40000000
mov dword [esp + 0x2c], ecx
mov edi, ecx
jne 0x5c03a891
test eax, eax
je 0x5c03a8f6
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 0x5c03a886
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x194], eax
inc ecx
cmp ecx, esi
jb 0x5c03a86a
mov eax, dword [esp + 0x194]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x2c]
add dword [esp + 0x6c], edx
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x84]
mov esi, edx
shr dword [esp + 0x24], 5
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x80]
mov edx, dword [edx + 0x2c]
inc eax
mov dword [esp + 0x68], esi
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
cmp eax, dword [esp + 0xac]
jb 0x5c03a92c
mov eax, dword [esp + 0xac]
inc eax
cmp dword [esp + 0x80], eax
jae 0x5c03be7f
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
jmp 0x5c039260
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 + 0x3c]
add eax, edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x194], eax
jmp 0x5c03a891
cmp dword [esp + 0x90], 0
jne 0x5c03c07e
cmp dword [esp + 0x70], 1
mov dword [esp + 0x2c], ecx
jne 0x5c03c07e
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 + 0x34]
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 + 0x38]
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 + 0x28]
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 + 0x1c]
fst dword [esp + 0x18]
fxch st(2)
fst dword [esp + 0x30]
fst dword [esp + 0x20]
test ecx, ecx
je 0x5c03ac1b
fld dword [esp + 0x54]
xor edx, edx
fst dword [esp + 0x20]
fld dword [esp + 0x40]
fstp dword [esp + 0x1c]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x28]
fst dword [esp + 0x40]
fxch st(2)
fst dword [esp + 0x48]
fxch st(3)
fst dword [esp + 0x4c]
fxch st(1)
fst dword [esp + 0x30]
fxch st(2)
fst dword [esp + 0x14]
fst dword [esp + 0x18]
fstp dword [esp + 0x10]
test ecx, ecx
je 0x5c03ab8c
fxch st(2)
lea eax, [ebx + 0x224]
fstp dword [esp + 0x48]
fxch st(1)
fstp dword [esp + 0x4c]
fstp dword [esp + 0x30]
fld dword [edi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x34]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x34]
fld dword [esp + 0x4c]
fmul st(1)
fadd dword [esp + 0x38]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x38]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x28]
fld dword [esp + 0x1c]
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 + 0x30]
fld dword [eax - 0x14]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax + 0xc]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x1c]
add eax, 0x40
fstp dword [esp + 0x1c]
cmp edx, ecx
jb 0x5c03aa91
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x10]
jmp 0x5c03ab98
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 + 0x34]
fld dword [esp + 0x4c]
fmul st(2)
fadd dword [esp + 0x18]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x38]
fld dword [esp + 0x30]
fmul st(3)
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x28]
fld dword [esp + 0x1c]
fmulp st(4)
fld dword [esp + 0x40]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x18]
fst dword [esp + 0x30]
fstp dword [esp + 0x20]
jmp 0x5c03ac27
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 + 0x34]
fld st(2)
fsubrp st(1)
shr edx, 1
mov esi, dword [ebx + 0x1cb8]
fstp dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
fld st(3)
fsubrp st(1)
and eax, 0xbfffffff
or edx, eax
shr edx, 1
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fld dword [esp + 0x20]
and eax, 0x9fffffff
fld dword [esp + 0x30]
or edx, eax
mov eax, dword [esp + 0x38]
fld st(4)
shr edx, 1
fsubrp st(1)
and eax, 0x8fffffff
or edx, eax
mov eax, dword [esp + 0x28]
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 0x5c03acf1
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 0x5c03ace3
or edx, edi
add edi, edi
add ecx, 0x10
sub esi, 1
jne 0x5c03acba
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x84]
fstp st(0)
fld dword [esp + 0x34]
fst dword [esp + 0x30]
and dword [ecx + 0x10], 0
fstp dword [ecx]
fld dword [esp + 0x38]
fst dword [esp + 0x4c]
fstp dword [ecx + 4]
fld dword [esp + 0x28]
fst dword [esp + 0x48]
fstp dword [ecx + 8]
fld dword [esp + 0x40]
fstp dword [ecx + 0xc]
test edx, edx
jne 0x5c03bfd5
add edi, dword [esp + 0x8c]
fstp st(1)
mov esi, dword [esp + 0x68]
fstp st(1)
fstp st(0)
mov dword [esp + 0x6c], edi
fld dword [esi + 0xc]
fld qword [esp + 0xb0]
fld st(0)
inc dword [esp + 0x70]
fdivrp st(2)
fxch st(1)
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fst dword [esp + 0x40]
fld dword [esi]
fmul st(1)
fmul dword [ebx + 0x5fc]
fadd dword [ebx + 0x604]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fst dword [esp + 0x34]
fld dword [esi + 4]
fmul st(2)
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fst dword [esp + 0x18]
fstp dword [esp + 0x38]
fld dword [esp + 0x34]
fst dword [esp + 0x34]
fld dword [esp + 0x38]
fst dword [esp + 0x38]
test edi, 0x100000
jne 0x5c03ae37
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x5c03ade4
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 0x5c03adfd
fstp dword [ebx + 0x1b24]
jmp 0x5c03adff
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c03ae20
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c03ae3b
fstp dword [ebx + 0x1b28]
jmp 0x5c03ae3d
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esi + 8]
xor ecx, ecx
fmul dword [ebx + 0x60c]
and dword [ebx + 0x5b8], 0
fmulp st(1)
fadd dword [ebx + 0x610]
fstp dword [esp + 0x28]
test edi, 0x20000000
je 0x5c03b0c0
mov eax, dword [esp + 0x2c]
fld dword [ebx + 0x444]
mov edx, 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 + 0x1c]
fld dword [esp + 0x1c]
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 + 0x1c]
fld dword [esp + 0x1c]
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 + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x18]
fstp dword [esp + 0x13c]
test edx, edx
je 0x5c03b0b7
fld dword [esp + 0x54]
xor esi, esi
fst dword [esp + 0x1c]
fst dword [esp + 0x134]
fst dword [esp + 0x138]
fst dword [esp + 0x13c]
fld dword [esp + 0x10]
fst dword [esp + 0x30]
fld dword [esp + 0x14]
fst dword [esp + 0x4c]
fld dword [esp + 0x18]
fst dword [esp + 0x48]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x18]
test edx, edx
je 0x5c03b070
mov ecx, dword [esp + 0x2c]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x30]
fstp dword [esp + 0x4c]
fstp dword [esp + 0x48]
fld dword [ecx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x30]
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 + 0x18]
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 + 0x1c]
fstp dword [esp + 0x1c]
fld dword [ecx + 4]
fld dword [ecx]
fld dword [ecx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x30]
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, edx
jb 0x5c03af83
fld dword [esp + 0x14]
mov ecx, dword [ebx + 0x5b8]
fstp dword [esp + 0x10]
fld dword [esp + 0x18]
fstp dword [esp + 0x14]
fld dword [esp + 0x20]
fstp dword [esp + 0x18]
jmp 0x5c03b076
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x1c]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld dword [esp + 0x30]
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 + 0x18]
fstp dword [esp + 0x13c]
or ecx, 1
mov dword [ebx + 0x5b8], ecx
test edi, 0x40000000
je 0x5c03b32a
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 + 0x1c]
fld dword [esp + 0x1c]
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 + 0x1c]
fld dword [esp + 0x1c]
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 + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x18]
fstp dword [esp + 0x148]
test ecx, ecx
je 0x5c03b303
fld dword [esp + 0x54]
xor edx, edx
fst dword [esp + 0x1c]
fst dword [esp + 0x140]
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fld dword [esp + 0x10]
fst dword [esp + 0x30]
fld dword [esp + 0x14]
fst dword [esp + 0x4c]
fld dword [esp + 0x18]
fst dword [esp + 0x48]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x18]
test ecx, ecx
je 0x5c03b2be
mov esi, dword [esp + 0x2c]
lea eax, [ebx + 0x38c]
mov edi, dword [esp + 0x58]
fxch st(1)
fstp dword [esp + 0x30]
fstp dword [esp + 0x4c]
fstp dword [esp + 0x48]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x30]
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 + 0x18]
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 + 0x1c]
fstp dword [esp + 0x1c]
fld dword [edi + 4]
fld dword [edi]
fld dword [edi + 8]
fld dword [eax - 8]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x30]
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 0x5c03b1da
fld dword [esp + 0x14]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x10]
fld dword [esp + 0x18]
fstp dword [esp + 0x14]
fld dword [esp + 0x20]
fstp dword [esp + 0x18]
jmp 0x5c03b2c4
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld dword [esp + 0x30]
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 + 0x18]
fstp dword [esp + 0x148]
jmp 0x5c03b305
fstp st(0)
test edi, 0x2000000
je 0x5c03b31b
lea edx, [esp + 0x140]
mov ecx, edx
call fcn.5c04ff08
or dword [ebx + 0x5b8], 2
mov ecx, dword [ebx + 0x5b8]
jmp 0x5c03b32c
fstp st(0)
mov edx, dword [ebx + 0x1a44]
test edx, 0x400
je 0x5c03b8f6
fld dword [esp + 0x54]
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fst dword [ebx + 0x50c]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fst dword [ebx + 0x52c]
test edx, 0x200
je 0x5c03b3cb
test edx, 0x10000
je 0x5c03b38f
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c03b387
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03b389
xor eax, eax
mov dword [ebx + 0x540], eax
test edx, 0x4000
je 0x5c03b3ad
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c03b3a5
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03b3a7
xor eax, eax
mov dword [ebx + 0x550], eax
test edx, 0x8000
je 0x5c03b3cb
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03b3c3
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03b3c5
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, edx
test edi, edi
je 0x5c03b417
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x134]
push eax
push dword [esp + 0x5c]
mov ecx, esi
push dword [esp + 0x34]
push edi
push ebx
call dword [0x5c05d150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c03b3d9
mov edx, dword [ebx + 0x1a44]
mov esi, edx
mov ecx, dword [ebx + 0x5b8]
fld dword [esp + 0x54]
test edx, 0x12000
je 0x5c03b668
test byte [ebx + 0x5b8], 8
jne 0x5c03b440
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c03b442
fstp st(0)
test edx, 0x10000
je 0x5c03b509
mov eax, dword [esp + 0x94]
test eax, eax
je 0x5c03b45f
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03b461
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 0x5c03b47b
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c03b4af
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c03b4de
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x194]
mov edi, dword [esp + 0x64]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], edi
jmp 0x5c03b549
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 0x5c03b60e
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x5c03b576
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03b578
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 0x5c03b592
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c03b5c0
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c03b5e9
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x194]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], edi
jmp 0x5c03b647
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c03b66e
mov edi, dword [esp + 0x44]
fstp st(0)
test cl, 8
je 0x5c03b79c
test esi, 0x12000
jne 0x5c03b6bf
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
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 0x5c03b6c5
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 0x5c03b728
xor ecx, ecx
jmp 0x5c03b72e
cmp ecx, eax
jle 0x5c03b72e
mov ecx, eax
test edx, edx
jns 0x5c03b736
xor edx, edx
jmp 0x5c03b73c
cmp edx, eax
jle 0x5c03b73c
mov edx, eax
test esi, esi
jns 0x5c03b744
xor esi, esi
jmp 0x5c03b74a
cmp esi, eax
jle 0x5c03b74a
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c03b766
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c03b785
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c03b774
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03b776
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c03b7d6
test esi, 0x4000
jne 0x5c03b7b2
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c03b7d0
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c03b7c6
mov eax, dword [eax]
mov edx, dword [eax]
and edx, 0xff000000
jmp 0x5c03b7c8
xor edx, edx
mov eax, dword [ebx + 0x5e8]
add eax, edx
mov dword [ebx + 0x530], eax
test cl, 4
je 0x5c03b8a2
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 0x5c03b840
xor ecx, ecx
jmp 0x5c03b846
cmp ecx, eax
jle 0x5c03b846
mov ecx, eax
test edx, edx
jns 0x5c03b84e
xor edx, edx
jmp 0x5c03b854
cmp edx, eax
jle 0x5c03b854
mov edx, eax
test esi, esi
jns 0x5c03b85c
xor esi, esi
jmp 0x5c03b862
cmp esi, eax
jle 0x5c03b862
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c03b87e
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c03b89d
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03b88c
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03b88e
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [esi + ecx]
jmp 0x5c03b8e8
test esi, 0x100000
jne 0x5c03b8ee
test dword [ebx + 0x1a60], 0x800
jne 0x5c03b8c3
test byte [ebx + 0x1a5c], 0x80
je 0x5c03b8e6
mov eax, dword [edi]
jmp 0x5c03b8e8
test esi, 0x8000
jne 0x5c03b8d3
mov eax, dword [ebx + 0x5bc]
jmp 0x5c03b8e8
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03b8e6
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c03b8e8
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
jmp 0x5c03b928
mov ecx, dword [ebx + 0x1a5c]
mov eax, edx
test cl, 0xc0
je 0x5c03b928
test cl, 0x40
je 0x5c03b914
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
mov eax, edx
test cl, cl
jns 0x5c03b928
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, edx
test eax, 0x100
je 0x5c03b943
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x134]
push eax
mov ecx, ebx
call fcn.5c01a55e
pop ecx
mov eax, dword [esp + 0x88]
fld dword [esp + 0x34]
fstp dword [eax]
fld dword [esp + 0x38]
fstp dword [eax + 4]
fld dword [esp + 0x28]
fstp dword [eax + 8]
fld dword [esp + 0x40]
fstp dword [eax + 0xc]
mov edi, dword [ebx + 0x1cd0]
add edi, eax
mov eax, dword [ebx + 0x1a6c]
test al, 0x40
je 0x5c03b988
mov eax, dword [ebx + 0x530]
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx + 0x1a6c]
test al, al
jns 0x5c03b997
mov eax, dword [ebx + 0x560]
mov dword [edi], eax
add edi, 4
test dword [ebx + 0x1a44], 0x10000000
jne 0x5c03bd95
mov ecx, dword [esp + 0x7c]
mov eax, dword [ebx + 0x1a60]
and ecx, 0x200000
test eax, 0x8000000
je 0x5c03bbbb
test ecx, ecx
jne 0x5c03bd8c
test eax, 0x4010000
jne 0x5c03ba23
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03bd95
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x14], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x198]
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 0x5c03b9ed
jmp 0x5c03bd95
test eax, 0x10000
jne 0x5c03babc
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03bd95
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x14], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x194]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
test eax, eax
jne 0x5c03ba72
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03ba94
push dword [esp + 0x18]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push ecx
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add edi, dword [esp + 0x1c]
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 0x5c03ba4a
jmp 0x5c03bd95
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03bd95
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c03baf5
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x194]
jmp 0x5c03bb59
cmp eax, 0x20000
jne 0x5c03bb05
lea ecx, [esp + 0x134]
jmp 0x5c03bb59
cmp eax, 0x10000
jne 0x5c03bb15
lea ecx, [esp + 0x140]
jmp 0x5c03bb59
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03bb3f
lea eax, [esp + 0x17c]
push eax
lea edx, [esp + 0x144]
lea ecx, [esp + 0x138]
call fcn.5c01a4a7
pop ecx
jmp 0x5c03bb52
lea edx, [esp + 0x17c]
lea ecx, [esp + 0x140]
call fcn.5c01a531
lea ecx, [esp + 0x17c]
cmp dword [esi], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
je 0x5c03bb86
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x20]
jmp 0x5c03bb8e
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add edi, dword [esp + 0x18]
add esi, 0x20
add dword [esp + 0x1c], 4
inc ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03bae2
jmp 0x5c03bd95
test ecx, ecx
jne 0x5c03bd8c
test eax, 0x4010000
jne 0x5c03bbe2
push dword [ebx + 0x1a8c]
push dword [esp + 0x40]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c03bd95
test eax, 0x10000
jne 0x5c03bc92
mov edx, dword [esp + 0x3c]
xor esi, esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c03bd95
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 + 0x10], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], eax
test eax, eax
je 0x5c03bc5a
mov eax, dword [esp + 0x10]
push dword [esp + 0x20]
shr ecx, 2
shr eax, 2
push edi
push edx
lea eax, [eax + ecx*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x20]
jmp 0x5c03bc62
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x28]
add esp, 0xc
add edx, dword [esp + 0x10]
add edi, dword [esp + 0x30]
inc esi
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c03bc11
jmp 0x5c03bd95
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03bd95
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b30]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], esi
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x5c03bcc7
mov ecx, dword [esi]
add ecx, dword [esp + 0x3c]
jmp 0x5c03bd2b
cmp eax, 0x20000
jne 0x5c03bcd7
lea ecx, [esp + 0x134]
jmp 0x5c03bd2b
cmp eax, 0x10000
jne 0x5c03bce7
lea ecx, [esp + 0x140]
jmp 0x5c03bd2b
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03bd11
lea eax, [esp + 0x188]
push eax
lea edx, [esp + 0x144]
lea ecx, [esp + 0x138]
call fcn.5c01a4a7
pop ecx
jmp 0x5c03bd24
lea edx, [esp + 0x188]
lea ecx, [esp + 0x140]
call fcn.5c01a531
lea ecx, [esp + 0x188]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
je 0x5c03bd5a
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x20]
jmp 0x5c03bd62
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add edi, dword [esp + 0x18]
add esi, 0x20
add dword [esp + 0x1c], 4
inc ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03bcb8
jmp 0x5c03bd95
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x88]
add eax, dword [ebx + 0x1a64]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x8c]
add edi, ecx
inc dword [esp + 0x80]
mov esi, dword [esi + 0x2c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x68], esi
mov dword [esp + 0x2c], edi
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x1a60]
and eax, 0x8000000
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c03be60
test eax, eax
je 0x5c03bf96
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 0x5c03be5c
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x194], eax
inc ecx
cmp ecx, esi
jb 0x5c03be40
mov eax, dword [esp + 0x194]
mov dword [esp + 0x3c], eax
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0xac]
cmp ecx, eax
jb 0x5c03bfcc
inc eax
cmp ecx, eax
jb 0x5c03ad42
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x70]
test eax, eax
jle 0x5c03becd
mov ecx, dword [esp + 0x98]
lea edi, [eax + 1]
mov dword [ebx + 0x1a70], ecx
mov dword [ebx + 0x1a3c], 3
mov dword [ebx + 0x1a40], edi
mov dword [ebx + 0x1a54], eax
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5c05d150]
mov ecx, ebx
call esi
add dword [ebx + 0x1a48], edi
mov ecx, eax
mov eax, dword [esp + 0x90]
mov dword [ebx + 0x680], eax
test dword [ebx + 0x1a60], 0x100000
mov eax, dword [esp + 0xa8]
mov dword [ebx + 0x684], eax
jne 0x5c03c101
fld dword [ebx + 0x68c]
fadd dword [ebx + 0x1b24]
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 0x5c03c087
fstp dword [ebx + 0x1b1c]
jmp 0x5c03c089
mov eax, dword [esp + 0x5c]
add dword [esp + 0x58], ecx
add eax, ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
add eax, ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x3c]
add eax, ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x194], eax
jmp 0x5c03be60
mov dword [esp + 0x2c], edi
jmp 0x5c03a949
fld dword [ebx + 0x63c]
fmul st(3)
fld dword [ebx + 0x634]
fmulp st(3)
mov edi, dword [esp + 0x2c]
mov esi, 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 + 0x1c]
fld st(2)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
and eax, 0x8003ffff
fsubp st(1)
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 + 0x1c]
shr ecx, 1
and eax, 0x8000ffff
or ecx, eax
mov eax, dword [esp + 0x84]
shr ecx, 0x10
or edx, ecx
or dword [esp + 0x90], edx
or dword [esp + 0x24], 0x11
mov dword [eax + 0x10], edx
jmp 0x5c039231
mov dword [esp + 0x2c], edi
jmp 0x5c03920f
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 0x5c03c0ae
fstp dword [ebx + 0x1b20]
jmp 0x5c03c0b0
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 0x5c03c0d8
fstp dword [ebx + 0x1b24]
jmp 0x5c03c0da
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 0x5c03c0ff
fstp dword [ebx + 0x1b28]
jmp 0x5c03c101
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 + 0x1b4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.5c04f7b0
mov esp, ebp
pop ebp
ret 4