Function at 0x1401c1380
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0xb8
call fcn.1402563a0
sub rsp, rax
mov rax, qword [0x1403bb2d8]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov eax, dword [rsp + 0x120]
mov rsi, qword [rsp + 0x138]
mov r14, qword [rsp + 0x140]
xor r15d, r15d
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x128]
lea ebx, [r8 - 1]
mov qword [rsp + 0x48], r9
mov rdi, rdx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0x34], ebx
mov r13d, r15d
mov ebp, r15d
test rsi, rsi
jne 0x1401c1404
call fcn.140133380
mov rsi, rax
test r14, r14
mov rcx, rsi
cmove r14, rsi
call fcn.1400c6ce0
movsxd r12, eax
test eax, eax
jg 0x1401c144f
call fcn.1400baef0
lea r8, str.ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
lea rcx, str.crypto_rsa_rsa_oaep.c
mov edx, 0x51
call fcn.1400baf60
xor r8d, r8d
mov edx, 0xb5
lea ecx, [r8 + 4]
call fcn.1400bb1b0
xor eax, eax
jmp 0x1401c167f
lea ecx, [r12 + r12]
mov eax, ebx
sub eax, ecx
mov dword [rsp + 0x40], eax
dec eax
cmp dword [rsp + 0x30], eax
jle 0x1401c1496
call fcn.1400baef0
lea r8, str.ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
lea rcx, str.crypto_rsa_rsa_oaep.c
mov edx, 0x57
call fcn.1400baf60
xor r8d, r8d
lea edx, [r8 + 0x6e]
lea ecx, [rdx - 0x6a]
call fcn.1400bb1b0
xor eax, eax
jmp 0x1401c167f
lea eax, [rcx + 1]
cmp ebx, eax
jge 0x1401c14d0
call fcn.1400baef0
lea r8, str.ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
lea rcx, str.crypto_rsa_rsa_oaep.c
mov edx, 0x5c
call fcn.1400baf60
xor r8d, r8d
lea edx, [r8 + 0x78]
lea ecx, [rdx - 0x74]
call fcn.1400bb1b0
xor eax, eax
jmp 0x1401c167f
mov rcx, qword [rsp + 0x38]
movsxd rdx, dword [rsp + 0x130]
mov byte [rdi], bpl
lea r8, [r12 + rcx + 1]
mov rcx, qword [rsp + 0x58]
xor r9d, r9d
lea rbx, [rdi + 1]
mov qword [rsp + 0x28], r15
mov rdi, r12
mov qword [rsp + 0x20], rsi
call fcn.1400b4420
test eax, eax
je 0x1401c1655
mov eax, dword [rsp + 0x40]
xor edx, edx
sub eax, dword [rsp + 0x30]
dec eax
movsxd r8, eax
mov rax, qword [rsp + 0x38]
lea rsi, [r12 + rax + 1]
lea rcx, [r12 + rsi]
call fcn.1402547c0
mov edx, dword [rsp + 0x30]
movsxd rcx, dword [rsp + 0x34]
movsxd r11, edx
mov r8d, edx
mov rdx, qword [rsp + 0x48]
sub rcx, r11
sub rcx, r12
add rcx, rsi
mov byte [rcx - 1], 1
call fcn.1402550b0
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov r8, r12
mov rdx, rbx
call fcn.1400ec860
test eax, eax
jle 0x1401c1655
mov ebp, dword [rsp + 0x34]
lea rdx, str.crypto_rsa_rsa_oaep.c
mov r8d, WSAStartup
sub ebp, r12d
movsxd rsi, ebp
mov rcx, rsi
call fcn.1400b4520
mov r13, rax
test rax, rax
jne 0x1401c15c7
call fcn.1400baef0
lea r8, str.ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
lea edx, [r13 + 0x74]
lea rcx, str.crypto_rsa_rsa_oaep.c
call fcn.1400baf60
lea ecx, [r13 + 4]
xor r8d, r8d
mov edx, 0xc0100
call fcn.1400bb1b0
jmp 0x1401c1655
mov r9d, r12d
mov r8, rbx
mov edx, ebp
mov rcx, rax
mov qword [rsp + 0x20], r14
call fcn.1401c11e0
test eax, eax
js 0x1401c1655
test ebp, ebp
jle 0x1401c160f
mov rcx, qword [rsp + 0x38]
mov rdx, r13
lea rax, [r12 + rcx + 1]
mov rcx, rax
sub rdx, rax
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
xor byte [rcx - 1], al
dec rsi
jne 0x1401c1600
mov rax, qword [rsp + 0x38]
lea rcx, [rsp + 0x60]
mov r9d, ebp
lea r8, [r12 + rax + 1]
mov edx, r12d
mov qword [rsp + 0x20], r14
call fcn.1401c11e0
test eax, eax
js 0x1401c1655
test r12d, r12d
jle 0x1401c164f
lea rcx, [rsp + 0x60]
sub rcx, rbx
nop
movzx eax, byte [rcx + rbx]
inc rbx
xor byte [rbx - 1], al
dec rdi
jne 0x1401c1640
mov r15d, 1
lea rcx, [rsp + 0x60]
mov edx, 0x40
call fcn.1400f5f30
lea r8, str.crypto_rsa_rsa_oaep.c
movsxd rdx, ebp
mov r9d, 0x89
mov rcx, r13
call fcn.1400b4620
mov eax, r15d
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140254f60
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret