Function at 0x14002c8d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x98
mov rax, qword [0x1401e7890]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov r13, r9
mov r12, r8
mov rsi, rdx
mov r14, rcx
mov qword [rbp - 0x11], rdx
xor ebx, ebx
mov dword [rbp - 0x19], ebx
xor eax, eax
mov qword [rdx], rax
mov dword [rbp - 0x39], 0xa5d4769
mov dword [rbp - 0x35], 0x594958
mov byte [rbp - 0x31], 1
mov ecx, ebx
nop word [rax + rax]
lea eax, [rcx + 0x27]
xor byte [rbp + rcx - 0x39], al
inc rcx
cmp rcx, 7
jb 0x14002c930
mov byte [rbp - 0x31], bl
call fcn.14000d010
mov rcx, rax
test rax, rax
je 0x14002cb8f
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rsi], rax
lea rax, [rbp - 0x39]
mov rdi, 0xffffffffffffffff
cmp rax, 0x10000
jae 0x14002c985
lea rax, [rbp - 0x39]
movzx edx, ax
mov rcx, rsi
call fcn.14002d290
jmp 0x14002c9a9
lea rcx, [rbp - 0x39]
mov rax, rdi
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14002c990
mov r8d, eax
lea rdx, [rbp - 0x39]
mov rcx, rsi
call fcn.14002d520
nop
mov r15d, 1
mov dword [rbp - 0x19], r15d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 9], xmm0
mov qword [rbp + 7], rax
lea rcx, [rbp - 9]
call qword [sym.imp.WS2_32.dll_htonl]
mov rax, qword [r12]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 9]
xor r8d, r8d
mov rdx, r13
mov rcx, r12
call qword [rax + 0x20]
mov ecx, eax
mov rax, qword [r14]
mov dword [rax], ecx
mov rax, qword [r14 + 8]
mov rcx, qword [rax]
cmp dword [rcx], 0
jl 0x14002cb57
movzx eax, word [rbp - 9]
cmp ax, 2
jb 0x14002cb57
bt ax, 0xd
jae 0x14002ca6d
mov dword [rbp - 0x29], 0x44424672
mov dword [rbp - 0x25], 0x435b44
mov byte [rbp - 0x21], r15b
nop word [rax + rax]
lea eax, [rbx + 0x27]
xor byte [rbp + rbx - 0x29], al
inc rbx
cmp rbx, 7
jb 0x14002ca30
mov byte [rbp - 0x21], 0
lea rax, [rbp - 0x29]
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x14002ca50
mov r8d, edi
lea rdx, [rbp - 0x29]
mov rcx, rsi
call fcn.14002d520
jmp 0x14002cb57
mov r12, qword [rbp - 1]
test r12, r12
je 0x14002cb09
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
mov r9d, edi
mov r8, r12
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea r14d, [rax - 1]
test r14d, r14d
jle 0x14002cb09
mov rax, qword [rsi]
sub r15d, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, r14d
or r15d, ecx
jge 0x14002cac4
mov edx, r14d
mov rcx, rsi
call fcn.14002d650
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], r14d
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, r12
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rax, qword [rsi]
cmp r14d, dword [rax - 0xc]
jg 0x14002cb9a
mov dword [rax - 0x10], r14d
movsxd rcx, r14d
mov rax, qword [rsi]
mov byte [rcx + rax], 0
jmp 0x14002cb57
mov rcx, qword [rsi]
lea rdx, [rcx - 0x18]
mov r14, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14002cb57
mov eax, dword [rdx + 0x10]
shr eax, 0x1f
test al, al
je 0x14002cb34
cmp dword [rcx - 0xc], 0
jl 0x14002cb84
mov dword [rcx - 0x10], ebx
mov rax, qword [rsi]
mov byte [rax], 0
jmp 0x14002cb57
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x14002cb47
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdx, qword [r14]
mov rcx, r14
call qword [rdx + Ordinal_26]
add rax, 0x18
mov qword [rsi], rax
lea rcx, [rbp - 9]
call qword [sym.imp.WS2_32.dll_htons]
mov rax, rsi
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.140156eb0
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80070057
call fcn.14000cf00
nop
mov ecx, 0x80004005
call fcn.14000cf00
int3
mov ecx, 0x80070057
call fcn.14000cf00
int3