Function at 0x8c0360
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
add byte [rcx + 0xf7], 1
mov r15, rcx
mov rbp, rdx
mov r12, r8
mov rdi, r9
mov dword [rsp + 0x44], 0x10
jne 0x8c0416
add byte [rcx + 0xf6], 1
jne 0x8c0416
add byte [rcx + 0xf5], 1
jne 0x8c0416
add byte [rcx + 0xf4], 1
jne 0x8c0416
add byte [rcx + 0xf3], 1
jne 0x8c0416
add byte [rcx + 0xf2], 1
jne 0x8c0416
add byte [rcx + 0xf1], 1
jne 0x8c0416
add byte [rcx + 0xf0], 1
jne 0x8c0416
add byte [rcx + 0xef], 1
jne 0x8c0416
add byte [rcx + 0xee], 1
jne 0x8c0416
add byte [rcx + 0xed], 1
jne 0x8c0416
add byte [rcx + 0xec], 1
jne 0x8c0416
add byte [rcx + 0xeb], 1
jne 0x8c0416
add byte [rcx + 0xea], 1
jne 0x8c0416
add byte [rcx + 0xe9], 1
jne 0x8c0416
add byte [rcx + 0xe8], 1
mov dword [rsp + 0x20], 0x10
lea rbx, [r15 + 0xe8]
lea rsi, [r15 + 0xc8]
mov rcx, qword [r15 + 0xa8]
lea r13, [rsp + 0x44]
mov r9, rbx
mov rdx, rsi
mov r8, r13
call fcn.00793260
test eax, eax
je 0x8c0cc0
cmp dword [rsp + 0x44], 0x10
jne 0x8c0cc0
cmp qword [r15 + 0xc0], 0x10
je 0x8c0545
add byte [r15 + 0xf7], 1
jne 0x8c0511
add byte [r15 + 0xf6], 1
jne 0x8c0511
add byte [r15 + 0xf5], 1
jne 0x8c0511
add byte [r15 + 0xf4], 1
jne 0x8c0511
add byte [r15 + 0xf3], 1
jne 0x8c0511
add byte [r15 + 0xf2], 1
jne 0x8c0511
add byte [r15 + 0xf1], 1
jne 0x8c0511
add byte [r15 + 0xf0], 1
jne 0x8c0511
add byte [r15 + 0xef], 1
jne 0x8c0511
add byte [r15 + 0xee], 1
jne 0x8c0511
add byte [r15 + 0xed], 1
jne 0x8c0511
add byte [r15 + 0xec], 1
jne 0x8c0511
add byte [r15 + 0xeb], 1
jne 0x8c0511
add byte [r15 + 0xea], 1
jne 0x8c0511
add byte [r15 + 0xe9], 1
jne 0x8c0511
add byte [r15 + 0xe8], 1
mov dword [rsp + 0x20], 0x10
mov rcx, qword [r15 + 0xa8]
mov r9, rbx
mov r8, r13
lea rdx, [r15 + 0xd8]
call fcn.00793260
test eax, eax
je 0x8c0cc0
cmp dword [rsp + 0x44], 0x10
jne 0x8c0cc0
add byte [r15 + 0xf7], 1
jne 0x8c05ef
add byte [r15 + 0xf6], 1
jne 0x8c05ef
add byte [r15 + 0xf5], 1
jne 0x8c05ef
add byte [r15 + 0xf4], 1
jne 0x8c05ef
add byte [r15 + 0xf3], 1
jne 0x8c05ef
add byte [r15 + 0xf2], 1
jne 0x8c05ef
add byte [r15 + 0xf1], 1
jne 0x8c05ef
add byte [r15 + 0xf0], 1
jne 0x8c05ef
add byte [r15 + 0xef], 1
jne 0x8c05ef
add byte [r15 + 0xee], 1
jne 0x8c05ef
add byte [r15 + 0xed], 1
jne 0x8c05ef
add byte [r15 + 0xec], 1
jne 0x8c05ef
add byte [r15 + 0xeb], 1
jne 0x8c05ef
add byte [r15 + 0xea], 1
jne 0x8c05ef
add byte [r15 + 0xe9], 1
jne 0x8c05ef
add byte [r15 + 0xe8], 1
mov rcx, qword [r15 + 0xa8]
mov r9, rbx
mov r8, r13
mov rdx, rbx
mov dword [rsp + 0x20], 0x10
call fcn.00793260
test eax, eax
je 0x8c0cc0
cmp dword [rsp + 0x44], 0x10
jne 0x8c0cc0
mov rdx, qword [r15 + 0xc0]
cmp rdx, 0x18
je 0x8c121b
test byte [r15 + 0x1c], 1
jne 0x8c0cd3
mov rax, qword [rsp + 0xc8]
or rax, rdi
or rax, rbp
je 0x8c09b3
lea r13, [r15 + 0x110]
pxor xmm0, xmm0
mov qword [r13 + 0x10], 0
lea r14, [rsp + 0x4c]
lea rax, [r15 + 0xf8]
mov r9, r13
mov r8, r14
mov rdx, r13
mov qword [r13 + 0x18], 0
mov qword [r13 + 0x20], 0
mov qword [r13 + 0x28], 0
mov rcx, qword [r15 + 0xb0]
mov qword [r15 + 0xf8], 0
mov qword [r15 + 0x100], 0
mov dword [rsp + 0x20], 0x10
movups xmmword [r15 + 0x110], xmm0
mov dword [rsp + 0x48], 0x10
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x4c], 0x10
call fcn.00793260
test eax, eax
je 0x8c0cc0
cmp dword [rsp + 0x4c], 0x10
jne 0x8c0cc0
movdqu xmm0, xmmword [r15 + 0x120]
mov byte [r15 + 0xfb], 1
lea rax, [r15 + 0x120]
mov r8, r14
movdqu xmm2, xmmword [r15 + 0xf8]
mov rcx, qword [r15 + 0xb0]
mov r9, rax
mov rdx, rax
mov dword [rsp + 0x20], 0x10
pxor xmm0, xmm2
mov qword [rsp + 0x38], rax
movups xmmword [r15 + 0x120], xmm0
call fcn.00793260
test eax, eax
je 0x8c0cc0
cmp dword [rsp + 0x4c], 0x10
jne 0x8c0cc0
mov rdx, qword [r15 + 0xc0]
cmp rdx, 0x10
je 0x8c07b9
movdqu xmm3, xmmword [r15 + 0x130]
mov byte [r15 + 0xfb], 2
lea rdx, [r15 + 0x130]
mov r8, r14
movdqu xmm0, xmmword [r15 + 0xf8]
mov dword [rsp + 0x20], 0x10
mov r9, rdx
mov rcx, qword [r15 + 0xb0]
pxor xmm0, xmm3
movups xmmword [r15 + 0x130], xmm0
call fcn.00793260
test eax, eax
je 0x8c0cc0
cmp dword [rsp + 0x4c], 0x10
jne 0x8c0cc0
mov rdx, qword [r15 + 0xc0]
test rbp, rbp
je 0x8c1253
test r12, r12
mov r8, r12
sete cl
cmp qword [rsp + 0xc8], 0
mov rax, r8
je 0x8c1242
add rax, qword [rsp + 0xd0]
test rdi, rdi
je 0x8c1231
add rax, qword [rsp + 0xc0]
bswap eax
add edx, 0x10
mov dword [r15 + 0xf8], eax
xor eax, eax
lea r14, [r15 + 0xa8]
mov word [r15 + 0xfc], ax
mov byte [r15 + 0xfe], 0
mov byte [r15 + 0xff], dl
mov qword [r15 + 0x108], 8
test cl, cl
jne 0x8c0844
mov rdx, rbp
mov rcx, r14
call fcn.008bffc0
test eax, eax
je 0x8c0cc0
cmp qword [rsp + 0xc8], 0
je 0x8c087a
cmp qword [rsp + 0xd0], 0
je 0x8c087a
mov r8, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc8]
mov rcx, r14
call fcn.008bffc0
test eax, eax
je 0x8c0cc0
test rdi, rdi
je 0x8c08a5
cmp qword [rsp + 0xc0], 0
je 0x8c08a5
mov r8, qword [rsp + 0xc0]
mov rdx, rdi
mov rcx, r14
call fcn.008bffc0
test eax, eax
je 0x8c0cc0
mov r8d, 1
lea rdx, [0x00a5b740]
mov rcx, r14
call fcn.008bffc0
test eax, eax
je 0x8c0cc0
mov rax, qword [r15 + 0x108]
test rax, rax
jne 0x8c0c8f
mov dword [rsp + 0x28], 1
xor r8d, r8d
mov r9, r13
mov rdx, qword [r15 + 0xb8]
mov qword [rsp + 0x20], 0
mov rcx, qword [r15 + 0xa8]
call fcn.00792d60
test eax, eax
je 0x8c0cc0
mov r9, qword [r15 + 0xc0]
lea rdi, [rsp + 0x48]
mov rdx, r13
mov dword [rsp + 0x20], 0x10
mov rcx, qword [r15 + 0xa8]
mov r8, rdi
add r9, r13
call fcn.00793260
test eax, eax
je 0x8c0cc0
cmp dword [rsp + 0x48], 0x10
jne 0x8c0cc0
mov r14, qword [rsp + 0x38]
mov rcx, qword [r15 + 0xa8]
mov r9, r13
mov r8, rdi
mov dword [rsp + 0x20], 0x10
mov rdx, r14
call fcn.00793260
test eax, eax
je 0x8c0cc0
cmp dword [rsp + 0x48], 0x10
jne 0x8c0cc0
cmp qword [r15 + 0xc0], 0x10
je 0x8c09b3
mov dword [rsp + 0x20], 0x10
mov rcx, qword [r15 + 0xa8]
mov r9, r14
mov r8, rdi
lea rdx, [r15 + 0x130]
call fcn.00793260
test eax, eax
je 0x8c0cc0
cmp dword [rsp + 0x48], 0x10
jne 0x8c0cc0
test r12, r12
je 0x8c11e4
mov rcx, qword [r15 + 0x90]
test rcx, rcx
je 0x8c11e4
mov r8, qword [r15 + 0xc0]
lea r9, [r15 + 0x110]
cmp rcx, r8
mov rdx, r8
cmovbe rdx, rcx
test rdx, rdx
je 0x8c0c19
lea rax, [r15 + 0xd8]
cmp r9, rax
lea rax, [r15 + 0x120]
setae r11b
cmp rsi, rax
setae al
or r11b, al
je 0x8c154e
lea rax, [rdx - 1]
cmp rax, 0xe
jbe 0x8c154e
movdqu xmm0, xmmword [r15 + 0xc8]
mov rax, rdx
movdqu xmm4, xmmword [r15 + 0x110]
shr rax, 4
pxor xmm0, xmm4
movups xmmword [r15 + 0xc8], xmm0
cmp rax, 1
je 0x8c0a68
movdqu xmm5, xmmword [r15 + 0xd8]
movdqu xmm0, xmmword [r15 + 0x120]
pxor xmm0, xmm5
movups xmmword [r15 + 0xd8], xmm0
mov rax, rdx
and rax, 0xfffffffffffffff0
cmp rdx, rax
je 0x8c0c19
movzx r11d, byte [r15 + rax + 0x110]
xor byte [r15 + rax + 0xc8], r11b
lea r11, [rax + 1]
cmp rdx, r11
jbe 0x8c0c19
movzx edi, byte [r15 + rax + 0x111]
xor byte [r15 + r11 + 0xc8], dil
lea r11, [rax + 2]
cmp rdx, r11
jbe 0x8c0c19
movzx edi, byte [r15 + rax + 0x112]
xor byte [r15 + r11 + 0xc8], dil
lea r11, [rax + 3]
cmp rdx, r11
jbe 0x8c0c19
movzx edi, byte [r15 + rax + 0x113]
xor byte [r15 + r11 + 0xc8], dil
lea r11, [rax + 4]
cmp rdx, r11
jbe 0x8c0c19
movzx edi, byte [r15 + rax + 0x114]
xor byte [r15 + r11 + 0xc8], dil
lea r11, [rax + 5]
cmp rdx, r11
jbe 0x8c0c19
movzx edi, byte [r15 + rax + 0x115]
xor byte [r15 + r11 + 0xc8], dil
lea r11, [rax + 6]
cmp rdx, r11
jbe 0x8c0c19
movzx edi, byte [r15 + rax + 0x116]
xor byte [r15 + r11 + 0xc8], dil
lea r11, [rax + 7]
cmp rdx, r11
jbe 0x8c0c19
movzx edi, byte [r15 + rax + 0x117]
xor byte [r15 + r11 + 0xc8], dil
lea r11, [rax + 8]
cmp rdx, r11
jbe 0x8c0c19
movzx edi, byte [r15 + rax + 0x118]
xor byte [r15 + r11 + 0xc8], dil
lea r11, [rax + 9]
cmp rdx, r11
jbe 0x8c0c19
movzx edi, byte [r15 + rax + 0x119]
xor byte [r15 + r11 + 0xc8], dil
lea r11, [rax + 0xa]
cmp rdx, r11
jbe 0x8c0c19
movzx edi, byte [r15 + rax + 0x11a]
xor byte [r15 + r11 + 0xc8], dil
lea r11, [rax + 0xb]
cmp rdx, r11
jbe 0x8c0c19
movzx edi, byte [r15 + rax + 0x11b]
xor byte [r15 + r11 + 0xc8], dil
lea r11, [rax + 0xc]
cmp rdx, r11
jbe 0x8c0c19
movzx edi, byte [r15 + rax + 0x11c]
xor byte [r15 + r11 + 0xc8], dil
lea r11, [rax + 0xd]
cmp rdx, r11
jbe 0x8c0c19
movzx edi, byte [r15 + rax + 0x11d]
add rax, 0xe
xor byte [r15 + r11 + 0xc8], dil
cmp rdx, rax
jbe 0x8c0c19
movzx edx, byte [r15 + rax + 0x110]
xor byte [r15 + rax + 0xc8], dl
cmp rcx, r8
jbe 0x8c11e4
lea rdx, [r15 + 0xa8]
mov rax, rcx
lea rcx, [rdx + r8 + 0x68]
lea rdx, [rdx + r8 + 0x78]
sub rax, r8
cmp rbx, rdx
lea rdx, [r15 + 0xf8]
setae r11b
cmp rcx, rdx
setae dl
or r11b, dl
je 0x8c156a
cmp rax, 0x10
mov edx, 0x10
cmovbe rdx, rax
sub rdx, 1
cmp rdx, 0xe
jbe 0x8c156a
movdqu xmm2, xmmword [r15 + 0xe8]
movdqu xmm0, xmmword [rcx]
pxor xmm0, xmm2
movups xmmword [r15 + 0xe8], xmm0
jmp 0x8c11e4
lea rdi, [r15 + 0xf8]
mov r8d, 0x10
xor edx, edx
lea rcx, [rdi + rax]
sub r8, rax
call sub.msvcrt.dll_memset
mov rdx, rdi
mov rcx, r14
call fcn.008bfcd0
test eax, eax
jne 0x8c08d2
nop dword [rax]
xor eax, eax
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rbp, rbp
je 0x8c0f4e
test r12, r12
je 0x8c0f4e
cmp rdx, r12
mov rcx, r12
cmovbe rcx, rdx
test rcx, rcx
je 0x8c0eeb
lea rax, [rbp + 0x10]
cmp rax, rsi
lea rax, [r15 + 0xd8]
setbe r8b
cmp rbp, rax
setae al
or r8b, al
je 0x8c127d
lea rax, [rcx - 1]
cmp rax, 0xe
jbe 0x8c127d
movdqu xmm0, xmmword [r15 + 0xc8]
movdqu xmm3, xmmword [rbp]
mov rax, rcx
shr rax, 4
pxor xmm0, xmm3
movups xmmword [r15 + 0xc8], xmm0
cmp rax, 1
je 0x8c0d68
movdqu xmm0, xmmword [r15 + 0xd8]
movdqu xmm4, xmmword [rbp + 0x10]
pxor xmm0, xmm4
movups xmmword [r15 + 0xd8], xmm0
mov rax, rcx
and rax, 0xfffffffffffffff0
cmp rcx, rax
je 0x8c0eeb
movzx r8d, byte [rbp + rax]
xor byte [r15 + rax + 0xc8], r8b
lea r8, [rax + 1]
cmp rcx, r8
jbe 0x8c0eeb
movzx r9d, byte [rbp + rax + 1]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 2]
cmp rcx, r8
jbe 0x8c0eeb
movzx r9d, byte [rbp + rax + 2]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 3]
cmp rcx, r8
jbe 0x8c0eeb
movzx r9d, byte [rbp + rax + 3]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 4]
cmp rcx, r8
jbe 0x8c0eeb
movzx r9d, byte [rbp + rax + 4]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 5]
cmp rcx, r8
jbe 0x8c0eeb
movzx r9d, byte [rbp + rax + 5]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 6]
cmp rcx, r8
jbe 0x8c0eeb
movzx r9d, byte [rbp + rax + 6]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 7]
cmp rcx, r8
jbe 0x8c0eeb
movzx r9d, byte [rbp + rax + 7]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 8]
cmp rcx, r8
jbe 0x8c0eeb
movzx r9d, byte [rbp + rax + 8]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 9]
cmp rcx, r8
jbe 0x8c0eeb
movzx r9d, byte [rbp + rax + 9]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 0xa]
cmp rcx, r8
jbe 0x8c0eeb
movzx r9d, byte [rbp + rax + 0xa]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 0xb]
cmp rcx, r8
jbe 0x8c0eeb
movzx r9d, byte [rbp + rax + 0xb]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 0xc]
cmp rcx, r8
jbe 0x8c0eeb
movzx r9d, byte [rbp + rax + 0xc]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 0xd]
cmp rcx, r8
jbe 0x8c0eeb
movzx r9d, byte [rbp + rax + 0xd]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 0xe]
cmp rcx, r8
jbe 0x8c0eeb
movzx eax, byte [rbp + rax + 0xe]
xor byte [r15 + r8 + 0xc8], al
cmp rdx, r12
jae 0x8c0f4e
lea rax, [rbp + rdx + 0x10]
sub r12, rdx
lea rcx, [rbp + rdx]
cmp rax, rbx
lea rax, [r15 + 0xf8]
setbe r8b
cmp rcx, rax
setae al
or r8b, al
je 0x8c129b
cmp r12, 0x10
mov eax, 0x10
cmovbe rax, r12
sub rax, 1
cmp rax, 0xe
jbe 0x8c129b
movdqu xmm5, xmmword [r15 + 0xe8]
movdqu xmm0, xmmword [rcx]
pxor xmm0, xmm5
movups xmmword [r15 + 0xe8], xmm0
test rdi, rdi
je 0x8c11e4
cmp qword [rsp + 0xc0], 0
je 0x8c11e4
cmp rdx, qword [rsp + 0xc0]
mov rcx, rdx
cmova rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x8c1174
lea rax, [rdi + 0x10]
cmp rax, rsi
lea rax, [r15 + 0xd8]
setbe r8b
cmp rdi, rax
setae al
or r8b, al
je 0x8c1260
lea rax, [rcx - 1]
cmp rax, 0xe
jbe 0x8c1260
movdqu xmm0, xmmword [r15 + 0xc8]
movdqu xmm1, xmmword [rdi]
mov rax, rcx
shr rax, 4
pxor xmm0, xmm1
movups xmmword [r15 + 0xc8], xmm0
cmp rax, 1
je 0x8c0ff2
movdqu xmm0, xmmword [r15 + 0xd8]
movdqu xmm2, xmmword [rdi + 0x10]
pxor xmm0, xmm2
movups xmmword [r15 + 0xd8], xmm0
mov rax, rcx
and rax, 0xfffffffffffffff0
cmp rcx, rax
je 0x8c1174
movzx r8d, byte [rdi + rax]
xor byte [r15 + rax + 0xc8], r8b
lea r8, [rax + 1]
cmp rcx, r8
jbe 0x8c1174
movzx r9d, byte [rdi + rax + 1]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 2]
cmp rcx, r8
jbe 0x8c1174
movzx r9d, byte [rdi + rax + 2]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 3]
cmp rcx, r8
jbe 0x8c1174
movzx r9d, byte [rdi + rax + 3]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 4]
cmp rcx, r8
jbe 0x8c1174
movzx r9d, byte [rdi + rax + 4]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 5]
cmp rcx, r8
jbe 0x8c1174
movzx r9d, byte [rdi + rax + 5]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 6]
cmp rcx, r8
jbe 0x8c1174
movzx r9d, byte [rdi + rax + 6]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 7]
cmp rcx, r8
jbe 0x8c1174
movzx r9d, byte [rdi + rax + 7]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 8]
cmp rcx, r8
jbe 0x8c1174
movzx r9d, byte [rdi + rax + 8]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 9]
cmp rcx, r8
jbe 0x8c1174
movzx r9d, byte [rdi + rax + 9]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 0xa]
cmp rcx, r8
jbe 0x8c1174
movzx r9d, byte [rdi + rax + 0xa]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 0xb]
cmp rcx, r8
jbe 0x8c1174
movzx r9d, byte [rdi + rax + 0xb]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 0xc]
cmp rcx, r8
jbe 0x8c1174
movzx r9d, byte [rdi + rax + 0xc]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 0xd]
cmp rcx, r8
jbe 0x8c1174
movzx r9d, byte [rdi + rax + 0xd]
xor byte [r15 + r8 + 0xc8], r9b
lea r8, [rax + 0xe]
cmp rcx, r8
jbe 0x8c1174
movzx eax, byte [rdi + rax + 0xe]
xor byte [r15 + r8 + 0xc8], al
cmp rdx, qword [rsp + 0xc0]
jae 0x8c11e4
mov rax, qword [rsp + 0xc0]
lea rcx, [rdi + rdx + 0x10]
lea r8, [rdi + rdx]
sub rax, rdx
cmp rcx, rbx
lea rcx, [r15 + 0xf8]
setbe r9b
cmp r8, rcx
setae cl
or r9b, cl
je 0x8c13f4
cmp rax, 0x10
mov ecx, 0x10
cmovbe rcx, rax
sub rcx, 1
cmp rcx, 0xe
jbe 0x8c13f4
movdqu xmm3, xmmword [r15 + 0xe8]
movdqu xmm0, xmmword [r8]
pxor xmm0, xmm3
movups xmmword [r15 + 0xe8], xmm0
mov dword [rsp + 0x28], 1
xor r8d, r8d
mov r9, rsi
mov rdx, qword [r15 + 0xb8]
mov qword [rsp + 0x20], 0
mov rcx, qword [r15 + 0xa8]
call fcn.00792d60
test eax, eax
setne al
movzx eax, al
jmp 0x8c0cc2
movdqu xmm1, xmmword [r15 + 0xe0]
movups xmmword [r15 + 0xe8], xmm1
jmp 0x8c0630
mov qword [rsp + 0xc0], 0
jmp 0x8c07f6
mov qword [rsp + 0xd0], 0
jmp 0x8c07e5
mov ecx, 1
xor r8d, r8d
jmp 0x8c07cb
xor eax, eax
movzx r8d, byte [rdi + rax]
xor byte [r15 + rax + 0xc8], r8b
add rax, 1
cmp rcx, rax
jne 0x8c1262
jmp 0x8c1174
xor eax, eax
movzx r8d, byte [rbp + rax]
xor byte [r15 + rax + 0xc8], r8b
add rax, 1
cmp rcx, rax
jne 0x8c127f
jmp 0x8c0eeb
movzx eax, byte [rcx]
xor byte [r15 + 0xe8], al
cmp r12, 1
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 1]
xor byte [r15 + 0xe9], al
cmp r12, 2
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 2]
xor byte [r15 + 0xea], al
cmp r12, 3
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 3]
xor byte [r15 + 0xeb], al
cmp r12, 4
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 4]
xor byte [r15 + 0xec], al
cmp r12, 5
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 5]
xor byte [r15 + 0xed], al
cmp r12, 6
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 6]
xor byte [r15 + 0xee], al
cmp r12, 7
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 7]
xor byte [r15 + 0xef], al
cmp r12, 8
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 8]
xor byte [r15 + 0xf0], al
cmp r12, 9
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 9]
xor byte [r15 + 0xf1], al
cmp r12, 0xa
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 0xa]
xor byte [r15 + 0xf2], al
cmp r12, 0xb
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 0xb]
xor byte [r15 + 0xf3], al
cmp r12, 0xc
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 0xc]
xor byte [r15 + 0xf4], al
cmp r12, 0xd
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 0xd]
xor byte [r15 + 0xf5], al
cmp r12, 0xe
je 0x8c0f4e
movzx eax, byte [rbp + rdx + 0xe]
xor byte [r15 + 0xf6], al
cmp r12, 0xf
jbe 0x8c0f4e
movzx eax, byte [rbp + rdx + 0xf]
xor byte [r15 + 0xf7], al
jmp 0x8c0f4e
movzx ecx, byte [r8]
xor byte [r15 + 0xe8], cl
cmp rax, 1
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 1]
xor byte [r15 + 0xe9], cl
cmp rax, 2
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 2]
xor byte [r15 + 0xea], cl
cmp rax, 3
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 3]
xor byte [r15 + 0xeb], cl
cmp rax, 4
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 4]
xor byte [r15 + 0xec], cl
cmp rax, 5
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 5]
xor byte [r15 + 0xed], cl
cmp rax, 6
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 6]
xor byte [r15 + 0xee], cl
cmp rax, 7
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 7]
xor byte [r15 + 0xef], cl
cmp rax, 8
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 8]
xor byte [r15 + 0xf0], cl
cmp rax, 9
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 9]
xor byte [r15 + 0xf1], cl
cmp rax, 0xa
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 0xa]
xor byte [r15 + 0xf2], cl
cmp rax, 0xb
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 0xb]
xor byte [r15 + 0xf3], cl
cmp rax, 0xc
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 0xc]
xor byte [r15 + 0xf4], cl
cmp rax, 0xd
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 0xd]
xor byte [r15 + 0xf5], cl
cmp rax, 0xe
je 0x8c11e4
movzx ecx, byte [rdi + rdx + 0xe]
xor byte [r15 + 0xf6], cl
cmp rax, 0xf
jbe 0x8c11e4
movzx eax, byte [rdi + rdx + 0xf]
xor byte [r15 + 0xf7], al
jmp 0x8c11e4
mov rax, rsi
add rdx, rsi
movzx r11d, byte [rax + 0x48]
xor byte [rax], r11b
add rax, 1
cmp rax, rdx
jne 0x8c1554
jmp 0x8c0c19
movzx edx, byte [r15 + r8 + 0x110]
xor byte [r15 + 0xe8], dl
cmp rax, 1
je 0x8c11e4
movzx edx, byte [r9 + r8 + 1]
xor byte [r15 + 0xe9], dl
cmp rax, 2
je 0x8c11e4
movzx edx, byte [r9 + r8 + 2]
xor byte [r15 + 0xea], dl
cmp rax, 3
je 0x8c11e4
movzx edx, byte [r9 + r8 + 3]
xor byte [r15 + 0xeb], dl
cmp rax, 4
je 0x8c11e4
movzx edx, byte [r9 + r8 + 4]
xor byte [r15 + 0xec], dl
cmp rax, 5
je 0x8c11e4
movzx edx, byte [r9 + r8 + 5]
xor byte [r15 + 0xed], dl
cmp rax, 6
je 0x8c11e4
movzx edx, byte [r9 + r8 + 6]
xor byte [r15 + 0xee], dl
cmp rax, 7
je 0x8c11e4
movzx edx, byte [r9 + r8 + 7]
xor byte [r15 + 0xef], dl
cmp rax, 8
je 0x8c11e4
movzx edx, byte [r9 + r8 + 8]
xor byte [r15 + 0xf0], dl
cmp rax, 9
je 0x8c11e4
movzx edx, byte [r9 + r8 + 9]
xor byte [r15 + 0xf1], dl
cmp rax, 0xa
je 0x8c11e4
movzx edx, byte [r9 + r8 + 0xa]
xor byte [r15 + 0xf2], dl
cmp rax, 0xb
je 0x8c11e4
movzx edx, byte [r9 + r8 + 0xb]
xor byte [r15 + 0xf3], dl
cmp rax, 0xc
je 0x8c11e4
movzx edx, byte [r9 + r8 + 0xc]
xor byte [r15 + 0xf4], dl
cmp rax, 0xd
je 0x8c11e4
movzx edx, byte [r9 + r8 + 0xd]
xor byte [r15 + 0xf5], dl
cmp rax, 0xe
je 0x8c11e4
movzx edx, byte [r9 + r8 + 0xe]
xor byte [r15 + 0xf6], dl
cmp rax, 0xf
jbe 0x8c11e4
movzx eax, byte [r9 + r8 + 0xf]
xor byte [r15 + 0xf7], al
jmp 0x8c11e4