Function at 0x1802df180
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, gethostbyaddr
call fcn.1803fdff0
sub rsp, rax
mov r13d, dword [rsp + 0x90]
xor r12d, r12d
movsxd rdi, r9d
mov rsi, r8
mov r14, rcx
mov r15d, r12d
test edx, edx
jle 0x1802df4c8
test r9d, r9d
jle 0x1802df4c8
cmp edi, r13d
jg 0x1802df499
cmp r13d, 0xb
jl 0x1802df499
movsxd rbp, r13d
lea rdx, str.crypto_rsa_rsa_pk1.c
mov rcx, rbp
mov qword [rsp + 0x28], rbp
mov r8d, 0xc2
call fcn.18019b230
mov rbx, rax
test rax, rax
je 0x1802df4c8
add rsi, rdi
mov r8d, r13d
add rbx, rbp
mov ecx, edi
lea edx, [rdi - 1]
shr edx, 0x1f
not ecx
shr ecx, 0x1f
mov r9, rbx
and edx, ecx
dec rbx
dec edx
mov eax, edx
and eax, 1
sub edi, eax
mov eax, edx
and eax, 1
sub rsi, rax
movzx eax, byte [rsi]
and al, dl
mov byte [rbx], al
sub r8, 1
jne 0x1802df213
movzx ebp, byte [r9]
lea r10, [rbx + 2]
xor ebp, 2
movzx eax, al
dec ebp
dec eax
shr ebp, 0x1f
mov r9d, r12d
shr eax, 0x1f
neg ebp
neg eax
mov r8d, 2
and ebp, eax
nop dword [rax]
movzx edx, byte [r10]
lea r10, [r10 + 1]
dec edx
mov eax, r9d
not eax
shr edx, 0x1f
neg edx
and eax, edx
or r9d, edx
mov dword [rsp + 0x20], eax
not eax
mov ecx, dword [rsp + 0x20]
and ecx, r8d
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
inc r8d
and eax, r15d
mov r15d, ecx
or r15d, eax
cmp r8d, r13d
jl 0x1802df270
mov r8d, dword [rsp + 0x78]
mov edi, r13d
sub edi, r15d
mov ecx, r8d
dec edi
mov r11d, 1
sub ecx, edi
mov dword [rsp + 0x20], edi
xor ecx, edi
mov eax, edi
xor eax, r8d
or ecx, eax
lea eax, [r15 - 0xa]
or eax, r15d
xor ecx, r8d
xor eax, r15d
shr ecx, 0x1f
shr eax, 0x1f
lea r15d, [r13 - 0xb]
dec eax
dec ecx
and ecx, eax
mov edx, r15d
sub edx, r8d
and ebp, ecx
xor edx, r8d
mov eax, r15d
xor eax, r8d
or edx, eax
mov eax, r15d
xor edx, r15d
shr edx, 0x1f
neg edx
mov dword [rsp + 0x78], edx
not edx
mov ecx, dword [rsp + 0x78]
and eax, ecx
mov dword [rsp + 0x78], edx
mov edx, dword [rsp + 0x78]
and edx, r8d
or edx, eax
mov dword [rsp + 0x24], edx
cmp r15d, r11d
jle 0x1802df3c3
mov r14d, r13d
sub r14d, edi
add r14d, 0xfffffff5
nop
mov eax, r14d
and eax, r11d
lea ecx, [rax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
mov eax, r13d
sub eax, r11d
dec ecx
movsxd r9, eax
cmp r9, 0xb
jle 0x1802df3ae
movzx edi, cl
lea rax, [rbx + 0xb]
mov r10d, edi
movsxd rsi, r11d
not r10d
add r9, 0xfffffffffffffff5
nop dword [rax + rax]
mov dword [rsp + 0x78], edi
lea rax, [rax + 1]
mov ecx, dword [rsp + 0x78]
mov dword [rsp + 0x78], r10d
mov edx, dword [rsp + 0x78]
and dl, byte [rax - 1]
movzx r8d, byte [rsi + rax - 1]
and r8b, cl
or r8b, dl
mov byte [rax - 1], r8b
sub r9, 1
jne 0x1802df380
add r11d, r11d
cmp r11d, r15d
jl 0x1802df340
mov r14, qword [rsp + 0x70]
mov edi, dword [rsp + 0x20]
mov edx, dword [rsp + 0x24]
test edx, edx
jle 0x1802df42e
mov r9d, edi
mov r10, rbx
shr r9d, 0x1f
sub r10, r14
nop dword [rax]
nop dword [rax + rax]
mov eax, r12d
lea r14, [r14 + 1]
sub eax, edi
inc r12d
shr eax, 0x1f
xor al, r9b
or al, r9b
neg al
movzx ecx, al
movzx eax, bpl
and ecx, eax
mov dword [rsp + 0x78], ecx
not ecx
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x78], ecx
mov ecx, dword [rsp + 0x78]
movzx r8d, byte [r10 + r14 + 0xa]
and r8b, al
movzx eax, byte [r14 - 1]
and al, cl
or r8b, al
mov byte [r14 - 1], r8b
cmp r12d, edx
jl 0x1802df3e0
mov rdx, qword [rsp + 0x28]
lea r8, str.crypto_rsa_rsa_pk1.c
mov r9d, 0x108
mov rcx, rbx
call fcn.18019b410
call fcn.1801a0780
lea r8, str.RSA_padding_check_PKCS1_type_2
mov edx, 0x10f
lea rcx, str.crypto_rsa_rsa_pk1.c
call fcn.1801a08a0
xor r8d, r8d
mov edx, 0x9f
mov ecx, 4
call fcn.1801a0a00
mov ecx, ebp
and ecx, 1
call fcn.1801b4980
mov dword [rsp + 0x78], ebp
not ebp
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x78], ebp
and eax, edi
mov ecx, dword [rsp + 0x78]
or eax, ecx
jmp 0x1802df4cd
call fcn.1801a0780
lea r8, str.RSA_padding_check_PKCS1_type_2
mov edx, 0xbe
lea rcx, str.crypto_rsa_rsa_pk1.c
call fcn.1801a08a0
xor r8d, r8d
mov edx, 0x9f
mov ecx, 4
call fcn.1801a0a00
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret