Function at 0x14000e2d4
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rax, r8
mov rsi, rdx
mov rbx, rcx
test rdx, rdx
je 0x14000e708
mov dword [rcx + 0x3d0], reloc.WS2_32.dll_recv
mov rdx, rax
mov dword [rcx + 0x3cc], reloc.WLDAP32.dll_Ordinal_32
movups xmm0, xmmword [r8]
movups xmmword [rcx + 0x3d8], xmm0
movsxd r8, dword [rcx + 0x3d0]
add rcx, 0x3f8
call fcn.14005c230
mov eax, dword [rbx + 0x3cc]
cmp eax, 0x10
je 0x14000e356
cmp eax, 0x18
mov eax, reloc.WS2_32.dll_ntohl
jne 0x14000e374
cmp dword [rbx + 0x3d0], 0x20
lea ecx, [rax - 2]
cmovne eax, ecx
jmp 0x14000e374
mov edx, dword [rbx + 0x3d0]
cmp edx, 0x10
jne 0x14000e366
lea eax, [rdx - 6]
jmp 0x14000e374
mov eax, reloc.WS2_32.dll_ntohl
cmp edx, 0x18
lea ecx, [rax - 2]
cmove eax, ecx
mov dword [rbx + 0x3d4], eax
xor r14d, r14d
mov eax, dword [rbx + 0x3d0]
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd r13, eax
mov r15, r13
cmp dword [rbx + 0x3d4], r14d
jl 0x14000e3c5
lea rbp, [rbx + 0xc]
test r13d, r13d
jle 0x14000e3b5
mov r8, r13
xor edx, edx
shl r8, 2
mov rcx, rbp
call fcn.14005c790
inc r14d
add rbp, 0x20
cmp r14d, dword [rbx + 0x3d4]
jle 0x14000e39f
xor ebp, ebp
cmp dword [rbx + 0x3d4], ebp
jl 0x14000e3fa
lea r14, [rbx + 0x1ec]
test r13d, r13d
jle 0x14000e3ec
mov r8, r13
xor edx, edx
shl r8, 2
mov rcx, r14
call fcn.14005c790
inc ebp
add r14, 0x20
cmp ebp, dword [rbx + 0x3d4]
jle 0x14000e3d6
mov eax, dword [rbx + 0x3cc]
lea r12, [rbx + 0x418]
mov r10d, dword [rbx + 0x3d4]
cdq
and edx, 3
inc r10d
add eax, edx
imul r10d, r13d
sar eax, 2
mov rdx, r12
movsxd r14, eax
test eax, eax
jle 0x14000e459
mov r8d, r14d
movzx ecx, byte [rsi]
lea rsi, [rsi + 4]
shl ecx, 0x18
mov dword [rdx], ecx
movzx eax, byte [rsi - 3]
shl eax, 0x10
or dword [rdx], eax
movzx eax, byte [rsi - 2]
shl eax, 8
or dword [rdx], eax
movzx eax, byte [rsi - 1]
or dword [rdx], eax
lea rdx, [rdx + 4]
sub r8, 1
jne 0x14000e42b
xor r9d, r9d
xor ebp, ebp
test r14d, r14d
jle 0x14000e4ad
mov rsi, r12
cmp r9d, r10d
jge 0x14000e660
mov eax, r9d
inc rbp
cdq
inc r9d
idiv r13d
movsxd rcx, eax
movsxd r8, edx
lea rdx, [r8 + rcx*8]
mov ecx, dword [rsi]
mov dword [rbx + rdx*4 + 0xc], ecx
mov ecx, dword [rbx + 0x3d4]
sub ecx, eax
movsxd rax, ecx
lea rcx, [r8 + rax*8]
mov eax, dword [rsi]
add rsi, 4
mov dword [rbx + rcx*4 + 0x1ec], eax
cmp rbp, r14
jl 0x14000e466
cmp r9d, r10d
jge 0x14000e660
lea rsi, [0x14009e9b0]
lea r15, [0x140000000]
movsxd r8, dword [rbx + r14*4 + 0x414]
mov rax, r8
sar rax, 0x10
movzx ecx, al
movsx eax, byte [rsi]
inc rsi
mov qword [rsp + 0x88], rsi
movsx edx, byte [rcx + r15 + 0xa1ad0]
xor edx, eax
mov rax, r8
sar rax, 8
shl edx, 8
movzx ecx, al
movzx eax, byte [rcx + r15 + 0xa1ad0]
xor edx, eax
movzx eax, r8b
shl edx, 8
sar r8, 0x18
movzx eax, byte [rax + r15 + 0xa1ad0]
xor edx, eax
movzx eax, r8b
shl edx, 8
movzx eax, byte [rax + r15 + 0xa1ad0]
xor edx, eax
xor dword [r12], edx
cmp r14d, 8
je 0x14000e562
cmp r14, 1
jle 0x14000e5ff
lea rcx, [rbx + 0x41c]
lea rdx, [r14 - 1]
mov eax, dword [rcx - 4]
xor dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x14000e54e
jmp 0x14000e5ff
lea rcx, [rbx + 0x41c]
mov edx, 3
mov eax, dword [rcx - 4]
xor dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x14000e56e
movsxd r8, dword [rbx + 0x424]
mov rax, r8
sar rax, 0x18
movzx ecx, al
mov rax, r8
sar rax, 0x10
movsx edx, byte [rcx + r15 + 0xa1ad0]
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + r15 + 0xa1ad0]
xor edx, eax
mov rax, r8
sar rax, 8
shl edx, 8
movzx ecx, al
movzx eax, byte [rcx + r15 + 0xa1ad0]
xor edx, eax
movzx eax, r8b
shl edx, 8
movzx eax, byte [rax + r15 + 0xa1ad0]
xor edx, eax
xor dword [rbx + 0x428], edx
cmp r14, 5
jle 0x14000e5ff
lea rcx, [rbx + 0x42c]
lea rdx, [r14 - 5]
mov eax, dword [rcx - 4]
xor dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x14000e5f0
xor ebp, ebp
test r14d, r14d
jle 0x14000e654
mov rsi, r12
cmp r9d, r10d
jge 0x14000e65d
mov eax, r9d
inc rbp
cdq
inc r9d
idiv r13d
movsxd rcx, eax
movsxd r8, edx
lea rdx, [r8 + rcx*8]
mov ecx, dword [rsi]
mov dword [rbx + rdx*4 + 0xc], ecx
mov ecx, dword [rbx + 0x3d4]
sub ecx, eax
movsxd rax, ecx
lea rcx, [r8 + rax*8]
mov eax, dword [rsi]
add rsi, 4
mov dword [rbx + rcx*4 + 0x1ec], eax
cmp rbp, r14
jl 0x14000e609
mov rsi, qword [rsp + 0x88]
cmp r9d, r10d
jl 0x14000e4c4
mov r15, r13
mov r10d, 1
cmp dword [rbx + 0x3d4], r10d
jle 0x14000e6ea
lea r11, [rbx + 0x20c]
test r15, r15
jle 0x14000e6da
mov rsi, r11
lea r14, [0x140000000]
mov rbp, r15
movsxd r9, dword [rsi]
mov rax, r9
sar rax, 0x18
movzx edx, al
mov rax, r9
sar rax, 0x10
movzx ecx, al
mov rax, r9
sar rax, 8
mov r8d, dword [r14 + rdx*4 + 0x9f5d0]
xor r8d, dword [r14 + rcx*4 + 0x9f1d0]
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r14 + rcx*4 + 0x9edd0]
xor r8d, dword [r14 + rax*4 + 0x9e9d0]
mov dword [rsi], r8d
lea rsi, [rsi + 4]
sub rbp, 1
jne 0x14000e688
inc r10d
add r11, 0x20
cmp r10d, dword [rbx + 0x3d4]
jl 0x14000e676
lea r11, [rsp + 0x50]
mov byte [rbx + 8], 1
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rsi
ret
lea rax, vtable.std::exception.0
mov byte [rsp + 0x28], 1
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x38]
xor eax, eax
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
lea rax, str.Empty_key
mov qword [rsp + 0x20], rax
call fcn.14005c6a4
lea rdx, [0x1400b1bf0]
lea rcx, [rsp + 0x30]
call fcn.14005cdc8
int3