Function at 0x1401a7680
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
mov eax, 0xb0
call fcn.1401d04b0
sub rsp, rax
mov rax, qword [0x1402bdaf8]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rbp, qword [rsp + 0x120]
lea esi, [rdx - 1]
mov rax, qword [rsp + 0x110]
mov r15d, r9d
mov rbx, qword [rsp + 0x128]
mov r14, rcx
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rax
test rbp, rbp
jne 0x1401a76e7
call fcn.1401244c0
mov rbp, rax
test rbx, rbx
mov rcx, rbp
cmove rbx, rbp
mov qword [rsp + 0x38], rbx
call fcn.140114620
movsxd rdi, eax
mov r13d, esi
lea eax, [rdi + rdi]
sub r13d, eax
lea ecx, [r13 - 1]
cmp r15d, ecx
jle 0x1401a7739
mov edx, 0x9a
mov dword [rsp + 0x20], 0x3c
lea r9, str.crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x2c]
call fcn.140106130
xor eax, eax
jmp 0x1401a7a4b
inc eax
cmp esi, eax
jge 0x1401a7768
mov edx, 0x9a
mov dword [rsp + 0x20], 0x42
lea r9, str.crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x22]
call fcn.140106130
xor eax, eax
jmp 0x1401a7a4b
movsxd rdx, dword [rsp + 0x118]
lea r15, [r14 + 1]
mov rcx, qword [rsp + 0x40]
add r15, rdi
mov byte [r14], 0
mov r8, r15
mov qword [rsp + 0xa8], r12
xor r9d, r9d
lea r12, [r14 + 1]
mov rbx, rdi
xor r14d, r14d
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rbp
call fcn.140114670
test eax, eax
je 0x1401a7a41
movsxd rbp, dword [rsp + 0x30]
lea rcx, [rdi + r15]
sub r13d, ebp
xor edx, edx
dec r13d
movsxd r8, r13d
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rsp + 0x48]
mov eax, esi
sub eax, ebp
movsxd rcx, esi
sub eax, edi
mov r8d, ebp
sub rcx, rbp
dec eax
cdqe
sub rcx, rbx
add rcx, r15
mov byte [rax + r15], 1
call sub.VCRUNTIME140.dll_memcpy
mov edx, edi
mov rcx, r12
call fcn.14011c140
test eax, eax
jle 0x1401a7a41
sub esi, edi
lea r8d, [r14 + 0x57]
movsxd rbp, esi
lea rdx, str.crypto_rsa_rsa_oaep.c
mov rcx, rbp
call fcn.1401102d0
mov r13, rax
test rax, rax
jne 0x1401a7847
lea r9, str.crypto_rsa_rsa_oaep.c
mov dword [rsp + 0x20], 0x59
mov edx, 0x9a
lea ecx, [rax + 4]
lea r8d, [r14 + 0x41]
call fcn.140106130
jmp 0x1401a7a41
mov rax, qword [rsp + 0x38]
mov r9d, edi
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, esi
mov rcx, r13
call fcn.1401a74b0
test eax, eax
js 0x1401a7a2c
mov edx, r14d
test esi, esi
jle 0x1401a78f8
cmp esi, 0x20
jb 0x1401a78f8
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rcx + r13]
lea r8, [rcx + r15]
cmp r15, rax
ja 0x1401a7895
cmp r8, r13
jae 0x1401a78f8
mov ecx, esi
and ecx, 0x8000001f
jge 0x1401a78a6
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, esi
mov r8, r13
sub eax, ecx
sub r8, r15
mov r9, r15
movsxd r10, eax
neg r9
mov rcx, r15
nop dword [rax]
movdqu xmm0, xmmword [rcx]
add edx, 0x20
movdqu xmm1, xmmword [r8 + rcx]
lea rcx, [rcx + 0x20]
lea rax, [r9 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm1, xmmword [r8 + rcx - 0x10]
movdqu xmm0, xmmword [rcx - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r10
jl 0x1401a78c0
movsxd rax, edx
cmp rax, rbp
jge 0x1401a7920
mov rdx, r13
lea rcx, [rax + r15]
sub rdx, r15
sub rbp, rax
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rbp, 1
jne 0x1401a7910
mov rax, qword [rsp + 0x38]
lea rcx, [rsp + 0x50]
mov r9d, esi
mov qword [rsp + 0x20], rax
mov r8, r15
mov edx, edi
call fcn.1401a74b0
test eax, eax
js 0x1401a7a2c
test edi, edi
jle 0x1401a79e8
cmp edi, 0x20
jb 0x1401a79e8
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x50]
add rax, rcx
lea rdx, [rcx + r12]
cmp r12, rax
ja 0x1401a7976
lea rax, [rsp + 0x50]
cmp rdx, rax
jae 0x1401a79e8
mov eax, edi
and eax, 0x8000001f
jge 0x1401a7986
dec eax
or eax, 0xffffffe0
inc eax
sub edi, eax
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x60]
movsxd r10, edi
sub rdx, r12
sub r8, r12
mov r9, r12
mov rcx, r12
neg r9
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx]
add r14d, 0x20
movdqu xmm1, xmmword [rdx + rcx]
lea rcx, [rcx + 0x20]
lea rax, [r9 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm1, xmmword [r8 + rcx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r10
jl 0x1401a79b0
movsxd rax, r14d
cmp rax, rbx
jge 0x1401a7a10
lea rdx, [rsp + 0x50]
sub rdx, r12
lea rcx, [rax + r12]
sub rbx, rax
nop
movzx eax, byte [rcx + rdx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rbx, 1
jne 0x1401a7a00
mov r8d, 0x67
lea rdx, str.crypto_rsa_rsa_oaep.c
mov rcx, r13
call fcn.140110320
mov eax, 1
jmp 0x1401a7a43
mov r8d, WSASetLastError
lea rdx, str.crypto_rsa_rsa_oaep.c
mov rcx, r13
call fcn.140110320
xor eax, eax
mov r12, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1401cf6b0
add rsp, 0xb0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret