Function at 0x1401590f0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
mov eax, 0x100
call fcn.1401ef830
sub rsp, rax
mov rax, qword [0x140310170]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x178]
xor r15d, r15d
movsxd rbx, dword [rsp + 0x160]
or r13d, 0xffffffff
mov qword [rsp + 0x60], rcx
test rax, rax
mov rcx, qword [rsp + 0x168]
mov r14d, edx
mov dword [rsp + 0x40], edx
mov edi, r15d
mov qword [rsp + 0x58], rcx
lea rdx, [0x14028fed0]
mov rcx, qword [rsp + 0x180]
cmovne rdx, rax
test rcx, rcx
movsxd rbp, r9d
mov qword [rsp + 0x38], r8
cmove rcx, rdx
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdx
test rdx, rdx
jne 0x1401591ac
mov edx, 0xa2
mov dword [rsp + 0x20], 0x139
lea r9, str..cryptoevpevp_lib.c
lea ecx, [r13 + 7]
lea r8d, [rdx - 3]
call fcn.1400a36f0
or esi, r13d
jmp 0x1401591af
mov esi, dword [rdx + 8]
test r14d, r14d
jle 0x140159651
test ebp, ebp
jle 0x140159651
mov qword [rsp + 0x148], r12
cmp ebx, ebp
jl 0x140159570
lea eax, [rsi*2 + 2]
cmp ebx, eax
jl 0x140159570
mov r14d, ebx
lea rdx, [0x14035d380]
sub r14d, esi
mov r8d, reloc.WS2_32.dll___WSAFDIsSet
dec r14d
mov ecx, r14d
call fcn.1400b3ae0
mov r8d, 0x98
lea rdx, [0x14035d398]
mov ecx, ebx
mov rdi, rax
call fcn.1400b3ae0
mov qword [rsp + 0x30], rax
mov r12, rax
test rdi, rdi
je 0x14015962a
test rax, rax
je 0x14015962a
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.14020fde0
mov rdx, qword [rsp + 0x38]
sub rbx, rbp
mov r8, rbp
lea rcx, [r12 + rbx]
call fcn.14020f990
movzx eax, byte [r12]
lea rbp, [r12 + 1]
movsxd rbx, esi
inc r12
add r12, rbx
mov r9d, r14d
mov r8, r12
mov edx, esi
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
mov rax, qword [rsp + 0x48]
neg ecx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x38], ecx
lea rcx, [rsp + 0x70]
call fcn.140159680
test eax, eax
jne 0x140159596
mov edx, r15d
test esi, esi
jle 0x14015933b
cmp esi, 0x20
jb 0x14015933b
lea eax, [rsi - 1]
movsxd rcx, eax
lea r8, [rsp + 0x70]
add r8, rcx
lea rax, [rcx + rbp]
lea rcx, [rsp + 0x70]
cmp rcx, rax
ja 0x1401592ce
cmp r8, rbp
jae 0x14015933b
mov ecx, esi
and ecx, 0x8000001f
jge 0x1401592df
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, esi
mov r8, rbp
sub eax, ecx
mov rcx, r15
movsxd r9, eax
lea rax, [rsp + 0x70]
sub r8, rax
nop dword [rax]
nop dword [rax + rax]
lea rax, [rsp + 0x70]
add edx, 0x20
add rax, rcx
add rcx, 0x20
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + r8]
pxor xmm1, xmm0
movdqu xmmword [rax], xmm1
movdqu xmm1, xmmword [rax + r8 + 0x10]
movdqu xmm0, xmmword [rax + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rax + 0x10], xmm1
cmp rcx, r9
jl 0x140159300
movsxd rdx, edx
cmp rdx, rbx
jge 0x140159366
lea rax, [rsp + 0x70]
sub rbp, rax
nop dword [rax + rax]
lea rcx, [rsp + 0x70]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + rbp]
xor byte [rcx], al
cmp rdx, rbx
jl 0x140159350
mov rax, qword [rsp + 0x48]
lea r8, [rsp + 0x70]
mov r9d, esi
mov qword [rsp + 0x20], rax
mov edx, r14d
mov rcx, rdi
call fcn.140159680
test eax, eax
jne 0x140159596
mov edx, r15d
test r14d, r14d
jle 0x140159418
cmp r14d, 0x20
jb 0x140159418
lea eax, [r14 - 1]
movsxd rcx, eax
lea rax, [rcx + r12]
lea r8, [rcx + rdi]
cmp rdi, rax
ja 0x1401593b6
cmp r8, r12
jae 0x140159418
mov ecx, r14d
and ecx, 0x8000001f
jge 0x1401593c8
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, r14d
mov r8, r12
sub eax, ecx
sub r8, rdi
mov r9, rdi
movsxd r10, eax
neg r9
mov rcx, rdi
nop
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 0x1401593e0
movsxd rax, edx
movsxd rbp, r14d
cmp rax, rbp
jge 0x140159441
sub r12, rdi
lea rcx, [rax + rdi]
mov rdx, rbp
sub rdx, rax
movzx eax, byte [rcx + r12]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140159430
mov rax, qword [rsp + 0x50]
lea r8, [rsp + 0xb0]
movsxd rdx, dword [rsp + 0x170]
xor r9d, r9d
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.1400c84b0
test eax, eax
je 0x140159596
xor r8b, r8b
mov rdx, r15
test esi, esi
je 0x1401594b0
lea rax, [rsp + 0xb0]
mov r9, rdi
sub r9, rax
nop dword [rax + rax]
lea rax, [rsp + 0xb0]
add rax, rdx
inc rdx
movzx ecx, byte [rax + r9]
movzx eax, byte [rax]
xor cl, al
or r8b, cl
cmp rdx, rbx
jb 0x140159490
mov r11d, dword [rsp + 0x38]
mov r9d, r15d
movzx eax, r8b
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and r11d, ecx
cmp rbx, rbp
jge 0x140159534
lea r10, [rbx + rdi]
sub rbp, rbx
nop word [rax + rax]
movzx r8d, byte [r10]
lea r10, [r10 + 1]
mov eax, r8d
mov ecx, r9d
xor eax, 1
not ecx
lea edx, [rax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
neg edx
and ecx, edx
or r9d, edx
mov eax, ecx
and ecx, esi
not eax
inc esi
and r15d, eax
lea eax, [r8 - 1]
shr eax, 0x1f
not r8d
shr r8d, 0x1f
or r15d, ecx
and eax, r8d
neg eax
or eax, r9d
and r11d, eax
sub rbp, 1
jne 0x1401594e0
test r11d, r9d
je 0x140159570
lea eax, [r15 + 1]
mov r13d, r14d
sub r13d, eax
cmp dword [rsp + 0x40], r13d
jge 0x140159612
mov edx, 0xa1
mov dword [rsp + 0x20], 0xdd
lea r9, str..crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x34]
call fcn.1400a36f0
mov edx, 0xa1
mov dword [rsp + 0x20], 0xea
lea r9, [0x14035d3e0]
mov ecx, 4
lea r8d, [rdx - 0x28]
call fcn.1400a36f0
or r13d, 0xffffffff
mov r12, qword [rsp + 0x30]
mov rax, qword [0x14036bc68]
test rdi, rdi
je 0x1401595d7
test rax, rax
je 0x1401595b3
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x1401595d7
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x14036bc68]
test r12, r12
je 0x140159605
test rax, rax
je 0x1401595e8
xor edx, edx
mov rcx, r12
call rax
mov rcx, r12
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x140159605
mov edx, 1
xor ecx, ecx
call rax
mov r12, qword [rsp + 0x148]
mov eax, r13d
jmp 0x140159654
mov rcx, qword [rsp + 0x60]
movsxd rdx, eax
add rdx, rdi
movsxd r8, r13d
call fcn.14020f990
jmp 0x140159596
mov edx, 0xa1
mov dword [rsp + 0x20], 0x9a
lea r9, [0x14035d3f8]
mov ecx, 4
lea r8d, [rdx - 0x60]
call fcn.1400a36f0
jmp 0x14015959b
or eax, 0xffffffff
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1401ef4e0
add rsp, 0x100
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret