Function at 0x14003ef78
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x130
mov rax, qword [0x14031f010]
xor rax, rsp
mov qword [rsp + 0x128], rax
mov rsi, r8
mov r14, rdx
mov rdi, rcx
mov qword [r11 - 0xd0], rcx
xor ebx, ebx
mov dword [rsp + 0x40], ebx
mov qword [r11 - 0x50], rbx
mov qword [r11 - 0x40], rbx
mov qword [r11 - 0x38], 0xf
mov byte [r11 - 0x50], bl
xor edx, edx
call fcn.140049d60
nop
mov dword [rsp + 0x40], 1
call fcn.140081f80
mov r15, rax
test rax, rax
je 0x14003f217
movups xmm0, xmmword [0x140309fb8]
movups xmmword [rsp + 0x48], xmm0
movzx eax, word [0x140309fc8]
mov word [rsp + 0x58], ax
mov al, byte [0x140309fca]
mov byte [rsp + 0x5a], al
mov r8d, ebx
lea r9, [rsp + 0x48]
mov eax, 0x24924925
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, 0x39
xor byte [r9], al
inc r8d
inc r9
cmp r8d, 0x13
jl 0x14003f015
lea rax, [rsp + 0x48]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], bl
jne 0x14003f04e
mov rdx, qword [rsi + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, rcx
jb 0x14003f285
cmp qword [rsi + 0x18], 0x10
jb 0x14003f07a
mov rsi, qword [rsi]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x48]
lea rcx, [rsp + 0x68]
call fcn.140050174
mov dword [rsp + 0x40], 3
lea rdx, [rsp + 0x68]
cmp qword [rsp + 0x80], 0x10
cmovae rdx, qword [rsp + 0x68]
xor ecx, ecx
call fcn.1400832a0
mov r12, rax
mov rdx, qword [rsp + 0x80]
cmp rdx, 0x10
jb 0x14003f0fe
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003f0f9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003f28b
call fcn.14005e360
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x68], bl
mov r8, r12
mov edx, 0x2727
mov rcx, r15
call fcn.1400851d0
cmp qword [r14 + 0x18], 0x10
jb 0x14003f12d
mov r14, qword [r14]
mov r8, r14
mov edx, 0x2712
mov rcx, r15
call fcn.1400851d0
lea r8, [0x14003e3e4]
mov edx, 0x4e2b
mov rcx, r15
call fcn.1400851d0
lea r8, [rsp + 0x108]
mov edx, 0x2711
mov rcx, r15
call fcn.1400851d0
mov rcx, r15
call fcn.140082030
mov esi, eax
mov rcx, r12
call fcn.140083310
mov rcx, r15
call fcn.140082060
test esi, esi
je 0x14003f1ce
lea rdx, [rsp + 0x48]
call fcn.14003f2e8
mov r8, rax
cmp byte [rax + 0x1c], bl
je 0x14003f291
mov r9, rax
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, bl
sub al, cl
add al, 0x39
xor byte [r9], al
inc ebx
inc r9
cmp ebx, 0x1d
jge 0x14003f291
jmp 0x14003f19d
mov qword [rsp + 0x100], rbx
lea r8, [rsp + 0xc8]
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x48]
call fcn.14004bd44
mov r8, rax
mov cl, byte [rdi]
mov al, byte [rax]
mov byte [rdi], al
mov byte [r8], cl
lea rcx, [r8 + 8]
mov rax, qword [rdi + 8]
mov rdx, qword [rcx]
mov qword [rdi + 8], rdx
mov qword [rcx], rax
mov dl, byte [r8]
call fcn.140049858
nop
mov rdx, qword [rsp + 0x120]
cmp rdx, 0x10
jb 0x14003f25a
inc rdx
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003f255
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003f2e1
call fcn.14005e360
mov rax, rdi
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.14005e190
mov rbx, qword [rsp + 0x178]
add rsp, 0x130
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call fcn.140037be8
int3
call fcn.14015e7b0
int3
mov rdx, r8
lea rcx, [rsp + 0x68]
call fcn.1400484fc
mov rbx, rax
mov ecx, esi
call fcn.1400834f0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0xc8]
call fcn.14004bce4
nop
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.140037db0
lea rdx, [0x14031c8f8]
lea rcx, [rsp + 0x98]
call fcn.14012d9e0
nop
call fcn.14015e7b0
int3