Function at 0x5c01c306
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, 0x144
mov eax, dword [0x5c066124]
xor eax, esp
mov dword [esp + 0x140], eax
push ebx
mov ebx, ecx
push esi
push edi
xor edi, edi
mov eax, dword [ebx + 0x1a80]
mov ecx, dword [ebx + 0x1a7c]
mov edx, dword [ebx + 0x1a60]
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0x1a70]
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + 0x1a64]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x1a78]
mov dword [esp + 0x94], ecx
mov ecx, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x12c], ecx
mov ecx, 0x8000000
mov dword [esp + 0x60], edx
mov dword [esp + 0x88], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x3c], eax
test ecx, edx
jne 0x5c01c3da
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 + 0x4c], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x58], esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x50], ecx
cmp dword [ebx + 0x1a84], edi
je 0x5c01c461
mov ecx, dword [ebx + 0x1cbc]
add ecx, eax
jmp 0x5c01c422
mov eax, dword [ebx + 0x1a2c]
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x1a34]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x1a90]
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], eax
test dl, 0x10
jne 0x5c01c42f
test dword [ebx + 0x1a44], ecx
jne 0x5c01c42f
cmp dword [ebx + 0x1a84], edi
je 0x5c01c461
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x12c], ecx
jmp 0x5c01c461
mov esi, dword [ebx + 0x1a84]
mov ecx, edi
test esi, esi
je 0x5c01c461
lea edx, [ebx + 0x1a98]
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x12c], eax
inc ecx
cmp ecx, esi
jb 0x5c01c441
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x28], 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 + 0x64]
test eax, 0x400
je 0x5c01c5b8
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 0x5c01c5ba
mov edx, dword [ebx + 0x1a5c]
test dl, 0x40
je 0x5c01c53c
mov ecx, eax
cmp dword [ebx + 0x5f8], edi
jne 0x5c01c4e6
or ecx, 0x2200
lea esi, [esp + 0x4c]
mov dword [ebx + 0x1a44], ecx
mov dword [esp + 0x88], esi
mov eax, ecx
cmp dword [ebx + 0x5f0], edi
jne 0x5c01c503
or eax, 0x4200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x7c], ecx
cmp dword [ebx + 0x5ec], edi
jne 0x5c01c521
or eax, 0x10200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x80], ecx
cmp dword [ebx + 0x5f4], edi
jne 0x5c01c53c
or eax, 0x8200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x78], ecx
test dl, dl
jns 0x5c01c5ba
cmp dword [ebx + 0x5f8], 1
jne 0x5c01c55f
or eax, 0x2200
lea esi, [esp + 0x50]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x88], esi
cmp dword [ebx + 0x5f0], 1
jne 0x5c01c57b
or eax, 0x4200
lea ecx, [esp + 0x50]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x7c], ecx
cmp dword [ebx + 0x5ec], 1
jne 0x5c01c59a
or eax, 0x10200
lea ecx, [esp + 0x50]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x80], ecx
cmp dword [ebx + 0x5f4], 1
jne 0x5c01c5ba
or eax, 0x8200
lea ecx, [esp + 0x50]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x78], ecx
jmp 0x5c01c5ba
fstp st(0)
mov eax, dword [esp + 0x60]
mov edx, edi
and eax, 0x80000
mov dword [esp + 0x74], edx
push 0
pop ecx
setne cl
mov dword [esp + 0x8c], eax
mov eax, dword [ebx + 0x1a40]
dec ecx
mov dword [esp + 0x84], eax
test eax, eax
je 0x5c01dafb
fld1
mov esi, dword [esp + 0x3c]
fstp qword [esp + 0x98]
fldz
fstp qword [esp + 0xa0]
fld dword [0x5c003868]
fstp dword [esp + 0x90]
fld qword [0x5c003840]
fstp qword [esp + 0xa8]
mov dword [esp + 0x70], ecx
fld dword [esi + 4]
lea edi, [esp + 0xe4]
fld dword [esi]
xor eax, eax
fld dword [esi + 8]
fld dword [ebx + 0x4c4]
fmul st(2)
fld dword [ebx + 0x4d4]
fmul st(4)
push 6
pop ecx
rep stosd dword es:[edi], eax
faddp st(1)
mov ecx, dword [ebx + 0x1cb4]
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 + 0x44]
fld dword [ebx + 0x4c8]
fmul st(3)
fld dword [ebx + 0x4d8]
fmul st(5)
faddp st(1)
fld dword [ebx + 0x4e8]
fmul st(3)
faddp st(1)
fadd dword [ebx + 0x4f8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x48]
fld dword [ebx + 0x4cc]
fmul st(4)
fld dword [ebx + 0x4dc]
fmul st(6)
faddp st(1)
fld dword [ebx + 0x4ec]
fmul st(4)
faddp st(1)
fadd dword [ebx + 0x4fc]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x54]
fld dword [ebx + 0x4d0]
fmul st(5)
fld dword [ebx + 0x4e0]
fmul st(7)
faddp st(1)
fld dword [ebx + 0x4f0]
fmul st(5)
faddp st(1)
fadd dword [ebx + 0x500]
fstp dword [esp + 0x38]
fxch st(2)
fst dword [esp + 0x18]
fst dword [esp + 0x20]
fxch st(1)
fst dword [esp + 0x2c]
fst dword [esp + 0x14]
fxch st(2)
fst dword [esp + 0x1c]
fst dword [esp + 0x10]
test ecx, ecx
je 0x5c01c902
fld dword [esp + 0x64]
xor edx, edx
fst dword [esp + 0x2c]
fld dword [esp + 0x38]
fstp dword [esp + 0x18]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x54]
fst dword [esp + 0x38]
fxch st(2)
fst dword [esp + 0x34]
fxch st(3)
fst dword [esp + 0x30]
fxch st(1)
fst dword [esp + 0x1c]
fxch st(2)
fst dword [esp + 0x20]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
test ecx, ecx
je 0x5c01c86d
fxch st(2)
lea eax, [ebx + 0x224]
fstp dword [esp + 0x34]
fxch st(1)
fstp dword [esp + 0x30]
fstp dword [esp + 0x1c]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x44]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x44]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x48]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0xc]
fstp dword [esp + 0x48]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x54]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x54]
fld dword [esp + 0x18]
fmul st(1)
fadd dword [esp + 0x38]
fstp dword [esp + 0x38]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
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 + 0x34]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x30]
fld dword [eax - 0x18]
fmul st(2)
fld dword [eax - 8]
fmul st(4)
faddp st(1)
fld dword [eax + 8]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x18]
fstp dword [esp + 0x1c]
fld dword [eax - 0x14]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax + 0xc]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x1c]
add eax, 0x40
fstp dword [esp + 0x18]
cmp edx, ecx
jb 0x5c01c772
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fstp dword [esp + 0x20]
fld dword [esp + 0xc]
fstp dword [esp + 0x14]
fld dword [esp + 0x10]
fstp dword [esp + 0x10]
jmp 0x5c01c879
fstp st(2)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x2c]
fld qword [esp + 0x98]
fld st(0)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x44]
fld dword [esp + 0x30]
fmul st(2)
fadd dword [esp + 0x14]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x48]
fld dword [esp + 0x1c]
fmul st(3)
fadd dword [esp + 0x10]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x54]
fld dword [esp + 0x18]
fmulp st(4)
fld dword [esp + 0x38]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x38]
fxch st(1)
fst dword [esp + 0x18]
fstp dword [esp + 0x20]
fst dword [esp + 0x2c]
fstp dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x10]
jmp 0x5c01c915
fstp st(1)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld qword [esp + 0x98]
cmp dword [esp + 0x8c], 0
fld dword [esp + 0x10]
fstp dword [esp + 0x30]
fld dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x20]
fstp dword [esp + 0xc]
fld dword [esp + 0x38]
jne 0x5c01cb36
fld st(0)
mov eax, dword [esp + 0x44]
fld dword [esp + 0xc]
fld dword [esp + 0x18]
fld st(2)
shr eax, 1
fsubrp st(1)
mov esi, dword [ebx + 0x1cb8]
fstp dword [esp + 0xc]
fld dword [esp + 0x10]
fld dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
fld st(3)
fsubrp st(1)
and ecx, 0xbfffffff
or ecx, eax
shr ecx, 1
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x30]
and eax, 0x9fffffff
fld dword [esp + 0x1c]
or ecx, eax
mov eax, dword [esp + 0x48]
fld st(4)
shr ecx, 1
fsubrp st(1)
and eax, 0x8fffffff
or ecx, eax
mov eax, dword [esp + 0x54]
shr ecx, 1
and eax, 0x87ffffff
or ecx, eax
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
shr ecx, 1
and eax, 0x83ffffff
or ecx, eax
shr ecx, 0x1a
test esi, esi
je 0x5c01ca38
push 0x40
fstp st(5)
lea edx, [ebx + 0x1c54]
fld qword [esp + 0xa4]
pop edi
fld dword [edx - 4]
fmul st(3)
fld dword [edx]
fmul st(3)
faddp st(1)
fld dword [edx + 4]
fmul st(7)
faddp st(1)
fld dword [edx + 8]
fmul st(5)
faddp st(1)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5c01c9fa
or ecx, edi
add edi, edi
add edx, 0x10
sub esi, 1
jne 0x5c01c9d6
fstp st(5)
fstp st(4)
fld qword [esp + 0x98]
fxch st(4)
test ecx, ecx
jne 0x5c01ca3c
mov esi, dword [esp + 0x68]
fstp st(1)
and dword [esp + 0x70], ecx
fstp st(0)
xor eax, eax
fstp st(1)
fld st(1)
mov word [esi], ax
add esi, 2
mov dword [esp + 0x68], esi
fdivrp st(1)
jmp 0x5c01cb53
fstp st(0)
jmp 0x5c01ca11
test byte [esp + 0x60], 2
je 0x5c01caf7
fld dword [ebx + 0x63c]
fmul st(3)
fld dword [ebx + 0x634]
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fld dword [ebx + 0x638]
fmulp st(2)
fld dword [ebx + 0x640]
fmul st(3)
mov edx, dword [esp + 0x10]
shr edx, 1
and edx, 0x40000000
faddp st(2)
fxch st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x20]
fld st(2)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0xc]
mov eax, dword [esp + 0xc]
fld st(1)
fsubrp st(1)
and eax, 0x8003ffff
or edx, eax
shr edx, 1
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and eax, 0x8001ffff
or edx, eax
mov eax, dword [esp + 0x20]
shr edx, 1
and eax, 0x8000ffff
or edx, eax
shr edx, 0x10
or edx, ecx
mov ecx, edx
test edx, 0xfffffff0
jne 0x5c01cafb
mov esi, dword [esp + 0x68]
fstp st(1)
and dword [esp + 0x70], edx
fld st(1)
fdivrp st(1)
mov word [esi], cx
add esi, 2
or dword [esp + 0x74], edx
mov dword [esp + 0x68], esi
jmp 0x5c01cb53
fstp st(1)
fstp st(1)
test dword [ebx + 0x1a44], 0x200000
fstp st(0)
jne 0x5c01de80
mov eax, dword [esp + 0x68]
and dword [esp + 0x70], ecx
or dword [esp + 0x74], ecx
fld dword [esp + 0x44]
mov word [eax], cx
add eax, 2
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x6c]
fstp dword [eax]
fld dword [esp + 0x48]
jmp 0x5c01cc4d
fst dword [esp + 0xc]
test dword [esp + 0xc], 0x7fffffff
je 0x5c01cb4a
fld st(1)
fdivrp st(1)
jmp 0x5c01cb53
fstp st(0)
fld dword [esp + 0x90]
fstp dword [esp + 0x38]
test dword [ebx + 0x1a60], 0x100000
fld dword [esp + 0x38]
fld st(0)
fld dword [esp + 0x44]
fmul st(1)
fmul dword [ebx + 0x5fc]
fadd dword [ebx + 0x604]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x44]
fld dword [esp + 0x48]
fmul st(1)
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fst dword [esp + 0x20]
fstp dword [esp + 0x48]
fld dword [esp + 0x44]
fld dword [esp + 0x48]
jne 0x5c01cc2d
fld dword [esp + 0x10]
fld dword [esp + 0x14]
fld dword [ebx + 0x1b1c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c01cbde
fxch st(2)
fst dword [ebx + 0x1b1c]
fxch st(2)
fld dword [ebx + 0x1b24]
fcompp
fnstsw ax
test ah, 5
jp 0x5c01cbf7
fxch st(1)
fst dword [ebx + 0x1b24]
fxch st(1)
fld dword [esp + 0xc]
fld dword [esp + 0x20]
fld dword [ebx + 0x1b20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5c01cc18
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c01cc2d
fst dword [ebx + 0x1b28]
fld dword [ebx + 0x60c]
fmul dword [esp + 0x54]
mov eax, dword [esp + 0x6c]
fmulp st(3)
fld dword [ebx + 0x610]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x54]
fstp dword [eax]
fstp dword [eax + 4]
fld dword [esp + 0x54]
fstp dword [eax + 8]
fstp dword [eax + 0xc]
and dword [ebx + 0x5b8], 0
xor edx, edx
mov edi, dword [ebx + 0x1a60]
xor ecx, ecx
test edi, 0x20000000
je 0x5c01ced4
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebx + 0x1cb4]
fld dword [eax + 4]
fld dword [eax]
fld dword [eax + 8]
fld dword [ebx + 0x454]
fmul st(3)
fld dword [ebx + 0x444]
fmul st(3)
faddp st(1)
fld dword [ebx + 0x464]
fmul st(2)
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xe4]
fld dword [ebx + 0x458]
fmul st(4)
fld dword [ebx + 0x448]
fmul st(4)
faddp st(1)
fld dword [ebx + 0x468]
fmul st(3)
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xe8]
fld dword [ebx + 0x45c]
fmul st(5)
fld dword [ebx + 0x44c]
fmul st(5)
faddp st(1)
fld dword [ebx + 0x46c]
fmul st(4)
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xec]
test ecx, ecx
je 0x5c01cebd
fld dword [esp + 0x64]
xor esi, esi
fst dword [esp + 0x18]
fst dword [esp + 0xe4]
fst dword [esp + 0xe8]
fst dword [esp + 0xec]
fxch st(3)
fst dword [esp + 0x1c]
fxch st(2)
fst dword [esp + 0x30]
fxch st(1)
fst dword [esp + 0x34]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x20]
test ecx, ecx
je 0x5c01ce6e
mov edx, dword [esp + 0x3c]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x30]
fstp dword [esp + 0x34]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0xe4]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fstp dword [esp + 0xe4]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0xe8]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x14]
fstp dword [esp + 0xe8]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0xec]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0xec]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [eax - 0x10]
fmul st(3)
fld dword [eax - 0x20]
fmul st(3)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x1c]
fld dword [eax - 0xc]
fmul st(3)
fld dword [eax - 0x1c]
fmul st(3)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x30]
fld dword [eax - 8]
fmul st(3)
fld dword [eax - 0x18]
fmul st(3)
faddp st(1)
fld dword [eax + 8]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x18]
add eax, 0x40
fstp dword [esp + 0x34]
cmp esi, ecx
jb 0x5c01cd83
mov edx, dword [ebx + 0x5b8]
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0xc]
fstp dword [esp + 0x20]
jmp 0x5c01ce7a
fstp st(2)
fstp st(0)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x18]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x10]
fstp dword [esp + 0xe4]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0xe8]
fmul dword [esp + 0x34]
fadd dword [esp + 0x20]
fstp dword [esp + 0xec]
jmp 0x5c01cec9
fstp st(0)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
or edx, 1
mov dword [ebx + 0x5b8], edx
mov ecx, edx
test edi, 0x40000000
je 0x5c01d140
mov eax, dword [esp + 0x58]
fld dword [ebx + 0x484]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax]
fld dword [ebx + 0x488]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fstp dword [esp + 0xf0]
fld dword [ebx + 0x494]
fmul dword [eax]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x14]
fstp dword [esp + 0xf4]
fld dword [ebx + 0x4a4]
fmul dword [eax]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0xf8]
test ecx, ecx
je 0x5c01d117
fld dword [esp + 0x64]
xor edx, edx
fst dword [esp + 0x18]
fst dword [esp + 0xf0]
fst dword [esp + 0xf4]
fst dword [esp + 0xf8]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fld dword [esp + 0x14]
fst dword [esp + 0x30]
fld dword [esp + 0xc]
fst dword [esp + 0x34]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x20]
test ecx, ecx
je 0x5c01d0d2
mov esi, dword [esp + 0x3c]
lea eax, [ebx + 0x38c]
mov edi, dword [esp + 0x58]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x30]
fstp dword [esp + 0x34]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0xf0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fstp dword [esp + 0xf0]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0xf4]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x14]
fstp dword [esp + 0xf4]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0xf8]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0xf8]
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 + 0x1c]
fld dword [eax + 8]
fmul st(2)
fld dword [eax + 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 0x10]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x30]
fld dword [eax + 0x18]
fmulp st(2)
fld dword [eax + 0x1c]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 0x20]
add eax, 0x40
faddp st(1)
fstp dword [esp + 0x34]
cmp edx, ecx
jb 0x5c01cfee
fld dword [esp + 0x10]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0xc]
fstp dword [esp + 0x20]
jmp 0x5c01d0d8
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x18]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x10]
fstp dword [esp + 0xf0]
fld dword [esp + 0x30]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0xf4]
fmul dword [esp + 0x34]
fadd dword [esp + 0x20]
fstp dword [esp + 0xf8]
jmp 0x5c01d119
fstp st(0)
test edi, 0x2000000
je 0x5c01d12f
lea edx, [esp + 0xf0]
mov ecx, edx
call fcn.5c0504a4
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
jmp 0x5c01d142
fstp st(0)
mov edi, dword [ebx + 0x1a44]
test edi, 0x400
je 0x5c01d70a
fld dword [esp + 0x64]
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 0x5c01d1e1
test edi, 0x10000
je 0x5c01d1a5
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c01d19d
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c01d19f
xor eax, eax
mov dword [ebx + 0x540], eax
test edi, 0x4000
je 0x5c01d1c3
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c01d1bb
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c01d1bd
xor eax, eax
mov dword [ebx + 0x550], eax
test edi, 0x8000
je 0x5c01d1e1
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c01d1d9
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c01d1db
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 0x5c01d23b
fstp st(0)
mov esi, dword [eax + 0x80]
lea ecx, [esp + 0xe4]
push ecx
push dword [esp + 0x5c]
mov ecx, esi
push dword [esp + 0x44]
push eax
push ebx
call dword [0x5c06a150]
call esi
mov eax, dword [esp + 0x24]
add esp, 0x14
mov eax, dword [eax + 0x58]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c01d1f3
mov edi, dword [ebx + 0x1a44]
mov esi, edi
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
fld dword [esp + 0x64]
test edi, 0x12000
je 0x5c01d488
test cl, 8
jne 0x5c01d260
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c01d262
fstp st(0)
test edi, 0x10000
je 0x5c01d329
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5c01d27f
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c01d281
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c01d29b
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c01d2cf
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c01d2fe
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x12c]
mov edi, dword [esp + 0x50]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x40], edi
jmp 0x5c01d369
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x40]
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 0x5c01d42e
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c01d396
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c01d398
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c01d3b2
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c01d3e0
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c01d409
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x12c]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x40], edi
jmp 0x5c01d467
fld dword [ebx + 0x5a4]
fld qword [esp + 0xa8]
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 0x5c01d48e
mov edi, dword [esp + 0x40]
fstp st(0)
test dl, 8
je 0x5c01d5bc
test esi, 0x12000
jne 0x5c01d4df
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
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 0x5c01d4e5
fld dword [ebx + 0x504]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xb0]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0xb0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xb8]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0xb8]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xc0]
mov esi, dword [esp + 0xc0]
mov eax, 0xff
test ecx, ecx
jns 0x5c01d548
xor ecx, ecx
jmp 0x5c01d54e
cmp ecx, eax
jle 0x5c01d54e
mov ecx, eax
test edx, edx
jns 0x5c01d556
xor edx, edx
jmp 0x5c01d55c
cmp edx, eax
jle 0x5c01d55c
mov edx, eax
test esi, esi
jns 0x5c01d564
xor esi, esi
jmp 0x5c01d56a
cmp esi, eax
jle 0x5c01d56a
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c01d586
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c01d5a5
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c01d594
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c01d596
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 0x5c01d5f6
test esi, 0x4000
jne 0x5c01d5d2
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c01d5f0
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c01d5e6
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c01d5e8
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c01d6c2
fld dword [ebx + 0x524]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xc8]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0xc8]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xd0]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0xd0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xd8]
mov esi, dword [esp + 0xd8]
mov eax, 0xff
test ecx, ecx
jns 0x5c01d660
xor ecx, ecx
jmp 0x5c01d666
cmp ecx, eax
jle 0x5c01d666
mov ecx, eax
test edx, edx
jns 0x5c01d66e
xor edx, edx
jmp 0x5c01d674
cmp edx, eax
jle 0x5c01d674
mov edx, eax
test esi, esi
jns 0x5c01d67c
xor esi, esi
jmp 0x5c01d682
cmp esi, eax
jle 0x5c01d682
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c01d69e
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c01d6bd
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c01d6ac
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c01d6ae
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c01d730
test esi, 0x100000
jne 0x5c01d736
test dword [ebx + 0x1a60], 0x800
jne 0x5c01d6e7
test byte [ebx + 0x1a5c], 0x80
je 0x5c01d6e3
mov eax, dword [edi]
jmp 0x5c01d730
xor eax, eax
jmp 0x5c01d730
test esi, 0x8000
jne 0x5c01d6f7
mov eax, dword [ebx + 0x5bc]
jmp 0x5c01d730
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c01d6e3
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c01d730
mov ecx, dword [ebx + 0x1a5c]
test cl, 0xc0
je 0x5c01d736
test cl, 0x40
je 0x5c01d726
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test cl, cl
jns 0x5c01d736
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
mov ecx, eax
test eax, 0x100
je 0x5c01d761
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0xe4]
push eax
mov ecx, ebx
call fcn.5c01b46b
mov eax, dword [ebx + 0x1a44]
pop ecx
mov ecx, eax
mov edx, dword [esp + 0x6c]
test eax, eax
js 0x5c01d780
mov ecx, dword [ebx + 0x1cd0]
mov eax, dword [ebx + 0x530]
mov dword [edx + ecx], eax
mov eax, dword [ebx + 0x1a44]
mov ecx, eax
test eax, 0x100000
jne 0x5c01d79c
mov ecx, dword [ebx + 0x1cd4]
mov eax, dword [ebx + 0x560]
mov dword [edx + ecx], eax
mov ecx, dword [ebx + 0x1a44]
mov edi, dword [ebx + 0x1ccc]
and ecx, 0x10000000
mov eax, dword [ebx + 0x1a60]
add edi, edx
mov dword [esp + 0x1c], edi
test eax, 0x8000000
je 0x5c01dbad
test ecx, ecx
jne 0x5c01da5a
test dword [esp + 0x60], 0x200000
jne 0x5c01da51
test eax, 0x4010000
jne 0x5c01d82e
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c01da5a
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x14], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x130]
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 0x5c01d7f8
jmp 0x5c01da5a
test eax, 0x10000
jne 0x5c01d8cc
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c01da5a
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 + 0x20], edx
mov dword [esp + 0xc], eax
test eax, eax
jne 0x5c01d87c
push edx
push dword [esp + ecx*4 + 0x130]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c01d8a4
push dword [esp + 0xc]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x134]
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add edi, dword [esp + 0x20]
inc ecx
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c01d855
jmp 0x5c01da5a
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c01da5a
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c01d908
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x12c]
jmp 0x5c01d9ee
cmp eax, 0x20000
jne 0x5c01d91b
lea ecx, [esp + 0xe4]
jmp 0x5c01d9ee
cmp eax, 0x10000
jne 0x5c01d92e
lea ecx, [esp + 0xf0]
jmp 0x5c01d9ee
test dword [ebx + 0x1a60], 0x1000000
je 0x5c01d9d4
lea esi, [esp + 0xe4]
lea edi, [esp + 0xfc]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0xfc]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x100]
fld dword [esp + 0xf4]
fld dword [esp + 0xfc]
fld dword [esp + 0xf0]
fld dword [esp + 0xf8]
fld dword [esp + 0x104]
fld st(4)
mov edi, dword [esp + 0x1c]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x2c]
fmul st(5)
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x114]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x118]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x11c]
jmp 0x5c01d9e7
lea edx, [esp + 0x114]
lea ecx, [esp + 0xf0]
call fcn.5c01b43c
lea ecx, [esp + 0x114]
cmp dword [esi], 0
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
je 0x5c01da1b
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x38]
jmp 0x5c01da23
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x18], 4
inc ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c01d8f2
jmp 0x5c01da5a
fld dword [esp + 0x64]
fst dword [edi]
fstp dword [edi + 4]
mov esi, dword [esp + 0x3c]
add esi, dword [esp + 0x94]
test dword [ebx + 0x1a44], 0x40000000
mov dword [esp + 0x3c], esi
jne 0x5c01dad9
mov eax, dword [esp + 0x58]
xor ecx, ecx
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x40]
add edi, dword [ebx + 0x1a38]
add edx, dword [ebx + 0x1a94]
add eax, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x40], edx
mov dword [esp + 0x50], edx
test esi, esi
je 0x5c01dad5
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x12c], eax
inc ecx
cmp ecx, esi
jb 0x5c01dab9
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x6c]
add eax, dword [esp + 0x24]
sub dword [esp + 0x84], 1
mov dword [esp + 0x6c], eax
jne 0x5c01c620
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
test dword [ebx + 0x1a60], 0x100000
jne 0x5c01df1b
fld dword [ebx + 0x68c]
fadd dword [ebx + 0x1b24]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [esp + 0x8c]
fstp dword [ebx + 0x1b24]
fld dword [ebx + 0x1b28]
fadd dword [ebx + 0x68c]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [esp + 0xc]
fstp dword [ebx + 0x1b28]
fld dword [ebx + 0x1b1c]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [esp + 0x90]
fstp dword [ebx + 0x1b20]
fld dword [ebx + 0x624]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c01de9e
fstp dword [ebx + 0x1b1c]
jmp 0x5c01dea0
test ecx, ecx
jne 0x5c01de29
test dword [esp + 0x60], 0x200000
jne 0x5c01de20
test eax, 0x4010000
jne 0x5c01dbe2
push dword [ebx + 0x1a8c]
push dword [esp + 0x2c]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c01de29
test eax, 0x10000
jne 0x5c01dc92
mov eax, dword [esp + 0x28]
xor esi, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c01de2d
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x20], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xc], eax
test eax, eax
je 0x5c01dc5a
mov eax, dword [esp + 0x10]
push dword [esp + 0xc]
shr ecx, 2
shr eax, 2
push edi
push edx
lea eax, [eax + ecx*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x20]
jmp 0x5c01dc62
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x24]
add esp, 0xc
add edx, dword [esp + 0x10]
add edi, dword [esp + 0x2c]
inc esi
mov eax, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c01dc11
jmp 0x5c01de29
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c01de29
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x18], esi
mov dword [esp + 0x2c], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c01dcca
mov ecx, dword [eax]
add ecx, dword [esp + 0x28]
jmp 0x5c01ddb8
cmp ecx, 0x20000
jne 0x5c01dcde
lea ecx, [esp + 0xe4]
jmp 0x5c01ddb8
cmp ecx, 0x10000
jne 0x5c01dcf2
lea ecx, [esp + 0xf0]
jmp 0x5c01ddb8
test dword [ebx + 0x1a60], 0x1000000
je 0x5c01dd9e
lea esi, [esp + 0xe4]
lea edi, [esp + 0x108]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x108]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0xf4]
fld dword [esp + 0x10c]
fld dword [esp + 0xf0]
fld dword [esp + 0x108]
fld dword [esp + 0xf8]
fld dword [esp + 0x110]
fld st(5)
mov edi, dword [esp + 0x1c]
fmul st(5)
fld st(4)
mov eax, dword [esp + 0x2c]
fmul st(4)
mov esi, dword [esp + 0x18]
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul st(4), st(0)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x120]
fxch st(4)
fmul st(1)
fsubp st(3)
fxch st(2)
fstp dword [esp + 0x124]
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x128]
jmp 0x5c01ddb1
lea edx, [esp + 0x120]
lea ecx, [esp + 0xf0]
call fcn.5c01b43c
lea ecx, [esp + 0x120]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0xc], esi
test edx, edx
je 0x5c01dde2
mov eax, dword [eax + 0x14]
push edx
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x18]
jmp 0x5c01ddea
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 + 0x2c]
inc edx
add esi, 4
mov dword [esp + 0x1c], edi
add eax, 0x20
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x2c], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c01dcb8
jmp 0x5c01de29
fld dword [esp + 0x64]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x94]
add esi, edx
test dword [ebx + 0x1a44], 0x40000000
mov dword [esp + 0x3c], esi
jne 0x5c01dad9
mov ecx, dword [esp + 0x5c]
add dword [esp + 0x58], edx
add ecx, edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x40]
add ecx, edx
add eax, edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x12c], eax
jmp 0x5c01dad9
mov eax, dword [ebx + 0x1a40]
fstp st(0)
sub eax, dword [esp + 0x84]
fstp st(0)
mov dword [ebx + 0x225c], eax
xor eax, eax
jmp 0x5c01df29
fstp st(0)
fld dword [ebx + 0x628]
fstp dword [esp + 0x24]
fld dword [esp + 0x90]
fld dword [esp + 0x24]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c01dec8
fstp dword [ebx + 0x1b20]
jmp 0x5c01deca
fstp st(0)
fld dword [ebx + 0x62c]
fstp dword [esp + 0x24]
fld dword [esp + 0x8c]
fld dword [esp + 0x24]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c01def2
fstp dword [ebx + 0x1b24]
jmp 0x5c01def4
fstp st(0)
fld dword [ebx + 0x630]
fstp dword [esp + 0x24]
fld dword [esp + 0xc]
fld dword [esp + 0x24]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c01df19
fstp dword [ebx + 0x1b28]
jmp 0x5c01df1b
fstp st(0)
mov dword [ebx + 0x684], ecx
mov eax, ecx
mov dword [ebx + 0x680], edx
mov ecx, dword [esp + 0x14c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.5c04fcf0
mov esp, ebp
pop ebp
ret