Function at 0x14009c740
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0xf0
call fcn.140150d80
sub rsp, rax
mov rax, qword [0x1402274c0]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x158]
movsxd rbx, dword [rsp + 0x150]
mov rsi, qword [rsp + 0x170]
xor r15d, r15d
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x168]
or r13d, 0xffffffff
movsxd r14, r9d
mov r12, r8
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x40], rax
mov edi, r15d
mov ebp, r15d
test rax, rax
jne 0x14009c7c4
call fcn.14005a4a0
mov qword [rsp + 0x40], rax
test rsi, rsi
mov rcx, rax
cmove rsi, rax
mov qword [rsp + 0x48], rsi
call fcn.14005d290
movsxd rsi, eax
cmp dword [rsp + 0x38], edi
jle 0x14009cbb3
test r14d, r14d
jle 0x14009cbb3
cmp ebx, r14d
jl 0x14009cb34
lea ecx, [rsi*2 + 2]
cmp ebx, ecx
jl 0x14009cb34
mov ebp, ebx
lea rdx, [0x140206b90]
mov r8d, reloc.WS2_32.dll___WSAFDIsSet
sub ebp, esi
dec ebp
mov ecx, ebp
call fcn.14004e700
lea rdx, str..crypto_rsa_rsa_oaep.c
mov r8d, 0x98
mov ecx, ebx
mov rdi, rax
call fcn.14004e700
mov qword [rsp + 0x30], rax
test rdi, rdi
je 0x14009cb8f
test rax, rax
je 0x14009cb8f
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.140152f60
mov r8, r14
sub rbx, r14
mov r14, qword [rsp + 0x30]
mov rdx, r12
lea rcx, [r14 + rbx]
call fcn.140152980
movzx eax, byte [r14]
lea rbx, [r14 + 1]
lea ecx, [rax - 1]
not eax
inc r14
shr ecx, 0x1f
shr eax, 0x1f
add r14, rsi
and ecx, eax
mov rax, qword [rsp + 0x48]
mov r9d, ebp
neg ecx
mov r8, r14
mov edx, esi
mov dword [rsp + 0x3c], ecx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.14009c1a0
test eax, eax
jne 0x14009cb6b
mov edx, r15d
test esi, esi
jle 0x14009c93b
cmp esi, 0x20
jb 0x14009c93b
lea eax, [rsi - 1]
lea r8, [rsp + 0x60]
movsxd rcx, eax
add r8, rcx
lea rax, [rcx + rbx]
lea rcx, [rsp + 0x60]
cmp rcx, rax
ja 0x14009c8e4
cmp r8, rbx
jae 0x14009c93b
mov eax, esi
and eax, 0x8000001f
jge 0x14009c8f4
dec eax
or eax, 0xffffffe0
inc eax
mov r8d, esi
sub r8d, eax
nop word [rax + rax]
movsxd rax, edx
movdqu xmm0, xmmword [rsp + rax + 0x60]
movdqu xmm1, xmmword [rax + rbx]
pxor xmm1, xmm0
movdqu xmmword [rsp + rax + 0x60], xmm1
lea eax, [rdx + 0x10]
add edx, 0x20
movsxd rcx, eax
movdqu xmm1, xmmword [rcx + rbx]
movdqu xmm0, xmmword [rsp + rcx + 0x60]
pxor xmm1, xmm0
movdqu xmmword [rsp + rcx + 0x60], xmm1
cmp edx, r8d
jl 0x14009c900
movsxd rdx, edx
cmp rdx, rsi
jge 0x14009c966
lea rax, [rsp + 0x60]
sub rbx, rax
nop dword [rax + rax]
lea rcx, [rsp + 0x60]
add rcx, rdx
inc rdx
movzx eax, byte [rbx + rcx]
xor byte [rcx], al
cmp rdx, rsi
jl 0x14009c950
mov rax, qword [rsp + 0x48]
lea r8, [rsp + 0x60]
mov r9d, esi
mov edx, ebp
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.14009c1a0
test eax, eax
jne 0x14009cb6b
mov edx, r15d
test ebp, ebp
jle 0x14009ca09
cmp ebp, 0x20
jb 0x14009ca09
lea eax, [rbp - 1]
movsxd rcx, eax
lea rax, [rcx + r14]
lea r8, [rcx + rdi]
cmp rdi, rax
ja 0x14009c9ae
cmp r8, r14
jae 0x14009ca09
mov eax, ebp
and eax, 0x8000001f
jge 0x14009c9be
dec eax
or eax, 0xffffffe0
inc eax
mov r8d, ebp
sub r8d, eax
nop dword [rax]
nop dword [rax + rax]
movsxd rax, edx
movdqu xmm0, xmmword [rax + rdi]
movdqu xmm1, xmmword [rax + r14]
pxor xmm1, xmm0
movdqu xmmword [rax + rdi], xmm1
lea eax, [rdx + 0x10]
add edx, 0x20
movsxd rcx, eax
movdqu xmm1, xmmword [rcx + r14]
movdqu xmm0, xmmword [rcx + rdi]
pxor xmm1, xmm0
movdqu xmmword [rcx + rdi], xmm1
cmp edx, r8d
jl 0x14009c9d0
movsxd rax, edx
movsxd rbx, ebp
cmp rax, rbx
jge 0x14009ca32
mov rdx, rbx
sub r14, rdi
lea rcx, [rax + rdi]
sub rdx, rax
movzx eax, byte [r14 + rcx]
lea rcx, [rcx + 1]
xor byte [rcx - 1], al
dec rdx
jne 0x14009ca21
mov rax, qword [rsp + 0x40]
movsxd rdx, dword [rsp + 0x160]
mov rcx, qword [rsp + 0x58]
lea r8, [rsp + 0xa0]
xor r9d, r9d
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.140082230
test eax, eax
je 0x14009cb6b
lea rdx, [rsp + 0xa0]
mov r8, rsi
mov rcx, rdi
call fcn.14004d630
mov r11d, dword [rsp + 0x3c]
mov r9d, r15d
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and r11d, ecx
cmp rsi, rbx
jge 0x14009caf3
lea r10, [rsi + rdi]
sub rbx, rsi
nop
movzx r8d, byte [r10]
mov ecx, r9d
lea r10, [r10 + 1]
mov eax, r8d
not ecx
xor eax, 1
lea edx, [rax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
neg edx
and ecx, edx
or r9d, edx
mov eax, ecx
and ecx, esi
inc esi
not eax
and r15d, eax
lea eax, [r8 - 1]
not r8d
shr eax, 0x1f
shr r8d, 0x1f
or r15d, ecx
and eax, r8d
neg eax
or eax, r9d
and r11d, eax
dec rbx
jne 0x14009caa0
test r11d, r9d
je 0x14009cb2f
lea eax, [r15 + 1]
mov r13d, ebp
sub r13d, eax
cmp dword [rsp + 0x38], r13d
jge 0x14009cb58
mov edx, 0xa1
lea r9, [0x140206b00]
mov ecx, 4
lea r8d, [rdx - 0x34]
mov dword [rsp + 0x20], 0xdd
call fcn.14004cd30
or r13d, 0xffffffff
mov rbp, qword [rsp + 0x30]
mov edx, 0xa1
lea r9, [0x140206b18]
mov ecx, 4
lea r8d, [rdx - 0x28]
mov dword [rsp + 0x20], 0xea
call fcn.14004cd30
jmp 0x14009cb70
mov rcx, qword [rsp + 0x50]
movsxd rdx, eax
movsxd r8, r13d
add rdx, rdi
call fcn.140152980
mov rbp, qword [rsp + 0x30]
test rdi, rdi
je 0x14009cb7d
mov rcx, rdi
call fcn.14004e660
test rbp, rbp
je 0x14009cb8a
mov rcx, rbp
call fcn.14004e660
mov eax, r13d
jmp 0x14009cbb6
mov edx, 0xa1
lea r9, [0x140206ae8]
mov ecx, 4
lea r8d, [rdx - 0x60]
mov dword [rsp + 0x20], 0x9a
call fcn.14004cd30
jmp 0x14009cb6b
or eax, 0xffffffff
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.140150a60
mov rbx, qword [rsp + 0x138]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret