Function at 0x14003a130
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov qword [rsp + 0xa8], rbx
mov rdi, rdx
mov rbx, rcx
xor r13d, r13d
mov dword [rbp - 0x30], r13d
xor edx, edx
mov cl, 0x30
call fcn.140034500
mov byte [rbp - 0x20], al
lea edx, [r13 + 1]
mov cl, Ordinal_50
call fcn.140034500
mov byte [rbp - 0x1f], al
lea edx, [r13 + 2]
mov cl, reloc.WLDAP32.dll_Ordinal_50
call fcn.140034500
mov byte [rbp - 0x1e], al
lea edx, [r13 + 3]
mov cl, 0x33
call fcn.140034500
mov byte [rbp - 0x1d], al
lea edx, [r13 + 4]
mov cl, 0x34
call fcn.140034500
mov byte [rbp - 0x1c], al
lea edx, [r13 + 5]
mov cl, 0x35
call fcn.140034500
mov byte [rbp - 0x1b], al
lea edx, [r13 + 6]
mov cl, 0x36
call fcn.140034500
mov byte [rbp - 0x1a], al
lea edx, [r13 + 7]
mov cl, 0x37
call fcn.140034500
mov byte [rbp - 0x19], al
lea edx, [r13 + 8]
mov cl, gethostname
call fcn.140034500
mov byte [rbp - 0x18], al
lea edx, [r13 + 9]
mov cl, reloc.WS2_32.dll_gethostname
call fcn.140034500
mov byte [rbp - 0x17], al
lea edx, [r13 + 0xa]
mov cl, 0x41
call fcn.140034500
mov byte [rbp - 0x16], al
lea edx, [r13 + 0xb]
mov cl, 0x42
call fcn.140034500
mov byte [rbp - 0x15], al
lea edx, [r13 + 0xc]
mov cl, 0x43
call fcn.140034500
mov byte [rbp - 0x14], al
lea edx, [r13 + 0xd]
mov cl, 0x44
call fcn.140034500
mov byte [rbp - 0x13], al
lea edx, [r13 + 0xe]
mov cl, 0x45
call fcn.140034500
mov byte [rbp - 0x12], al
lea edx, [r13 + 0xf]
mov cl, 0x46
call fcn.140034500
mov byte [rbp - 0x11], al
xor eax, eax
mov byte [rbp - 0x10], al
mov ecx, r13d
mov edx, r13d
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx + 0x13]
xor byte [rbp + rdx - 0x20], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0x10
jb 0x14003a260
mov byte [rbp - 0x10], 0
mov r12, qword [rdi + 0x10]
mov byte [rbp + 0x50], 0
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], r13
cmp qword [rbx + 0x18], 0x10
jb 0x14003a296
mov rax, qword [rbx]
jmp 0x14003a299
mov rax, rbx
mov byte [rax], 0
cmp byte [rbp + 0x50], 0
jne 0x14003a2a7
mov r8, r13
jmp 0x14003a2ba
lea rax, [rbp + 0x50]
or r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x14003a2b0
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.140034cf0
mov dword [rbp - 0x30], 1
lea rsi, [r12 + r12]
cmp qword [rbx + 0x10], rsi
ja 0x14003a368
cmp qword [rbx + 0x18], rsi
je 0x14003a368
mov r14, qword [rbx + 0x10]
cmp rsi, 0xfffffffffffffffe
jbe 0x14003a2fd
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 0x14003a313
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call fcn.140035200
jmp 0x14003a34b
cmp rsi, 0x10
jae 0x14003a330
cmp rsi, r14
mov r8, rsi
jb 0x14003a324
mov r8, r14
mov dl, 1
mov rcx, rbx
call fcn.140034c40
jmp 0x14003a34b
test rsi, rsi
jne 0x14003a350
mov qword [rbx + 0x10], r13
cmp qword [rbx + 0x18], 0x10
jb 0x14003a345
mov rax, qword [rbx]
jmp 0x14003a348
mov rax, rbx
mov byte [rax], 0
test rsi, rsi
je 0x14003a368
mov qword [rbx + 0x10], r14
cmp qword [rbx + 0x18], 0x10
jb 0x14003a360
mov rax, qword [rbx]
jmp 0x14003a363
mov rax, rbx
mov byte [rax + r14], 0
mov r14, r13
test r12, r12
je 0x14003a499
cmp qword [rdi + 0x18], 0x10
jb 0x14003a380
mov rax, qword [rdi]
jmp 0x14003a383
mov rax, rdi
movzx esi, byte [rax + r14]
mov eax, esi
shr rax, 4
movzx r15d, byte [rbp + rax - 0x20]
mov rax, qword [rbx + 0x10]
cmp rax, qword [rbx + 0x18]
jne 0x14003a3dd
inc rax
cmp rax, 0xfffffffffffffffe
ja 0x14003a47d
cmp qword [rbx + 0x18], rax
jae 0x14003a3c2
mov r8, qword [rbx + 0x10]
mov rdx, rax
mov rcx, rbx
call fcn.140035200
jmp 0x14003a3dd
test rax, rax
jne 0x14003a3dd
mov qword [rbx + 0x10], r13
cmp qword [rbx + 0x18], 0x10
jb 0x14003a3d7
mov rax, qword [rbx]
jmp 0x14003a3da
mov rax, rbx
mov byte [rax], 0
cmp qword [rbx + 0x18], 0x10
jb 0x14003a3e9
mov rcx, qword [rbx]
jmp 0x14003a3ec
mov rcx, rbx
mov rax, qword [rbx + 0x10]
mov byte [rcx + rax], r15b
inc qword [rbx + 0x10]
mov rax, qword [rbx + 0x10]
mov byte [rax + rcx], 0
and esi, 0xf
movzx esi, byte [rbp + rsi - 0x20]
mov rax, qword [rbx + 0x10]
cmp rax, qword [rbx + 0x18]
jne 0x14003a44d
inc rax
cmp rax, 0xfffffffffffffffe
ja 0x14003a48b
cmp qword [rbx + 0x18], rax
jae 0x14003a432
mov r8, qword [rbx + 0x10]
mov rdx, rax
mov rcx, rbx
call fcn.140035200
jmp 0x14003a44d
test rax, rax
jne 0x14003a44d
mov qword [rbx + 0x10], r13
cmp qword [rbx + 0x18], 0x10
jb 0x14003a447
mov rax, qword [rbx]
jmp 0x14003a44a
mov rax, rbx
mov byte [rax], 0
cmp qword [rbx + 0x18], 0x10
jb 0x14003a459
mov rcx, qword [rbx]
jmp 0x14003a45c
mov rcx, rbx
mov rax, qword [rbx + 0x10]
mov byte [rcx + rax], sil
inc qword [rbx + 0x10]
mov rax, qword [rbx + 0x10]
mov byte [rcx + rax], 0
inc r14
cmp r14, r12
jae 0x14003a499
jmp 0x14003a374
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 0x14003a4f2
inc rax
mov rcx, qword [rdi]
cmp rax, 0x1000
jb 0x14003a4ed
test cl, 0x1f
je 0x14003a4bd
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 0x14003a4cd
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 0x14003a4dd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp rcx, 0x27
jbe 0x14003a4ea
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], r13
cmp qword [rdi + 0x18], 0x10
jb 0x14003a508
mov rdi, qword [rdi]
mov byte [rdi], 0
mov rax, rbx
mov rbx, qword [rsp + 0xa8]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret