Function at 0x1800a8310
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rdi
push r14
push r15
sub rsp, 0x68
mov rax, qword [0x1801772b8]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rbx, qword [rsp + 0xb0]
lea r14d, [rdx - 1]
lea eax, [r14 - 0x29]
movsxd rdi, r9d
mov r15, r8
cmp edi, eax
jle 0x1800a836d
mov ecx, 4
mov dword [rsp + 0x20], gethostbyname
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_oaep.c
mov edx, 0xfff
lea r8d, [rcx + 0x6a]
call sym.version.dll_ERR_put_error
xor eax, eax
jmp 0x1800a8470
cmp r14d, 0x29
jge 0x1800a839c
mov ecx, 4
mov dword [rsp + 0x20], reloc.WS2_32.dll_gethostbyname
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_oaep.c
mov edx, 0xfff
lea r8d, [rcx + 0x74]
call sym.version.dll_ERR_put_error
xor eax, eax
jmp 0x1800a8470
mov qword [rsp + 0x60], rbp
lea rbp, [rcx + 1]
mov qword [rsp + 0x58], rsi
lea rsi, [rcx + 0x15]
mov qword [rsp + 0x50], r12
mov byte [rcx], 0
call sym.version.dll_EVP_sha1
movsxd rdx, dword [rsp + 0xb8]
xor r12d, r12d
mov qword [rsp + 0x28], r12
xor r9d, r9d
mov r8, rsi
mov qword [rsp + 0x20], rax
mov rcx, rbx
call sym.version.dll_EVP_Digest
test eax, eax
je 0x1800a845f
mov ebx, r14d
lea rcx, [rsi + 0x14]
sub ebx, edi
xor edx, edx
lea eax, [rbx - 0x29]
movsxd r8, eax
call fcn.1800d7430
movsxd rax, ebx
lea rcx, [rsi - 0x14]
mov r8, rdi
mov rdx, r15
mov byte [rax + rsi - 0x15], 1
movsxd rax, r14d
sub rax, rdi
add rcx, rax
call fcn.1800d7020
mov ebx, reloc.WS2_32.dll_sendto
mov rcx, rbp
mov edx, ebx
call sym.version.dll_arc4random_buf
add r14d, 0xffffffec
movsxd rdi, r14d
mov rcx, rdi
call fcn.1800d829c
mov r15, rax
test rax, rax
jne 0x1800a8488
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_oaep.c
mov dword [rsp + 0x20], 0x46
mov edx, 0xfff
lea ecx, [rbx - 0x10]
lea r8d, [r12 + 0x41]
call sym.version.dll_ERR_put_error
xor eax, eax
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov r12, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1800d61c0
add rsp, 0x68
pop r15
pop r14
pop rdi
pop rbx
ret
mov r9d, ebx
mov r8, rbp
mov edx, r14d
mov rcx, r15
call fcn.1800a8050
test eax, eax
js 0x1800a845f
mov r8d, r12d
test r14d, r14d
jle 0x1800a8560
cmp r14d, 0x40
jb 0x1800a8560
lea eax, [r14 - 1]
movsxd rcx, eax
lea rax, [rcx + r15]
lea rdx, [rcx + rsi]
cmp rsi, rax
ja 0x1800a84d0
cmp rdx, r15
jae 0x1800a8560
mov ecx, r14d
and ecx, 0x8000003f
jge 0x1800a84e2
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, r14d
mov rdx, r15
sub eax, ecx
sub rdx, rsi
mov r9, 0xfffffffffffffff0
movsxd r10, eax
sub r9, rsi
lea rcx, [rsi + 0x10]
nop
movdqu xmm0, xmmword [rcx - 0x10]
add r8d, 0x40
movdqu xmm1, xmmword [rdx + rcx - 0x10]
movdqu xmm2, xmmword [rdx + rcx]
lea rcx, [rcx + 0x40]
pxor xmm1, xmm0
lea rax, [r9 + rcx]
movdqu xmmword [rcx - 0x50], xmm1
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmm1, xmmword [rdx + rcx - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm2
movdqu xmm0, xmmword [rcx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [rdx + rcx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
cmp rax, r10
jl 0x1800a8500
movsxd rax, r8d
cmp rax, rdi
jge 0x1800a8590
mov rdx, r15
lea rcx, [rax + rsi]
sub rdx, rsi
sub rdi, rax
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdi, 1
jne 0x1800a8580
mov r9d, r14d
lea rcx, [rsp + 0x30]
mov r8, rsi
mov edx, ebx
call fcn.1800a8050
test eax, eax
js 0x1800a845f
lea rcx, [rsp + 0x43]
lea rax, [rbp + 0x13]
cmp rbp, rcx
ja 0x1800a85c2
lea rcx, [rsp + 0x30]
cmp rax, rcx
jae 0x1800a85dc
movdqu xmm1, xmmword [rbp]
movdqu xmm0, xmmword [rsp + 0x30]
pxor xmm1, xmm0
movdqu xmmword [rbp], xmm1
mov r12d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x30]
sub rdx, rbp
lea rax, [r12 + rbp]
sub rbx, r12
nop dword [rax + rax]
movzx ecx, byte [rdx + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rbx, 1
jne 0x1800a85f0
mov rcx, r15
call fcn.1800d8288
lea eax, [rbx + 1]
jmp 0x1800a8461