Function at 0x1401da1d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x148
movups xmmword [rsp + 0xf0], xmm6
movups xmmword [rsp + 0x100], xmm7
movups xmmword [rsp + 0x110], xmm8
movups xmmword [rsp + 0x120], xmm9
movups xmmword [rsp + 0x130], xmm10
mov rbx, qword [rsp + 0x1b0]
mov rsi, qword [rsp + 0x1b8]
cmp qword [rsp + 0x1c0], 0
sete al
cmp rbx, 1
mov r14, rdx
setbe dl
mov r11, rcx
mov rdi, r8
or al, dl
jne 0x1401da76c
test rsi, rsi
je 0x1401da76c
lea r12, [rbx - 1]
test r12, rbx
jne 0x1401da76c
mov eax, 0x3fffffff
xor edx, edx
div rsi
cmp rax, qword [rsp + 0x1c0]
jb 0x1401da748
mov rax, rsi
shl rax, 4
cmp rax, 0x3f
ja 0x1401da293
mov ecx, esi
mov eax, 1
shl ecx, 4
shl rax, cl
cmp rbx, rax
jae 0x1401da7b7
mov rbp, qword [rsp + 0x1c0]
imul rbp, rsi
mov rax, rbp
shl rax, 7
mov qword [rsp + 0x90], rax
cmp rax, 0x7fffffff
ja 0x1401da7ad
movabs rax, 0x1ffffffffffffff
xor edx, edx
lea rcx, [rbx + 2]
div rsi
cmp rax, rcx
jb 0x1401dab9a
mov rax, rcx
mov rcx, qword [rsp + 0x90]
imul rax, rsi
shl rax, 7
add rcx, rax
mov qword [rsp + 0xc0], rcx
jb 0x1401dac17
cmp qword [rsp + 0x1c8], 0
mov eax, 0x2000000
cmovne rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x1c8], rax
cmp rax, rcx
jb 0x1401dabd8
cmp qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1a8], r9
mov eax, 1
mov qword [rsp + 0x190], r11
je 0x1401da76e
lea r15, str.crypto_evp_pbe_scrypt.c
mov r8d, 0xf0
mov rdx, r15
call fcn.1400c4810
mov r11, qword [rsp + 0x190]
mov r9, qword [rsp + 0x1a8]
test rax, rax
mov qword [rsp + 0x58], rax
je 0x1401dabe5
mov qword [rsp + 0x190], r11
mov qword [rsp + 0x1a8], r9
call fcn.1400b8fd0
mov rcx, qword [rsp + 0x58]
mov edx, r14d
mov r8, rdi
mov qword [rsp + 0x28], rax
mov r9, qword [rsp + 0x1a8]
mov qword [rsp + 0x38], rcx
mov ecx, dword [rsp + 0x90]
mov dword [rsp + 0x20], 1
mov dword [rsp + 0x30], ecx
mov rcx, qword [rsp + 0x190]
mov dword [rsp + 0xec], r14d
call fcn.1401d90b0
mov r11, qword [rsp + 0x190]
test eax, eax
je 0x1401da7c1
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x90]
mov rdi, rsi
mov r14, rsi
shl rdi, 7
shl r14, 5
mov qword [rsp + 0x70], 0
lea r15, [rcx + rdx]
mov qword [rsp + 0x68], rcx
lea rax, [r15 + rdi]
lea r10, [rax + rdi]
mov qword [rsp + 0x50], rax
mov rax, r12
lea r12, [r14*4]
imul rax, rsi
shl rax, 7
add rax, r10
mov qword [rsp + 0x98], rax
lea rax, [r15 + rdi - 0x40]
mov qword [rsp + 0xa8], rax
lea rax, [rbp + rsi]
mov qword [rsp + 0x60], rax
shl rax, 7
mov rbp, rax
lea rax, [rdi + rax]
lea r8, [rdi + rbp + 0x40]
mov qword [rsp + 0xc8], rax
add rax, rcx
mov qword [rsp + 0xb0], r8
mov r8, r14
shr r8, 4
mov qword [rsp + 0xd8], rax
test r14, r14
lea rax, [r10 + rdi]
cmove rax, r10
mov qword [rsp + 0xe0], r8
add rbp, rcx
mov r8d, 0x40
mov qword [rsp + 0xa0], rax
mov rax, rdx
neg rax
sub rax, rcx
mov qword [rsp + 0xb8], rax
lea rax, [r15 + r14*4]
mov qword [rsp + 0xd0], rax
test r14, r14
je 0x1401da542
nop word [rax + rax]
mov rdx, qword [rsp + 0xb0]
lea rax, [r8 - 0x40]
cmp rax, rdx
jge 0x1401da9b4
mov rdx, qword [rsp + 0xc8]
xor eax, eax
cmp r8, rdx
jle 0x1401da9b4
nop dword [rax + rax]
movzx edx, byte [rcx + rax*4]
mov dword [r10 + rax*4], edx
movzx r9d, byte [rcx + rax*4 + 1]
shl r9d, 8
or r9d, edx
mov dword [r10 + rax*4], r9d
movzx edx, byte [rcx + rax*4 + 2]
shl edx, 0x10
or edx, r9d
mov dword [r10 + rax*4], edx
movzx r9d, byte [rcx + rax*4 + 3]
shl r9d, 0x18
or edx, r9d
mov dword [r10 + rax*4], edx
add rax, 1
cmp r14, rax
jne 0x1401da500
mov qword [rsp + 0x88], r10
mov rax, r12
mov r12, r15
mov qword [rsp + 0x48], r14
mov r15, rax
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x190], r11
mov r14, qword [rsp + 0xa0]
mov r13d, 1
nop dword [rax + rax]
mov rdx, r14
mov rcx, r14
mov r8, rsi
add r13, 1
sub rdx, rdi
add r14, rdi
call fcn.1401d9c90
cmp r13, rbx
jb 0x1401da580
mov r8, rsi
mov rcx, r12
mov r14, r15
mov r15, rbx
mov rdx, qword [rsp + 0x98]
mov rbx, rsi
xor r13d, r13d
call fcn.1401d9c90
mov rsi, qword [rsp + 0xa8]
nop dword [rax]
mov eax, dword [rsi]
xor edx, edx
div r15
imul rdx, rbx
cmp qword [rsp + 0x48], 0
je 0x1401da611
mov rax, qword [rsp + 0x60]
add rdx, rax
mov rax, qword [rsp + 0x58]
shl rdx, 7
add rdx, rdi
add rdx, rax
xor eax, eax
movdqu xmm0, xmmword [r12 + rax]
movdqu xmm3, xmmword [rdx + rax]
pxor xmm0, xmm3
movups xmmword [rbp + rax], xmm0
add rax, 0x10
cmp rax, r14
jne 0x1401da5f4
mov rdx, qword [rsp + 0x50]
mov r8, rbx
mov rcx, r12
add r13, 1
call fcn.1401d9c90
cmp r13, r15
jb 0x1401da5c8
mov rsi, rbx
mov rbx, r15
mov r15, r14
mov r14, qword [rsp + 0x48]
test r14, r14
je 0x1401daba7
mov rax, r15
mov r9, qword [rsp + 0x68]
mov r15, r12
mov r10, qword [rsp + 0x88]
mov r12, rax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
mov r11, qword [rsp + 0x190]
lea rdx, [r9 + rax - 1]
xor eax, eax
cmp rdx, 0x3e
ja 0x1401da7ec
nop dword [rax]
mov edx, dword [r15 + rax*4]
mov dword [rcx + rax*4], edx
add rax, 1
cmp rax, r14
jne 0x1401da688
add qword [rsp + 0x70], 1
add r8, rdi
mov rax, qword [rsp + 0x70]
add qword [rsp + 0x68], rdi
mov rcx, qword [rsp + 0x68]
cmp rax, qword [rsp + 0x1c0]
jb 0x1401da4d0
mov qword [rsp + 0x190], r11
call fcn.1400b8fd0
mov rdx, qword [rsp + 0x1d8]
mov rsi, qword [rsp + 0x1d0]
mov dword [rsp + 0x20], 1
mov qword [rsp + 0x28], rax
mov r9d, dword [rsp + 0x90]
mov dword [rsp + 0x30], edx
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x38], rsi
mov edx, dword [rsp + 0xec]
mov rcx, qword [rsp + 0x190]
call fcn.1401d90b0
test eax, eax
je 0x1401da7c1
mov eax, 1
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xc0]
mov dword [rsp + 0x48], eax
mov r9d, 0x107
lea r8, str.crypto_evp_pbe_scrypt.c
call fcn.1400c4c30
mov eax, dword [rsp + 0x48]
jmp 0x1401da76e
mov dword [rsp + 0x20], 0xae
mov r8d, 0xac
mov edx, 0xb5
mov ecx, 6
lea r9, str.crypto_evp_pbe_scrypt.c
call fcn.1400a0f90
xor eax, eax
movups xmm6, xmmword [rsp + 0xf0]
movups xmm7, xmmword [rsp + 0x100]
movups xmm8, xmmword [rsp + 0x110]
movups xmm9, xmmword [rsp + 0x120]
movups xmm10, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x20], 0xcb
jmp 0x1401da750
mov dword [rsp + 0x20], 0xb9
jmp 0x1401da750
mov r8d, 0xb5
mov edx, 0xb5
mov ecx, 6
mov dword [rsp + 0x20], 0x105
lea r9, str.crypto_evp_pbe_scrypt.c
call fcn.1400a0f90
xor eax, eax
jmp 0x1401da71f
movdqu xmm3, xmmword [0x1402d1be0]
mov rcx, qword [rsp + 0xd0]
mov rdx, r9
mov rax, r15
nop word [rax + rax]
movdqu xmm0, xmmword [rax]
movdqu xmm8, xmmword [rax + 0x10]
add rax, 0x40
add rdx, 0x40
movdqu xmm2, xmmword [rax - 0x20]
movdqu xmm7, xmmword [rax - 0x10]
movdqa xmm1, xmm0
movdqa xmm4, xmm0
movdqa xmm9, xmm8
punpcklwd xmm1, xmm8
punpckhwd xmm4, xmm8
movdqa xmm10, xmm7
psrld xmm9, 0x10
psrld xmm10, 0x10
movdqa xmm5, xmm1
punpckhwd xmm5, xmm4
psrld xmm8, 0x18
punpcklwd xmm1, xmm4
movdqa xmm4, xmm2
punpcklwd xmm1, xmm5
movdqa xmm5, xmm2
punpcklwd xmm4, xmm7
punpckhwd xmm5, xmm7
movdqa xmm6, xmm4
psrld xmm7, 0x18
punpcklwd xmm4, xmm5
punpckhwd xmm6, xmm5
movdqa xmm5, xmm3
punpcklwd xmm4, xmm6
movdqa xmm6, xmm3
pand xmm5, xmm4
psrlw xmm4, 8
pand xmm6, xmm1
packuswb xmm6, xmm5
psrlw xmm1, 8
movdqa xmm5, xmm0
pand xmm4, xmm3
psrld xmm5, 0x10
pand xmm1, xmm3
packuswb xmm1, xmm4
psrld xmm0, 0x18
movdqa xmm4, xmm5
punpcklwd xmm5, xmm9
punpckhwd xmm4, xmm9
movdqa xmm9, xmm5
punpcklwd xmm5, xmm4
punpckhwd xmm9, xmm4
movdqa xmm4, xmm2
psrld xmm4, 0x10
psrld xmm2, 0x18
punpcklwd xmm5, xmm9
movdqa xmm9, xmm4
punpcklwd xmm4, xmm10
pand xmm5, xmm3
punpckhwd xmm9, xmm10
movdqa xmm10, xmm4
punpckhwd xmm10, xmm9
punpcklwd xmm4, xmm9
punpcklwd xmm4, xmm10
pand xmm4, xmm3
packuswb xmm5, xmm4
movdqa xmm4, xmm0
punpcklwd xmm0, xmm8
punpckhwd xmm4, xmm8
movdqa xmm8, xmm0
punpckhwd xmm8, xmm4
punpcklwd xmm0, xmm4
movdqa xmm4, xmm2
punpcklwd xmm2, xmm7
punpckhwd xmm4, xmm7
punpcklwd xmm0, xmm8
movdqa xmm7, xmm2
punpcklwd xmm2, xmm4
pand xmm0, xmm3
punpckhwd xmm7, xmm4
movdqa xmm4, xmm1
punpcklwd xmm2, xmm7
pand xmm2, xmm3
packuswb xmm0, xmm2
movdqa xmm2, xmm6
punpckhbw xmm6, xmm5
punpcklbw xmm2, xmm5
punpcklbw xmm4, xmm0
punpckhbw xmm1, xmm0
movdqa xmm0, xmm2
punpckhbw xmm2, xmm4
punpcklbw xmm0, xmm4
movups xmmword [rdx - 0x30], xmm2
movups xmmword [rdx - 0x40], xmm0
movdqa xmm0, xmm6
punpckhbw xmm6, xmm1
punpcklbw xmm0, xmm1
movups xmmword [rdx - 0x10], xmm6
movups xmmword [rdx - 0x20], xmm0
cmp rax, rcx
jne 0x1401da808
jmp 0x1401da698
mov rax, qword [rsp + 0x68]
xor r9d, r9d
pxor xmm6, xmm6
pxor xmm4, xmm4
mov rdx, qword [rsp + 0xd8]
movdqu xmm3, xmmword [0x1402d1be0]
mov r13, qword [rsp + 0xe0]
nop dword [rax]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqa xmm8, xmm3
add r9, 1
movdqu xmm2, xmmword [rax + 0x10]
movdqu xmm5, xmmword [rax + 0x30]
add rdx, 0x40
add rax, 0x40
pand xmm1, xmm3
pand xmm0, xmm3
movdqu xmm7, xmmword [rax - 0x10]
packuswb xmm0, xmm1
movdqu xmm1, xmmword [rax - 0x40]
psrlw xmm2, 8
pand xmm5, xmm3
psrlw xmm7, 8
pand xmm8, xmm0
psrlw xmm1, 8
psrlw xmm0, 8
packuswb xmm1, xmm2
movdqu xmm2, xmmword [rax - 0x20]
pand xmm2, xmm3
packuswb xmm2, xmm5
movdqu xmm5, xmmword [rax - 0x20]
psrlw xmm5, 8
packuswb xmm5, xmm7
movdqa xmm7, xmm3
pand xmm7, xmm2
psrlw xmm2, 8
packuswb xmm8, xmm7
packuswb xmm0, xmm2
movdqa xmm7, xmm3
movdqa xmm2, xmm3
pand xmm7, xmm5
pand xmm2, xmm1
psrlw xmm1, 8
packuswb xmm2, xmm7
movdqa xmm7, xmm5
movdqa xmm5, xmm8
psrlw xmm7, 8
punpcklbw xmm5, xmm6
packuswb xmm1, xmm7
movdqa xmm7, xmm2
punpckhbw xmm2, xmm6
punpcklbw xmm7, xmm6
psllw xmm2, 8
movdqa xmm9, xmm1
psllw xmm7, 8
punpcklbw xmm9, xmm6
punpckhbw xmm1, xmm6
por xmm7, xmm5
movdqa xmm5, xmm8
punpckhbw xmm5, xmm6
movdqa xmm10, xmm7
punpckhwd xmm7, xmm4
por xmm2, xmm5
movdqa xmm5, xmm0
punpckhbw xmm0, xmm6
punpcklbw xmm5, xmm6
punpcklwd xmm10, xmm4
movdqa xmm8, xmm5
punpckhwd xmm5, xmm4
pslld xmm5, 0x10
punpcklwd xmm8, xmm4
por xmm5, xmm7
pslld xmm8, 0x10
movdqa xmm7, xmm9
punpckhwd xmm7, xmm4
por xmm8, xmm10
movdqa xmm10, xmm9
pslld xmm7, 0x18
punpcklwd xmm10, xmm4
por xmm5, xmm7
pslld xmm10, 0x18
movdqa xmm7, xmm2
movups xmmword [rdx - 0x30], xmm5
movdqa xmm5, xmm0
punpcklwd xmm7, xmm4
punpckhwd xmm0, xmm4
punpcklwd xmm5, xmm4
pslld xmm0, 0x10
punpckhwd xmm2, xmm4
pslld xmm5, 0x10
por xmm0, xmm2
por xmm8, xmm10
por xmm5, xmm7
movdqa xmm7, xmm1
punpckhwd xmm1, xmm4
movups xmmword [rdx - 0x40], xmm8
punpcklwd xmm7, xmm4
pslld xmm1, 0x18
pslld xmm7, 0x18
por xmm0, xmm1
por xmm5, xmm7
movups xmmword [rdx - 0x10], xmm0
movups xmmword [rdx - 0x20], xmm5
cmp r9, r13
jne 0x1401da9e0
jmp 0x1401da542
mov dword [rsp + 0x20], 0xd5
jmp 0x1401da750
add qword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
add qword [rsp + 0x68], rdi
add qword [rsp + 0x80], rdi
cmp rax, qword [rsp + 0x1c0]
jae 0x1401dac0a
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x78], rax
jmp 0x1401da56d
mov dword [rsp + 0x20], 0xe8
jmp 0x1401da750
mov dword [rsp + 0x20], 0xf2
mov r9, r15
mov r8d, 0x41
mov edx, 0xb5
mov ecx, 6
call fcn.1400a0f90
jmp 0x1401da76c
mov r11, qword [rsp + 0x190]
jmp 0x1401da6be
mov dword [rsp + 0x20], 0xdc
jmp 0x1401da750