Function at 0x140100390
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.140168660
sub rsp, rax
mov rax, qword [0x14021c510]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r14, qword [rsp + 0x120]
lea ebp, [rdx - 1]
mov rax, qword [rsp + 0x110]
mov r15d, r9d
mov rdi, qword [rsp + 0x128]
mov rbx, rcx
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rax
test r14, r14
jne 0x1401003f7
call fcn.140097010
mov r14, rax
test rdi, rdi
mov rcx, r14
cmove rdi, r14
mov qword [rsp + 0x38], rdi
call fcn.1400b3330
movsxd rsi, eax
mov r13d, ebp
xor r9d, r9d
lea eax, [rsi + rsi]
sub r13d, eax
lea ecx, [r13 - 1]
cmp r15d, ecx
jle 0x140100441
xor ebx, ebx
lea r8d, [r9 + 0x6e]
mov edx, 0x9a
mov dword [rsp + 0x20], ebx
lea ecx, [rbx + 4]
call fcn.1400a9b30
xor eax, eax
jmp 0x14010073c
inc eax
cmp ebp, eax
jge 0x140100465
xor ebx, ebx
mov edx, 0x9a
mov dword [rsp + 0x20], ebx
lea ecx, [rbx + 4]
lea r8d, [rbx + 0x78]
call fcn.1400a9b30
xor eax, eax
jmp 0x14010073c
movsxd rdx, dword [rsp + 0x118]
lea r15, [rbx + 1]
mov rcx, qword [rsp + 0x40]
add r15, rsi
mov byte [rbx], 0
mov r8, r15
mov qword [rsp + 0xa8], r12
mov rdi, rsi
lea r12, [rbx + 1]
xor ebx, ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
call fcn.1400a8900
test eax, eax
je 0x140100732
movsxd r14, dword [rsp + 0x30]
lea rcx, [rsi + r15]
sub r13d, r14d
xor edx, edx
dec r13d
movsxd r8, r13d
call fcn.140169620
mov rdx, qword [rsp + 0x48]
mov eax, ebp
sub eax, r14d
movsxd rcx, ebp
sub eax, esi
mov r8d, r14d
sub rcx, r14
dec eax
cdqe
sub rcx, rsi
add rcx, r15
mov byte [rax + r15], 1
call fcn.140168ed0
mov edx, esi
mov rcx, r12
call fcn.1400ab9d0
test eax, eax
jle 0x140100732
sub ebp, esi
lea r8d, [rbx + 0x57]
movsxd r14, ebp
lea rdx, str.crypto_rsa_rsa_oaep.c
mov rcx, r14
call fcn.1400a0c30
mov r13, rax
test rax, rax
jne 0x140100538
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov edx, 0x9a
lea ecx, [rbx + 4]
lea r8d, [rbx + 0x41]
call fcn.1400a9b30
jmp 0x140100732
mov rax, qword [rsp + 0x38]
mov r9d, esi
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, ebp
mov rcx, r13
call fcn.1401001c0
test eax, eax
js 0x14010071d
mov edx, ebx
test ebp, ebp
jle 0x1401005e8
cmp ebp, 0x20
jb 0x1401005e8
lea eax, [rbp - 1]
movsxd rcx, eax
lea rax, [rcx + r13]
lea r8, [rcx + r15]
cmp r15, rax
ja 0x140100585
cmp r8, r13
jae 0x1401005e8
mov ecx, ebp
and ecx, 0x8000001f
jge 0x140100596
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, ebp
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 0x1401005b0
movsxd rax, edx
cmp rax, r14
jge 0x140100610
mov rdx, r13
lea rcx, [rax + r15]
sub rdx, r15
sub r14, rax
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r14, 1
jne 0x140100600
mov rax, qword [rsp + 0x38]
lea rcx, [rsp + 0x50]
mov r9d, ebp
mov qword [rsp + 0x20], rax
mov r8, r15
mov edx, esi
call fcn.1401001c0
test eax, eax
js 0x14010071d
test esi, esi
jle 0x1401006d7
cmp esi, 0x20
jb 0x1401006d7
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x50]
add rax, rcx
lea rdx, [rcx + r12]
cmp r12, rax
ja 0x140100666
lea rax, [rsp + 0x50]
cmp rdx, rax
jae 0x1401006d7
mov eax, esi
and eax, 0x8000001f
jge 0x140100676
dec eax
or eax, 0xffffffe0
inc eax
sub esi, eax
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x60]
movsxd r10, esi
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 ebx, 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 0x1401006a0
movsxd rax, ebx
cmp rax, rdi
jge 0x140100701
lea r8, [rsp + 0x50]
sub r8, r12
lea rcx, [rax + r12]
sub rdi, rax
nop
movzx eax, byte [rcx + r8]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdi, 1
jne 0x1401006f0
mov r8d, 0x67
lea rdx, str.crypto_rsa_rsa_oaep.c
mov rcx, r13
call fcn.1400a0c80
mov eax, 1
jmp 0x140100734
mov r8d, WSASetLastError
lea rdx, str.crypto_rsa_rsa_oaep.c
mov rcx, r13
call fcn.1400a0c80
xor eax, eax
mov r12, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140168070
add rsp, 0xb0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret