Function at 0x1400016c0
Capabilities:
Encode data using xor

Disassembly:
push r15
mov eax, 0x10cb8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.14000f440
sub rsp, rax
mov rsi, qword [0x140260580]
mov qword [rsp + 0x48], 0xfffffffff70f2e80
call rsi
lea rdx, [rsp + 0x48]
xor ecx, ecx
mov rbx, rax
call fcn.140004b72
call rsi
sub rbx, rax
cmp rbx, 0x38a3
ja 0x140001720
xor eax, eax
add rsp, 0x10cb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140002f30
movdqa xmm0, xmmword [0x140251020]
mov ebx, 0xffffcfbf
lea rcx, [0x140034100]
mov word [rsp + 0xd60], bx
movaps xmmword [rsp + 0xcb0], xmm0
movdqa xmm0, xmmword [0x140251030]
movaps xmmword [rsp + 0xcc0], xmm0
movdqa xmm0, xmmword [0x140251040]
movaps xmmword [rsp + 0xcd0], xmm0
movdqa xmm0, xmmword [0x140251050]
movaps xmmword [rsp + 0xce0], xmm0
movdqa xmm0, xmmword [0x140251060]
movaps xmmword [rsp + 0xcf0], xmm0
movdqa xmm0, xmmword [0x140251070]
movaps xmmword [rsp + 0xd00], xmm0
movdqa xmm0, xmmword [0x140251080]
movaps xmmword [rsp + 0xd10], xmm0
movdqa xmm0, xmmword [0x140251090]
movaps xmmword [rsp + 0xd20], xmm0
movdqa xmm0, xmmword [0x1402510a0]
movaps xmmword [rsp + 0xd30], xmm0
movdqa xmm0, xmmword [0x1402510b0]
movaps xmmword [rsp + 0xd40], xmm0
movdqa xmm0, xmmword [0x1402510c0]
movaps xmmword [rsp + 0xd50], xmm0
call fcn.14000fff0
lea rcx, [0x1400340e0]
mov rbx, rax
call fcn.14000fff0
cmp byte [rbx], 0
mov r12, rax
jne 0x1400018ca
movdqa xmm2, xmmword [rsp + 0xcb0]
xor r8d, r8d
mov rdx, rax
movdqa xmm3, xmmword [rsp + 0xcc0]
movdqa xmm4, xmmword [rsp + 0xcd0]
mov r11d, 0xffffcfbf
movdqa xmm5, xmmword [rsp + 0xce0]
mov byte [rax + 0xb2], 1
movups xmmword [rax], xmm2
lea rcx, [0x140022d80]
movdqa xmm2, xmmword [rsp + 0xcf0]
movups xmmword [rax + 0x10], xmm3
movdqa xmm3, xmmword [rsp + 0xd00]
movups xmmword [rax + 0x20], xmm4
movdqa xmm4, xmmword [rsp + 0xd10]
movups xmmword [rax + 0x30], xmm5
movdqa xmm5, xmmword [rsp + 0xd20]
movups xmmword [rax + 0x40], xmm2
movdqa xmm2, xmmword [rsp + 0xd30]
movups xmmword [rax + 0x50], xmm3
movdqa xmm3, xmmword [rsp + 0xd40]
movups xmmword [rax + 0x60], xmm4
movdqa xmm4, xmmword [rsp + 0xd50]
mov word [rax + 0xb0], r11w
movups xmmword [rax + 0x70], xmm5
movups xmmword [rax + 0x80], xmm2
movups xmmword [rax + 0x90], xmm3
movups xmmword [rax + 0xa0], xmm4
mov byte [rbx], 1
call fcn.14000ed00
cmp byte [r12 + 0xb2], 0
je 0x140001910
movabs r8, 0x4fb7d5f3ab95cfbf
xor eax, eax
nop dword [rax]
mov rcx, rax
mov rdx, r8
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [r12 + rax*2], dx
add rax, 1
cmp rax, 0x59
jne 0x1400018e8
mov byte [r12 + 0xb2], 0
mov rdx, r12
mov ecx, 1
lea rbp, [rsp + 0xcb0]
call fcn.140002660
lea rsi, [0x140033020]
mov ecx, 0x69
mov rdi, rbp
rep movsq qword [rdi], qword [rsi]
lea rcx, [0x140034140]
call fcn.14000fff0
lea rcx, [0x140034120]
mov rbx, rax
call fcn.14000fff0
cmp byte [rbx], 0
mov r12, rax
jne 0x1400019b4
mov byte [rax + 0x348], 1
mov rsi, rbp
xor r8d, r8d
mov rdx, r12
mov rax, qword [rsp + 0xcb0]
lea rdi, [r12 + 8]
and rdi, 0xfffffffffffffff8
mov qword [r12], rax
mov rax, qword [rsp + 0xff0]
mov qword [r12 + 0x340], rax
mov rax, r12
sub rax, rdi
sub rsi, rax
add eax, 0x348
shr eax, 3
mov ecx, eax
rep movsq qword [rdi], qword [rsi]
mov byte [rbx], 1
lea rcx, [0x140022cd0]
call fcn.14000ed00
cmp byte [r12 + 0x348], 0
je 0x1400019fa
movabs r8, 0x297b45a773fb0941
xor eax, eax
nop dword [rax + rax]
mov rcx, rax
mov rdx, r8
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [r12 + rax*2], dx
add rax, 1
cmp rax, 0x1a4
jne 0x1400019d0
mov byte [r12 + 0x348], 0
mov rdx, r12
xor ecx, ecx
lea rsi, [0x140033380]
mov rdi, rbp
call fcn.140002660
mov ecx, 0x26
rep movsq qword [rdi], qword [rsi]
lea rcx, [0x140034180]
movzx eax, word [rsi]
mov word [rdi], ax
call fcn.14000fff0
lea rcx, [0x140034160]
mov rbx, rax
call fcn.14000fff0
cmp byte [rbx], 0
mov r12, rax
jne 0x140001a99
mov byte [rax + 0x132], 1
mov rsi, rbp
xor r8d, r8d
mov rdx, r12
mov rax, qword [rsp + 0xcb0]
lea rdi, [r12 + 8]
and rdi, 0xfffffffffffffff8
mov qword [r12], rax
mov rax, qword [rsp + 0xdda]
mov qword [r12 + 0x12a], rax
mov rax, r12
sub rax, rdi
sub rsi, rax
add eax, 0x132
shr eax, 3
mov ecx, eax
rep movsq qword [rdi], qword [rsi]
mov byte [rbx], 1
lea rcx, [0x140022c70]
call fcn.14000ed00
cmp byte [r12 + 0x132], 0
je 0x140001ada
movabs r8, 0x8107f5017dbbf511
xor eax, eax
mov rcx, rax
mov rdx, r8
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [r12 + rax*2], dx
add rax, 1
cmp rax, 0x99
jne 0x140001ab0
mov byte [r12 + 0x132], 0
xor ebx, ebx
mov rdx, r12
lea rdi, [rsp + 0x50]
xor ecx, ecx
call fcn.140002660
mov rax, rbx
mov ecx, 0x41
lea r14, [rsp + 0x50]
rep stosq qword [rdi], rax
xor r9d, r9d
xor r8d, r8d
mov r12, qword [0x1402608a0]
mov edx, 0x25
mov qword [rsp + 0x20], r14
lea rdi, [rsp + 0x260]
lea r13, [rsp + 0x260]
call r12
mov rax, rbx
mov ecx, 0x41
mov rdx, r13
rep stosq qword [rdi], rax
mov r8d, 0x104
lea rdi, [rsp + 0x470]
call qword [0x140260520]
mov rax, rbx
mov ecx, 0x41
xor r9d, r9d
rep stosq qword [rdi], rax
lea rbx, [rsp + 0x470]
xor r8d, r8d
mov edx, 0x26
mov qword [rsp + 0x20], rbx
call r12
mov r10d, 0x2557
movdqa xmm0, xmmword [0x1402510d0]
lea rcx, [0x1400341c0]
mov word [rsp + 0xcd4], r10w
movaps xmmword [rsp + 0xcb0], xmm0
movdqa xmm0, xmmword [0x1402510e0]
mov dword [rsp + 0xcd0], 0x5784e17f
movaps xmmword [rsp + 0xcc0], xmm0
call fcn.14000fff0
lea rcx, [0x1400341a0]
mov rsi, rax
call fcn.14000fff0
cmp byte [rsi], 0
mov r15, rax
jne 0x140001c0e
mov r9d, 0x2557
mov byte [rax + 0x26], 1
xor r8d, r8d
mov rdx, rax
movdqa xmm5, xmmword [rsp + 0xcb0]
mov dword [rax + 0x20], 0x5784e17f
lea rcx, [0x140022c80]
movdqa xmm2, xmmword [rsp + 0xcc0]
mov word [rax + 0x24], r9w
movups xmmword [rax], xmm5
movups xmmword [rax + 0x10], xmm2
mov byte [rsi], 1
call fcn.14000ed00
cmp byte [r15 + 0x26], 0
je 0x140001c4c
movabs r8, 0x13bfd92d2557e107
xor eax, eax
nop dword [rax]
mov rcx, rax
mov rdx, r8
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [r15 + rax*2], dx
add rax, 1
cmp rax, 0x13
jne 0x140001c28
mov byte [r15 + 0x26], 0
mov rdx, r15
mov rcx, rbx
lea rsi, [0x1400334c0]
mov rdi, rbp
call fcn.140021400
mov ecx, 0xd0
rep movsq qword [rdi], qword [rsi]
lea rcx, [0x140034200]
call fcn.14000fff0
lea rcx, [0x1400341e0]
mov qword [rsp + 0x38], rax
call fcn.14000fff0
mov rdx, qword [rsp + 0x38]
mov r15, rax
cmp byte [rdx], 0
jne 0x140001cea
mov byte [rax + 0x680], 1
lea rdi, [r15 + 8]
mov rsi, rbp
xor r8d, r8d
mov rax, qword [rsp + 0xcb0]
and rdi, 0xfffffffffffffff8
mov qword [r15], rax
mov rax, qword [rsp + 0x1328]
mov qword [r15 + 0x678], rax
mov rax, r15
sub rax, rdi
sub rsi, rax
add eax, 0x680
shr eax, 3
mov ecx, eax
rep movsq qword [rdi], qword [rsi]
mov byte [rdx], 1
lea rcx, [0x140022d60]
mov rdx, r15
call fcn.14000ed00
cmp byte [r15 + 0x680], 0
je 0x140001d29
movabs r8, 0x769f7ebeb59dbd3
xor eax, eax
mov rcx, rax
mov rdx, r8
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [r15 + rax*2], dx
add rax, 1
cmp rax, 0x340
jne 0x140001d00
mov byte [r15 + 0x680], 0
mov qword [rsp + 0x20], rbx
mov r9, rbx
mov r8, rbx
mov rdx, r15
mov ecx, 1
lea rsi, [rsp + 0x680]
mov rdi, rsi
call fcn.140002660
movdqa xmm0, xmmword [0x1402510f0]
xor eax, eax
mov ecx, 0x41
rep stosq qword [rdi], rax
movabs rdx, 0x47131384e1a3db96
lea rcx, [0x140034240]
mov qword [rsp + 0xcc0], rdx
movaps xmmword [rsp + 0xcb0], xmm0
call fcn.14000fff0
lea rcx, [0x140034220]
mov rdi, rax
call fcn.14000fff0
cmp byte [rdi], 0
mov r15, rax
jne 0x140001dce
movdqa xmm3, xmmword [rsp + 0xcb0]
mov byte [rax + 0x18], 1
xor r8d, r8d
movabs rdx, 0x47131384e1a3db96
mov qword [rax + 0x10], rdx
lea rcx, [0x140022c40]
mov rdx, rax
movups xmmword [rax], xmm3
mov byte [rdi], 1
call fcn.14000ed00
cmp byte [r15 + 0x18], 0
je 0x140001df9
movabs rax, 0x471313e1e1dbdbf3
xor qword [r15], rax
movabs rdx, 0xd3d38585d5d547
xor qword [r15 + 0x10], rax
xor qword [r15 + 8], rdx
mov byte [r15 + 0x18], 0
mov rdx, r14
mov rcx, rsi
mov r8, r15
call fcn.140003700
mov rdx, rbx
mov rcx, r13
call fcn.1400214e0
test eax, eax
jne 0x14000242b
lea r15, [rsp + 0x890]
movdqa xmm0, xmmword [0x140251100]
xor eax, eax
mov ecx, 0x41
mov rdi, r15
mov r8d, 0xffffbf1f
movabs r13, 0x1f137b55373d57f3
rep stosq qword [rdi], rax
lea rcx, [0x1400342c0]
mov word [rsp + 0xcc8], r8w
movaps xmmword [rsp + 0xcb0], xmm0
mov qword [rsp + 0xcc0], r13
call fcn.14000fff0
lea rcx, [0x1400342a0]
mov rdi, rax
call fcn.14000fff0
cmp byte [rdi], 0
mov rbx, rax
jne 0x140001eb5
mov ecx, 0xffffbf1f
mov byte [rax + 0x1a], 1
xor r8d, r8d
mov rdx, rax
movdqa xmm4, xmmword [rsp + 0xcb0]
mov word [rax + 0x18], cx
lea rcx, [0x140022c50]
mov qword [rax + 0x10], r13
movups xmmword [rax], xmm4
mov byte [rdi], 1
call fcn.14000ed00
cmp byte [rbx + 0x1a], 0
je 0x140001ee4
movabs rax, 0x1f7b7b3737575791
xor word [rbx + 0x18], 0xbf1f
movabs rdx, 0xe5e57f7fbfbf1f
xor qword [rbx], rax
xor qword [rbx + 8], rdx
xor qword [rbx + 0x10], rax
mov byte [rbx + 0x1a], 0
mov r8, rbx
mov rdx, rsi
mov rcx, r15
call fcn.140003700
mov esi, dword [0x1400c7280]
lea rcx, [0x140086280]
mov edx, esi
call fcn.1400015c0
movdqa xmm0, xmmword [0x140251110]
mov edx, 0xfffff195
lea rcx, [0x140034300]
mov word [rsp + 0xcd4], dx
mov rbx, rax
movaps xmmword [rsp + 0xcb0], xmm0
movdqa xmm0, xmmword [0x140251120]
mov dword [rsp + 0xcd0], 0x95573fff
movaps xmmword [rsp + 0xcc0], xmm0
call fcn.14000fff0
lea rcx, [0x1400342e0]
mov rdi, rax
call fcn.14000fff0
cmp byte [rdi], 0
mov r13, rax
jne 0x140001fa7
movdqa xmm5, xmmword [rsp + 0xcb0]
mov byte [rax + 0x26], 1
xor r8d, r8d
mov rdx, r13
movdqa xmm4, xmmword [rsp + 0xcc0]
mov dword [rax + 0x20], 0x95573fff
lea rcx, [0x140022c90]
movups xmmword [rax], xmm5
movups xmmword [rax + 0x10], xmm4
mov eax, 0xfffff195
mov word [r13 + 0x24], ax
mov byte [rdi], 1
call fcn.14000ed00
cmp byte [r13 + 0x26], 0
je 0x140001fe5
movabs r8, 0x27cf676ff1953f9d
xor eax, eax
nop word [rax + rax]
mov rcx, rax
mov rdx, r8
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [r13 + rax*2], dx
add rax, 1
cmp rax, 0x13
jne 0x140001fc0
mov byte [r13 + 0x26], 0
mov rcx, r13
call fcn.140002ee0
test al, al
je 0x14000256c
xor eax, eax
lea rdi, [rsp + 0xaa0]
xor r9d, r9d
xor r8d, r8d
mov ecx, 0x41
mov edx, 0x26
lea r13, [rsp + 0xaa0]
movabs rsi, 0x6f0a7985e7ee87f3
rep stosq qword [rdi], rax
mov qword [rsp + 0x20], r13
call r12
movdqa xmm0, xmmword [0x140251130]
lea rcx, [0x140034340]
mov qword [rsp + 0xcc0], rsi
mov dword [rsp + 0xcc8], 0xe3ffff33
movaps xmmword [rsp + 0xcb0], xmm0
call fcn.14000fff0
lea rcx, [0x140034320]
mov rbx, rax
call fcn.14000fff0
cmp byte [rbx], 0
mov r12, rax
jne 0x1400020a2
movdqa xmm5, xmmword [rsp + 0xcb0]
mov byte [rax + 0x1c], 1
xor r8d, r8d
mov rdx, rax
mov qword [rax + 0x10], rsi
lea rcx, [0x140022c60]
mov dword [rax + 0x18], 0xe3ffff33
movups xmmword [rax], xmm5
mov byte [rbx], 1
call fcn.14000ed00
cmp byte [r12 + 0x1c], 0
je 0x1400020db
movabs rax, 0x6f7979e7e78787bf
xor qword [r12], rax
movabs rdx, 0xb5b5e3e3ffff6f
xor qword [r12 + 0x10], rax
xor qword [r12 + 8], rdx
xor dword [r12 + 0x18], 0xe3ffff6f
mov byte [r12 + 0x1c], 0
mov rdx, r12
mov rcx, r13
call fcn.140021400
mov rcx, r13
call fcn.140002790
lea rcx, [0x140034380]
mov byte [rsp + 0x38], al
call fcn.14000fff0
lea rcx, [0x140034360]
mov rbx, rax
call fcn.14000fff0
cmp byte [rbx], 0
mov r15, rax
jne 0x14000213b
mov byte [rax + 8], 1
xor r8d, r8d
movabs rax, 0x5901011f77057166
mov rdx, r15
mov qword [r15], rax
lea rcx, [0x140022d10]
mov byte [rbx], 1
call fcn.14000ed00
cmp byte [r15 + 8], 0
je 0x14000215d
movq xmm0, qword [r15]
mov byte [r15 + 8], 0
movq xmm1, qword [0x140251140]
pxor xmm0, xmm1
movq qword [r15], xmm0
movdqa xmm0, xmmword [0x140251150]
lea rcx, [0x1400343c0]
movaps xmmword [rsp + 0xcb0], xmm0
movdqa xmm0, xmmword [0x140251160]
movaps xmmword [rsp + 0xcc0], xmm0
movdqa xmm0, xmmword [0x140251170]
movaps xmmword [rsp + 0xcd0], xmm0
call fcn.14000fff0
lea rcx, [0x1400343a0]
mov rbx, rax
call fcn.14000fff0
cmp byte [rbx], 0
mov r13, rax
jne 0x1400021ef
movdqa xmm2, xmmword [rsp + 0xcb0]
mov byte [rax + 0x30], 1
xor r8d, r8d
mov rdx, rax
movdqa xmm3, xmmword [rsp + 0xcc0]
lea rcx, [0x140022cc0]
movdqa xmm4, xmmword [rsp + 0xcd0]
movups xmmword [rax], xmm2
movups xmmword [rax + 0x10], xmm3
movups xmmword [rax + 0x20], xmm4
mov byte [rbx], 1
call fcn.14000ed00
cmp byte [r13 + 0x30], 0
je 0x14000222d
movabs r8, 0x36d5f5901777103
xor eax, eax
nop word [rax + rax]
mov rcx, rax
mov rdx, r8
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [r13 + rax*2], dx
add rax, 1
cmp rax, 0x18
jne 0x140002208
mov byte [r13 + 0x30], 0
lea rsi, [0x140033b40]
mov ecx, 0x6d
mov rdi, rbp
rep movsq qword [rdi], qword [rsi]
lea rcx, [0x140034400]
mov eax, dword [rsi]
mov dword [rdi], eax
call fcn.14000fff0
lea rcx, [0x1400343e0]
mov r12, rax
call fcn.14000fff0
cmp byte [r12], 0
mov rbx, rax
jne 0x1400022c1
mov byte [rax + 0x36c], 1
mov rsi, rbp
xor r8d, r8d
mov rdx, rbx
mov rax, qword [rsp + 0xcb0]
lea rdi, [rbx + 8]
and rdi, 0xfffffffffffffff8
mov qword [rbx], rax
mov rax, qword [rsp + 0x1014]
mov qword [rbx + 0x364], rax
mov rax, rbx
sub rax, rdi
sub rsi, rax
add eax, 0x36c
shr eax, 3
mov ecx, eax
rep movsq qword [rdi], qword [rsi]
mov byte [r12], 1
lea rcx, [0x140022ce0]
call fcn.14000ed00
cmp byte [rbx + 0x36c], 0
je 0x140002307
movabs r8, 0x36d5f5901777103
xor eax, eax
nop word cs:[rax + rax]
mov rcx, rax
mov rdx, r8
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [rbx + rax*2], dx
add rax, 1
cmp rax, 0x1b6
jne 0x1400022e0
mov byte [rbx + 0x36c], 0
lea rcx, [0x140034440]
call fcn.14000fff0
lea rcx, [0x140034420]
mov rsi, rax
call fcn.14000fff0
cmp byte [rsi], 0
mov r12, rax
je 0x1400023dd
nop
cmp byte [r12 + 8], 0
je 0x140002356
movq xmm0, qword [r12]
mov byte [r12 + 8], 0
movq xmm1, qword [0x140251188]
pxor xmm0, xmm1
movq qword [r12], xmm0
mov rcx, r12
mov rdx, r15
call fcn.1400214e0
mov r12d, eax
test eax, eax
jne 0x140002373
cmp byte [rsp + 0x38], 0
je 0x140001708
xor edx, edx
mov r8d, 0xfffe
mov rcx, rbp
call fcn.140021448
mov r8, rbx
mov rdx, r14
mov rcx, rbp
call fcn.140003700
test r12d, r12d
jne 0x140002410
movsxd rbx, dword [0x14024eea0]
lea rcx, [0x1400c72a0]
mov rdx, rbx
call fcn.1400015c0
mov r12, rax
mov rcx, r13
call fcn.140002ee0
test al, al
jne 0x140001708
mov rcx, rbp
xor r9d, r9d
mov r8d, ebx
mov rdx, r12
call fcn.140004640
mov rcx, rax
call fcn.140004acd
jmp 0x140001708
mov byte [rax + 8], 1
xor r8d, r8d
mov rax, qword [0x140251180]
mov rdx, r12
lea rcx, [0x140022d20]
mov qword [r12], rax
mov byte [rsi], 1
call fcn.14000ed00
jmp 0x140002330
movsxd rbx, dword [0x14025f044]
lea rcx, [0x14025f041]
mov rdx, rbx
call fcn.1400015c0
mov r12, rax
jmp 0x1400023af
lea rdx, [rsp + 0xaa0]
mov rcx, r13
call fcn.140004180
mov rcx, rbx
mov rdx, rax
mov eax, dword [rsp + 0xaa0]
lea r8d, [rax + 1]
mov dword [rsp + 0xaa0], r8d
call fcn.140004260
mov edi, dword [0x140086260]
lea rcx, [0x140034460]
mov edx, edi
call fcn.1400015c0
xor ecx, ecx
mov r12, rax
call fcn.140002ee0
test al, al
je 0x14000258a
lea rsi, [0x140033ec0]
mov ecx, 0x3b
mov rdi, rbp
rep movsq qword [rdi], qword [rsi]
lea rcx, [0x140034280]
mov eax, dword [rsi]
mov dword [rdi], eax
call fcn.14000fff0
lea rcx, [0x140034260]
mov r13, rax
call fcn.14000fff0
cmp byte [r13], 0
mov r12, rax
jne 0x140002515
mov byte [rax + 0x1dc], 1
mov rsi, rbp
xor r8d, r8d
mov rdx, r12
mov rax, qword [rsp + 0xcb0]
lea rdi, [r12 + 8]
and rdi, 0xfffffffffffffff8
mov qword [r12], rax
mov rax, qword [rsp + 0xe84]
mov qword [r12 + 0x1d4], rax
mov rax, r12
sub rax, rdi
lea ecx, [rax + 0x1dc]
sub rsi, rax
shr ecx, 3
rep movsq qword [rdi], qword [rsi]
mov byte [r13], 1
lea rcx, [0x140022ca0]
call fcn.14000ed00
cmp byte [r12 + 0x1dc], 0
je 0x14000255a
movabs r8, 0x558bf9a58fbd6dbf
xor eax, eax
nop dword [rax]
mov rcx, rax
mov rdx, r8
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [r12 + rax*2], dx
add rax, 1
cmp rax, 0xee
jne 0x140002530
mov byte [r12 + 0x1dc], 0
mov r8, rbx
mov rdx, r12
xor ecx, ecx
call fcn.140002660
jmp 0x140001708
mov rcx, r15
xor r9d, r9d
mov r8d, esi
mov rdx, rbx
call fcn.140004640
mov rcx, rax
call fcn.140004acd
jmp 0x140001ff5
mov rcx, rsi
xor r9d, r9d
mov r8d, edi
mov rdx, r12
call fcn.140004640
mov rcx, rax
call fcn.140004acd
jmp 0x14000247f