Function at 0x1402a7d70
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, gethostbyname
call fcn.1401a7980
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 0x1402a80b8
test r9d, r9d
jle 0x1402a80b8
cmp edi, r13d
jg 0x1402a8089
cmp r13d, 0xb
jl 0x1402a8089
movsxd rbp, r13d
lea rdx, str.crypto_rsa_rsa_pk1.c
mov rcx, rbp
mov qword [rsp + 0x28], rbp
mov r8d, 0xc2
call fcn.1401a52e0
mov rbx, rax
test rax, rax
je 0x1402a80b8
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 0x1402a7e03
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 0x1402a7e60
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 0x1402a7fb6
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 0x1402a7fa1
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]
movzx r8d, byte [rsi + rax - 1]
and r8b, cl
movzx ecx, byte [rax - 1]
and cl, dl
or r8b, cl
mov byte [rax - 1], r8b
sub r9, 1
jne 0x1402a7f70
add r11d, r11d
cmp r11d, r15d
jl 0x1402a7f30
mov r14, qword [rsp + 0x70]
mov edi, dword [rsp + 0x20]
mov edx, dword [rsp + 0x24]
test edx, edx
jle 0x1402a801e
mov r9d, edi
mov r10, rbx
shr r9d, 0x1f
sub r10, r14
nop word [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 0x1402a7fd0
mov rdx, qword [rsp + 0x28]
lea r8, str.crypto_rsa_rsa_pk1.c
mov r9d, 0x108
mov rcx, rbx
call fcn.1401a54d0
call fcn.1401a74c0
lea r8, str.RSA_padding_check_PKCS1_type_2
mov edx, 0x10f
lea rcx, str.crypto_rsa_rsa_pk1.c
call fcn.1401a75e0
xor r8d, r8d
mov edx, 0x9f
mov ecx, 4
call fcn.1401a7740
mov ecx, ebp
and ecx, 1
call fcn.1401cd030
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 0x1402a80bd
call fcn.1401a74c0
lea r8, str.RSA_padding_check_PKCS1_type_2
mov edx, 0xbe
lea rcx, str.crypto_rsa_rsa_pk1.c
call fcn.1401a75e0
xor r8d, r8d
mov edx, 0x9f
mov ecx, 4
call fcn.1401a7740
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