Function at 0x18014f810
Capabilities:
Encode data using xor

Disassembly:
jmp 0x18014f810
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x58
call fcn.180001055
sub rsp, rax
mov r13d, dword [rsp + 0xb0]
xor r15d, r15d
movsxd rdi, r9d
mov r14, r8
mov rsi, rcx
mov r12d, r15d
test edx, edx
jle 0x18014fc81
test r9d, r9d
jle 0x18014fc81
cmp edi, r13d
jg 0x18014fc61
cmp r13d, 0xb
jl 0x18014fc61
mov qword [rsp + 0xa0], rbx
lea r8d, [rax - 0xa]
mov qword [rsp + 0x50], rbp
lea rdx, str.crypto_rsa_rsa_ssl.c
movsxd rbp, r13d
mov rcx, rbp
mov qword [rsp + 0x40], rbp
call sym.libcrypto_1_1_x64.dll_CRYPTO_malloc
mov rbx, rax
test rax, rax
jne 0x18014f8d8
lea r9, str.crypto_rsa_rsa_ssl.c
mov dword [rsp + 0x20], 0x50
lea edx, [rax + 0x72]
lea ecx, [rax + 4]
lea r8d, [r15 + 0x41]
call sym.libcrypto_1_1_x64.dll_ERR_put_error
lea eax, [rbx - 1]
mov rbx, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
add r14, rdi
add rbx, rbp
test r13d, r13d
jle 0x18014f921
mov rdx, r13
nop word [rax + rax]
mov eax, edi
lea ecx, [rdi - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
dec rbx
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
sub rdx, 1
jne 0x18014f8f0
movzx eax, byte [rbx + 1]
mov r11d, 2
movzx ecx, byte [rbx]
xor eax, 2
mov r10d, r15d
mov edi, r15d
lea ebp, [rax - 1]
not eax
shr eax, 0x1f
shr ebp, 0x1f
and ebp, eax
lea eax, [rcx - 1]
shr eax, 0x1f
neg ebp
neg eax
and ebp, eax
mov dword [rsp + 0x30], ebp
mov r14d, ebp
not r14d
mov dword [rsp + 0x34], r14d
mov eax, dword [rsp + 0x30]
mov eax, dword [rsp + 0x34]
and eax, 0x6b
mov dword [rsp + 0x38], eax
cmp r13d, r11d
jle 0x18014f9e7
mov r8d, 0xffffffff
lea r9, [rbx + 2]
nop dword [rax]
movzx edx, byte [r9]
lea r9, [r9 + 1]
dec edx
shr edx, 0x1f
neg edx
and r8d, edx
or r10d, edx
mov dword [rsp + 0x34], r8d
not r8d
mov dword [rsp + 0x30], r8d
mov r8d, r10d
mov ecx, dword [rsp + 0x34]
not r8d
mov eax, dword [rsp + 0x30]
and ecx, r11d
and r12d, eax
inc r11d
movzx eax, byte [r9 - 1]
or r12d, ecx
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, r13d
jl 0x18014f980
mov r9d, dword [rsp + 0x98]
lea eax, [r12 - 0xa]
or eax, r12d
xor eax, r12d
shr eax, 0x1f
dec eax
and ebp, eax
mov eax, ebp
mov ecx, ebp
or eax, r14d
not ecx
mov dword [rsp + 0x34], eax
mov r14d, r13d
not eax
sub r14d, r12d
mov dword [rsp + 0x30], eax
dec r14d
mov eax, dword [rsp + 0x34]
and eax, dword [rsp + 0x38]
mov edx, dword [rsp + 0x30]
and edx, 0x71
or edx, eax
lea eax, [rdi - 8]
or eax, edi
xor eax, edi
shr eax, 0x1f
neg eax
and ebp, eax
mov eax, ebp
or eax, ecx
mov ecx, r9d
mov dword [rsp + 0x38], eax
sub ecx, r14d
not eax
xor ecx, r14d
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x34]
and eax, edx
and r8d, 0x73
mov edx, ebp
or r8d, eax
not edx
mov eax, r14d
xor eax, r9d
or ecx, eax
xor ecx, r9d
shr ecx, 0x1f
dec ecx
and ebp, ecx
lea ecx, [r13 - 0xb]
mov eax, ebp
or eax, edx
mov edx, ecx
mov dword [rsp + 0x98], eax
sub edx, r9d
xor edx, r9d
not eax
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x98]
mov edi, dword [rsp + 0x38]
and eax, r8d
and edi, 0x6d
or edi, eax
mov eax, ecx
xor eax, r9d
mov dword [rsp + 0x30], edi
or edx, eax
xor edx, ecx
lea ecx, [r13 - 0xb]
shr edx, 0x1f
neg edx
mov dword [rsp + 0x98], edx
not edx
mov dword [rsp + 0x38], edx
mov eax, dword [rsp + 0x98]
mov edx, dword [rsp + 0x38]
and eax, ecx
and edx, r9d
or edx, eax
mov dword [rsp + 0x34], edx
mov r10d, 1
cmp ecx, r10d
jle 0x18014fb89
mov r12d, r13d
lea esi, [r13 - 0xb]
sub r12d, r14d
add r12d, 0xfffffff5
mov eax, r12d
and eax, r10d
lea ecx, [rax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
mov eax, r13d
sub eax, r10d
dec ecx
movsxd r8, eax
cmp r8, 0xb
jle 0x18014fb71
movzx r11d, cl
lea rax, [rbx + 0xb]
mov r9d, r11d
movsxd rdi, r10d
not r9d
add r8, 0xfffffffffffffff5
nop word [rax + rax]
mov dword [rsp + 0x98], r11d
lea rax, [rax + 1]
mov dword [rsp + 0x38], r9d
mov ecx, dword [rsp + 0x98]
movzx edx, byte [rdi + rax - 1]
and dl, cl
mov ecx, dword [rsp + 0x38]
and cl, byte [rax - 1]
or cl, dl
mov byte [rax - 1], cl
sub r8, 1
jne 0x18014fb40
add r10d, r10d
cmp r10d, esi
jl 0x18014fb01
mov rsi, qword [rsp + 0x90]
mov edx, dword [rsp + 0x34]
mov edi, dword [rsp + 0x30]
movsxd r10, edx
test edx, edx
jle 0x18014fbfc
mov r9d, r14d
mov r11, rbx
shr r9d, 0x1f
sub r11, rsi
nop dword [rax]
mov edx, r15d
lea rsi, [rsi + 1]
sub edx, r14d
mov ecx, r15d
shr ecx, 0x1f
movzx eax, r9b
xor al, cl
shr edx, 0x1f
xor dl, r9b
inc r15d
or dl, al
movzx eax, bpl
xor dl, cl
neg dl
movzx ecx, dl
and ecx, eax
mov dword [rsp + 0x98], ecx
not ecx
mov dword [rsp + 0x38], ecx
mov eax, dword [rsp + 0x98]
movzx ecx, byte [r11 + rsi + 0xa]
and cl, al
mov eax, dword [rsp + 0x38]
and al, byte [rsi - 1]
or al, cl
mov byte [rsi - 1], al
sub r10, 1
jne 0x18014fba0
mov rdx, qword [rsp + 0x40]
lea r8, str.crypto_rsa_rsa_ssl.c
mov r9d, 0xab
mov rcx, rbx
call sym.libcrypto_1_1_x64.dll_CRYPTO_clear_free
mov edx, WSAStartup
mov dword [rsp + 0x20], 0xac
lea r9, str.crypto_rsa_rsa_ssl.c
mov r8d, edi
lea ecx, [rdx - 0x6e]
call sym.libcrypto_1_1_x64.dll_ERR_put_error
mov ecx, ebp
and ecx, 1
call fcn.1800015e6
mov dword [rsp + 0x98], ebp
not ebp
mov dword [rsp + 0x38], ebp
mov ecx, dword [rsp + 0x98]
mov eax, dword [rsp + 0x38]
and ecx, r14d
or eax, ecx
jmp 0x18014f8bc
mov edx, WSAStartup
mov dword [rsp + 0x20], 0x4a
lea r9, str.crypto_rsa_rsa_ssl.c
lea ecx, [rdx - 0x6e]
lea r8d, [rdx - 3]
call sym.libcrypto_1_1_x64.dll_ERR_put_error
mov eax, 0xffffffff
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret