Function at 0x5c02ca10
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, 0x3a4
mov eax, dword [0x5c066124]
xor eax, esp
mov dword [esp + 0x3a0], eax
test byte [0x5c067ffc], 2
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
je 0x5c02ca4d
call fcn.5c01df40
cmp dword [ebx + 0x684], 0
jmp 0x5c02f704
test dword [ebx + 0x1a60], 0x80000
jne 0x5c02ca3c
or dword [ebx + 0x225c], 0xffffffff
or dword [ebx + 0x1a44], 0x200000
call fcn.5c01df40
mov eax, dword [ebx + 0x225c]
xor edi, edi
mov ecx, dword [ebx + 0x1a70]
mov dword [esp + 0x78], edi
mov dword [esp + 0x84], ecx
cmp eax, 0xffffffff
je 0x5c02f6f4
mov edx, dword [ebx + 0x1a48]
push 3
mov dword [esp + 0x68], ecx
pop ecx
mov dword [esp + 0x8c], edx
cmp eax, ecx
jbe 0x5c02cacd
xor edx, edx
div ecx
mov ecx, ebx
mov esi, eax
sub dword [ebx + 0x1a54], esi
imul edx, esi, 3
mov dword [esp + 0x78], esi
call fcn.5c02c94d
mov eax, dword [ebx + 0x1a70]
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 0x1cd8]
mov edx, dword [ebx + 0x1a60]
mov dword [esp + 0x54], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov edi, dword [ebx + 0x1a78]
mov ecx, edi
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x1a64]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x178], ecx
mov ecx, 0x8000000
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x1a7c]
mov dword [esp + 0x70], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x5c], eax
test ecx, edx
jne 0x5c02cb73
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 + 0x30], edx
cmp dword [ebx + 0x1a84], 0
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x44], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], ecx
je 0x5c02cbfb
mov ecx, dword [ebx + 0x1cbc]
add ecx, edi
jmp 0x5c02cbbc
mov eax, dword [ebx + 0x1a2c]
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x1a34]
mov dword [esp + 0x30], eax
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x1a90]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], eax
test dl, 0x10
jne 0x5c02cbc9
test dword [ebx + 0x1a44], ecx
jne 0x5c02cbc9
cmp dword [ebx + 0x1a84], 0
je 0x5c02cbfb
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x178], ecx
jmp 0x5c02cbfb
mov esi, dword [ebx + 0x1a84]
xor ecx, ecx
test esi, esi
je 0x5c02cbfb
lea edx, [ebx + 0x1a98]
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x178], eax
inc ecx
cmp ecx, esi
jb 0x5c02cbdb
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x18], 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 + 0x60]
test eax, 0x400
je 0x5c02cd52
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 0x5c02cd4c
mov edx, dword [ebx + 0x1a5c]
test dl, 0x40
je 0x5c02ccd2
xor edi, edi
mov ecx, eax
cmp dword [ebx + 0x5f8], edi
jne 0x5c02cc7f
or ecx, 0x2200
lea esi, [esp + 0x48]
mov dword [ebx + 0x1a44], ecx
mov dword [esp + 0x7c], esi
mov eax, ecx
cmp dword [ebx + 0x5f0], edi
jne 0x5c02cc9c
or eax, 0x4200
lea ecx, [esp + 0x48]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x68], ecx
cmp dword [ebx + 0x5ec], edi
jne 0x5c02ccb7
or eax, 0x10200
lea ecx, [esp + 0x48]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x74], ecx
cmp dword [ebx + 0x5f4], edi
jne 0x5c02ccd2
or eax, 0x8200
lea ecx, [esp + 0x48]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x6c], ecx
test dl, dl
jns 0x5c02cd4c
cmp dword [ebx + 0x5f8], 1
jne 0x5c02ccf2
or eax, 0x2200
lea esi, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x7c], esi
cmp dword [ebx + 0x5f0], 1
jne 0x5c02cd0e
or eax, 0x4200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x68], ecx
cmp dword [ebx + 0x5ec], 1
jne 0x5c02cd2a
or eax, 0x10200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x74], ecx
cmp dword [ebx + 0x5f4], 1
mov edi, dword [esp + 0x28]
jne 0x5c02cd54
or eax, 0x8200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x6c], ecx
jmp 0x5c02cd54
mov edi, dword [esp + 0x28]
jmp 0x5c02cd54
fstp st(0)
mov edx, dword [ebx + 0x1a54]
lea eax, [esp + 0x248]
mov dword [esp + 0x1c4], eax
lea eax, [esp + 0x2f8]
mov dword [esp + 0x274], eax
mov dword [esp + 0x80], edx
test edx, edx
je 0x5c02e071
fld1
fstp qword [esp + 0x90]
fld qword [0x5c003840]
fstp qword [esp + 0x98]
mov eax, edi
mov dword [esp + 0x20], 3
lea ecx, [esp + 0x198]
mov dword [esp + 0x38], eax
xor esi, esi
mov dword [esp + 0x1c], ecx
or edi, 0xffffffff
push ecx
mov edx, eax
mov ecx, ebx
call fcn.5c02c510
mov edx, dword [esp + 0x60]
or esi, eax
and edi, eax
mov eax, dword [esp + 0x3c]
pop ecx
mov ecx, dword [esp + 0x1c]
add eax, edx
add ecx, 0xb0
mov dword [esp + 0x38], eax
sub dword [esp + 0x20], 1
mov dword [esp + 0x1c], ecx
jne 0x5c02cdb9
or dword [ebx + 0x680], esi
and dword [ebx + 0x684], edi
test edi, edi
jne 0x5c02f35b
mov edx, dword [esp + 0x88]
test edx, esi
jne 0x5c02e0a3
inc dword [esp + 0x78]
lea ecx, [esp + 0x198]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x24], 3
test dword [ebx + 0x1a60], 0x100000
fld dword [ecx + 0xc]
fld qword [esp + 0x90]
fld st(0)
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld st(0)
fld dword [ecx]
fmul st(1)
fmul dword [ebx + 0x5fc]
fadd dword [ebx + 0x604]
fstp dword [esp + 0x14]
fld dword [ecx + 4]
fmul st(1)
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0x3c]
fld dword [esp + 0x14]
fld dword [esp + 0x3c]
jne 0x5c02cee8
fld st(1)
fld dword [ebx + 0x1b1c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5c02ce9b
fxch st(2)
fst dword [ebx + 0x1b1c]
fxch st(2)
fld dword [ebx + 0x1b24]
fcompp
fnstsw ax
test ah, 5
jp 0x5c02ceb4
fxch st(1)
fst dword [ebx + 0x1b24]
fxch st(1)
fld st(0)
fld dword [ebx + 0x1b20]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5c02cecf
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
mov eax, dword [esp + 0x64]
jp 0x5c02cee8
fst dword [ebx + 0x1b28]
fld dword [ecx + 8]
xor edx, edx
fmul dword [ebx + 0x60c]
xor ecx, ecx
fmulp st(3)
fld dword [ebx + 0x610]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x14]
fstp dword [eax]
fstp dword [eax + 4]
fld dword [esp + 0x14]
fstp dword [eax + 8]
fstp dword [eax + 0xc]
and dword [ebx + 0x5b8], 0
mov edi, dword [ebx + 0x1a60]
test edi, 0x20000000
je 0x5c02d188
mov eax, dword [esp + 0x28]
fld dword [ebx + 0x444]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax]
fld dword [ebx + 0x454]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x3c]
fstp dword [esp + 0x100]
fld dword [ebx + 0x448]
fmul dword [eax]
fld dword [ebx + 0x458]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x104]
fld dword [ebx + 0x44c]
fmul dword [eax]
fld dword [ebx + 0x45c]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x14]
fstp dword [esp + 0x108]
test ecx, ecx
je 0x5c02d17d
fld dword [esp + 0x60]
xor esi, esi
fst dword [esp + 0x38]
fst dword [esp + 0x100]
fst dword [esp + 0x104]
fst dword [esp + 0x108]
fld dword [esp + 0x3c]
fst dword [esp + 0x50]
fld dword [esp + 0x1c]
fst dword [esp + 0x34]
fld dword [esp + 0x14]
fst dword [esp + 0x20]
fxch st(3)
fst dword [esp + 0x1c]
fst dword [esp + 0x3c]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c02d136
mov edx, dword [esp + 0x28]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x50]
fstp dword [esp + 0x34]
fstp dword [esp + 0x20]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x100]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x3c]
fstp dword [esp + 0x100]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x104]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x104]
fld dword [esp + 0x20]
fmul st(1)
fadd dword [esp + 0x108]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x14]
fstp dword [esp + 0x108]
fadd dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x50]
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 + 0x34]
fld dword [eax - 0x18]
fmulp st(2)
fld dword [eax - 8]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 8]
faddp st(1)
fadd dword [eax + 0x18]
add eax, 0x40
fstp dword [esp + 0x20]
cmp esi, ecx
jb 0x5c02d049
fld dword [esp + 0x3c]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fstp dword [esp + 0x3c]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
jmp 0x5c02d13c
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x38]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x100]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x3c]
fstp dword [esp + 0x104]
fmul dword [esp + 0x20]
fadd dword [esp + 0x14]
fstp dword [esp + 0x108]
or edx, 1
mov dword [ebx + 0x5b8], edx
mov ecx, edx
test edi, 0x40000000
je 0x5c02d3f0
mov esi, dword [esp + 0x44]
fld dword [ebx + 0x484]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [esi]
fld dword [ebx + 0x488]
fmul dword [esi + 4]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [esi + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x10c]
fld dword [ebx + 0x494]
fmul dword [esi]
fld dword [ebx + 0x498]
fmul dword [esi + 4]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [esi + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x3c]
fstp dword [esp + 0x110]
fld dword [ebx + 0x4a4]
fmul dword [esi]
fld dword [ebx + 0x4a8]
fmul dword [esi + 4]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [esi + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x114]
test ecx, ecx
je 0x5c02d3c7
fld dword [esp + 0x60]
xor edx, edx
fst dword [esp + 0x38]
fst dword [esp + 0x10c]
fst dword [esp + 0x110]
fst dword [esp + 0x114]
fld dword [esp + 0x14]
fst dword [esp + 0x20]
fld dword [esp + 0x3c]
fst dword [esp + 0x34]
fld dword [esp + 0x10]
fst dword [esp + 0x50]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x3c]
fstp dword [esp + 0x1c]
test ecx, ecx
je 0x5c02d382
mov edi, dword [esp + 0x28]
lea eax, [ebx + 0x38c]
fxch st(1)
fstp dword [esp + 0x20]
fstp dword [esp + 0x34]
fstp dword [esp + 0x50]
fld dword [edi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x20]
fmul st(1)
fadd dword [esp + 0x10c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x10c]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x110]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x3c]
fstp dword [esp + 0x110]
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x114]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x114]
fadd dword [esp + 0x38]
fstp dword [esp + 0x38]
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 + 0x20]
fld dword [eax + 8]
fmul st(2)
fld dword [eax + 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 0x10]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x34]
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 + 0x50]
cmp edx, ecx
jb 0x5c02d29e
fld dword [esp + 0x14]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x14]
fld dword [esp + 0x3c]
fstp dword [esp + 0x3c]
fld dword [esp + 0x10]
fstp dword [esp + 0x1c]
jmp 0x5c02d388
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x38]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x20]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x10c]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x3c]
fstp dword [esp + 0x110]
fmul dword [esp + 0x50]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x114]
jmp 0x5c02d3c9
fstp st(0)
test edi, 0x2000000
je 0x5c02d3df
lea edx, [esp + 0x10c]
mov ecx, edx
call fcn.5c0504a4
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
jmp 0x5c02d3f2
fstp st(0)
mov edi, dword [ebx + 0x1a44]
test edi, 0x400
je 0x5c02d9b1
fld dword [esp + 0x60]
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 0x5c02d48e
test edi, 0x10000
je 0x5c02d452
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c02d44a
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d44c
xor eax, eax
mov dword [ebx + 0x540], eax
test edi, 0x4000
je 0x5c02d470
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02d468
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d46a
xor eax, eax
mov dword [ebx + 0x550], eax
test edi, 0x8000
je 0x5c02d48e
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02d486
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d488
xor eax, eax
mov dword [ebx + 0x570], eax
mov eax, dword [ebx + 0x5c0]
mov esi, edi
mov dword [esp + 0x14], eax
test eax, eax
je 0x5c02d4e8
fstp st(0)
mov esi, dword [eax + 0x80]
lea ecx, [esp + 0x100]
push ecx
push dword [esp + 0x48]
mov ecx, esi
push dword [esp + 0x30]
push eax
push ebx
call dword [0x5c06a150]
call esi
mov eax, dword [esp + 0x28]
add esp, 0x14
mov eax, dword [eax + 0x58]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x5c02d4a0
mov edi, dword [ebx + 0x1a44]
mov esi, edi
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
fld dword [esp + 0x60]
test edi, 0x12000
je 0x5c02d72f
test cl, 8
jne 0x5c02d50d
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c02d50f
fstp st(0)
test edi, 0x10000
je 0x5c02d5d3
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c02d529
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02d52b
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 0x5c02d545
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02d579
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02d5a8
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x4c]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edi
jmp 0x5c02d613
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x2c]
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 0x5c02d6d5
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c02d63d
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02d63f
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 0x5c02d659
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02d687
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02d6b0
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edi
jmp 0x5c02d70e
fld dword [ebx + 0x5a4]
fld qword [esp + 0x98]
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 0x5c02d735
mov edi, dword [esp + 0x2c]
fstp st(0)
test dl, 8
je 0x5c02d863
test esi, 0x12000
jne 0x5c02d786
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 0x5c02d78c
fld dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xa0]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0xa0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xa8]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0xa8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xb0]
mov esi, dword [esp + 0xb0]
mov eax, 0xff
test ecx, ecx
jns 0x5c02d7ef
xor ecx, ecx
jmp 0x5c02d7f5
cmp ecx, eax
jle 0x5c02d7f5
mov ecx, eax
test edx, edx
jns 0x5c02d7fd
xor edx, edx
jmp 0x5c02d803
cmp edx, eax
jle 0x5c02d803
mov edx, eax
test esi, esi
jns 0x5c02d80b
xor esi, esi
jmp 0x5c02d811
cmp esi, eax
jle 0x5c02d811
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c02d82d
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c02d84c
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02d83b
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d83d
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 0x5c02d89d
test esi, 0x4000
jne 0x5c02d879
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c02d897
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02d88d
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c02d88f
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c02d969
fld dword [ebx + 0x524]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xb8]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0xb8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xc0]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0xc0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xc8]
mov esi, dword [esp + 0xc8]
mov eax, 0xff
test ecx, ecx
jns 0x5c02d907
xor ecx, ecx
jmp 0x5c02d90d
cmp ecx, eax
jle 0x5c02d90d
mov ecx, eax
test edx, edx
jns 0x5c02d915
xor edx, edx
jmp 0x5c02d91b
cmp edx, eax
jle 0x5c02d91b
mov edx, eax
test esi, esi
jns 0x5c02d923
xor esi, esi
jmp 0x5c02d929
cmp esi, eax
jle 0x5c02d929
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c02d945
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c02d964
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02d953
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d955
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c02d9d7
test esi, 0x100000
jne 0x5c02d9dd
test dword [ebx + 0x1a60], 0x800
jne 0x5c02d98e
test byte [ebx + 0x1a5c], 0x80
je 0x5c02d98a
mov eax, dword [edi]
jmp 0x5c02d9d7
xor eax, eax
jmp 0x5c02d9d7
test esi, 0x8000
jne 0x5c02d99e
mov eax, dword [ebx + 0x5bc]
jmp 0x5c02d9d7
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02d98a
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c02d9d7
mov ecx, dword [ebx + 0x1a5c]
test cl, 0xc0
je 0x5c02d9dd
test cl, 0x40
je 0x5c02d9cd
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test cl, cl
jns 0x5c02d9dd
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
mov ecx, eax
test eax, 0x100
je 0x5c02da08
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x100]
push eax
mov ecx, ebx
call fcn.5c01b46b
mov eax, dword [ebx + 0x1a44]
pop ecx
mov ecx, eax
mov edx, dword [esp + 0x64]
test eax, eax
js 0x5c02da27
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 0x5c02da43
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 + 0x20], edi
test eax, 0x8000000
je 0x5c02dd7e
test ecx, ecx
jne 0x5c02dd01
test dword [esp + 0x70], 0x200000
jne 0x5c02dcf8
test eax, 0x4010000
jne 0x5c02dad5
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c02dd01
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x3c], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x17c]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x3c]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c02da9f
jmp 0x5c02dd01
test eax, 0x10000
jne 0x5c02db73
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c02dd01
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x3c], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c02db23
push edx
push dword [esp + ecx*4 + 0x17c]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c02db4b
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x180]
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x1c]
inc ecx
mov eax, dword [esp + 0x3c]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x3c], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c02dafc
jmp 0x5c02dd01
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c02dd01
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c02dbaf
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x178]
jmp 0x5c02dc95
cmp eax, 0x20000
jne 0x5c02dbc2
lea ecx, [esp + 0x100]
jmp 0x5c02dc95
cmp eax, 0x10000
jne 0x5c02dbd5
lea ecx, [esp + 0x10c]
jmp 0x5c02dc95
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02dc7b
lea esi, [esp + 0x100]
lea edi, [esp + 0x118]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x118]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x11c]
fld dword [esp + 0x110]
fld dword [esp + 0x118]
fld dword [esp + 0x10c]
fld dword [esp + 0x120]
fld dword [esp + 0x114]
fld st(4)
mov edi, dword [esp + 0x20]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x34]
fmul st(5)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x148]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x14c]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x150]
jmp 0x5c02dc8e
lea edx, [esp + 0x148]
lea ecx, [esp + 0x10c]
call fcn.5c01b43c
lea ecx, [esp + 0x148]
cmp dword [esi], 0
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c02dcc2
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 + 0x40]
jmp 0x5c02dcca
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add esi, 0x20
add dword [esp + 0x38], 4
inc ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x34], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c02db99
jmp 0x5c02dd01
fld dword [esp + 0x60]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x5c]
add dword [esp + 0x28], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c02e03d
mov eax, dword [esp + 0x44]
xor ecx, ecx
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
add edi, dword [ebx + 0x1a38]
add edx, dword [ebx + 0x1a94]
add eax, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], edx
test esi, esi
je 0x5c02e03d
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x178], eax
inc ecx
cmp ecx, esi
jb 0x5c02dd61
mov eax, dword [esp + 0x178]
jmp 0x5c02e039
test ecx, ecx
jne 0x5c02dff8
test dword [esp + 0x70], 0x200000
jne 0x5c02dfef
test eax, 0x4010000
jne 0x5c02ddb3
push dword [ebx + 0x1a8c]
push dword [esp + 0x1c]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c02dff8
test eax, 0x10000
jne 0x5c02de63
mov eax, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c02dffc
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 + 0x38]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c02de2b
mov eax, dword [esp + 0x14]
push dword [esp + 0x10]
shr ecx, 2
shr eax, 2
push edi
push edx
lea eax, [eax + ecx*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x48]
jmp 0x5c02de33
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x44]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x20]
inc esi
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x1c], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c02dde2
jmp 0x5c02dff8
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c02dff8
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c02de9b
mov ecx, dword [eax]
add ecx, dword [esp + 0x18]
jmp 0x5c02df87
cmp ecx, 0x20000
jne 0x5c02deaf
lea ecx, [esp + 0x100]
jmp 0x5c02df87
cmp ecx, 0x10000
jne 0x5c02dec3
lea ecx, [esp + 0x10c]
jmp 0x5c02df87
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02df6d
lea esi, [esp + 0x100]
lea edi, [esp + 0x124]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x124]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x128]
fld dword [esp + 0x110]
fld dword [esp + 0x124]
fld dword [esp + 0x10c]
fld dword [esp + 0x12c]
fld dword [esp + 0x114]
fld st(4)
mov edi, dword [esp + 0x20]
fmul st(6)
fld st(3)
mov eax, dword [esp + 0x34]
fmul st(5)
mov esi, dword [esp + 0x38]
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x154]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x158]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x15c]
jmp 0x5c02df80
lea edx, [esp + 0x154]
lea ecx, [esp + 0x10c]
call fcn.5c01b43c
lea ecx, [esp + 0x154]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
test edx, edx
je 0x5c02dfb1
mov eax, dword [eax + 0x14]
push edx
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x1c]
jmp 0x5c02dfb9
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x44]
add esp, 0xc
mov eax, dword [esp + 0x34]
inc edx
add esi, 4
mov dword [esp + 0x20], edi
add eax, 0x20
mov dword [esp + 0x14], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c02de89
jmp 0x5c02dff8
fld dword [esp + 0x60]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x5c]
add dword [esp + 0x28], edx
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c02e03d
mov ecx, dword [esp + 0x30]
add dword [esp + 0x44], edx
add ecx, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x2c]
add ecx, edx
add eax, edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x178], eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x64]
add eax, dword [esp + 0x58]
sub dword [esp + 0x24], 1
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x64], eax
jne 0x5c02ce29
mov edi, dword [esp + 0x28]
sub dword [esp + 0x80], 1
jne 0x5c02cd9b
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c02f5a4
imul esi, eax, 3
mov ecx, ebx
push eax
push esi
push dword [esp + 0x8c]
push 4
pop edx
call fcn.5c022413
add esp, 0xc
mov ecx, eax
add dword [ebx + 0x1a48], esi
jmp 0x5c02f5a8
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c02e0e6
imul esi, eax, 3
mov ecx, ebx
push eax
push esi
push dword [esp + 0x8c]
push 4
pop edx
call fcn.5c022413
add dword [ebx + 0x1a48], esi
mov ecx, eax
mov eax, dword [esp + 0x70]
add esp, 0xc
mov dword [esp + 0x84], eax
test ecx, ecx
jne 0x5c02f5a8
mov edx, dword [esp + 0x88]
and dword [esp + 0x78], 0
lea ecx, [esp + 0x198]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], 3
test dword [ecx + 0x10], edx
jne 0x5c02e1e3
test dword [ebx + 0x1a60], 0x100000
fld dword [ecx + 0xc]
fld qword [esp + 0x90]
fld st(0)
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld st(0)
fld dword [ecx]
fmul st(1)
fmul dword [ebx + 0x5fc]
fadd dword [ebx + 0x604]
fstp dword [esp + 0x10]
fld dword [ecx + 4]
fmul st(1)
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0x54]
fld dword [esp + 0x10]
fld dword [esp + 0x54]
jne 0x5c02e1c2
fld st(1)
fld dword [ebx + 0x1b1c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5c02e179
fxch st(2)
fst dword [ebx + 0x1b1c]
fxch st(2)
fld dword [ebx + 0x1b24]
fcompp
fnstsw ax
test ah, 5
jp 0x5c02e192
fxch st(1)
fst dword [ebx + 0x1b24]
fxch st(1)
fld st(0)
fld dword [ebx + 0x1b20]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5c02e1ad
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c02e1c2
fst dword [ebx + 0x1b28]
fxch st(1)
fstp dword [ecx + 0x1c]
fstp dword [ecx + 0x20]
fld dword [ecx + 8]
fmul dword [ebx + 0x60c]
fmulp st(1)
fadd dword [ebx + 0x610]
fstp dword [ecx + 0x24]
fstp dword [ecx + 0x28]
jmp 0x5c02e1ea
fld qword [esp + 0x90]
and dword [ebx + 0x5b8], 0
xor edx, edx
mov edi, dword [ebx + 0x1a60]
xor ecx, ecx
test edi, 0x20000000
je 0x5c02e462
mov eax, dword [esp + 0x28]
fld dword [ebx + 0x444]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax]
fld dword [ebx + 0x454]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x54]
fstp dword [esp + 0x100]
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 + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fstp dword [esp + 0x104]
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 + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x108]
test ecx, ecx
je 0x5c02e457
fld dword [esp + 0x60]
xor esi, esi
fst dword [esp + 0x1c]
fst dword [esp + 0x100]
fst dword [esp + 0x104]
fst dword [esp + 0x108]
fld dword [esp + 0x54]
fst dword [esp + 0x20]
fld dword [esp + 0x24]
fst dword [esp + 0x34]
fld dword [esp + 0x10]
fst dword [esp + 0x50]
fxch st(3)
fst dword [esp + 0x24]
fst dword [esp + 0x40]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c02e410
mov edx, dword [esp + 0x28]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x20]
fstp dword [esp + 0x34]
fstp dword [esp + 0x50]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x20]
fmul st(1)
fadd dword [esp + 0x100]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x54]
fstp dword [esp + 0x100]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x104]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x40]
fstp dword [esp + 0x104]
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x108]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x108]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x20]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x34]
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 + 0x50]
cmp esi, ecx
jb 0x5c02e323
fld dword [esp + 0x54]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x24]
fld dword [esp + 0x40]
fstp dword [esp + 0x40]
fld dword [esp + 0x10]
fstp dword [esp + 0x14]
jmp 0x5c02e416
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x1c]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x20]
fmul st(1)
fadd dword [esp + 0x24]
fstp dword [esp + 0x100]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x40]
fstp dword [esp + 0x104]
fmul dword [esp + 0x50]
fadd dword [esp + 0x14]
fstp dword [esp + 0x108]
or edx, 1
mov dword [ebx + 0x5b8], edx
mov ecx, edx
test edi, 0x40000000
je 0x5c02e6ca
mov esi, dword [esp + 0x44]
fld dword [ebx + 0x484]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [esi]
fld dword [ebx + 0x488]
fmul dword [esi + 4]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [esi + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x54]
fstp dword [esp + 0x10c]
fld dword [ebx + 0x494]
fmul dword [esi]
fld dword [ebx + 0x498]
fmul dword [esi + 4]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [esi + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fstp dword [esp + 0x110]
fld dword [ebx + 0x4a4]
fmul dword [esi]
fld dword [ebx + 0x4a8]
fmul dword [esi + 4]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [esi + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x114]
test ecx, ecx
je 0x5c02e6a1
fld dword [esp + 0x60]
xor edx, edx
fst dword [esp + 0x1c]
fst dword [esp + 0x10c]
fst dword [esp + 0x110]
fst dword [esp + 0x114]
fld dword [esp + 0x54]
fst dword [esp + 0x20]
fld dword [esp + 0x24]
fst dword [esp + 0x34]
fld dword [esp + 0x10]
fst dword [esp + 0x50]
fxch st(3)
fst dword [esp + 0x24]
fst dword [esp + 0x40]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c02e65c
mov edi, dword [esp + 0x28]
lea eax, [ebx + 0x38c]
fxch st(1)
fstp dword [esp + 0x20]
fstp dword [esp + 0x34]
fstp dword [esp + 0x50]
fld dword [edi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x20]
fmul st(1)
fadd dword [esp + 0x10c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x54]
fstp dword [esp + 0x10c]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x110]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x40]
fstp dword [esp + 0x110]
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x114]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x114]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
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 + 0x20]
fld dword [eax + 8]
fmul st(2)
fld dword [eax + 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 0x10]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x34]
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 + 0x50]
cmp edx, ecx
jb 0x5c02e578
fld dword [esp + 0x54]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x24]
fld dword [esp + 0x40]
fstp dword [esp + 0x40]
fld dword [esp + 0x10]
fstp dword [esp + 0x14]
jmp 0x5c02e662
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x1c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x20]
fmul st(1)
fadd dword [esp + 0x24]
fstp dword [esp + 0x10c]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x40]
fstp dword [esp + 0x110]
fmul dword [esp + 0x50]
fadd dword [esp + 0x14]
fstp dword [esp + 0x114]
jmp 0x5c02e6a3
fstp st(0)
test edi, 0x2000000
je 0x5c02e6b9
lea edx, [esp + 0x10c]
mov ecx, edx
call fcn.5c0504a4
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
jmp 0x5c02e6cc
fstp st(0)
mov edi, dword [ebx + 0x1a44]
test edi, 0x400
je 0x5c02ec8b
fld dword [esp + 0x60]
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 0x5c02e768
test edi, 0x10000
je 0x5c02e72c
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c02e724
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02e726
xor eax, eax
mov dword [ebx + 0x540], eax
test edi, 0x4000
je 0x5c02e74a
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02e742
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02e744
xor eax, eax
mov dword [ebx + 0x550], eax
test edi, 0x8000
je 0x5c02e768
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02e760
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02e762
xor eax, eax
mov dword [ebx + 0x570], eax
mov eax, dword [ebx + 0x5c0]
mov esi, edi
mov dword [esp + 0x24], eax
test eax, eax
je 0x5c02e7c2
fstp st(0)
mov esi, dword [eax + 0x80]
lea ecx, [esp + 0x100]
push ecx
push dword [esp + 0x48]
mov ecx, esi
push dword [esp + 0x30]
push eax
push ebx
call dword [0x5c06a150]
call esi
mov eax, dword [esp + 0x38]
add esp, 0x14
mov eax, dword [eax + 0x58]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x5c02e77a
mov edi, dword [ebx + 0x1a44]
mov esi, edi
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
fld dword [esp + 0x60]
test edi, 0x12000
je 0x5c02ea09
test cl, 8
jne 0x5c02e7e7
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c02e7e9
fstp st(0)
test edi, 0x10000
je 0x5c02e8ad
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c02e803
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02e805
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 0x5c02e81f
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02e853
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02e882
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x4c]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edi
jmp 0x5c02e8ed
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x2c]
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 0x5c02e9af
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c02e917
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02e919
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 0x5c02e933
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02e961
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02e98a
fadd dword [0x5c00386c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edi
jmp 0x5c02e9e8
fld dword [ebx + 0x5a4]
fld qword [esp + 0x98]
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 0x5c02ea0f
mov edi, dword [esp + 0x2c]
fstp st(0)
test dl, 8
je 0x5c02eb3d
test esi, 0x12000
jne 0x5c02ea60
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 0x5c02ea66
fld dword [ebx + 0x504]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xd0]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0xd0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xd8]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0xd8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xe0]
mov esi, dword [esp + 0xe0]
mov eax, 0xff
test ecx, ecx
jns 0x5c02eac9
xor ecx, ecx
jmp 0x5c02eacf
cmp ecx, eax
jle 0x5c02eacf
mov ecx, eax
test edx, edx
jns 0x5c02ead7
xor edx, edx
jmp 0x5c02eadd
cmp edx, eax
jle 0x5c02eadd
mov edx, eax
test esi, esi
jns 0x5c02eae5
xor esi, esi
jmp 0x5c02eaeb
cmp esi, eax
jle 0x5c02eaeb
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c02eb07
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c02eb26
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02eb15
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02eb17
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [esi + ecx]
mov dword [ebx + 0x530], eax
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c02eb77
test esi, 0x4000
jne 0x5c02eb53
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c02eb71
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02eb67
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c02eb69
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c02ec43
fld dword [ebx + 0x524]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xe8]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0xe8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xf0]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0xf0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xf8]
mov esi, dword [esp + 0xf8]
mov eax, 0xff
test ecx, ecx
jns 0x5c02ebe1
xor ecx, ecx
jmp 0x5c02ebe7
cmp ecx, eax
jle 0x5c02ebe7
mov ecx, eax
test edx, edx
jns 0x5c02ebef
xor edx, edx
jmp 0x5c02ebf5
cmp edx, eax
jle 0x5c02ebf5
mov edx, eax
test esi, esi
jns 0x5c02ebfd
xor esi, esi
jmp 0x5c02ec03
cmp esi, eax
jle 0x5c02ec03
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c02ec1f
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c02ec3e
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02ec2d
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02ec2f
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [esi + ecx]
jmp 0x5c02ecb1
test esi, 0x100000
jne 0x5c02ecb7
test dword [ebx + 0x1a60], 0x800
jne 0x5c02ec68
test byte [ebx + 0x1a5c], 0x80
je 0x5c02ec64
mov eax, dword [edi]
jmp 0x5c02ecb1
xor eax, eax
jmp 0x5c02ecb1
test esi, 0x8000
jne 0x5c02ec78
mov eax, dword [ebx + 0x5bc]
jmp 0x5c02ecb1
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02ec64
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c02ecb1
mov ecx, dword [ebx + 0x1a5c]
test cl, 0xc0
je 0x5c02ecb7
test cl, 0x40
je 0x5c02eca7
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test cl, cl
jns 0x5c02ecb7
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov ecx, dword [ebx + 0x1a44]
test ecx, 0x100
je 0x5c02ecdf
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x100]
push eax
mov ecx, ebx
call fcn.5c01b46b
pop ecx
mov ecx, dword [ebx + 0x1a44]
mov edx, dword [ebx + 0x1a6c]
mov esi, dword [esp + 0x38]
test dl, 0x40
je 0x5c02ecf7
mov eax, dword [ebx + 0x530]
mov dword [esi + 0x14], eax
test dl, dl
jns 0x5c02ed04
mov eax, dword [ebx + 0x560]
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0x1a60]
and ecx, 0x10000000
test eax, 0x8000000
je 0x5c02f03e
test ecx, ecx
jne 0x5c02efc1
test dword [esp + 0x70], 0x200000
lea edi, [esi + 0x30]
mov dword [esp + 0x24], edi
jne 0x5c02efb8
test eax, 0x4010000
jne 0x5c02ed91
xor eax, eax
mov dword [esp + 0x24], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c02efc1
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x40], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x17c]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x40]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x40], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c02ed5b
jmp 0x5c02efc1
test eax, 0x10000
jne 0x5c02ee2f
xor ecx, ecx
mov dword [esp + 0x24], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c02efc1
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x40], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x54], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c02eddf
push edx
push dword [esp + ecx*4 + 0x17c]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c02ee07
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x180]
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov ecx, dword [esp + 0x30]
add esp, 0xc
add edi, dword [esp + 0x54]
inc ecx
mov eax, dword [esp + 0x40]
add eax, 4
mov dword [esp + 0x24], ecx
mov dword [esp + 0x40], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c02edb8
jmp 0x5c02efc1
and dword [esp + 0x40], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c02efc1
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c02ee6b
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x178]
jmp 0x5c02ef55
cmp eax, 0x20000
jne 0x5c02ee7e
lea ecx, [esp + 0x100]
jmp 0x5c02ef55
cmp eax, 0x10000
jne 0x5c02ee91
lea ecx, [esp + 0x10c]
jmp 0x5c02ef55
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02ef3b
lea esi, [esp + 0x100]
lea edi, [esp + 0x130]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x130]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x134]
fld dword [esp + 0x110]
fld dword [esp + 0x130]
fld dword [esp + 0x10c]
fld dword [esp + 0x138]
fld dword [esp + 0x114]
fld st(5)
mov edi, dword [esp + 0x24]
fmul st(5)
fld st(4)
mov esi, dword [esp + 0x20]
fmul st(4)
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld st(0)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x160]
fld st(2)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x164]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x168]
jmp 0x5c02ef4e
lea edx, [esp + 0x160]
lea ecx, [esp + 0x10c]
call fcn.5c01b43c
lea ecx, [esp + 0x160]
cmp dword [esi], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c02ef82
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x2c]
jmp 0x5c02ef8a
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x40]
add esi, 0x20
add dword [esp + 0x1c], 4
inc ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x20], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c02ee55
jmp 0x5c02efc1
fld dword [esp + 0x60]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x5c]
add dword [esp + 0x28], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c02f308
mov eax, dword [esp + 0x44]
xor ecx, ecx
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
add edi, dword [ebx + 0x1a38]
add edx, dword [ebx + 0x1a94]
add eax, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], edx
test esi, esi
je 0x5c02f308
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x178], eax
inc ecx
cmp ecx, esi
jb 0x5c02f021
mov eax, dword [esp + 0x178]
jmp 0x5c02f304
test ecx, ecx
jne 0x5c02f2c3
test dword [esp + 0x70], 0x200000
lea edi, [esi + 0x30]
mov dword [esp + 0x24], edi
jne 0x5c02f2ba
test eax, 0x4010000
jne 0x5c02f07a
push dword [ebx + 0x1a8c]
push dword [esp + 0x1c]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c02f2c3
test eax, 0x10000
jne 0x5c02f12a
mov eax, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c02f2c7
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x14], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c02f0f2
mov eax, dword [esp + 0x24]
push dword [esp + 0x10]
shr ecx, 2
shr eax, 2
push edi
push edx
lea eax, [eax + ecx*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x4c]
jmp 0x5c02f0fa
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x28]
add esp, 0xc
add edx, dword [esp + 0x24]
add edi, dword [esp + 0x54]
inc esi
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x40], esi
mov dword [esp + 0x14], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c02f0a9
jmp 0x5c02f2c3
and dword [esp + 0x40], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c02f2c3
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c02f162
mov ecx, dword [eax]
add ecx, dword [esp + 0x18]
jmp 0x5c02f252
cmp ecx, 0x20000
jne 0x5c02f176
lea ecx, [esp + 0x100]
jmp 0x5c02f252
cmp ecx, 0x10000
jne 0x5c02f18a
lea ecx, [esp + 0x10c]
jmp 0x5c02f252
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02f238
lea esi, [esp + 0x100]
lea edi, [esp + 0x13c]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x13c]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x140]
fld dword [esp + 0x110]
fld dword [esp + 0x13c]
fld dword [esp + 0x10c]
fld dword [esp + 0x144]
fld dword [esp + 0x114]
fld st(3)
mov edi, dword [esp + 0x24]
fmul st(3)
fld st(6)
mov eax, dword [esp + 0x20]
fmul st(6)
mov esi, dword [esp + 0x1c]
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld st(0)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x16c]
fld st(2)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x170]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x174]
jmp 0x5c02f24b
lea edx, [esp + 0x16c]
lea ecx, [esp + 0x10c]
call fcn.5c01b43c
lea ecx, [esp + 0x16c]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
test edx, edx
je 0x5c02f27c
mov eax, dword [eax + 0x14]
push edx
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x1c]
jmp 0x5c02f284
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x4c]
add edi, esi
mov esi, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [esp + 0x20]
inc edx
add esi, 4
mov dword [esp + 0x24], edi
add eax, 0x20
mov dword [esp + 0x40], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c02f150
jmp 0x5c02f2c3
fld dword [esp + 0x60]
fst dword [edi]
fstp dword [esi + 0x34]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x5c]
add dword [esp + 0x28], edx
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c02f308
mov ecx, dword [esp + 0x30]
add dword [esp + 0x44], edx
add ecx, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x2c]
add ecx, edx
add eax, edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x178], eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x88]
add ecx, 0xb0
sub dword [esp + 0x3c], 1
mov dword [esp + 0x38], ecx
jne 0x5c02e0fe
lea eax, [esp + 0x2f8]
mov ecx, ebx
push eax
lea eax, [esp + 0x24c]
push eax
lea edx, [esp + 0x1a0]
call fcn.5c022515
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x54], ecx
test ecx, ecx
jne 0x5c02f5a8
jmp 0x5c02e05f
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx + 0x1a44]
add eax, edx
mov edi, dword [ebx + 0x1a60]
and ecx, 0x40000000
mov dword [esp + 0x10], eax
and edi, 0x8000000
je 0x5c02f3ef
test ecx, ecx
jne 0x5c02f42c
mov edx, dword [esp + 0x44]
add edx, dword [ebx + 0x1a30]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x30]
add edx, dword [ebx + 0x1a38]
mov dword [esp + 0x30], edx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x2c]
add edx, dword [ebx + 0x1a94]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], edx
xor edx, edx
cmp dword [ebx + 0x1a84], edx
jbe 0x5c02f42c
lea esi, [ebx + 0x1a9c]
mov eax, dword [esi]
lea esi, [esi + 8]
add dword [esp + edx*4 + 0x178], eax
inc edx
cmp edx, dword [ebx + 0x1a84]
jb 0x5c02f3c9
mov esi, dword [esp + 0x178]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], esi
jmp 0x5c02f430
mov esi, dword [esp + 0x18]
test ecx, ecx
jne 0x5c02f430
add dword [esp + 0x44], edx
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0x5c]
mov dword [esp + 0x30], edx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x2c]
add edx, dword [esp + 0x5c]
add esi, dword [esp + 0x5c]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x178], esi
jmp 0x5c02f430
mov esi, dword [esp + 0x18]
add eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
test edi, edi
je 0x5c02f4a8
test ecx, ecx
jne 0x5c02f4e3
mov esi, dword [esp + 0x44]
add esi, dword [ebx + 0x1a30]
add edx, dword [ebx + 0x1a94]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x30]
add esi, dword [ebx + 0x1a38]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], edx
xor edx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x18]
cmp dword [ebx + 0x1a84], edx
jbe 0x5c02f4e3
lea esi, [ebx + 0x1a9c]
mov eax, dword [esi]
lea esi, [esi + 8]
add dword [esp + edx*4 + 0x178], eax
inc edx
cmp edx, dword [ebx + 0x1a84]
jb 0x5c02f48a
mov esi, dword [esp + 0x178]
jmp 0x5c02f4db
test ecx, ecx
jne 0x5c02f4e3
mov eax, dword [esp + 0x5c]
add dword [esp + 0x44], eax
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0x5c]
add edx, dword [esp + 0x5c]
add esi, dword [esp + 0x5c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], esi
add eax, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
test edi, edi
je 0x5c02f55e
test ecx, ecx
jne 0x5c02e05f
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add edx, dword [ebx + 0x1a38]
add eax, dword [ebx + 0x1a94]
add edi, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x44], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], eax
test esi, esi
je 0x5c02e05f
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x178], eax
inc ecx
cmp ecx, esi
jb 0x5c02f53d
mov eax, dword [esp + 0x178]
mov dword [esp + 0x18], eax
jmp 0x5c02e05f
mov edi, dword [esp + 0x28]
mov dword [esp + 0x28], edi
test ecx, ecx
jne 0x5c02e063
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x30]
add dword [esp + 0x44], ecx
add eax, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x2c]
add eax, ecx
add esi, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x178], esi
jmp 0x5c02e063
mov ecx, dword [esp + 0x54]
test dword [ebx + 0x1a60], 0x100000
jne 0x5c02f6ca
fld dword [ebx + 0x1b24]
fadd dword [ebx + 0x68c]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fst dword [esp + 0x54]
fstp dword [ebx + 0x1b24]
fld dword [ebx + 0x1b28]
fadd dword [ebx + 0x68c]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fst dword [esp + 0x80]
fstp dword [ebx + 0x1b28]
fld dword [ebx + 0x1b1c]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fst dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fst dword [esp + 0x10]
fstp dword [ebx + 0x1b20]
fld dword [ebx + 0x624]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c02f650
fstp dword [ebx + 0x1b1c]
jmp 0x5c02f652
fstp st(0)
fld dword [ebx + 0x628]
fstp dword [esp + 0x58]
fld dword [esp + 0x10]
fld dword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c02f677
fstp dword [ebx + 0x1b20]
jmp 0x5c02f679
fstp st(0)
fld dword [ebx + 0x62c]
fstp dword [esp + 0x58]
fld dword [esp + 0x54]
fld dword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c02f69e
fstp dword [ebx + 0x1b24]
jmp 0x5c02f6a0
fstp st(0)
fld dword [ebx + 0x630]
fstp dword [esp + 0x58]
fld dword [esp + 0x80]
fld dword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c02f6c8
fstp dword [ebx + 0x1b28]
jmp 0x5c02f6ca
fstp st(0)
mov eax, dword [ebx + 0x1a48]
mov dword [ebx + 0x1a58], eax
mov eax, dword [ebx + 0x1a48]
sub eax, dword [esp + 0x8c]
imul eax, dword [ebx + 0x1a64]
mov dword [ebx + 0x1a74], eax
mov eax, ecx
jmp 0x5c02f711
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], edi
je 0x5c02f70a
xor eax, eax
jmp 0x5c02f711
mov ecx, ebx
call fcn.5c011e17
mov ecx, dword [esp + 0x3ac]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.5c04fcf0
mov esp, ebp
pop ebp
ret 4