Function at 0x43b350
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x1d0
lea r13, [rsp + 0x5f]
mov r15, rcx
mov r12, rdx
lea r14, [rcx + 0x1c0]
mov rsi, r8
and r13, 0xffffffffffffffc0
cmp r8, 0x40
ja 0x43b5c0
call fcn.0043a2b0
movabs rax, 0x3636363636363636
movabs rdx, 0x3636363636363636
mov qword [r13], rax
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rdx
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rdx
mov qword [r13 + 0x30], rax
mov qword [r13 + 0x38], rdx
mov qword [r13 + 0x40], rax
mov qword [r13 + 0x48], rdx
mov qword [r13 + 0x50], rax
mov qword [r13 + 0x58], rdx
mov qword [r13 + 0x60], rax
mov qword [r13 + 0x68], rdx
mov qword [r13 + 0x70], rax
mov qword [r13 + 0x78], rdx
mov qword [r13 + 0x80], rax
mov qword [r13 + 0x88], rdx
mov qword [r13 + 0x90], rax
mov qword [r13 + 0x98], rdx
mov qword [r13 + 0xa0], rax
mov qword [r13 + 0xa8], rdx
mov qword [r13 + 0xb0], rax
mov qword [r13 + 0xb8], rdx
mov qword [r13 + 0xc0], rax
mov qword [r13 + 0xc8], rdx
mov qword [r13 + 0xd0], rax
mov qword [r13 + 0xd8], rdx
mov qword [r13 + 0xe0], rax
mov qword [r13 + 0xe8], rdx
mov qword [r13 + 0xf0], rax
mov qword [r13 + 0xf8], rdx
test rsi, rsi
je 0x43b6c0
mov rdi, rsi
shr rdi, 2
mov rbx, r13
mov rdx, r13
xor eax, eax
nop word cs:[rax + rax]
mov r9, rax
add rax, 1
add rdx, 0x10
shl r9, 4
movdqu xmm0, xmmword [r12 + r9]
pxor xmm0, xmmword [rdx - 0x10]
movups xmmword [rdx - 0x10], xmm0
cmp rax, rsi
jb 0x43b470
mov rdx, r13
mov r8d, 0x40
mov rcx, r15
call fcn.0043a340
mov rcx, r14
call fcn.0043a2b0
movabs rax, 0x5c5c5c5c5c5c5c5c
movabs rdx, 0x5c5c5c5c5c5c5c5c
mov qword [r13], rax
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rdx
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rdx
mov qword [r13 + 0x30], rax
mov qword [r13 + 0x38], rdx
mov qword [r13 + 0x40], rax
mov qword [r13 + 0x48], rdx
mov qword [r13 + 0x50], rax
mov qword [r13 + 0x58], rdx
mov qword [r13 + 0x60], rax
mov qword [r13 + 0x68], rdx
mov qword [r13 + 0x70], rax
mov qword [r13 + 0x78], rdx
mov qword [r13 + 0x80], rax
mov qword [r13 + 0x88], rdx
mov qword [r13 + 0x90], rax
mov qword [r13 + 0x98], rdx
mov qword [r13 + 0xa0], rax
mov qword [r13 + 0xa8], rdx
mov qword [r13 + 0xb0], rax
mov qword [r13 + 0xb8], rdx
mov qword [r13 + 0xc0], rax
mov qword [r13 + 0xc8], rdx
mov qword [r13 + 0xd0], rax
mov qword [r13 + 0xd8], rdx
mov qword [r13 + 0xe0], rax
mov qword [r13 + 0xe8], rdx
mov qword [r13 + 0xf0], rax
mov qword [r13 + 0xf8], rdx
test rdi, rdi
je 0x43b59a
shl rdi, 4
mov rdx, r12
lea rax, [r12 + rdi]
movdqu xmm0, xmmword [rbx]
add rdx, 0x10
pxor xmm0, xmmword [rdx - 0x10]
add rbx, 0x10
movups xmmword [rbx - 0x10], xmm0
cmp rax, rdx
jne 0x43b580
mov r8d, 0x40
mov rdx, r13
mov rcx, r14
call fcn.0043a340
nop
add rsp, 0x1d0
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.0043a2b0
mov r8, rsi
mov rdx, r12
mov rcx, r15
call fcn.0043a340
lea r12, [r13 + 0x100]
mov rcx, r15
mov edi, 8
mov rdx, r12
mov esi, 0x20
call fcn.0043a410
mov rcx, r15
call fcn.0043a2b0
movabs rax, 0x3636363636363636
movabs rdx, 0x3636363636363636
mov qword [r13], rax
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rdx
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rdx
mov qword [r13 + 0x30], rax
mov qword [r13 + 0x38], rdx
mov qword [r13 + 0x40], rax
mov qword [r13 + 0x48], rdx
mov qword [r13 + 0x50], rax
mov qword [r13 + 0x58], rdx
mov qword [r13 + 0x60], rax
mov qword [r13 + 0x68], rdx
mov qword [r13 + 0x70], rax
mov qword [r13 + 0x78], rdx
mov qword [r13 + 0x80], rax
mov qword [r13 + 0x88], rdx
mov qword [r13 + 0x90], rax
mov qword [r13 + 0x98], rdx
mov qword [r13 + 0xa0], rax
mov qword [r13 + 0xa8], rdx
mov qword [r13 + 0xb0], rax
mov qword [r13 + 0xb8], rdx
mov qword [r13 + 0xc0], rax
mov qword [r13 + 0xc8], rdx
mov qword [r13 + 0xd0], rax
mov qword [r13 + 0xd8], rdx
mov qword [r13 + 0xe0], rax
mov qword [r13 + 0xe8], rdx
mov qword [r13 + 0xf0], rax
mov qword [r13 + 0xf8], rdx
jmp 0x43b45e
mov rdx, r13
mov r8d, 0x40
mov rcx, r15
call fcn.0043a340
mov rcx, r14
call fcn.0043a2b0
movabs rax, 0x5c5c5c5c5c5c5c5c
movabs rdx, 0x5c5c5c5c5c5c5c5c
mov qword [r13], rax
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rdx
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rdx
mov qword [r13 + 0x30], rax
mov qword [r13 + 0x38], rdx
mov qword [r13 + 0x40], rax
mov qword [r13 + 0x48], rdx
mov qword [r13 + 0x50], rax
mov qword [r13 + 0x58], rdx
mov qword [r13 + 0x60], rax
mov qword [r13 + 0x68], rdx
mov qword [r13 + 0x70], rax
mov qword [r13 + 0x78], rdx
mov qword [r13 + 0x80], rax
mov qword [r13 + 0x88], rdx
mov qword [r13 + 0x90], rax
mov qword [r13 + 0x98], rdx
mov qword [r13 + 0xa0], rax
mov qword [r13 + 0xa8], rdx
mov qword [r13 + 0xb0], rax
mov qword [r13 + 0xb8], rdx
mov qword [r13 + 0xc0], rax
mov qword [r13 + 0xc8], rdx
mov qword [r13 + 0xd0], rax
mov qword [r13 + 0xd8], rdx
mov qword [r13 + 0xe0], rax
mov qword [r13 + 0xe8], rdx
mov qword [r13 + 0xf0], rax
mov qword [r13 + 0xf8], rdx
jmp 0x43b59a