Function at 0x1400cf851
Capabilities:
Encode data using xor

Disassembly:
jmp 0x1401105e0
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push r12
sub rsp, 0x60
mov rbp, r8
mov ebx, edx
test rcx, rcx
jne 0x140110617
lea r8d, [rcx + 0x2a]
lea rcx, str.msg___NULL
lea rdx, str.srcpkpkcs1pkcs_1_oaep_encode.c
call fcn.1400cabda
cmp qword [rsp + 0xc0], 0
jne 0x14011063b
mov r8d, 0x2b
lea rdx, str.srcpkpkcs1pkcs_1_oaep_encode.c
lea rcx, str.out___NULL
call fcn.1400cabda
cmp qword [rsp + 0xc8], 0
jne 0x14011065f
mov r8d, 0x2c
lea rdx, str.srcpkpkcs1pkcs_1_oaep_encode.c
lea rcx, str.outlen___NULL
call fcn.1400cabda
movsxd r12, dword [rsp + 0xb8]
mov ecx, r12d
call fcn.1400cd0dd
test eax, eax
jne 0x140110a1f
mov ecx, dword [rsp + 0xb0]
call fcn.1400cd281
test eax, eax
jne 0x140110a1f
mov qword [rsp + 0x50], r13
lea rcx, [0x140000000]
mov qword [rsp + 0x48], r14
mov rax, r12
shl rax, 7
mov qword [rsp + 0x40], r15
mov r15d, 0
mov r14d, dword [rax + rcx + 0x2e62dc]
mov eax, dword [rsp + 0xa0]
test al, 7
setne r15b
shr eax, 3
add r15d, eax
lea ecx, [r14 + r14]
lea eax, [r15 - 2]
cmp ecx, eax
jae 0x140110a51
mov r13d, r15d
sub r13d, ecx
lea eax, [r13 - 2]
cmp ebx, eax
ja 0x140110a51
mov qword [rsp + 0x90], rsi
mov ecx, r15d
mov qword [rsp + 0x58], rdi
call fcn.1400cc8b8
mov ecx, r15d
mov rsi, rax
call fcn.1400cc8b8
mov ecx, r14d
mov rbx, rax
call fcn.1400cc8b8
mov rdi, rax
test rsi, rsi
je 0x140110a30
test rbx, rbx
je 0x140110a28
test rax, rax
je 0x140110a28
mov dword [rsp + 0x30], r15d
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9, rsi
mov ecx, r12d
test rbp, rbp
je 0x14011075b
mov r8d, dword [rsp + 0x98]
mov rdx, rbp
jmp 0x140110761
xor r8d, r8d
mov rdx, rsi
call fcn.1400cdf1a
mov ebp, eax
test eax, eax
jne 0x1401109e9
mov ebp, dword [rsp + 0x88]
lea rcx, [rsi + r14]
sub r13d, ebp
mov dword [rsp + 0x30], r14d
sub r13d, 2
xor edx, edx
mov r8d, r13d
call fcn.1400cd75e
mov eax, dword [rsp + 0x30]
mov r8d, ebp
mov rdx, qword [rsp + 0x80]
add eax, r13d
mov dword [rsp + 0x30], eax
mov byte [rax + rsi], 1
mov eax, dword [rsp + 0x30]
inc eax
mov ecx, eax
add rcx, rsi
mov dword [rsp + 0x30], eax
call fcn.1400cbec2
movsxd rax, dword [rsp + 0xb0]
mov edx, r14d
mov r8, qword [rsp + 0xa8]
mov rcx, rdi
add dword [rsp + 0x30], ebp
lea r9, [rax + rax*4]
add r9, r9
lea rax, [0x140000000]
call qword [rax + r9*8 + 0x2e7638]
cmp eax, r14d
je 0x1401107fe
mov ebp, 9
jmp 0x1401109e9
mov r13d, r15d
mov r9, rbx
sub r13d, r14d
mov r8d, r14d
dec r13d
mov rdx, rdi
mov ecx, r12d
mov dword [rsp + 0x20], r13d
call fcn.1400ccecb
mov ebp, eax
test eax, eax
jne 0x1401109e9
xor r8d, r8d
test r13d, r13d
je 0x1401108c1
cmp r13d, 0x20
jb 0x140110896
lea eax, [r13 - 1]
lea rdx, [rax + rsi]
add rax, rbx
cmp rsi, rax
ja 0x14011084e
cmp rdx, rbx
jae 0x140110896
mov edx, r13d
and edx, 0xffffffe0
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [r8 + rsi]
lea eax, [r8 + 0x10]
movdqu xmm1, xmmword [r8 + rbx]
pxor xmm1, xmm0
movdqu xmmword [r8 + rsi], xmm1
add r8d, 0x20
movdqu xmm1, xmmword [rax + rbx]
movdqu xmm0, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
cmp r8d, edx
jb 0x140110860
cmp r8d, r13d
jae 0x1401108c1
mov edx, r8d
mov r9, rbx
add rdx, rsi
sub r9, rsi
mov eax, r13d
sub eax, r8d
mov r8d, eax
movzx eax, byte [r9 + rdx]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x1401108b0
mov r9, rbx
mov dword [rsp + 0x20], r14d
mov r8d, r13d
mov rdx, rsi
mov ecx, r12d
call fcn.1400ccecb
mov ebp, eax
test eax, eax
jne 0x1401109e9
xor edx, edx
test r14d, r14d
je 0x140110971
cmp r14d, 0x20
jb 0x140110941
lea eax, [r14 - 1]
lea r8, [rax + rdi]
add rax, rbx
cmp rdi, rax
ja 0x140110907
cmp r8, rbx
jae 0x140110941
mov r8d, r14d
and r8d, 0xffffffe0
nop
movdqu xmm0, xmmword [rdx + rdi]
lea eax, [rdx + 0x10]
movdqu xmm1, xmmword [rdx + rbx]
pxor xmm1, xmm0
movdqu xmmword [rdx + rdi], xmm1
add edx, 0x20
movdqu xmm1, xmmword [rax + rbx]
movdqu xmm0, xmmword [rax + rdi]
pxor xmm1, xmm0
movdqu xmmword [rax + rdi], xmm1
cmp edx, r8d
jb 0x140110910
cmp edx, r14d
jae 0x140110971
mov ecx, edx
mov r8, rbx
add rcx, rdi
sub r8, rdi
mov eax, r14d
sub eax, edx
mov edx, eax
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140110960
mov rbp, qword [rsp + 0xc8]
cmp dword [rbp], r15d
jae 0x14011098a
mov dword [rbp], r15d
mov ebp, 6
jmp 0x1401109e9
mov r12, qword [rsp + 0xc0]
mov r8, r14
mov dword [rsp + 0x30], 0
mov rdx, rdi
mov byte [r12], 0
mov eax, dword [rsp + 0x30]
inc eax
mov ecx, eax
add rcx, r12
mov dword [rsp + 0x30], eax
call fcn.1400cbec2
mov eax, dword [rsp + 0x30]
mov rdx, rsi
add eax, r14d
mov r8d, r13d
mov ecx, eax
add rcx, r12
mov dword [rsp + 0x30], eax
call fcn.1400cbec2
mov ecx, dword [rsp + 0x30]
sub r15d, r14d
dec ecx
add ecx, r15d
mov dword [rbp], ecx
xor ebp, ebp
mov dword [rsp + 0x30], ecx
mov rcx, rdi
call fcn.1400cb21f
mov rcx, rbx
call fcn.1400cb21f
mov rcx, rsi
call fcn.1400cb21f
mov eax, ebp
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x90]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
add rsp, 0x60
pop r12
pop rbp
pop rbx
ret
mov rcx, rsi
call fcn.1400cb21f
test rbx, rbx
je 0x140110a3d
mov rcx, rbx
call fcn.1400cb21f
test rdi, rdi
je 0x140110a4a
mov rcx, rdi
call fcn.1400cb21f
mov eax, reloc.WS2_32.dll_listen
jmp 0x140110a03
mov eax, reloc.WS2_32.dll_shutdown
jmp 0x140110a10