Function at 0x140156200
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x90
call fcn.140187630
sub rsp, rax
mov rax, qword [0x140229498]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xf8]
xor r13d, r13d
mov r14d, r9d
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0xf0]
mov qword [rsp + 0x48], r8
sub eax, 1
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x40], rcx
cmp eax, 0x29
mov rdi, r13
mov r15d, r13d
jl 0x140156488
mov ebx, eax
sub ebx, r9d
jns 0x140156276
lea r15d, [r13 + 1]
mov ebx, r13d
mov r14d, eax
lea esi, [rax - 0x14]
lea rdx, str..crypto_rsa_rsa_oaep.c
mov r8d, 0x79
lea ecx, [rsi + rax]
call fcn.1401461b0
test rax, rax
mov rdi, rax
jne 0x1401562b9
lea r9, str..crypto_rsa_rsa_oaep.c
lea edx, [rax + 0x7a]
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
mov dword [rsp + 0x20], 0x7c
call fcn.140145b20
jmp 0x1401564b5
movsxd r12, esi
mov qword [rsp + 0xd8], rbp
movsxd rbx, ebx
lea rbp, [r12 + rax]
mov r8, rbx
xor edx, edx
mov rcx, rbp
call fcn.14011f1f0
mov rdx, qword [rsp + 0x48]
lea rcx, [rbx + rbp]
movsxd r8, r14d
call fcn.14011e9b0
lea r14, [rbp + 0x14]
call fcn.140157280
mov ebx, socket
lea rcx, [rsp + 0x50]
mov r9d, esi
mov r8, r14
mov edx, ebx
mov qword [rsp + 0x20], rax
call fcn.140155e40
lea rax, [rsp + 0x50]
mov rdx, rbp
sub rdx, rax
mov r11, r13
nop
lea rcx, [rsp + r11 + 0x50]
add r11, 5
movzx eax, byte [rdx + rcx]
xor byte [rcx], al
movzx eax, byte [r11 + rbp - 4]
xor byte [rcx + 1], al
movzx eax, byte [r11 + rbp - 3]
xor byte [rcx + 2], al
movzx eax, byte [r11 + rbp - 2]
xor byte [rcx + 3], al
movzx eax, byte [r11 + rbp - 1]
xor byte [rcx + 4], al
cmp r11, rbx
jl 0x140156320
call fcn.140157280
lea r8, [rsp + 0x50]
mov r9d, ebx
mov edx, esi
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140155e40
test esi, esi
mov rbp, qword [rsp + 0xd8]
jle 0x1401563a2
mov rcx, rdi
sub r14, rdi
mov rdx, r12
nop
nop
movzx eax, byte [r14 + rcx]
add rcx, 1
xor byte [rcx - 1], al
sub rdx, 1
jne 0x140156390
call fcn.140157280
movsxd rdx, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x38]
lea r8, [rsp + 0x68]
xor r9d, r9d
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
call fcn.140156f00
mov rcx, qword [rdi]
lea rax, [rsp + 0x68]
cmp rcx, qword [rax]
jne 0x1401563ea
mov rcx, qword [rdi + 8]
cmp rcx, qword [rax + 8]
jne 0x1401563ea
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x1401563f2
sbb eax, eax
sbb eax, 0xffffffff
mov r13d, eax
test r13d, r13d
jne 0x140156488
test r15d, r15d
jne 0x140156488
cmp rbx, r12
mov rax, rbx
jge 0x140156422
nop
cmp byte [rax + rdi], 0
jne 0x140156422
add rax, 1
add ebx, 1
cmp rax, r12
jl 0x140156410
cmp ebx, esi
je 0x140156488
movsxd rax, ebx
cmp byte [rax + rdi], 1
jne 0x140156488
add ebx, 1
sub esi, ebx
cmp dword [rsp + 0x30], esi
jge 0x140156469
mov edx, 0x7a
lea r9, str..crypto_rsa_rsa_oaep.c
mov dword [rsp + 0x20], 0xa2
lea ecx, [rdx - 0x76]
lea r8d, [rdx - 0xd]
call fcn.140145b20
mov rcx, rdi
or esi, 0xffffffff
call fcn.140146530
mov eax, esi
jmp 0x1401564b8
mov rcx, qword [rsp + 0x40]
movsxd rdx, ebx
movsxd r8, esi
add rdx, rdi
call fcn.14011e9b0
mov rcx, rdi
call fcn.140146530
mov eax, esi
jmp 0x1401564b8
mov edx, 0x7a
lea r9, str..crypto_rsa_rsa_oaep.c
mov dword [rsp + 0x20], 0xaf
lea ecx, [rdx - 0x76]
lea r8d, [rdx - 1]
call fcn.140145b20
test rdi, rdi
je 0x1401564b5
mov rcx, rdi
call fcn.140146530
or eax, 0xffffffff
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14011f1c0
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret