Function at 0x562cbc
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
and esp, 0xfffffff0
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push esi
push edi
sub esp, 0x100
mov edi, eax
mov dword [ebp - 0x28], edi
mov esi, ecx
mov dword [ebp - 0x20], edx
mov eax, dword [0x81e9d8]
mov edi, dword [edi]
mov edx, edi
imul edx, edi
lea ecx, [eax - 1]
mov dword [ebp - 0x38], edx
lea edx, [edx + eax - 1]
add edx, edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], edx
lea eax, [edi + edx]
mov dword [ebp - 0x2c], eax
lea eax, [edi + edx + 3]
mov dword [0x81e9d8], eax
mov eax, dword [ebx + 0x1c]
cmp dword [eax], 1
je 0x56324a
mov esi, dword [0x6c4f18]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [0x6c4f38]
shl eax, 3
mov dword [ebp - 0x28], eax
lea ecx, [esi + ecx*8]
sub ecx, eax
test edi, edi
jle 0x563238
mov eax, edi
mov edx, esi
and eax, 0xfffffffe
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0xb0], ecx
mov ecx, dword [ebp - 0x28]
lea eax, [eax*8 - 8]
sub edx, ecx
add esi, eax
sub esi, ecx
lea ecx, [edi*8]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x1c], esi
mov esi, edi
imul esi, ecx
add eax, esi
mov dword [ebp - 0x3c], ecx
lea esi, [ebp - 0xac]
mov dword [esi], 0
mov dword [ebp - 0x14], edi
lea ecx, [eax + edx]
mov dword [ebp - 0x108], ecx
lea eax, [eax + edi*8]
add edx, eax
mov dword [ebp - 0x104], edx
mov edx, dword [esi]
mov eax, edx
mov esi, eax
mov edi, edx
cmp dword [ebp - 0x14], 0xc
jle 0x5631c8
mov ecx, dword [ebp - 0x38]
push dword [ebp - 0x3c]
lea ecx, [edi + ecx + 8]
push ecx
lea ecx, [esi + 0x6f6380]
push ecx
call fcn.0062a530
add esp, 0xc
mov ecx, dword [ebp - 0x108]
add esi, 0x50
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x14]
movsd xmm0, qword [ecx + edx*8 + 8]
mov ecx, dword [ebp - 0x104]
lea edi, [edi + eax*8]
movsd qword [edx*8 + 0x6f66a0], xmm0
movsd xmm1, qword [ecx + edx*8 + 8]
mov ecx, dword [ebp - 0x1c]
movsd qword [edx*8 + 0x6f6700], xmm1
inc edx
mov dword [ebp - 0xac], edx
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x1c], ecx
cmp edx, eax
jb 0x562da1
mov ecx, dword [ebp - 0xb0]
movsd xmm0, qword [ecx + 8]
mov edi, eax
mov esi, dword [ebp - 0x20]
movsd qword [ebp - 0x108], xmm0
test edi, edi
jle 0x562f1c
cmp edi, 0xc
jle 0x563175
mov dword [ebp - 0xb0], ecx
lea eax, [edi*8]
push eax
push 0
push 0x6f6760
call fcn.0062a5e0
mov ecx, dword [ebp - 0xb0]
add esp, 0xc
mov dword [ebp - 0x20], esi
xor edx, edx
mov dword [ebp - 0xb0], ecx
mov eax, edi
lea ecx, [edx + edx*4]
shl ecx, 4
and eax, 0xfffffffc
xor esi, esi
nop dword [eax]
nop dword [eax]
movsd xmm1, qword [edx*8 + 0x6f6700]
unpcklpd xmm1, xmm1
movaps xmm0, xmm1
mulpd xmm0, xmmword [ecx + esi*8 + 0x6f6380]
mulpd xmm1, xmmword [ecx + esi*8 + 0x6f6390]
addpd xmm0, xmmword [esi*8 + 0x6f6760]
addpd xmm1, xmmword [esi*8 + 0x6f6770]
movups xmmword [esi*8 + 0x6f6760], xmm0
movups xmmword [esi*8 + 0x6f6770], xmm1
add esi, 4
cmp esi, eax
jb 0x562e80
xor esi, esi
cmp eax, edi
jae 0x562f00
lea ecx, [edx + edx*4]
shl ecx, 4
movsd xmm0, qword [edx*8 + 0x6f6700]
mulsd xmm0, qword [ecx + eax*8 + 0x6f6380]
addsd xmm0, qword [eax*8 + 0x6f6760]
movsd qword [eax*8 + 0x6f6760], xmm0
inc eax
cmp eax, edi
jb 0x562ed7
inc edx
cmp edx, edi
jae 0x562f13
cmp edi, 4
jl 0x563086
jmp 0x562e69
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebx + 0x18]
mov eax, dword [eax]
test eax, eax
jne 0x562f2e
mov eax, dword [ebx + 0x20]
movsd xmm0, qword [eax]
jmp 0x562f55
cmp eax, 1
jne 0x562f51
mov eax, dword [ebx + 0x20]
movsd xmm1, qword [eax]
movaps xmm0, xmm1
addsd xmm0, qword [ecx + 0x10]
mulsd xmm0, qword [0x68e6b8]
movsd qword [ecx + 0x10], xmm1
jmp 0x562f55
pxor xmm0, xmm0
test edi, edi
jle 0x56302d
xor edx, edx
cmp edi, 4
jl 0x56316a
mov eax, edi
and eax, 0xfffffffc
movaps xmm2, xmm0
unpcklpd xmm2, xmm2
movaps xmm1, xmm2
mulpd xmm1, xmmword [edx*8 + 0x6f66a0]
mulpd xmm2, xmmword [edx*8 + 0x6f66b0]
movups xmmword [edx*8 + 0x6f67c0], xmm1
movups xmmword [edx*8 + 0x6f67d0], xmm2
add edx, 4
cmp edx, eax
jb 0x562f6d
cmp eax, edi
jae 0x562fcc
movaps xmm1, xmm0
mulsd xmm1, qword [eax*8 + 0x6f66a0]
movsd qword [eax*8 + 0x6f67c0], xmm1
inc eax
cmp eax, edi
jb 0x562fa4
cmp edi, 4
jl 0x563163
mov eax, edi
and eax, 0xfffffffc
xor edx, edx
movups xmm0, xmmword [edx*8 + 0x6f6760]
movups xmm1, xmmword [edx*8 + 0x6f6770]
addpd xmm0, xmmword [edx*8 + 0x6f67c0]
addpd xmm1, xmmword [edx*8 + 0x6f67d0]
movups xmmword [edx*8 + 0x6f6700], xmm0
movups xmmword [edx*8 + 0x6f6710], xmm1
add edx, 4
cmp edx, eax
jb 0x562fce
cmp eax, edi
jae 0x56302b
movsd xmm0, qword [eax*8 + 0x6f6760]
addsd xmm0, qword [eax*8 + 0x6f67c0]
movsd qword [eax*8 + 0x6f6700], xmm0
inc eax
cmp eax, edi
jb 0x56300b
test edi, edi
mov eax, dword [ebx + 0x20]
movsd xmm0, qword [ebp - 0x108]
mov edx, dword [ebx + 0x24]
mulsd xmm0, qword [eax]
addsd xmm0, qword [0x6f6700]
movsd qword [edx], xmm0
jle 0x56307c
cmp edi, 0xc
jle 0x56308d
mov edx, dword [ebp - 0x30]
lea eax, [edi*8]
push eax
imul eax, edi
sub esi, dword [ebp - 0x28]
lea ecx, [eax + edx*8 - 8]
push 0x6f6700
lea edi, [ecx + edi*8]
lea esi, [edi + esi + 8]
push esi
call fcn.0062a530
add esp, 0xc
lea esp, [ebp - 8]
pop edi
pop esi
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, esi
jmp 0x562ecd
cmp edi, 2
jl 0x56315f
mov edx, edi
lea ecx, [edi*8]
imul ecx, edi
and edx, 0xfffffffe
mov dword [ebp - 0x108], edx
mov eax, esi
mov edx, dword [ebp - 0x30]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x104], 0
lea ecx, [ecx + edx*8 - 8]
lea edx, [ecx + edi*8]
add eax, edx
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x34]
lea edx, [esi + eax*8]
mov eax, dword [ebp - 0x108]
sub edx, dword [ebp - 0x28]
add edx, 8
test dl, 0xf
je 0x563105
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xb0]
movups xmm0, xmmword [edx*8 + 0x6f6700]
movups xmmword [ecx + edx*8 + 8], xmm0
add edx, 2
cmp edx, eax
jb 0x5630ef
jmp 0x563125
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xb0]
movups xmm0, xmmword [edx*8 + 0x6f6700]
movups xmmword [ecx + edx*8 + 8], xmm0
add edx, 2
cmp edx, eax
jb 0x563111
cmp eax, edi
jae 0x56307c
mov ecx, dword [ebp - 0x30]
lea edx, [edi*8]
imul edx, edi
sub esi, dword [ebp - 0x28]
lea edx, [edx + ecx*8 - 8]
lea ecx, [edx + edi*8]
add esi, ecx
movsd xmm0, qword [eax*8 + 0x6f6700]
movsd qword [esi + eax*8 + 8], xmm0
inc eax
cmp eax, edi
jb 0x563146
jmp 0x56307c
xor eax, eax
jmp 0x563125
xor eax, eax
jmp 0x563007
test edi, edi
jbe 0x563163
xor eax, eax
jmp 0x562fa4
cmp edi, 4
jl 0x5631c4
mov eax, edi
xor edx, edx
and eax, 0xfffffffc
pxor xmm0, xmm0
movups xmmword [edx*8 + 0x6f6760], xmm0
movups xmmword [edx*8 + 0x6f6770], xmm0
add edx, 4
cmp edx, eax
jb 0x563185
cmp eax, edi
jae 0x5631b2
pxor xmm0, xmm0
movsd qword [eax*8 + 0x6f6760], xmm0
inc eax
cmp eax, edi
jb 0x5631a4
xor edx, edx
mov dword [ebp - 0x20], esi
xor esi, esi
mov dword [ebp - 0xb0], ecx
jmp 0x562f05
xor eax, eax
jmp 0x56319c
cmp dword [ebp - 0x14], 2
jl 0x563234
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x2c], esi
mov ecx, esi
mov dword [ebp - 0x24], edi
mov edi, eax
mov esi, dword [ebp - 0x1c]
movups xmm0, xmmword [esi + edx*8 + 8]
add edx, 2
movups xmmword [ecx + 0x6f6380], xmm0
add ecx, 0x10
cmp edx, edi
jb 0x5631e0
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x14]
jae 0x562dc5
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x14]
lea edx, [ecx + eax*8]
lea ecx, [esi + eax*8]
movsd xmm0, qword [edx + 8]
inc eax
movsd qword [ecx + 0x6f6380], xmm0
add ecx, 8
add edx, 8
cmp eax, edi
jb 0x563214
mov edi, dword [ebp - 0x24]
jmp 0x562dc5
xor eax, eax
jmp 0x5631fc
movsd xmm0, qword [ecx + 8]
movsd qword [ebp - 0x108], xmm0
jmp 0x562f1c
cmp edi, 0xa
jle 0x563425
push 0x32
push str.Transfer_Function_TFDN10_array_overflow:_Order_of
push 0x68a5bc
push 0x68a5c0
push 0x76e2e8
push 0x76e2e0
mov dword [ebp - 0xfc], ecx
call fcn.0053e690
mov ecx, dword [ebp - 0xfc]
add esp, 0x18
mov dword [ebp - 0x108], esp
lea eax, [ebp - 0xf8]
push 0x68a5c4
push 0x48
movq xmm0, qword [0x68e7c0]
push eax
mov dword [ebp - 0x60], str.denominator_cannot_be_greater_than
movq qword [ebp - 0x58], xmm0
mov dword [eax - 4], ecx
call fcn.004e4440
mov ecx, dword [ebp - 0xfc]
add esp, 0xc
mov edx, 0x48
lea eax, [ebp - 0xf8]
push edx
push eax
push edx
mov dword [eax - 4], ecx
lea eax, [ebp - 0xa8]
push eax
call fcn.005c0890
mov ecx, dword [ebp - 0xfc]
add esp, 0x10
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x50], eax
mov eax, dword [eax - 0x58]
cdq
movd xmm1, eax
add eax, 0x23
mov dword [ebp - 0x100], eax
movd xmm0, edx
punpckldq xmm1, xmm0
movq qword [ebp - 0x48], xmm1
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
add esp, 0xffffffe8
mov edx, eax
movq xmm0, qword [0x68e7c8]
lea eax, [ebp - 0x60]
mov dword [ebp - 0x104], edx
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], edx
mov eax, dword [ebp - 0x100]
cdq
movd xmm2, eax
movd xmm1, edx
punpckldq xmm2, xmm1
movq qword [esp + 0x10], xmm2
mov dword [ebp - 0xfc], ecx
call fcn.005b42d0
mov ecx, dword [ebp - 0xfc]
add esp, 0x18
push dword [ebp - 0x100]
push dword [ebp - 0x104]
push 0x68a5c8
push 0x68a5c0
push 0x76e2e8
push 0x76e2e0
mov dword [ebp - 0xfc], ecx
call fcn.0053e690
mov ecx, dword [ebp - 0xfc]
add esp, 0x18
mov eax, dword [ebp - 0x108]
mov esp, eax
push 0x26
push str.._Try_factoring_the_transfer_function
push 0x68a5c8
push 0x68a5c0
push 0x76e2e8
push 0x76e2e0
mov dword [ebp - 0xfc], ecx
call fcn.0053e690
mov ecx, dword [ebp - 0xfc]
add esp, 0x18
push 0x24
push str.and_use_two_or_more_cascaded_blocks.
push 0x68a5cc
push 0x68a5c0
push 0x76e2e8
push 0x76e2e0
mov dword [ebp - 0xfc], ecx
call fcn.0053e690
mov ecx, dword [ebp - 0xfc]
add esp, 0x18
push 0xc
push 0x68a5c8
push 0x68eb9c
mov dword [ebp - 0xfc], ecx
call fcn.00471080
mov ecx, dword [ebp - 0xfc]
add esp, 0xc
test byte [0x76e5c0], 1
pxor xmm0, xmm0
pxor xmm1, xmm1
movups xmmword [0x6f66a0], xmm0
movups xmmword [0x6f66b0], xmm0
movups xmmword [0x6f66c0], xmm0
movups xmmword [0x6f66d0], xmm0
movups xmmword [0x6f66e0], xmm0
movups xmmword [0x6f6760], xmm0
movups xmmword [0x6f6770], xmm0
movups xmmword [0x6f6780], xmm0
movups xmmword [0x6f6790], xmm0
movups xmmword [0x6f67a0], xmm0
movups xmmword [0x6f67c0], xmm0
movups xmmword [0x6f67d0], xmm0
movups xmmword [0x6f67e0], xmm0
movups xmmword [0x6f67f0], xmm0
movups xmmword [0x6f6800], xmm0
movups xmmword [0x6f6820], xmm0
movups xmmword [0x6f6830], xmm0
movups xmmword [0x6f6840], xmm0
movups xmmword [0x6f6850], xmm0
movups xmmword [0x6f6860], xmm0
movups xmmword [0x6f6870], xmm0
movups xmmword [0x6f6880], xmm0
movups xmmword [0x6f6890], xmm0
movups xmmword [0x6f68a0], xmm0
movups xmmword [0x6f68b0], xmm0
movups xmmword [0x6f68c0], xmm0
movups xmmword [0x6f68d0], xmm0
movups xmmword [0x6f68e0], xmm0
movups xmmword [0x6f68f0], xmm0
movups xmmword [0x6f6900], xmm0
movups xmmword [0x6f6910], xmm0
movups xmmword [0x6f6920], xmm0
movups xmmword [0x6f6930], xmm0
movups xmmword [0x6f6940], xmm0
movups xmmword [0x6f6950], xmm0
movups xmmword [0x6f6960], xmm0
movups xmmword [0x6f6970], xmm0
movups xmmword [0x6f6980], xmm0
movups xmmword [0x6f6990], xmm0
movups xmmword [0x6f69a0], xmm0
movups xmmword [0x6f69b0], xmm0
movups xmmword [0x6f69c0], xmm0
movups xmmword [0x6f69d0], xmm0
movups xmmword [0x6f69e0], xmm0
movups xmmword [0x6f69f0], xmm0
movups xmmword [0x6f6a00], xmm0
movups xmmword [0x6f6a10], xmm0
movups xmmword [0x6f6a20], xmm0
movups xmmword [0x6f6a30], xmm0
movups xmmword [0x6f6a40], xmm0
movups xmmword [0x6f6a50], xmm0
movups xmmword [0x6f6a60], xmm0
movups xmmword [0x6f6a70], xmm0
movups xmmword [0x6f6a80], xmm0
movups xmmword [0x6f6a90], xmm0
movups xmmword [0x6f6aa0], xmm0
movups xmmword [0x6f6ab0], xmm0
movups xmmword [0x6f6ac0], xmm0
movups xmmword [0x6f6ad0], xmm0
movups xmmword [0x6f6ae0], xmm0
movups xmmword [0x6f6af0], xmm0
movups xmmword [0x6f6b00], xmm0
movups xmmword [0x6f6b10], xmm0
movups xmmword [0x6f6b20], xmm0
movups xmmword [0x6f6b30], xmm0
movups xmmword [0x6f6b40], xmm0
movups xmmword [0x6f6b50], xmm0
movups xmmword [0x6f6b60], xmm0
movups xmmword [0x6f6b70], xmm0
movups xmmword [0x6f6b80], xmm0
movups xmmword [0x6f6b90], xmm0
movups xmmword [0x6f6ba0], xmm0
movups xmmword [0x6f6bb0], xmm0
movups xmmword [0x6f6bc0], xmm0
movups xmmword [0x6f6bd0], xmm0
movups xmmword [0x6f6be0], xmm0
movups xmmword [0x6f6bf0], xmm0
movups xmmword [0x6f6c00], xmm0
movups xmmword [0x6f6c10], xmm0
movups xmmword [0x6f6c20], xmm0
movups xmmword [0x6f6c30], xmm0
movups xmmword [0x6f6c40], xmm0
movups xmmword [0x6f6c50], xmm0
movups xmmword [0x6f6c60], xmm0
movups xmmword [0x6f6c70], xmm0
movups xmmword [0x6f6c80], xmm0
movups xmmword [0x6f6c90], xmm0
movups xmmword [0x6f6ca0], xmm0
movups xmmword [0x6f6cb0], xmm0
movups xmmword [0x6f6cc0], xmm0
movups xmmword [0x6f6cd0], xmm0
movups xmmword [0x6f6ce0], xmm0
movups xmmword [0x6f6cf0], xmm0
movups xmmword [0x6f6d00], xmm0
movups xmmword [0x6f6d10], xmm0
movups xmmword [0x6f6d20], xmm0
movups xmmword [0x6f6d30], xmm0
movups xmmword [0x6f6d40], xmm0
movups xmmword [0x6f6d50], xmm0
movups xmmword [0x6f6d60], xmm0
movups xmmword [0x6f6d70], xmm0
movups xmmword [0x6f6d80], xmm0
movups xmmword [0x6f6d90], xmm0
movups xmmword [0x6f6da0], xmm0
movups xmmword [0x6f6db0], xmm0
movups xmmword [0x6f6dc0], xmm0
movups xmmword [0x6f6dd0], xmm0
movups xmmword [0x6f6de0], xmm0
movups xmmword [0x6f6df0], xmm0
movups xmmword [0x6f6e00], xmm0
movups xmmword [0x6f6e10], xmm0
movups xmmword [0x6f6e20], xmm0
movups xmmword [0x6f6e30], xmm0
movups xmmword [0x6f6e40], xmm0
movups xmmword [0x6f6e50], xmm0
movups xmmword [0x6f6380], xmm0
movups xmmword [0x6f6390], xmm0
movups xmmword [0x6f63a0], xmm0
movups xmmword [0x6f63b0], xmm0
movups xmmword [0x6f63c0], xmm0
movups xmmword [0x6f63d0], xmm0
movups xmmword [0x6f63e0], xmm0
movups xmmword [0x6f63f0], xmm0
movups xmmword [0x6f6400], xmm0
movups xmmword [0x6f6410], xmm0
movups xmmword [0x6f6420], xmm0
movups xmmword [0x6f6430], xmm0
movups xmmword [0x6f6440], xmm0
movups xmmword [0x6f6450], xmm0
movups xmmword [0x6f6460], xmm0
movups xmmword [0x6f6470], xmm0
movups xmmword [0x6f6480], xmm0
movups xmmword [0x6f6490], xmm0
movups xmmword [0x6f64a0], xmm0
movups xmmword [0x6f64b0], xmm0
movups xmmword [0x6f64c0], xmm0
movups xmmword [0x6f64d0], xmm0
movups xmmword [0x6f64e0], xmm0
movups xmmword [0x6f64f0], xmm0
movups xmmword [0x6f6500], xmm0
movups xmmword [0x6f6510], xmm0
movups xmmword [0x6f6520], xmm0
movups xmmword [0x6f6530], xmm0
movups xmmword [0x6f6540], xmm0
movups xmmword [0x6f6550], xmm0
movups xmmword [0x6f6560], xmm0
movups xmmword [0x6f6570], xmm0
movups xmmword [0x6f6580], xmm0
movups xmmword [0x6f6590], xmm0
movups xmmword [0x6f65a0], xmm0
movups xmmword [0x6f65b0], xmm0
movups xmmword [0x6f65c0], xmm0
movups xmmword [0x6f65d0], xmm0
movups xmmword [0x6f65e0], xmm0
movups xmmword [0x6f65f0], xmm0
movups xmmword [0x6f6600], xmm0
movups xmmword [0x6f6610], xmm0
movups xmmword [0x6f6620], xmm0
movups xmmword [0x6f6630], xmm0
movups xmmword [0x6f6640], xmm0
movups xmmword [0x6f6650], xmm0
movups xmmword [0x6f6660], xmm0
movups xmmword [0x6f6670], xmm0
movups xmmword [0x6f6680], xmm0
movups xmmword [0x6f6690], xmm0
movups xmmword [0x6f6e60], xmm0
movups xmmword [0x6f6e70], xmm0
movups xmmword [0x6f6e80], xmm0
movups xmmword [0x6f6e90], xmm0
movups xmmword [0x6f6ea0], xmm0
movsd qword [0x6f6eb0], xmm1
je 0x56393c
test edi, edi
jle 0x56393c
mov eax, dword [0x6c4f18]
mov edx, dword [0x6c4f38]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x108], edx
cmp edi, 0xc
jle 0x564698
mov edx, edi
lea eax, [edi*8]
imul edx, eax
mov dword [ebp - 0x24], eax
push eax
sub ecx, dword [ebp - 0x108]
lea eax, [edx + edi*8]
mov edx, dword [ebp - 0x104]
push dword [ebx + 0x14]
lea eax, [eax + edx + 8]
lea ecx, [eax + ecx*8]
push ecx
call fcn.0062a530
add esp, 0xc
jmp 0x563946
lea eax, [edi*8]
mov dword [ebp - 0x24], eax
lea eax, [edi + 1]
mov dword [ebp - 0x1c], eax
shr eax, 0x1f
lea edx, [eax + edi + 1]
sar edx, 1
mov dword [ebp - 0x100], edx
test edx, edx
jle 0x564a93
mov edx, dword [ebp - 0x24]
xor eax, eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x3c], esi
lea ecx, [esi + edx]
mov dword [ebp - 0x104], ecx
mov ecx, dword [ebp - 0x20]
add edx, ecx
xor ecx, ecx
mov dword [ebp - 0x108], edx
mov edx, ecx
nop dword [eax]
nop dword [eax]
mov edi, dword [ebp - 0x104]
mov esi, dword [ebp - 0x3c]
movsd xmm0, qword [edi + ecx*8]
movsd xmm3, qword [esi + eax*8]
movsd qword [edx + esi], xmm0
movsd qword [edi + ecx*8], xmm3
mov edi, dword [ebp - 0x108]
mov esi, dword [ebp - 0x20]
movsd xmm1, qword [edi + ecx*8]
movsd xmm2, qword [esi + eax*8]
inc eax
movsd qword [edx + esi], xmm1
add edx, 8
movsd qword [edi + ecx*8], xmm2
dec ecx
cmp eax, dword [ebp - 0x100]
jb 0x563990
movsd qword [ebp - 0x108], xmm3
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x3c]
movsd xmm1, qword [esi]
andps xmm1, xmmword [0x68a5f0]
movsd xmm0, qword [0x68e6e8]
comisd xmm0, xmm1
ja 0x564a09
movsd xmm1, qword [0x68e6e0]
movaps xmm0, xmm1
divsd xmm0, qword [esi]
movsd qword [ebp - 0x108], xmm0
cmp dword [ebp - 0x1c], 0
jle 0x563bfb
cmp dword [ebp - 0x1c], 8
jl 0x5649f8
mov ecx, dword [ebp - 0x20]
and ecx, 0xf
je 0x563a43
test cl, 7
jne 0x5649f1
mov ecx, 1
lea eax, [ecx + 8]
cmp eax, dword [ebp - 0x1c]
jg 0x5649f1
mov eax, dword [ebp - 0x1c]
mov edx, eax
sub edx, ecx
and edx, 7
neg edx
add edx, eax
test ecx, ecx
jbe 0x563a8e
mov dword [ebp - 0x3c], esi
xor eax, eax
movsd xmm2, qword [ebp - 0x108]
mov esi, dword [ebp - 0x20]
movaps xmm0, xmm2
mulsd xmm0, qword [esi + eax*8]
movsd qword [esi + eax*8], xmm0
inc eax
cmp eax, ecx
jb 0x563a71
movsd qword [ebp - 0x108], xmm2
mov esi, dword [ebp - 0x3c]
movsd xmm5, qword [ebp - 0x108]
mov eax, dword [ebp - 0x20]
nop dword [eax]
movaps xmm4, xmm5
unpcklpd xmm4, xmm4
movaps xmm0, xmm4
movaps xmm2, xmm4
movaps xmm3, xmm4
mulpd xmm0, xmmword [eax + ecx*8]
mulpd xmm2, xmmword [eax + ecx*8 + 0x10]
mulpd xmm3, xmmword [eax + ecx*8 + 0x20]
mulpd xmm4, xmmword [eax + ecx*8 + 0x30]
movups xmmword [eax + ecx*8], xmm0
movups xmmword [eax + ecx*8 + 0x10], xmm2
movups xmmword [eax + ecx*8 + 0x20], xmm3
movups xmmword [eax + ecx*8 + 0x30], xmm4
add ecx, 8
cmp ecx, edx
jb 0x563aa0
movsd qword [ebp - 0x108], xmm5
cmp edx, dword [ebp - 0x1c]
jae 0x563b20
movsd xmm2, qword [ebp - 0x108]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
movaps xmm0, xmm2
mulsd xmm0, qword [ecx + edx*8]
movsd qword [ecx + edx*8], xmm0
inc edx
cmp edx, eax
jb 0x563afc
movsd qword [ebp - 0x108], xmm2
cmp dword [ebp - 0x1c], 2
jl 0x563bfb
cmp edi, 8
jl 0x5649ea
lea eax, [esi + 8]
and eax, 0xf
je 0x563b3e
test al, 7
jne 0x5649ea
mov eax, 1
lea edx, [eax + 8]
cmp edi, edx
jl 0x5649ea
mov ecx, edi
sub ecx, eax
and ecx, 7
neg ecx
add ecx, edi
test eax, eax
jbe 0x563b7e
movsd xmm2, qword [ebp - 0x108]
xor edx, edx
movaps xmm0, xmm2
mulsd xmm0, qword [esi + edx*8 + 8]
movsd qword [esi + edx*8 + 8], xmm0
inc edx
cmp edx, eax
jb 0x563b62
movsd qword [ebp - 0x108], xmm2
movsd xmm5, qword [ebp - 0x108]
nop dword [eax]
nop dword [eax]
movaps xmm4, xmm5
unpcklpd xmm4, xmm4
movaps xmm0, xmm4
movaps xmm2, xmm4
movaps xmm3, xmm4
mulpd xmm0, xmmword [esi + eax*8 + 8]
mulpd xmm2, xmmword [esi + eax*8 + 0x18]
mulpd xmm3, xmmword [esi + eax*8 + 0x28]
mulpd xmm4, xmmword [esi + eax*8 + 0x38]
movups xmmword [esi + eax*8 + 8], xmm0
movups xmmword [esi + eax*8 + 0x18], xmm2
movups xmmword [esi + eax*8 + 0x28], xmm3
movups xmmword [esi + eax*8 + 0x38], xmm4
add eax, 8
cmp eax, ecx
jb 0x563b90
movsd qword [ebp - 0x108], xmm5
cmp ecx, edi
jae 0x563bfb
movsd xmm2, qword [ebp - 0x108]
movaps xmm0, xmm2
mulsd xmm0, qword [esi + ecx*8 + 8]
movsd qword [esi + ecx*8 + 8], xmm0
inc ecx
cmp ecx, edi
jb 0x563be7
movsd xmm0, qword [0x68e6b8]
lea edx, [edi - 1]
movsd qword [esi], xmm1
mulsd xmm0, qword [0x76e5b0]
test edx, edx
jle 0x563d41
cmp edx, 4
jl 0x5649e3
movaps xmm2, xmm0
mov ecx, edx
xorps xmm2, xmmword [0x68a650]
movaps xmm3, xmm0
movups xmm4, xmmword [0x68a610]
and ecx, 0xfffffffc
mov dword [ebp - 0x3c], esi
xor eax, eax
lea esi, [eax + eax*4]
shl esi, 4
movsd qword [esi + eax*8 + 0x6f6870], xmm3
movsd qword [esi + eax*8 + 0x6f68c8], xmm3
movsd qword [esi + eax*8 + 0x6f6820], xmm4
movhpd qword [esi + eax*8 + 0x6f6878], xmm4
movsd qword [esi + eax*8 + 0x6f6b90], xmm2
movsd qword [esi + eax*8 + 0x6f6be8], xmm2
movsd qword [esi + eax*8 + 0x6f6b40], xmm4
movhpd qword [esi + eax*8 + 0x6f6b98], xmm4
movsd qword [esi + eax*8 + 0x6f6920], xmm3
movsd qword [esi + eax*8 + 0x6f6978], xmm3
movsd qword [esi + eax*8 + 0x6f68d0], xmm4
movhpd qword [esi + eax*8 + 0x6f6928], xmm4
movsd qword [esi + eax*8 + 0x6f6c40], xmm2
movsd qword [esi + eax*8 + 0x6f6c98], xmm2
movsd qword [esi + eax*8 + 0x6f6bf0], xmm4
movhpd qword [esi + eax*8 + 0x6f6c48], xmm4
add eax, 4
cmp eax, ecx
jb 0x563c41
mov esi, dword [ebp - 0x3c]
lea eax, [ecx + ecx*4]
shl eax, 4
mov dword [ebp - 0x108], eax
lea eax, [ecx*8]
cmp ecx, edx
jae 0x563d41
movaps xmm2, xmm0
mov dword [ebp - 0x3c], esi
xorps xmm2, xmmword [0x68a650]
mov esi, dword [ebp - 0x108]
inc ecx
movsd qword [esi + eax + 0x6f6820], xmm1
movsd qword [esi + eax + 0x6f6b40], xmm1
movsd qword [esi + eax + 0x6f6870], xmm0
movsd qword [esi + eax + 0x6f6b90], xmm2
add eax, 8
add esi, 0x50
cmp ecx, edx
jb 0x563d0f
mov esi, dword [ebp - 0x3c]
test edi, edi
jle 0x563e83
cmp edi, 4
jl 0x5649dc
mov eax, edi
xor ecx, ecx
and eax, 0xfffffffc
movaps xmm1, xmm0
mov dword [ebp - 0x108], edi
xor edx, edx
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x14], edi
unpcklpd xmm1, xmm1
mov eax, dword [ebp - 0x108]
mov edi, dword [ebp - 0x24]
movsd xmm3, qword [esi + eax*8]
movaps xmm2, xmm1
movsd xmm5, qword [esi + eax*8 - 0x10]
movaps xmm4, xmm1
movhpd xmm3, qword [esi + eax*8 - 8]
add ecx, 4
movhpd xmm5, qword [esi + eax*8 - 0x18]
add eax, 0xfffffffc
mulpd xmm2, xmm3
mulpd xmm4, xmm5
mulpd xmm3, xmm1
mulpd xmm5, xmm1
xorps xmm2, xmmword [0x68a620]
xorps xmm4, xmmword [0x68a620]
movsd qword [edx + edi + 0x6f6818], xmm2
movhpd qword [edx + edi + 0x6f6868], xmm2
movsd qword [edx + edi + 0x6f6b38], xmm3
movhpd qword [edx + edi + 0x6f6b88], xmm3
movsd qword [edx + edi + 0x6f68b8], xmm4
movhpd qword [edx + edi + 0x6f6908], xmm4
movsd qword [edx + edi + 0x6f6bd8], xmm5
movhpd qword [edx + edi + 0x6f6c28], xmm5
add edx, 0x140
cmp ecx, dword [ebp - 0x104]
jb 0x563d7a
mov eax, dword [ebp - 0x104]
mov edi, dword [ebp - 0x14]
mov edx, eax
lea ecx, [eax + eax*4]
shl ecx, 4
neg edx
mov dword [ebp - 0x108], ecx
cmp eax, edi
jae 0x563e83
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmm0
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x3c], esi
xorps xmm1, xmmword [0x68a650]
add ecx, esi
mov esi, dword [ebp - 0x108]
mov edi, dword [ebp - 0x24]
movsd xmm3, qword [ecx + edx*8]
movaps xmm2, xmm1
mulsd xmm2, qword [ecx + edx*8]
inc eax
mulsd xmm3, xmm0
movsd qword [esi + edi + 0x6f6818], xmm2
dec edx
movsd qword [esi + edi + 0x6f6b38], xmm3
add esi, 0x50
cmp eax, dword [ebp - 0x14]
jb 0x563e50
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x24]
lea eax, [edi + edi*4]
shl eax, 4
movsd xmm0, qword [eax + edx + 0x6f67c8]
movsd xmm1, qword [eax + edx + 0x6f6ae8]
addsd xmm0, qword [0x68e6e0]
addsd xmm1, qword [0x68e6e0]
movsd qword [eax + edx + 0x6f67c8], xmm0
movsd qword [eax + edx + 0x6f6ae8], xmm1
test edi, edi
jle 0x564049
xor edx, edx
mov dword [ebp - 0x14], edi
xor eax, eax
mov dword [ebp - 0x3c], esi
mov ecx, edx
cmp dword [ebp - 0x14], 4
jl 0x5649d5
mov edi, 1
lea esi, [edx*8]
mov dword [ebp - 0x108], esi
lea esi, [edx*8 + 0x708040]
and esi, 0xf
cmovne esi, edi
mov dword [ebp - 0xac], esi
lea edi, [esi + 4]
cmp edi, dword [ebp - 0x14]
jg 0x5649d5
mov edi, dword [ebp - 0x14]
mov esi, edi
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0xac]
sub esi, ecx
and esi, 3
neg esi
add esi, edi
lea edi, [eax*8]
test ecx, ecx
mov ecx, dword [ebp - 0x40]
jbe 0x563f9f
mov dword [ebp - 0x104], 0
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0x104]
mov ecx, edi
mov esi, dword [ebp - 0xac]
mov edi, dword [ebp - 0x108]
lea eax, [edx + edx*4]
shl eax, 4
movsd xmm0, qword [eax + ecx + 0x6f6b40]
movsd qword [edi + edx*8 + 0x708040], xmm0
inc edx
cmp edx, esi
jb 0x563f67
mov dword [ebp - 0xac], esi
mov esi, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x100], edx
mov ecx, dword [ebp - 0xac]
mov edi, dword [ebp - 0x108]
nop dword [eax + eax]
nop dword [eax]
lea edx, [ecx + ecx*4]
shl edx, 4
movsd xmm0, qword [edx + eax*8 + 0x6f6b40]
movsd xmm1, qword [edx + eax*8 + 0x6f6be0]
movhpd xmm0, qword [edx + eax*8 + 0x6f6b90]
movhpd xmm1, qword [edx + eax*8 + 0x6f6c30]
movups xmmword [edi + ecx*8 + 0x708040], xmm0
movups xmmword [edi + ecx*8 + 0x708050], xmm1
add ecx, 4
cmp ecx, esi
jb 0x563fc0
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x40]
add edx, esi
cmp esi, dword [ebp - 0x14]
jae 0x564039
lea edx, [esi + esi*4]
shl edx, 4
lea edi, [esi*8]
inc esi
movsd xmm0, qword [edx + eax*8 + 0x6f6b40]
movsd qword [edi + ecx*8 + 0x708040], xmm0
cmp esi, dword [ebp - 0x14]
jb 0x564011
lea edx, [ecx + esi]
inc eax
cmp eax, dword [ebp - 0x14]
jb 0x563ed2
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x3c]
push 0x7086f0
push 0x708720
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x100]
push eax
push dword [ebp - 0x28]
mov dword [ebp - 0x40], ecx
lea edx, [ebp - 0x40]
push edx
push 0x708040
call fcn.0057de00
add esp, 0x18
test edi, edi
jle 0x5649c6
mov ecx, edi
xor edx, edx
and ecx, 0xfffffffc
xor eax, eax
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0xac], edx
cmp dword [ebp - 0x14], 4
jl 0x5649bf
mov esi, dword [ebp - 0x108]
xor ecx, ecx
lea edi, [edx*8]
mov dword [ebp - 0x104], esi
mov dword [ebp - 0xb0], edx
mov edx, ecx
mov esi, edi
mov edi, dword [ebp - 0x108]
nop dword [eax]
nop dword [eax]
movups xmm0, xmmword [esi + ecx*8 + 0x708040]
movups xmm1, xmmword [esi + ecx*8 + 0x708050]
add ecx, 4
movsd qword [edx + eax*8 + 0x6f6ec0], xmm0
movhpd qword [edx + eax*8 + 0x6f6f10], xmm0
movsd qword [edx + eax*8 + 0x6f6f60], xmm1
movhpd qword [edx + eax*8 + 0x6f6fb0], xmm1
add edx, 0x140
cmp ecx, edi
jb 0x5640d0
mov edx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x104]
add edx, dword [ebp - 0x108]
lea ecx, [esi + esi*4]
shl ecx, 4
cmp esi, dword [ebp - 0x14]
jae 0x56415c
mov edx, dword [ebp - 0xac]
mov edi, dword [ebp - 0x14]
shl edx, 3
movsd xmm0, qword [edx + esi*8 + 0x708040]
inc esi
movsd qword [ecx + eax*8 + 0x6f6ec0], xmm0
add ecx, 0x50
cmp esi, edi
jb 0x56413a
mov edx, dword [ebp - 0xac]
add edx, esi
inc eax
cmp eax, dword [ebp - 0x14]
jb 0x564091
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x1c], 0
jle 0x564252
mov dword [ebp - 0x14], edi
xor eax, eax
mov edx, dword [ebp - 0x20]
lea ecx, [eax + 1]
movsd xmm0, qword [edx + eax*8]
movsd qword [eax*8 + 0x6f6e60], xmm0
cmp ecx, 2
jl 0x564244
mov edi, eax
shr edi, 1
test edi, edi
jbe 0x5649b5
xor edx, edx
mov dword [ebp - 0x104], edi
mov dword [ebp - 0x108], ecx
mov edi, edx
nop dword [eax + eax]
nop dword [eax]
mov ecx, edx
inc edx
shl ecx, 4
movsd xmm2, qword [eax*8 + 0x6f6e60]
movsd xmm0, qword [esi + ecx + 8]
mulsd xmm0, qword [edi + eax*8 + 0x6f6e58]
movsd xmm1, qword [esi + ecx + 0x10]
subsd xmm2, xmm0
mulsd xmm1, qword [edi + eax*8 + 0x6f6e50]
add edi, 0xfffffff0
subsd xmm2, xmm1
movsd qword [eax*8 + 0x6f6e60], xmm2
cmp edx, dword [ebp - 0x104]
jb 0x5641c0
mov ecx, dword [ebp - 0x108]
lea edx, [edx + edx + 1]
lea edi, [edx - 1]
cmp edi, eax
jae 0x564244
shl edx, 3
mov edi, 0x6f6e60
sub edi, edx
movsd xmm1, qword [eax*8 + 0x6f6e60]
movsd xmm0, qword [esi + edx]
mulsd xmm0, qword [edi + eax*8]
subsd xmm1, xmm0
movsd qword [eax*8 + 0x6f6e60], xmm1
mov eax, ecx
cmp ecx, dword [ebp - 0x1c]
jb 0x56417b
mov edi, dword [ebp - 0x14]
movsd xmm0, qword [0x6f6e60]
movsd qword [ebp - 0xb0], xmm0
test edi, edi
jg 0x564505
mov eax, 0
cmovge eax, edi
movsd xmm0, qword [0x76e5b0]
shl eax, 3
mov dword [ebp - 0x3c], esp
movsd qword [ebp - 0x108], xmm0
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
mov dword [ebp - 0x38], eax
test edi, edi
jle 0x56440e
cmp edi, 0xc
jle 0x5645bc
lea eax, [edi*8]
push eax
push 0
push dword [ebp - 0x38]
call fcn.0062a5e0
add esp, 0xc
xor ecx, ecx
mov esi, edi
lea edx, [ecx + ecx*4]
mov dword [ebp - 0x14], edi
and esi, 0xfffffffc
shl edx, 4
xor eax, eax
mov edi, dword [ebp - 0x38]
movsd xmm1, qword [ecx*8 + 0x6f71e0]
unpcklpd xmm1, xmm1
movaps xmm0, xmm1
mulpd xmm0, xmmword [edx + eax*8 + 0x6f6ec0]
mulpd xmm1, xmmword [edx + eax*8 + 0x6f6ed0]
addpd xmm0, xmmword [edi + eax*8]
addpd xmm1, xmmword [edi + eax*8 + 0x10]
movups xmmword [edi + eax*8], xmm0
movups xmmword [edi + eax*8 + 0x10], xmm1
add eax, 4
cmp eax, esi
jb 0x5642d3
mov edi, dword [ebp - 0x14]
cmp esi, edi
jae 0x564341
mov edx, dword [ebp - 0x38]
lea eax, [ecx + ecx*4]
shl eax, 4
movsd xmm0, qword [ecx*8 + 0x6f71e0]
mulsd xmm0, qword [eax + esi*8 + 0x6f6ec0]
addsd xmm0, qword [edx + esi*8]
movsd qword [edx + esi*8], xmm0
inc esi
cmp esi, edi
jb 0x564320
inc ecx
cmp ecx, edi
jae 0x564354
cmp edi, 4
jl 0x5645ae
jmp 0x5642c0
cmp edi, 4
jl 0x5645b5
movsd xmm0, qword [ebp - 0x108]
mov eax, edi
mov ecx, dword [ebp - 0x38]
and eax, 0xfffffffc
unpcklpd xmm0, xmm0
xor edx, edx
movaps xmm1, xmm0
movaps xmm2, xmm0
mulpd xmm1, xmmword [ecx + edx*8]
mulpd xmm2, xmmword [ecx + edx*8 + 0x10]
movups xmmword [edx*8 + 0x6f66a0], xmm1
movups xmmword [edx*8 + 0x6f66b0], xmm2
add edx, 4
cmp edx, eax
jb 0x564373
cmp eax, edi
jae 0x5643c1
movsd xmm1, qword [ebp - 0x108]
mov edx, dword [ebp - 0x38]
movsd xmm0, qword [edx + eax*8]
mulsd xmm0, xmm1
movsd qword [eax*8 + 0x6f66a0], xmm0
inc eax
cmp eax, edi
jb 0x5643aa
mov eax, dword [ebp - 0x3c]
mov esp, eax
mov edx, dword [ebp - 0x30]
mov eax, dword [0x6c4f38]
shl eax, 3
mov dword [ebp - 0x28], eax
lea eax, [edx*8 - 8]
mov edx, edi
imul edx, dword [ebp - 0x24]
mov esi, dword [0x6c4f18]
mov ecx, esi
sub ecx, dword [ebp - 0x28]
add edx, eax
mov dword [ebp - 0x108], 0
add edx, ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp - 0x108]
jmp 0x5644a8
mov eax, dword [ebp - 0x3c]
mov esp, eax
mov eax, dword [0x6c4f38]
shl eax, 3
mov esi, dword [0x6c4f18]
mov dword [ebp - 0x28], eax
test edi, edi
jle 0x5644ea
mov edx, edi
mov ecx, esi
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x28]
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x20], esi
lea eax, [eax*8 - 8]
add edx, eax
add edx, ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp - 0x108]
xor edx, edx
cmp edx, edi
jae 0x564491
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
add eax, ecx
mov ecx, esi
imul ecx, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
add eax, ecx
lea ecx, [esi + esi*4]
shl ecx, 4
movsd xmm0, qword [ecx + edx*8 + 0x6f6380]
movsd qword [eax + edx*8 + 8], xmm0
inc edx
cmp edx, edi
jb 0x56447d
mov eax, dword [ebp - 0x38]
movsd xmm0, qword [esi*8 + 0x6f66a0]
movsd qword [eax + esi*8 + 8], xmm0
inc esi
cmp esi, edi
jae 0x5644e7
cmp edi, 0xc
jle 0x5645ff
mov ecx, dword [ebp - 0x1c]
lea eax, [edi*8]
mov edx, dword [ebp - 0x20]
push eax
lea eax, [edx + ecx]
mov edx, esi
imul edx, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
lea edx, [eax + edx + 8]
lea eax, [esi + esi*4]
shl eax, 4
lea ecx, [eax + 0x6f6380]
push ecx
push edx
call fcn.0062a530
add esp, 0xc
jmp 0x564491
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
movsd xmm0, qword [ebp - 0xb0]
lea ecx, [esi + eax*8]
sub ecx, dword [ebp - 0x28]
movsd qword [ecx + 8], xmm0
jmp 0x562d31
cmp edi, 0xc
jle 0x564962
lea esi, [edi*8]
push esi
push 0x6f6e68
push 0x6f71e0
call fcn.0062a530
add esp, 0xc
xor eax, eax
mov edx, eax
mov eax, esi
mov esi, edx
push eax
push 0
lea edx, [esi + esi*4]
shl edx, 4
lea ecx, [edx + 0x6f6380]
push ecx
call fcn.0062a5e0
add esp, 0xc
pxor xmm0, xmm0
pxor xmm1, xmm1
inc esi
cmp esi, edi
jae 0x564849
cmp edi, 0xc
jle 0x564567
lea eax, [edi*8]
jmp 0x564530
cmp edi, 4
jl 0x564842
mov eax, edi
lea edx, [esi + esi*4]
shl edx, 4
and eax, 0xfffffffc
xor ecx, ecx
movups xmmword [edx + ecx*8 + 0x6f6380], xmm1
movups xmmword [edx + ecx*8 + 0x6f6390], xmm1
add ecx, 4
cmp ecx, eax
jb 0x56457d
cmp eax, edi
jae 0x564550
lea edx, [esi + esi*4]
shl edx, 4
movsd qword [edx + eax*8 + 0x6f6380], xmm0
inc eax
cmp eax, edi
jb 0x56459e
jmp 0x564550
xor esi, esi
jmp 0x564313
xor eax, eax
jmp 0x56439b
cmp edi, 4
jl 0x5645fb
mov edx, edi
xor eax, eax
mov ecx, dword [ebp - 0x38]
and edx, 0xfffffffc
pxor xmm0, xmm0
movups xmmword [ecx + eax*8], xmm0
movups xmmword [ecx + eax*8 + 0x10], xmm0
add eax, 4
cmp eax, edx
jb 0x5645cf
cmp edx, edi
jae 0x5645f4
mov eax, dword [ebp - 0x38]
pxor xmm0, xmm0
movsd qword [eax + edx*8], xmm0
inc edx
cmp edx, edi
jb 0x5645ea
xor ecx, ecx
jmp 0x564346
xor edx, edx
jmp 0x5645df
cmp edi, 2
jl 0x56445e
mov edx, dword [ebp - 0x1c]
mov ecx, edi
mov eax, dword [ebp - 0x20]
and ecx, 0xfffffffe
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x104], 0
add edx, eax
mov eax, esi
imul eax, dword [ebp - 0x24]
sub edx, dword [ebp - 0x28]
lea ecx, [edx + eax]
mov dword [ebp - 0x3c], ecx
lea ecx, [esi + esi*4]
shl ecx, 4
lea eax, [edx + eax + 8]
mov edx, dword [ebp - 0x108]
test al, 0xf
je 0x564670
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x104]
mov edi, dword [ebp - 0x3c]
movups xmm0, xmmword [ecx + eax*8 + 0x6f6380]
movups xmmword [edi + eax*8 + 8], xmm0
add eax, 2
cmp eax, edx
jb 0x564654
mov edi, dword [ebp - 0x14]
jmp 0x564460
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x104]
mov edi, dword [ebp - 0x3c]
movups xmm0, xmmword [ecx + eax*8 + 0x6f6380]
movups xmmword [edi + eax*8 + 8], xmm0
add eax, 2
cmp eax, edx
jb 0x56467c
mov edi, dword [ebp - 0x14]
jmp 0x564460
cmp edi, 2
jl 0x56482c
mov dword [ebp - 0xfc], ecx
mov ecx, eax
lea eax, [edx*8]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x40], eax
lea ecx, [ecx + edx*8]
sub ecx, eax
mov eax, 1
add ecx, 8
and ecx, 0xf
cmovne ecx, eax
mov dword [ebp - 0xb0], ecx
lea eax, [ecx + 2]
mov ecx, dword [ebp - 0xfc]
cmp edi, eax
jl 0x56482c
mov dword [ebp - 0xfc], ecx
mov ecx, edi
mov edx, dword [ebp - 0xb0]
sub ecx, edx
and ecx, 1
mov eax, edi
neg ecx
add ecx, edi
mov dword [ebp - 0xac], ecx
lea ecx, [edi*8]
imul eax, ecx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x30]
lea eax, [eax + ecx*8 - 8]
mov ecx, dword [ebp - 0x40]
neg ecx
lea eax, [eax + edi*8]
add ecx, dword [ebp - 0x104]
add eax, ecx
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
test edx, edx
jbe 0x56476c
mov dword [ebp - 0xfc], ecx
xor eax, eax
mov dword [ebp - 0x3c], esi
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xb0]
mov esi, dword [ebx + 0x14]
movsd xmm0, qword [esi + eax*8]
movsd qword [edx + eax*8 + 8], xmm0
inc eax
cmp eax, ecx
jb 0x56474d
mov dword [ebp - 0xb0], ecx
mov ecx, dword [ebp - 0xfc]
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 0xb0]
lea eax, [eax + edx*8]
test al, 0xf
je 0x5647ac
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xb0]
mov esi, dword [ebx + 0x14]
movups xmm0, xmmword [esi + ecx*8]
movups xmmword [edx + ecx*8 + 8], xmm0
add ecx, 2
cmp ecx, eax
jb 0x56479a
jmp 0x5647da
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xb0]
mov esi, dword [ebx + 0x14]
movups xmm0, xmmword [esi + ecx*8]
movups xmmword [edx + ecx*8 + 8], xmm0
add ecx, 2
cmp ecx, eax
jb 0x5647ca
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xfc]
mov esi, dword [ebp - 0x3c]
cmp edi, dword [ebp - 0xac]
jbe 0x563946
mov edx, edi
mov eax, dword [ebp - 0x24]
imul edx, eax
add edx, eax
sub ecx, dword [ebp - 0x108]
add edx, dword [ebp - 0x104]
lea eax, [edx + ecx*8]
mov edx, dword [ebp - 0xac]
mov ecx, dword [ebx + 0x14]
movsd xmm0, qword [ecx + edx*8]
movsd qword [eax + edx*8 + 8], xmm0
inc edx
cmp edx, edi
jb 0x564817
jmp 0x563946
mov dword [ebp - 0xac], 0
lea eax, [edi*8]
mov dword [ebp - 0x24], eax
jmp 0x5647e9
xor eax, eax
jmp 0x564594
mov edx, edi
xor eax, eax
and edx, 0xfffffffc
mov dword [ebp - 0x3c], edx
xor ecx, ecx
lea esi, [eax + eax*4]
shl esi, 4
xor edx, edx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], 4
jl 0x56495e
mov eax, dword [ebp - 0x3c]
xor esi, esi
mov dword [ebp - 0x108], eax
mov edi, edx
mov dword [ebp - 0x104], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x38]
nop dword [eax]
movsd xmm1, qword [edx + ecx*8 + 0x6f6820]
unpcklpd xmm1, xmm1
movaps xmm0, xmm1
mulpd xmm0, xmmword [eax + esi*8 + 0x6f6ec0]
mulpd xmm1, xmmword [eax + esi*8 + 0x6f6ed0]
addpd xmm0, xmmword [edi + 0x6f6380]
addpd xmm1, xmmword [edi + 0x6f6390]
add esi, 4
movups xmmword [edi + 0x6f6380], xmm0
movups xmmword [edi + 0x6f6390], xmm1
add edi, 0x20
cmp esi, dword [ebp - 0x3c]
jb 0x564890
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x104]
lea edi, [eax*8]
cmp eax, dword [ebp - 0x14]
jae 0x564936
mov dword [ebp - 0x104], ecx
lea esi, [edx + eax*8]
mov ecx, dword [ebp - 0x38]
inc eax
movsd xmm0, qword [edx + ecx*8 + 0x6f6820]
mov ecx, dword [ebp - 0x28]
mulsd xmm0, qword [edi + ecx + 0x6f6ec0]
add edi, 8
addsd xmm0, qword [esi + 0x6f6380]
movsd qword [esi + 0x6f6380], xmm0
add esi, 8
cmp eax, dword [ebp - 0x14]
jb 0x5648fc
mov ecx, dword [ebp - 0x104]
inc ecx
add edx, 0x50
cmp ecx, dword [ebp - 0x14]
jb 0x564866
nop dword [eax + eax]
mov eax, dword [ebp - 0x38]
inc eax
mov edi, dword [ebp - 0x14]
cmp eax, edi
jb 0x564853
test edi, edi
jmp 0x56426a
xor eax, eax
jmp 0x5648e7
cmp edi, 2
jl 0x5649b1
mov eax, edi
xor edx, edx
and eax, 0xfffffffe
movups xmm0, xmmword [edx*8 + 0x6f6e68]
movups xmmword [edx*8 + 0x6f71e0], xmm0
add edx, 2
cmp edx, eax
jb 0x56496e
cmp eax, edi
jae 0x5649a0
movsd xmm0, qword [eax*8 + 0x6f6e68]
movsd qword [eax*8 + 0x6f71e0], xmm0
inc eax
cmp eax, edi
jb 0x564989
xor eax, eax
mov esi, eax
pxor xmm0, xmm0
pxor xmm1, xmm1
jmp 0x564567
xor eax, eax
jmp 0x564985
mov edx, 1
jmp 0x564213
xor esi, esi
jmp 0x564123
cmp dword [ebp - 0x1c], 0
jg 0x564176
jmp 0x564252
xor esi, esi
jmp 0x56400c
xor eax, eax
jmp 0x563e1e
xor ecx, ecx
jmp 0x563ce5
xor ecx, ecx
jmp 0x563bdb
xor edx, edx
jmp 0x563ae9
xor edx, edx
cmp dword [ebp - 0x1c], 0
jne 0x563aee
jmp 0x563b16
push 0x26
push str.Ill_conditioned_coefficient_matrix_in
push 0x68a5d0
push 0x68a5c0
push 0x76e2e8
push 0x76e2e0
call fcn.0053e690
add esp, 0x18
push 0x30
push str.non_linear_transfer_function_block._Denominator
push 0x68a5c8
push 0x68a5c0
push 0x76e2e8
push 0x76e2e0
call fcn.0053e690
add esp, 0x18
push 0x36
push str.should_be_of_higher_order_than_the_order_of_Numerator.
push 0x68a5cc
push 0x68a5c0
push 0x76e2e8
push 0x76e2e0
call fcn.0053e690
add esp, 0x18
push 0xc
push 0x68a5c8
push str.TFDN10
call fcn.00471080
movsd xmm1, qword [0x68e6e0]
add esp, 0xc
jmp 0x563a19
pxor xmm0, xmm0
movsd qword [ebp - 0x108], xmm0
jmp 0x5639e5