Function at 0x18014e650
Capabilities:
Encode data using xor

Disassembly:
jmp 0x18014e650
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0xb8
call fcn.180001055
sub rsp, rax
mov rax, qword [0x1802946b8]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rsi, qword [rsp + 0x120]
xor r15d, r15d
mov edi, r15d
mov qword [rsp + 0x50], r8
mov rbx, r9
mov qword [rsp + 0x58], rdx
mov rbp, r8
mov r12, rcx
call sym.libcrypto_1_1_x64.dll_EVP_MD_CTX_new
mov qword [rsp + 0x30], rax
test rax, rax
je 0x18014ea55
test rbx, rbx
mov rcx, rbp
cmove rbx, rbp
mov qword [rsp + 0x48], rbx
call sym.libcrypto_1_1_x64.dll_EVP_MD_size
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
js 0x18014e760
mov ebp, dword [rsp + 0x128]
cmp ebp, 0xffffffff
jne 0x18014e73b
mov ebp, eax
mov rcx, qword [r12 + 0x18]
call sym.libcrypto_1_1_x64.dll_BN_num_bits
mov rcx, r12
lea r14d, [rax - 1]
and r14d, 7
call sym.libcrypto_1_1_x64.dll_RSA_size
mov r12d, 0xff
mov ecx, r14d
mov edx, r12d
mov r8d, eax
shl edx, cl
test byte [rsi], dl
je 0x18014e76a
mov edx, 0x7e
mov dword [rsp + 0x20], 0x46
lea r9, str.crypto_rsa_rsa_pss.c
lea r8d, [r12 - 0x7a]
lea ecx, [rdx - 0x7a]
call sym.libcrypto_1_1_x64.dll_ERR_put_error
mov rbp, qword [rsp + 0x30]
jmp 0x18014ea58
cmp ebp, 0xfffffffd
jge 0x18014e6e1
mov dword [rsp + 0x20], 0x3f
mov edx, 0x7e
lea r9, str.crypto_rsa_rsa_pss.c
lea ecx, [rdx - 0x7a]
lea r8d, [rdx + 0xa]
call sym.libcrypto_1_1_x64.dll_ERR_put_error
mov rbp, qword [rsp + 0x30]
jmp 0x18014ea58
test r14d, r14d
jne 0x18014e772
dec r8d
test r14d, r14d
lea rbx, [rsi + 1]
lea eax, [r13 + 2]
cmovne rbx, rsi
cmp r8d, eax
jge 0x18014e7b2
mov dword [rsp + 0x20], 0x4e
mov r8d, WSAGetLastError
mov ecx, 4
lea r9, str.crypto_rsa_rsa_pss.c
lea edx, [rcx + 0x7a]
call sym.libcrypto_1_1_x64.dll_ERR_put_error
mov rbp, qword [rsp + 0x30]
jmp 0x18014ea58
mov esi, r8d
sub esi, r13d
lea eax, [rsi - 2]
cmp ebp, 0xfffffffd
jne 0x18014e7dc
mov ebp, eax
movsxd rax, r8d
cmp byte [rax + rbx - 1], 0xbc
je 0x18014e7ea
mov dword [rsp + 0x20], 0x58
mov r8d, 0x86
jmp 0x18014e794
cmp ebp, eax
jle 0x18014e7c2
mov dword [rsp + 0x20], 0x54
jmp 0x18014e78e
dec esi
lea rdx, str.crypto_rsa_rsa_pss.c
movsxd r13, esi
mov r8d, 0x5d
mov rcx, r13
lea rax, [rbx + r13]
mov qword [rsp + 0x40], rax
call sym.libcrypto_1_1_x64.dll_CRYPTO_malloc
mov rdi, rax
test rax, rax
jne 0x18014e826
mov dword [rsp + 0x20], 0x5f
lea r8d, [rax + 0x41]
jmp 0x18014e794
mov rax, qword [rsp + 0x48]
mov edx, esi
mov r9d, dword [rsp + 0x38]
mov rcx, rdi
mov r8, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
call sym.libcrypto_1_1_x64.dll_PKCS1_MGF1
test eax, eax
js 0x18014e760
mov r8d, r15d
test esi, esi
jle 0x18014e900
cmp esi, 0x40
jb 0x18014e900
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rcx + rbx]
lea rdx, [rcx + rdi]
cmp rdi, rax
ja 0x18014e87c
cmp rdx, rbx
jae 0x18014e900
mov ecx, esi
and ecx, 0x8000003f
jge 0x18014e88d
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, esi
mov rdx, rbx
sub eax, ecx
mov rcx, rdi
movsxd r9, eax
sub rdx, rdi
nop dword [rax]
movdqu xmm0, xmmword [rcx]
add r8d, 0x40
movdqu xmm1, xmmword [rcx + rdx]
pxor xmm1, xmm0
movdqu xmmword [rcx], xmm1
movdqu xmm0, xmmword [rcx + 0x10]
movdqu xmm1, xmmword [rcx + rdx + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmm0, xmmword [rcx + 0x20]
movdqu xmm1, xmmword [rcx + rdx + 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx + 0x20], xmm1
movdqu xmm0, xmmword [rcx + 0x30]
movdqu xmm1, xmmword [rcx + rdx + 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx + 0x30], xmm1
add rcx, 0x40
mov rax, rcx
sub rax, rdi
cmp rax, r9
jl 0x18014e8a0
movsxd rax, r8d
cmp rax, r13
jge 0x18014e924
add rax, rdi
sub rbx, rdi
nop
movzx ecx, byte [rbx + rax]
xor byte [rax], cl
inc rax
mov rcx, rax
sub rcx, rdi
cmp rcx, r13
jl 0x18014e910
movzx edx, byte [rdi]
test r14d, r14d
je 0x18014e93f
mov ecx, 8
sub ecx, r14d
sar r12d, cl
and r12b, dl
mov byte [rdi], r12b
jmp 0x18014e943
movzx r12d, dl
mov ebx, r15d
test r12b, r12b
jne 0x18014e95f
lea ecx, [rsi - 1]
mov rax, rdi
cmp ebx, ecx
jge 0x18014e95f
inc rax
inc ebx
cmp byte [rax], r15b
je 0x18014e951
movsxd rax, ebx
inc ebx
cmp byte [rax + rdi], 1
je 0x18014e97d
mov dword [rsp + 0x20], WSAGetLastError
mov r8d, 0x87
jmp 0x18014e794
sub esi, ebx
cmp ebp, 0xfffffffe
je 0x18014e995
cmp esi, ebp
je 0x18014e995
mov dword [rsp + 0x20], WSAStartup
jmp 0x18014e748
mov rbp, qword [rsp + 0x30]
xor r8d, r8d
mov rdx, qword [rsp + 0x50]
mov rcx, rbp
call sym.libcrypto_1_1_x64.dll_EVP_DigestInit_ex
test eax, eax
je 0x18014ea58
mov r8d, 8
lea rdx, [0x1802326c8]
mov rcx, rbp
call sym.libcrypto_1_1_x64.dll_EVP_DigestUpdate
test eax, eax
je 0x18014ea58
movsxd r14, dword [rsp + 0x38]
mov rcx, rbp
mov rdx, qword [rsp + 0x58]
mov r8, r14
call sym.libcrypto_1_1_x64.dll_EVP_DigestUpdate
test eax, eax
je 0x18014ea58
test esi, esi
je 0x18014ea01
movsxd rdx, ebx
mov rcx, rbp
add rdx, rdi
movsxd r8, esi
call sym.libcrypto_1_1_x64.dll_EVP_DigestUpdate
test eax, eax
je 0x18014ea58
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, rbp
call sym.libcrypto_1_1_x64.dll_EVP_DigestFinal_ex
test eax, eax
je 0x18014ea58
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x60]
mov r8, r14
call fcn.1801ba740
test eax, eax
je 0x18014ea4d
mov edx, 0x7e
mov dword [rsp + 0x20], 0x7c
lea r9, str.crypto_rsa_rsa_pss.c
lea ecx, [rdx - 0x7a]
lea r8d, [rdx - 0x16]
call sym.libcrypto_1_1_x64.dll_ERR_put_error
jmp 0x18014ea58
mov r15d, 1
jmp 0x18014ea58
mov rbp, rax
mov r8d, 0x83
lea rdx, str.crypto_rsa_rsa_pss.c
mov rcx, rdi
call sym.libcrypto_1_1_x64.dll_CRYPTO_free
mov rcx, rbp
call sym.libcrypto_1_1_x64.dll_EVP_MD_CTX_free
mov eax, r15d
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1800028c4
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret