Function at 0x14006ee80
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r13
push r15
sub rsp, 0x48
mov rbp, qword [rsp + 0xa8]
lea rbx, [rcx + 8]
mov r10, qword [rsp + 0xa0]
mov r11, r9
mov r13, r8
mov rsi, rdx
mov r15, rcx
mov edi, 1
test rbp, rbp
je 0x14006eecb
mov rax, qword [rcx + 0x178]
mov qword [rbp], rax
cmp dword [rcx + 0x74], 0
jge 0x14006eee0
xor eax, eax
add rsp, 0x48
pop r15
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rax, qword [r9]
test rax, rax
je 0x14006ef09
test r10, r10
je 0x14006eef3
cmp qword [r10], 0
jne 0x14006ef09
mov edx, 0xffffffec
add rsp, 0x48
pop r15
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x140074790
xor edx, edx
mov qword [rsp + 0x90], r12
test rax, rax
mov qword [rsp + 0x40], r14
cmovne rdx, r10
cmp dword [rcx + 0x48], 0
mov qword [rsp + 0x38], rdx
jne 0x14006ef36
mov rax, qword [rsi]
mov qword [rbx + 0x18], rax
mov rax, qword [r8]
jmp 0x14006ef3f
mov edi, 2
lea rax, [rcx + 0x40]
mov qword [rbx + 0x10], rax
lea r14, [rcx + 0x2a8]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov r12d, 0x40
jmp case.default.0x14006f036
mov rsi, qword [rsp + 0x88]
lea r14, [r15 + 0x2a8]
mov rbp, qword [rsp + 0xa8]
cmp edi, 1
je 0x14006f01f
cmp edi, 2
jne 0x140070110
cmp qword [r15 + 0x78], 0
je 0x14006efc5
mov r8, rdx
mov dword [rsp + 0x20], 1
mov rdx, r11
mov r9, rbp
mov rcx, r15
call fcn.140074800
test eax, eax
js 0x1400700aa
mov rdx, qword [rsp + 0x38]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov r11, qword [rsp + 0x98]
mov ecx, dword [r15 + 0x48]
test ecx, ecx
je 0x1400700cf
cmp qword [rbx + 0x18], 0
jne 0x14006eff1
mov dword [r15 + 0x48], 0
mov rax, qword [rsi]
mov qword [rbx + 0x18], rax
mov rax, qword [r13]
mov qword [rbx + 0x10], rax
jmp 0x14006f01a
cmp qword [rsi], 0
je 0x1400700ac
mov rax, qword [r13]
movzx eax, byte [rax]
mov byte [rcx + r15 + 0x40], al
inc dword [r15 + 0x48]
mov eax, dword [r15 + 0x48]
mov qword [rbx + 0x18], rax
inc qword [r13]
dec qword [rsi]
mov edi, 1
movsxd rax, dword [r15]
cmp eax, 0x1a
ja case.default.0x14006f036
mov ecx, dword [r8 + rax*4 + 0x70184]
add rcx, r8
jmp rcx
mov rcx, rbx
call fcn.14007f810
test eax, eax
jne 0x14006f060
mov rdx, qword [rsp + 0x38]
lea edi, [rax + 2]
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
jmp case.default.0x14006f036
mov r8d, dword [r15 + 0x298]
mov eax, r8d
and eax, 0xffffffdf
mov dword [r15 + 0x298], eax
mov ecx, dword [rbx + 8]
mov rdx, qword [rbx]
mov rax, rdx
shr rax, cl
and eax, dword [0x140560b34]
lea ecx, [rcx + 1]
mov dword [rbx + 8], ecx
jne 0x14006f09e
mov dword [r15 + 0x29c], 0x10
jmp 0x14006f132
mov rax, rdx
shr rax, cl
lea ecx, [rcx + 3]
and eax, dword [0x140560b3c]
mov dword [rbx + 8], ecx
je 0x14006f0be
add eax, 0x11
mov dword [r15 + 0x29c], eax
jmp 0x14006f132
mov rax, rdx
shr rax, cl
add ecx, 3
and eax, dword [0x140560b3c]
mov dword [rbx + 8], ecx
cmp eax, 1
jne 0x14006f117
test r8b, 0x20
je 0x14006f0ef
shr rdx, cl
lea eax, [rcx + 1]
and edx, dword [0x140560b34]
mov dword [rbx + 8], eax
cmp edx, 1
jne 0x14006f10d
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov rdx, qword [rsp + 0x38]
mov edi, 0xfffffff3
jmp case.default.0x14006f036
or dword [r15 + 0x298], 0x20
jmp 0x14006f132
test eax, eax
je 0x14006f127
add eax, 8
mov dword [r15 + 0x29c], eax
jmp 0x14006f132
mov dword [r15 + 0x29c], 0x11
movzx eax, byte [r15 + 0x298]
mov edi, 1
and al, 0x20
neg al
sbb eax, eax
add eax, 2
mov rdx, qword [rsp + 0x38]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov dword [r15], eax
mov r11, qword [rsp + 0x98]
jmp case.default.0x14006f036
mov r8d, dword [rbx + 8]
mov eax, r12d
sub eax, r8d
cmp eax, 6
jae 0x14006f1b5
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x14006f235
mov rcx, qword [rbx + 0x10]
shr qword [rbx], 8
movzx eax, byte [rcx]
add dword [rbx + 8], 0xfffffff8
mov r8d, dword [rbx + 8]
shl rax, 0x38
or qword [rbx], rax
lea rax, [rdx - 1]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov eax, r12d
sub eax, r8d
cmp eax, 6
jb 0x14006f173
mov rax, qword [rbx]
mov ecx, r8d
shr rax, cl
and eax, dword [0x140560b48]
mov dword [r15 + 0x29c], eax
add dword [rbx + 8], 6
mov eax, dword [r15 + 0x29c]
sub eax, 0xa
cmp eax, 0x14
ja 0x14006f24b
mov dword [r15], 2
mov ecx, dword [r15 + 0x29c]
mov eax, 1
shl eax, cl
mov edx, 0x3030
mov rcx, qword [r15 + 0x38]
sub eax, 0x10
mov dword [r15 + 0x50], eax
mov rax, qword [r15 + 0x28]
call qword [case.0x14006e735.0]
mov qword [r15 + 0xf0], rax
test rax, rax
jne 0x14006f261
mov rdx, qword [rsp + 0x38]
lea edi, [rax - 0x1e]
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
jmp case.default.0x14006f036
mov rdx, qword [rsp + 0x38]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov edi, 2
jmp case.default.0x14006f036
mov rdx, qword [rsp + 0x38]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov edi, 0xfffffff3
jmp case.default.0x14006f036
add rax, 0x1da0
mov dword [r15], 3
mov qword [r15 + 0xf8], rax
mov rcx, r15
call fcn.140080480
mov dword [r15], 4
mov rdx, rbx
mov rcx, r15
call fcn.140071110
mov rdx, qword [rsp + 0x38]
mov edi, eax
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
cmp eax, 1
jne case.default.0x14006f036
test byte [r15 + 0x298], 6
je 0x14006f2fb
mov ecx, dword [rbx + 8]
mov r8d, ecx
neg r8d
and r8d, 7
je 0x14006f2fb
mov rdx, qword [rbx]
lea r10, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
shr rdx, cl
lea eax, [rcx + r8]
test dword [r10 + r8*4 + 0x560b30], edx
mov dword [rbx + 8], eax
je 0x14006f2fb
mov rdx, qword [rsp + 0x38]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov edi, 0xfffffff2
jmp case.default.0x14006f036
test byte [r15 + 0x298], 4
je 0x14006f325
mov rdx, qword [rsp + 0x38]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov r11, qword [rsp + 0x98]
mov dword [r15], 0xc
jmp case.default.0x14006f036
cmp dword [r15 + 0x108], 0
jne 0x14006f34f
mov rdx, qword [rsp + 0x38]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov r11, qword [rsp + 0x98]
mov dword [r15], 0xe
jmp case.default.0x14006f036
mov rcx, r15
call fcn.14006ed50
test byte [r15 + 0x298], 2
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
je case.0x14006f036.17
mov rdx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x98]
mov dword [r15], 0xb
jmp case.default.0x14006f036
mov qword [r15], 0x12
lea rax, [r15 + 0x3b8]
mov qword [r15 + 0x390], rax
mov qword [r15 + 0x2f0], 0
mov qword [r15 + 0x2e8], 0
movsxd rax, dword [r15 + 4]
cmp eax, 3
jl 0x14006f3ce
mov rdx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x98]
mov dword [r15], 5
jmp case.default.0x14006f036
add rax, 0x47
mov rdx, rbx
mov rcx, r15
lea r8, [r15 + rax*4]
call fcn.140071750
mov rdx, qword [rsp + 0x38]
mov edi, eax
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
cmp eax, 1
jne case.default.0x14006f036
movsxd rax, dword [r15 + 4]
inc dword [r15 + rax*4 + 0x11c]
movsxd rcx, dword [r15 + 4]
cmp dword [r15 + rcx*4 + 0x11c], 2
jae 0x14006f42e
lea eax, [rcx + 1]
mov dword [r15 + 4], eax
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
jmp case.default.0x14006f036
mov dword [r15], 0x13
movsxd rdx, dword [r15 + 4]
xor r9d, r9d
imul eax, edx, 0x278
mov qword [rsp + 0x20], r15
mov ecx, dword [r15 + rdx*4 + 0x11c]
add ecx, 2
movsxd rdx, eax
mov rax, qword [r15 + 0xf0]
lea r8, [rax + rdx*4]
mov edx, ecx
call fcn.1400725b0
mov rdx, qword [rsp + 0x38]
mov edi, eax
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
cmp eax, 1
jne case.default.0x14006f036
mov dword [r15], 0x14
imul eax, dword [r15 + 4], 0x18c
mov edx, 0x1a
xor r9d, r9d
mov qword [rsp + 0x20], r15
movsxd rcx, eax
mov rax, qword [r15 + 0xf8]
lea r8, [rax + rcx*4]
mov ecx, edx
call fcn.1400725b0
mov rdx, qword [rsp + 0x38]
mov edi, eax
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
cmp eax, 1
jne case.default.0x14006f036
mov dword [r15], 0x15
movsxd rdx, dword [r15 + 4]
imul eax, edx, 0x18c
cmp dword [r15 + 0x294], 0
lea rsi, [r15 + rdx*4]
movsxd rcx, eax
mov rax, qword [r15 + 0xf8]
lea r9, [rax + rcx*4]
jne 0x14006f5e8
mov r8d, dword [rbx + 8]
mov eax, r12d
sub eax, r8d
cmp eax, 0xf
jae 0x14006f562
nop word [rax + rax]
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x14006f5c3
mov rcx, qword [rbx + 0x10]
shr qword [rbx], 8
movzx eax, byte [rcx]
add dword [rbx + 8], 0xfffffff8
mov r8d, dword [rbx + 8]
shl rax, 0x38
or qword [rbx], rax
lea rax, [rdx - 1]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov eax, r12d
sub eax, r8d
cmp eax, 0xf
jb 0x14006f520
mov rax, qword [rbx]
mov ecx, r8d
shr rax, cl
and eax, dword [0x140560b6c]
mov r10d, eax
movzx eax, al
lea r9, [r9 + rax*4]
movzx eax, byte [r9]
cmp al, 8
jbe 0x14006f5b3
lea ecx, [rax - 8]
shr r10d, 8
add r8d, 8
lea rax, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov dword [rbx + 8], r8d
mov edx, dword [rax + rcx*4 + 0x560b30]
movzx eax, word [r9 + 2]
and edx, r10d
add edx, eax
movzx eax, byte [r9 + rdx*4]
lea r9, [r9 + rdx*4]
movzx eax, al
add eax, r8d
mov dword [rbx + 8], eax
movzx r10d, word [r9 + 2]
jmp 0x14006f5ef
lea r8, [rsp + 0x80]
mov rdx, rbx
mov rcx, r9
call fcn.140073870
test eax, eax
je 0x14006f6b5
mov r10d, dword [rsp + 0x80]
jmp 0x14006f5f7
mov r10d, dword [r15 + 0x10c]
mov dword [rsp + 0x80], r10d
mov r8d, dword [rbx + 8]
lea rcx, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov eax, r10d
movzx r9d, byte [rcx + rax*4 + 0x560bc2]
movzx r11d, word [rcx + rax*4 + 0x560bc0]
mov eax, r12d
sub eax, r8d
cmp eax, r9d
jae 0x14006f660
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x14006f6a3
mov rcx, qword [rbx + 0x10]
shr qword [rbx], 8
movzx eax, byte [rcx]
add dword [rbx + 8], 0xfffffff8
mov r8d, dword [rbx + 8]
shl rax, 0x38
or qword [rbx], rax
lea rax, [rdx - 1]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov eax, r12d
sub eax, r8d
cmp eax, r9d
jb 0x14006f622
mov rax, qword [rbx]
lea r10, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov ecx, r8d
shr rax, cl
mov ecx, dword [r10 + r9*4 + 0x560b30]
and ecx, eax
lea eax, [r9 + r8]
mov dword [rbx + 8], eax
lea eax, [rcx + r11]
mov dword [rsi + 0x110], eax
inc dword [r15 + 4]
mov dword [r15 + 0x294], 0
mov dword [r15], 0x12
jmp 0x14006f6ba
mov dword [r15 + 0x10c], r10d
mov dword [r15 + 0x294], 1
mov edi, 2
mov rsi, qword [rsp + 0x88]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov rdx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x98]
jmp case.default.0x14006f036
mov r9, r15
mov r8, rbp
mov rcx, r11
call fcn.140070350
mov rdx, qword [rsp + 0x38]
mov edi, eax
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
cmp eax, 1
jne case.default.0x14006f036
mov dword [r15], 0xe
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
jmp case.default.0x14006f036
cmp dword [r15 + 0x108], 0
jle 0x14006f799
nop word [rax + rax]
mov edx, dword [rbx + 8]
mov eax, r12d
sub eax, edx
cmp eax, 8
jae 0x14006f77b
nop dword [rax]
mov r8, qword [rbx + 0x18]
test r8, r8
je 0x14006f7aa
mov rcx, qword [rbx + 0x10]
add edx, 0xfffffff8
shr qword [rbx], 8
movzx eax, byte [rcx]
shl rax, 0x38
or qword [rbx], rax
lea rax, [r8 - 1]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov eax, r12d
sub eax, edx
mov dword [rbx + 8], edx
cmp eax, 8
jb 0x14006f740
lea eax, [rdx + 8]
mov dword [rbx + 8], eax
dec dword [r15 + 0x108]
cmp dword [r15 + 0x108], 0
jg 0x14006f730
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov rdx, qword [rsp + 0x38]
mov dword [r15], 0xe
jmp case.default.0x14006f036
mov rdx, qword [rsp + 0x38]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov edi, 2
jmp case.default.0x14006f036
mov r8d, dword [rbx + 8]
mov eax, r12d
sub eax, r8d
cmp eax, 6
jae 0x14006f812
nop
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x14006f235
mov rcx, qword [rbx + 0x10]
shr qword [rbx], 8
movzx eax, byte [rcx]
add dword [rbx + 8], 0xfffffff8
mov r8d, dword [rbx + 8]
shl rax, 0x38
or qword [rbx], rax
lea rax, [rdx - 1]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov eax, r12d
sub eax, r8d
cmp eax, 6
jb 0x14006f7d0
mov rdx, qword [rbx]
lea eax, [r8 + 6]
mov ecx, r8d
shr rdx, cl
and edx, dword [0x140560b48]
mov dword [rbx + 8], eax
mov ecx, edx
and ecx, dword [0x140560b38]
mov rax, qword [r15 + 0x28]
shr edx, 2
shl edx, cl
mov dword [r15 + 0x140], ecx
mov rcx, qword [r15 + 0x38]
mov dword [r15 + 0x144], edx
mov edx, dword [r15 + 0x11c]
call qword [case.0x14006e735.0]
mov qword [r15 + 0x2b0], rax
test rax, rax
jne 0x14006f880
mov rdx, qword [rsp + 0x38]
lea edi, [rax - 0x15]
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
jmp case.default.0x14006f036
mov qword [r15], 6
movsxd r9, dword [r15 + 4]
cmp r9d, dword [r15 + 0x11c]
jge 0x14006f926
mov r10, r9
nop dword [rax + rax]
mov r8d, dword [rbx + 8]
mov eax, r12d
sub eax, r8d
cmp eax, 2
jae 0x14006f8f2
nop
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x14006fa6c
mov rcx, qword [rbx + 0x10]
add r8d, 0xfffffff8
shr qword [rbx], 8
movzx eax, byte [rcx]
shl rax, 0x38
or qword [rbx], rax
lea rax, [rdx - 1]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov eax, r12d
sub eax, r8d
mov dword [rbx + 8], r8d
cmp eax, 2
jb 0x14006f8b0
mov rdx, qword [rbx]
lea eax, [r8 + 2]
mov ecx, r8d
inc r9d
shr rdx, cl
and edx, dword [0x140560b38]
mov dword [rbx + 8], eax
mov rax, qword [r15 + 0x2b0]
mov byte [r10 + rax], dl
inc r10
cmp r9d, dword [r15 + 0x11c]
jl 0x14006f8a0
mov dword [r15], 0x16
mov ecx, dword [r15 + 0x11c]
lea rdx, [r15 + 0x2a4]
shl ecx, 6
mov r9, r15
mov r8, r14
call fcn.140070740
mov rdx, qword [rsp + 0x38]
mov edi, eax
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
cmp eax, 1
jne case.default.0x14006f036
xorps xmm0, xmm0
xor esi, esi
movups xmmword [r15 + 0x2c8], xmm0
movups xmmword [r15 + 0x2d8], xmm0
cmp dword [r15 + 0x11c], esi
jbe 0x14006fa26
nop word [rax + rax]
mov r14, qword [r15 + 0x2a8]
mov r11, rsi
shl r11, 6
xor edi, edi
xor r10d, r10d
movzx r9d, byte [r14 + r11]
nop dword [rax + rax]
lea rdx, [r10 + r11]
add r10, 4
add rdx, r14
movzx r8d, byte [rdx + 3]
movzx ecx, byte [rdx + 2]
xor r8, r9
movzx eax, byte [rdx]
xor rcx, r9
or r8, rcx
movzx ecx, byte [rdx + 1]
xor rcx, r9
or r8, rcx
mov rcx, r9
xor rcx, rax
or r8, rcx
or rdi, r8
cmp r10, r12
jb 0x14006f9b0
test rdi, rdi
jne 0x14006fa0f
mov rax, rsi
mov ecx, esi
shr rax, 5
and ecx, 0x1f
lea rdx, [r15 + rax*4]
mov eax, dword [rdx + 0x2c8]
bts eax, ecx
mov dword [rdx + 0x2c8], eax
mov eax, dword [r15 + 0x11c]
inc rsi
cmp rsi, rax
jb 0x14006f990
lea rbx, [r15 + 8]
mov dword [r15], 0x17
mov r10d, dword [r15 + 0x140]
mov eax, 0x18
mov r8d, dword [r15 + 0x144]
lea ecx, [r10 + 1]
shl eax, cl
lea ebp, [r8 + 0x10]
add ebp, eax
test byte [r15 + 0x298], 0x20
mov esi, ebp
je 0x14006faf3
cmp r8d, 0x7ffffffc
jb 0x14006fa8e
mov esi, 0x8000000c
jmp 0x14006fae2
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov rdx, qword [rsp + 0x38]
mov edi, 2
mov dword [r15 + 4], r9d
jmp case.default.0x14006f036
mov ecx, r10d
mov edx, 0x7ffffffc
sub edx, r8d
mov r9d, 1
shr edx, cl
xor eax, eax
shl r9d, cl
add edx, 4
mov ecx, edx
dec r9d
shr ecx, 1
je 0x14006fab8
inc eax
shr ecx, 1
jne 0x14006fab2
lea ecx, [rax - 1]
shr edx, cl
lea eax, [rax*2 - 4]
and edx, 1
or edx, eax
jne 0x14006fad1
lea esi, [r8 + 0x10]
jmp 0x14006fae2
lea esi, [rdx - 1]
mov ecx, r10d
shl esi, cl
or esi, r9d
add esi, 0x11
add esi, r8d
lea ecx, [r10 + 1]
mov ebp, 0x3e
shl ebp, cl
add ebp, 0x10
add ebp, r8d
mov ecx, dword [r15 + 0x124]
lea r8, [r15 + 0x150]
shl ecx, 2
lea rdx, [r15 + 0x148]
mov r9, r15
call fcn.140070740
mov rdx, qword [rsp + 0x38]
mov edi, eax
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
cmp eax, 1
jne 0x14006ef60
mov eax, dword [r15 + 0x2a4]
lea rdx, [r15 + 0xa8]
mov r9d, 0x100
mov dword [rsp + 0x20], eax
mov r8d, r9d
mov rcx, r15
call fcn.1400800e0
mov ecx, dword [r15 + 0x120]
lea rdx, [r15 + 0xc0]
mov r9d, 0x2c0
mov dword [rsp + 0x20], ecx
mov edi, eax
mov r8d, r9d
mov rcx, r15
and edi, 1
call fcn.1400800e0
mov ecx, dword [r15 + 0x148]
lea rdx, [r15 + 0xd8]
mov dword [rsp + 0x20], ecx
mov r9d, esi
mov rcx, r15
mov r8d, ebp
and edi, eax
call fcn.1400800e0
test edi, eax
je 0x140070170
mov qword [r15], 0x18
mov ecx, dword [r15 + 4]
test ecx, ecx
je 0x14006fbd2
sub ecx, 1
je 0x14006fbcb
cmp ecx, 1
jne 0x14007017a
mov ebp, 0xd8
jmp 0x14006fbd7
mov ebp, 0xc0
jmp 0x14006fbd7
mov ebp, 0xa8
cmp dword [r15 + 0x2e8], 1
lea r14, [r15 + 0x9ec]
je 0x14006fc06
mov rax, qword [r15 + rbp + 8]
mov qword [r15 + 0x9f0], rax
mov dword [r14], 0
mov dword [r15 + 0x2e8], 1
movzx eax, word [r15 + rbp + 0x14]
cmp dword [r14], eax
jge 0x14006fc6d
movzx edx, word [r15 + rbp + 0x12]
lea r9, [rsp + 0x30]
movzx ecx, word [r15 + rbp + 0x10]
mov r8, qword [r15 + 0x9f0]
mov qword [rsp + 0x20], r15
call fcn.1400725b0
mov edi, eax
cmp eax, 1
jne 0x14006fd73
mov rcx, qword [r15 + rbp]
mov rax, qword [r15 + 0x9f0]
movsxd rdx, dword [r14]
mov qword [rcx + rdx*8], rax
inc dword [r14]
mov eax, dword [rsp + 0x30]
shl rax, 2
add qword [r15 + 0x9f0], rax
movzx eax, word [r15 + rbp + 0x14]
cmp dword [r14], eax
jl 0x14006fc11
mov rsi, qword [rsp + 0x88]
lea r14, [r15 + 0x2a8]
mov rbp, qword [rsp + 0xa8]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov rdx, qword [rsp + 0x38]
mov edi, 1
mov r11, qword [rsp + 0x98]
mov dword [r15 + 0x2e8], 0
inc dword [r15 + 4]
cmp dword [r15 + 4], 3
jl case.default.0x14006f036
mov dword [r15], 0x19
lea r14, [r15 + 0x2a8]
mov ecx, dword [r15 + 0x12c]
mov r8d, ecx
mov eax, ecx
mov r9d, ecx
shr rax, 5
and ecx, 0x1f
shl r8d, 6
add r8, qword [r14]
mov qword [r15 + 0x98], r8
mov edx, dword [r15 + rax*4 + 0x2c8]
mov rax, qword [r15 + 0xa8]
shr rdx, cl
and edx, 1
mov dword [r15 + 0x100], edx
movzx ecx, byte [r8]
mov rcx, qword [rax + rcx*8]
mov rax, qword [r15 + 0x2b0]
mov qword [r15 + 0x158], rcx
movzx ecx, byte [rax + r9]
lea rax, [0x140560c30]
and ecx, 3
shl rcx, 9
add rcx, rax
mov rax, qword [r15 + 0x150]
mov qword [r15 + 0xa0], rax
mov rax, qword [r15 + 0xc0]
mov qword [r15 + 0x90], rcx
mov rcx, qword [rax]
mov qword [r15 + 0x88], rcx
mov rcx, r15
call fcn.140070290
test eax, eax
jne 0x14006fda3
mov rbp, qword [rsp + 0xa8]
lea edi, [rax - 0x1b]
jmp 0x14006f6ba
mov rsi, qword [rsp + 0x88]
lea r14, [r15 + 0x2a8]
mov rbp, qword [rsp + 0xa8]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov r11, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x38]
jmp case.default.0x14006f036
mov r14d, dword [r15 + 0x140]
xor edi, edi
mov esi, dword [r15 + 0x144]
mov ecx, r14d
movzx ebp, word [r15 + 0xea]
mov r11d, 1
shl r11d, cl
xor ecx, ecx
lea r9d, [rdi + 1]
lea r8d, [rdi + 0x10]
test esi, esi
je 0x14006fdfc
nop word [rax + rax]
mov eax, r8d
inc ecx
inc r8d
mov byte [r15 + rax + 0x2e8], dil
mov dword [r15 + rax*4 + 0x508], ecx
cmp ecx, esi
jb 0x14006fde0
cmp r8d, ebp
jae 0x14006fe5d
nop dword [rax]
nop word [rax + rax]
mov ecx, r9d
lea r10d, [rdi + 2]
shl r10d, cl
xor edx, edx
sub r10d, 4
mov ecx, r14d
shl r10d, cl
inc r10d
add r10d, esi
test r11d, r11d
je 0x14006fe52
mov ecx, r8d
lea eax, [r10 + rdx]
inc r8d
inc edx
mov byte [r15 + rcx + 0x2e8], r9b
mov dword [r15 + rcx*4 + 0x508], eax
cmp edx, r11d
jb 0x14006fe31
add r9d, edi
xor edi, 1
cmp r8d, ebp
jb 0x14006fe10
mov eax, 7
mov dword [r15], eax
mov rcx, r15
call fcn.1400719f0
mov rsi, qword [rsp + 0x88]
mov edi, eax
mov rbp, qword [rsp + 0xa8]
lea r14, [r15 + 0x2a8]
mov rdx, qword [rsp + 0x38]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov r11, qword [rsp + 0x98]
cmp eax, 2
jne case.default.0x14006f036
mov rcx, r15
call fcn.140073930
mov edi, eax
lea r14, [r15 + 0x2a8]
jmp 0x14006f6ba
mov r8, rdx
mov dword [rsp + 0x20], 0
mov rdx, r11
mov r9, rbp
mov rcx, r15
call fcn.140074800
mov rdx, qword [rsp + 0x38]
mov edi, eax
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
cmp eax, 1
jne case.default.0x14006f036
mov rcx, r15
call fcn.1400747c0
mov ecx, dword [r15 + 0x29c]
mov eax, 1
shl eax, cl
cmp dword [r15 + 0x58], eax
jne 0x14006ff15
mov eax, dword [r15 + 0x50]
mov dword [r15 + 0x54], eax
mov eax, dword [r15]
cmp eax, 0xf
jne 0x14006ff37
cmp dword [r15 + 0x108], 0
mov eax, 0xe
mov ecx, 7
cmovne eax, ecx
jmp 0x14006f148
cmp eax, 0x10
jne 0x14006ff46
mov eax, 0xa
jmp 0x14006f148
cmp dword [r15 + 4], 0
jne 0x14006ff67
cmp dword [r15 + 0x108], 0
mov eax, 0xe
mov ecx, 9
cmovne eax, ecx
jmp 0x14006f148
mov eax, 8
jmp 0x14006f148
cmp dword [r15 + 0x108], 0
jge 0x14006ff85
mov edi, 0xfffffff6
jmp case.default.0x14006f036
mov rcx, r15
call fcn.140080270
test byte [r15 + 0x298], 1
jne 0x14006ffb7
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov rdx, qword [rsp + 0x38]
mov dword [r15], 3
jmp case.default.0x14006f036
mov r9d, dword [rbx + 8]
mov ecx, 0
mov r8d, r9d
neg r8d
and r8d, 7
je 0x14006ffed
mov rax, qword [rbx]
lea r10, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov ecx, r9d
shr rax, cl
mov ecx, dword [r10 + r8*4 + 0x560b30]
and ecx, eax
add r9d, r8d
mov dword [rbx + 8], r9d
test ecx, ecx
je 0x14007000f
mov r11, qword [rsp + 0x98]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov rdx, qword [rsp + 0x38]
mov edi, 0xfffffff1
jmp case.default.0x14006f036
cmp dword [r15 + 0x48], 0
jne 0x14007005c
mov r8, qword [rbx + 0x18]
mov eax, r12d
sub eax, r9d
shr eax, 3
mov ecx, eax
sub qword [rbx + 0x10], rcx
add r8, rcx
mov qword [rbx + 0x18], r8
lea edx, [rax*8]
cmp edx, r12d
jne 0x140070045
mov qword [rbx], 0
jmp 0x14007004a
mov ecx, edx
shl qword [rbx], cl
lea eax, [rdx + r9]
mov dword [rbx + 8], eax
mov qword [rsi], r8
mov rax, qword [rbx + 0x10]
mov qword [r13], rax
mov dword [r15], 0x1a
cmp qword [r15 + 0x78], 0
je 0x1400700ac
mov r8, qword [rsp + 0x38]
mov r9, rbp
mov rdx, qword [rsp + 0x98]
mov rcx, r15
mov dword [rsp + 0x20], 1
call fcn.140074800
mov edi, eax
cmp eax, 1
je 0x1400700ac
mov rdx, qword [rsp + 0x38]
lea r8, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
mov r11, qword [rsp + 0x98]
jmp case.default.0x14006f036
mov edi, eax
mov edx, edi
mov rcx, r15
mov r12, qword [rsp + 0x90]
mov r14, qword [rsp + 0x40]
add rsp, 0x48
pop r15
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x140074790
mov rax, qword [rbx + 0x10]
mov qword [r13], rax
mov rax, qword [rbx + 0x18]
mov qword [rsi], rax
test rax, rax
je 0x1400700ac
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r13]
mov ecx, dword [r15 + 0x48]
movzx eax, byte [rax]
mov byte [rcx + r15 + 0x40], al
inc dword [r15 + 0x48]
inc qword [r13]
sub qword [rsi], 1
jne 0x1400700f0
jmp 0x1400700ac
cmp dword [r15 + 0x48], 0
je 0x140070121
mov dword [r15 + 0x48], 0
jmp 0x1400700ac
mov r9, qword [rbx + 0x18]
mov r8d, dword [rbx + 8]
sub r12d, r8d
shr r12d, 3
mov ecx, r12d
sub qword [rbx + 0x10], rcx
add r9, rcx
mov qword [rbx + 0x18], r9
lea edx, [r12*8]
cmp edx, 0x40
jne 0x140070154
mov qword [rbx], 0
jmp 0x140070159
mov ecx, edx
shl qword [rbx], cl
lea eax, [r8 + rdx]
mov dword [rbx + 8], eax
mov qword [rsi], r9
mov rax, qword [rbx + 0x10]
mov qword [r13], rax
jmp 0x1400700ac
mov edx, 0xffffffea
jmp 0x1400700ae
mov edx, 0xffffffe1
jmp 0x1400700ae
mov dword [rcx + 0x74], edx
sub edx, 1
je 0x1400747b1
sub edx, 1
je 0x1400747ab
cmp edx, 1
je 0x1400747a5
xor eax, eax
ret
mov eax, 3
ret
mov eax, 2
ret
mov eax, 1
ret