Function at 0x14004baf0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x50
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov rdi, rdx
mov rbx, rcx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
movdqa xmm0, xmmword [0x1400a88a0]
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x40], 0x100
mov ecx, r12d
nop word [rax + rax]
lea eax, [rcx - 0x27]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0x10
jb 0x14004bb40
mov byte [rsp + 0x41], 0
mov r15, qword [rdx + 0x10]
mov word [rsp + 0xa0], 0
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], r12
cmp qword [rbx + 0x18], 0x10
jb 0x14004bb7b
mov rax, qword [rbx]
jmp 0x14004bb7e
mov rax, rbx
mov byte [rax], 0
cmp byte [rsp + 0xa0], 0
jne 0x14004bb90
mov r8, r12
jmp 0x14004bbaa
lea rax, [rsp + 0xa0]
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14004bba0
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call fcn.140034cf0
mov dword [rsp + 0x20], 1
lea rsi, [r15 + r15]
cmp qword [rbx + 0x10], rsi
ja 0x14004bc5c
cmp qword [rbx + 0x18], rsi
je 0x14004bc5c
mov rbp, qword [rbx + 0x10]
cmp rsi, 0xfffffffffffffffe
jbe 0x14004bbf2
lea rcx, str.string_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
cmp qword [rbx + 0x18], rsi
jae 0x14004bc08
mov r8, rbp
mov rdx, rsi
mov rcx, rbx
call fcn.140035200
jmp 0x14004bc40
cmp rsi, 0x10
jae 0x14004bc25
cmp rsi, rbp
mov r8, rsi
jb 0x14004bc19
mov r8, rbp
mov dl, 1
mov rcx, rbx
call fcn.140034c40
jmp 0x14004bc40
test rsi, rsi
jne 0x14004bc45
mov qword [rbx + 0x10], r12
cmp qword [rbx + 0x18], 0x10
jb 0x14004bc3a
mov rax, qword [rbx]
jmp 0x14004bc3d
mov rax, rbx
mov byte [rax], 0
test rsi, rsi
je 0x14004bc5c
mov qword [rbx + 0x10], rbp
cmp qword [rbx + 0x18], 0x10
jb 0x14004bc55
mov rax, qword [rbx]
jmp 0x14004bc58
mov rax, rbx
mov byte [rax + rbp], 0
mov rbp, r12
test r15, r15
je 0x14004bd8c
cmp qword [rdi + 0x18], 0x10
jb 0x14004bc74
mov rax, qword [rdi]
jmp 0x14004bc77
mov rax, rdi
movzx esi, byte [rax + rbp]
mov eax, esi
shr rax, 4
movzx r14d, byte [rsp + rax + 0x30]
mov rax, qword [rbx + 0x10]
cmp rax, qword [rbx + 0x18]
jne 0x14004bcd0
inc rax
cmp rax, 0xfffffffffffffffe
ja 0x14004bd70
cmp qword [rbx + 0x18], rax
jae 0x14004bcb5
mov r8, qword [rbx + 0x10]
mov rdx, rax
mov rcx, rbx
call fcn.140035200
jmp 0x14004bcd0
test rax, rax
jne 0x14004bcd0
mov qword [rbx + 0x10], r12
cmp qword [rbx + 0x18], 0x10
jb 0x14004bcca
mov rax, qword [rbx]
jmp 0x14004bccd
mov rax, rbx
mov byte [rax], 0
cmp qword [rbx + 0x18], 0x10
jb 0x14004bcdc
mov rcx, qword [rbx]
jmp 0x14004bcdf
mov rcx, rbx
mov rax, qword [rbx + 0x10]
mov byte [rcx + rax], r14b
inc qword [rbx + 0x10]
mov rax, qword [rbx + 0x10]
mov byte [rax + rcx], 0
and esi, 0xf
movzx esi, byte [rsp + rsi + 0x30]
mov rax, qword [rbx + 0x10]
cmp rax, qword [rbx + 0x18]
jne 0x14004bd40
inc rax
cmp rax, 0xfffffffffffffffe
ja 0x14004bd7e
cmp qword [rbx + 0x18], rax
jae 0x14004bd25
mov r8, qword [rbx + 0x10]
mov rdx, rax
mov rcx, rbx
call fcn.140035200
jmp 0x14004bd40
test rax, rax
jne 0x14004bd40
mov qword [rbx + 0x10], r12
cmp qword [rbx + 0x18], 0x10
jb 0x14004bd3a
mov rax, qword [rbx]
jmp 0x14004bd3d
mov rax, rbx
mov byte [rax], 0
cmp qword [rbx + 0x18], 0x10
jb 0x14004bd4c
mov rcx, qword [rbx]
jmp 0x14004bd4f
mov rcx, rbx
mov rax, qword [rbx + 0x10]
mov byte [rcx + rax], sil
inc qword [rbx + 0x10]
mov rax, qword [rbx + 0x10]
mov byte [rax + rcx], 0
inc rbp
cmp rbp, r15
jae 0x14004bd8c
jmp 0x14004bc68
lea rcx, str.string_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rcx, str.string_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop
mov rax, qword [rdi + 0x18]
cmp rax, 0x10
jb 0x14004bde5
inc rax
mov rcx, qword [rdi]
cmp rax, 0x1000
jb 0x14004bde0
test cl, 0x1f
je 0x14004bdb0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14004bdc0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rcx, rax
cmp rcx, 8
jae 0x14004bdd0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp rcx, 0x27
jbe 0x14004bddd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rax
call fcn.140054a50
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rdi + 0x10], r12
cmp qword [rdi + 0x18], 0x10
jb 0x14004bdfb
mov rdi, qword [rdi]
mov byte [rdi], 0
mov rax, rbx
add rsp, 0x50
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret