Function at 0x140234440
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x10], edx
push rsi
push rdi
push r13
push r14
push r15
mov eax, 0x50
call fcn.1402807a0
sub rsp, rax
xor r15d, r15d
movsxd rdi, r9d
mov r14, r8
mov rsi, rcx
mov r13d, r15d
test edx, edx
jle 0x1402348ec
test r9d, r9d
jle 0x1402348ec
mov qword [rsp + 0x90], rbp
mov ebp, dword [rsp + 0xa0]
cmp edi, ebp
jg 0x1402348c4
cmp ebp, 0xb
jl 0x1402348c4
lea r8d, [rax + 0x2f]
lea rdx, [0x1403b2ef8]
mov ecx, ebp
mov qword [rsp + 0x80], rbx
call fcn.1401d5df0
mov rbx, rax
test rax, rax
jne 0x1402344f9
lea r9, [0x1403b2f10]
lea edx, [rax + 0x72]
lea ecx, [rax + 4]
lea r8d, [r15 + 0x41]
mov dword [rsp + 0x20], 0x81
call fcn.1401c3730
or eax, 0xffffffff
mov rbx, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret
movsxd rax, ebp
add r14, rdi
mov qword [rsp + 0x98], r12
add rbx, rax
mov qword [rsp + 0x40], rax
test ebp, ebp
jle 0x140234550
mov rdx, rbp
nop word [rax + rax]
mov eax, edi
lea ecx, [rdi - 1]
dec rbx
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
dec ecx
mov eax, ecx
and eax, 1
sub edi, eax
mov eax, ecx
and eax, 1
sub r14, rax
movzx eax, byte [r14]
and al, cl
mov byte [rbx], al
dec rdx
jne 0x140234520
movzx ecx, byte [rbx]
movzx eax, byte [rbx + 1]
mov r11d, 2
xor eax, 2
mov r10d, r15d
mov edi, r15d
lea r14d, [rax - 1]
not eax
shr eax, 0x1f
shr r14d, 0x1f
and r14d, eax
lea eax, [rcx - 1]
not ecx
shr eax, 0x1f
shr ecx, 0x1f
neg r14d
and eax, ecx
neg eax
and r14d, eax
mov dword [rsp + 0x30], r14d
mov r12d, r14d
not r12d
mov dword [rsp + 0x34], r12d
mov eax, dword [rsp + 0x30]
mov eax, dword [rsp + 0x34]
and eax, 0x6b
mov dword [rsp + 0x38], eax
cmp ebp, r11d
jle 0x140234632
or r8d, 0xffffffff
lea r9, [rbx + 2]
nop dword [rax + rax]
movzx eax, byte [r9]
lea r9, [r9 + 1]
lea edx, [rax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
neg edx
and r8d, edx
or r10d, edx
mov dword [rsp + 0x34], r8d
not r8d
mov dword [rsp + 0x30], r8d
mov ecx, dword [rsp + 0x34]
mov r8d, r10d
mov eax, dword [rsp + 0x30]
and ecx, r11d
not r8d
and eax, r13d
mov r13d, ecx
inc r11d
or r13d, eax
movzx eax, byte [r9 - 1]
xor eax, 3
lea ecx, [rax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
mov eax, r8d
neg ecx
and eax, 1
add eax, edi
or ecx, r10d
mov edi, ecx
and edi, eax
cmp r11d, ebp
jl 0x1402345c0
mov r9d, dword [rsp + 0x88]
lea eax, [r13 - 0xa]
mov r11d, ebp
or eax, r13d
sub r11d, r13d
xor eax, r13d
dec r11d
lea r13d, [rbp - 0xb]
shr eax, 0x1f
dec eax
and r14d, eax
mov eax, r14d
mov ecx, r14d
or eax, r12d
not ecx
mov dword [rsp + 0x34], eax
not eax
mov dword [rsp + 0x30], eax
mov edx, dword [rsp + 0x34]
and edx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x30], r11d
and eax, 0x71
or edx, eax
lea eax, [rdi - 8]
or eax, edi
xor eax, edi
shr eax, 0x1f
dec eax
and r14d, eax
mov eax, r14d
or eax, ecx
mov ecx, r9d
mov dword [rsp + 0x38], eax
not eax
sub ecx, r11d
mov dword [rsp + 0x34], eax
mov r8d, dword [rsp + 0x38]
xor ecx, r11d
mov eax, dword [rsp + 0x34]
and r8d, edx
mov edx, r14d
and eax, 0x73
not edx
or r8d, eax
mov eax, r11d
xor eax, r9d
or ecx, eax
xor ecx, r9d
shr ecx, 0x1f
dec ecx
and r14d, ecx
mov eax, r14d
or eax, edx
mov dword [rsp + 0x88], eax
not eax
mov dword [rsp + 0x38], eax
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x38]
and ecx, r8d
and eax, 0x6d
or ecx, eax
mov dword [rsp + 0x3c], ecx
lea ecx, [rbp - 0xb]
mov edx, ecx
mov eax, ecx
sub edx, r9d
xor eax, r9d
xor edx, r9d
or edx, eax
xor edx, ecx
shr edx, 0x1f
neg edx
mov dword [rsp + 0x88], edx
not edx
mov dword [rsp + 0x38], edx
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x38]
and ecx, r13d
and eax, r9d
or ecx, eax
mov r10d, 1
mov dword [rsp + 0x34], ecx
cmp r13d, r10d
jle 0x1402347e0
mov r12d, ebp
sub r12d, r11d
add r12d, 0xfffffff5
nop dword [rax]
nop dword [rax + rax]
mov eax, r12d
and eax, r10d
lea ecx, [rax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
mov eax, ebp
sub eax, r10d
dec ecx
movsxd r8, eax
cmp r8, 0xb
jle 0x1402347cf
movzx r11d, cl
movsxd rdi, r10d
lea rax, [rbx + 0xb]
mov r9d, r11d
add r8, 0xfffffffffffffff5
not r9d
nop dword [rax + rax]
mov dword [rsp + 0x88], r11d
mov dword [rsp + 0x38], r9d
mov ecx, dword [rsp + 0x88]
movzx edx, byte [rax + rdi]
lea rax, [rax + 1]
and dl, cl
mov ecx, dword [rsp + 0x38]
and cl, byte [rax - 1]
or cl, dl
mov byte [rax - 1], cl
dec r8
jne 0x1402347a0
add r10d, r10d
cmp r10d, r13d
jl 0x140234760
mov r11d, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x34]
movsxd r10, ecx
test ecx, ecx
jle 0x140234855
mov r9d, r11d
mov r12, rbx
neg r11d
shr r9d, 0x1f
sub r12, rsi
movzx edi, r14b
nop dword [rax + rax]
mov ecx, r15d
lea edx, [r11 + r15]
inc r15d
shr ecx, 0x1f
shr edx, 0x1f
lea rsi, [rsi + 1]
movzx eax, cl
xor dl, r9b
xor al, r9b
or dl, al
xor dl, cl
neg dl
movzx eax, dl
and eax, edi
mov dword [rsp + 0x88], eax
not eax
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x88]
movzx ecx, byte [r12 + rsi + 0xa]
and cl, al
mov eax, dword [rsp + 0x38]
and al, byte [rsi - 1]
or al, cl
mov byte [rsi - 1], al
dec r10
jne 0x140234800
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.140001200
mov rcx, rbx
call fcn.1401d5d50
mov r8d, dword [rsp + 0x3c]
mov edx, WSACleanup
lea r9, str..crypto_rsa_rsa_ssl.c
lea ecx, [rdx - 0x6e]
mov dword [rsp + 0x20], 0xd8
call fcn.1401c3730
mov ecx, r14d
and ecx, 1
call fcn.1401c3af0
mov r12, qword [rsp + 0x98]
mov dword [rsp + 0x88], r14d
not r14d
mov dword [rsp + 0x3c], r14d
mov eax, dword [rsp + 0x88]
and eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x3c]
or eax, ecx
jmp 0x1402344dc
mov edx, WSACleanup
lea r9, [0x1403b2ee0]
mov dword [rsp + 0x20], 0x7b
lea ecx, [rdx - 0x6e]
lea r8d, [rdx - 3]
call fcn.1401c3730
or eax, 0xffffffff
jmp 0x1402344e4
or eax, 0xffffffff
add rsp, 0x50
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret