Function at 0x180053260
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x1a8], rbx
mov rax, qword [0x18017a408]
xor rax, rsp
mov qword [rbp + 0x48], rax
mov r15d, r9d
mov rsi, r8
mov qword [rsp + 0x58], r8
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x50], rcx
mov rdi, qword [rbp + 0xb8]
mov qword [rsp + 0x40], rdi
mov rdx, qword [rbp + 0xc0]
xor eax, eax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], rax
lea r8, str.Pbkdf2
lea rcx, [rbp + 0x30]
call fcn.180039180
nop
mov rcx, rdi
call fcn.180014650
mov rcx, rbx
call fcn.180034c80
mov r13d, eax
mov ecx, eax
call fcn.180034e10
mov ecx, eax
mov dword [rsp + 0x38], eax
mov r9d, dword [rbp + 0xb0]
lea eax, [r9 - 1]
add eax, ecx
cdq
idiv ecx
mov r8d, eax
mov dword [rsp + 0x34], eax
mov eax, r9d
cdq
idiv ecx
mov eax, edx
mov dword [rsp + 0x3c], edx
mov r12d, 1
cmp r8d, r12d
jl 0x180053657
mov rcx, rsi
call fcn.180015e00
mov edi, eax
mov rcx, rsi
call fcn.180015b30
mov rbx, rax
mov rcx, r14
call fcn.180015e00
mov esi, eax
mov dword [rsp + 0x30], eax
mov rcx, r14
call fcn.180015b30
mov r14, rax
mov qword [rsp + 0x48], rax
mov ecx, r12d
shr ecx, 0x18
mov byte [rsp + 0x68], cl
mov ecx, r12d
shr ecx, 0x10
mov byte [rsp + 0x69], cl
mov ecx, r12d
shr ecx, 8
mov byte [rsp + 0x6a], cl
mov byte [rsp + 0x6b], r12b
xor eax, eax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
lea rcx, [rbp]
call fcn.180013170
nop
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp]
call fcn.1800135e0
mov r8d, 4
lea rdx, [rsp + 0x68]
lea rcx, [rbp]
call fcn.1800135e0
xor eax, eax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
lea rcx, [rbp - 0x30]
call fcn.180013170
nop
xor eax, eax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
lea rcx, [rbp - 0x60]
call fcn.180013170
nop
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
lea rcx, [rsp + 0x70]
call fcn.180013170
nop
lea rcx, [rbp]
call fcn.180015e00
mov ebx, eax
lea rcx, [rbp]
call fcn.180015b30
mov rcx, rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
mov r9d, esi
mov r8, r14
mov edx, ebx
call fcn.180086260
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x60]
call fcn.180013570
lea rcx, [rsp + 0x70]
call fcn.180015e00
mov esi, eax
cmp eax, dword [rbp + 0xb0]
cmova esi, dword [rbp + 0xb0]
lea rcx, [rsp + 0x70]
call fcn.180015b30
mov rdi, rax
test rax, rax
jne 0x1800534db
lea rcx, [rsp + 0x70]
call fcn.180013280
nop
lea rcx, [rbp - 0x60]
call fcn.180013280
nop
lea rcx, [rbp - 0x30]
call fcn.180013280
nop
lea rcx, [rbp]
call fcn.180013280
mov rdi, qword [rsp + 0x40]
jmp 0x180053637
mov r14d, 1
cmp r15d, r14d
jbe 0x1800535fc
nop word [rax + rax]
lea rcx, [rbp - 0x60]
call fcn.180015e00
mov ebx, eax
lea rcx, [rbp - 0x60]
call fcn.180015b30
mov rcx, rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
mov r9d, dword [rsp + 0x30]
mov r8, qword [rsp + 0x48]
mov edx, ebx
call fcn.180086260
lea rcx, [rbp - 0x30]
call fcn.180015b30
mov r9, rax
test rax, rax
je 0x1800534a9
xor r8d, r8d
test esi, esi
je 0x1800535d1
cmp esi, 0x20
jb 0x1800535a7
lea ecx, [rsi - 1]
mov edx, ecx
add rcx, rdi
add rax, rdx
cmp rdi, rax
ja 0x180053560
cmp rcx, r9
jae 0x1800535a7
mov edx, esi
and edx, 0xffffffe0
nop word [rax + rax]
movdqu xmm1, xmmword [r8 + r9]
movdqu xmm0, xmmword [r8 + rdi]
pxor xmm1, xmm0
movdqu xmmword [r8 + rdi], xmm1
lea eax, [r8 + 0x10]
movdqu xmm1, xmmword [rax + r9]
movdqu xmm0, xmmword [rax + rdi]
pxor xmm1, xmm0
movdqu xmmword [rax + rdi], xmm1
add r8d, 0x20
cmp r8d, edx
jb 0x180053570
cmp r8d, esi
jae 0x1800535d1
mov eax, r8d
add rax, rdi
sub r9, rdi
mov edx, esi
sub edx, r8d
nop word [rax + rax]
movzx ecx, byte [r9 + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x1800535c0
lea rcx, [rbp - 0x60]
call fcn.180014650
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x60]
call fcn.180013570
lea rcx, [rbp - 0x30]
call fcn.180014650
inc r14d
cmp r14d, r15d
jb 0x1800534f0
lea rdx, [rsp + 0x70]
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.180013570
nop
lea rcx, [rsp + 0x70]
call fcn.180013280
nop
lea rcx, [rbp - 0x60]
call fcn.180013280
nop
lea rcx, [rbp - 0x30]
call fcn.180013280
nop
lea rcx, [rbp]
call fcn.180013280
inc r12d
cmp r12d, dword [rsp + 0x34]
mov r14, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
jle 0x180053331
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x180053668
sub ecx, eax
mov edx, ecx
mov rcx, rdi
call fcn.180016c40
nop
lea rcx, [rbp + 0x30]
call fcn.1800392a0
mov al, 1
mov rcx, qword [rbp + 0x48]
xor rcx, rsp
call fcn.1800c9b90
mov rbx, qword [rsp + 0x1a8]
add rsp, 0x150
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret