Function at 0x14000e48c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r9, r8
mov rdi, rdx
mov rbx, rcx
test rdx, rdx
je 0x14000e8b8
mov dword [rcx + 0x3d0], reloc.WS2_32.dll_recv
mov dword [rcx + 0x3cc], reloc.WLDAP32.dll_Ordinal_32
mov rax, qword [r8]
mov qword [rcx + 0x3d8], rax
mov rax, qword [r8 + 8]
add rcx, 0x3f8
mov qword [rcx - 0x18], rax
movsxd r8, dword [rcx - 0x28]
mov rdx, r9
call fcn.140056780
mov eax, dword [rbx + 0x3cc]
cmp eax, 0x10
je 0x14000e517
cmp eax, 0x18
mov eax, reloc.WS2_32.dll_ntohl
jne 0x14000e535
cmp dword [rbx + 0x3d0], 0x20
lea ecx, [rax - 2]
cmovne eax, ecx
jmp 0x14000e535
mov edx, dword [rbx + 0x3d0]
cmp edx, 0x10
jne 0x14000e527
lea eax, [rdx - 6]
jmp 0x14000e535
mov eax, reloc.WS2_32.dll_ntohl
cmp edx, 0x18
lea ecx, [rax - 2]
cmove eax, ecx
mov dword [rbx + 0x3d4], eax
mov eax, dword [rbx + 0x3d0]
xor ebp, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd r13, eax
cmp dword [rbx + 0x3d4], ebp
jl 0x14000e57f
lea rsi, [rbx + 0xc]
test r13d, r13d
jle 0x14000e571
mov r8, r13
xor edx, edx
mov rcx, rsi
shl r8, 2
call fcn.14005a570
inc ebp
add rsi, 0x20
cmp ebp, dword [rbx + 0x3d4]
jle 0x14000e55b
xor esi, esi
cmp dword [rbx + 0x3d4], esi
jl 0x14000e5b4
lea rbp, [rbx + 0x1ec]
test r13d, r13d
jle 0x14000e5a6
mov r8, r13
xor edx, edx
mov rcx, rbp
shl r8, 2
call fcn.14005a570
inc esi
add rbp, 0x20
cmp esi, dword [rbx + 0x3d4]
jle 0x14000e590
mov eax, dword [rbx + 0x3cc]
mov r11d, dword [rbx + 0x3d4]
lea r12, [rbx + 0x418]
cdq
inc r11d
and edx, 3
add eax, edx
mov rdx, r12
sar eax, 2
imul r11d, r13d
movsxd r15, eax
test eax, eax
jle 0x14000e612
mov r8d, r15d
movzx ecx, byte [rdi]
lea rdi, [rdi + 4]
shl ecx, 0x18
mov dword [rdx], ecx
movzx eax, byte [rdi - 3]
shl eax, 0x10
or dword [rdx], eax
movzx eax, byte [rdi - 2]
shl eax, 8
or dword [rdx], eax
movzx eax, byte [rdi - 1]
or dword [rdx], eax
lea rdx, [rdx + 4]
dec r8
jne 0x14000e5e5
xor r10d, r10d
xor ebp, ebp
test r15d, r15d
jle 0x14000e661
mov rsi, r12
cmp r10d, r11d
jge 0x14000e661
mov eax, r10d
inc rbp
inc r10d
cdq
idiv r13d
movsxd r8, eax
mov eax, dword [rsi]
movsxd r9, edx
lea rcx, [r9 + r8*8]
mov dword [rbx + rcx*4 + 0xc], eax
movsxd rax, dword [rbx + 0x3d4]
sub rax, r8
lea rcx, [r9 + rax*8]
mov eax, dword [rsi]
add rsi, 4
mov dword [rbx + rcx*4 + 0x1ec], eax
cmp rbp, r15
jl 0x14000e61f
lea rbp, [0x140000000]
cmp r10d, r11d
jge 0x14000e814
lea r9, [0x14008a2b0]
movsxd rdx, dword [rbx + r15*4 + 0x414]
mov rax, rdx
sar rax, 0x10
movzx ecx, al
movsx eax, byte [r9]
inc r9
movsx r8d, byte [rcx + rbp + 0x8d3d0]
mov qword [rsp + 0x78], r9
xor r8d, eax
mov rax, rdx
sar rax, 8
shl r8d, 8
movzx ecx, al
movzx eax, byte [rcx + rbp + 0x8d3d0]
xor r8d, eax
movzx eax, dl
sar rdx, 0x18
movzx eax, byte [rax + rbp + 0x8d3d0]
shl r8d, 8
xor r8d, eax
movzx eax, dl
movzx eax, byte [rax + rbp + 0x8d3d0]
shl r8d, 8
xor r8d, eax
xor dword [r12], r8d
cmp r15d, 8
je 0x14000e715
cmp r15, 1
jle 0x14000e7ac
lea rcx, [rbx + 0x41c]
lea rdx, [r15 - 1]
mov eax, dword [rcx - 4]
xor dword [rcx], eax
lea rcx, [rcx + 4]
dec rdx
jne 0x14000e702
jmp 0x14000e7ac
lea rcx, [rbx + 0x41c]
mov edx, 3
mov eax, dword [rcx - 4]
xor dword [rcx], eax
lea rcx, [rcx + 4]
dec rdx
jne 0x14000e721
movsxd r8, dword [rbx + 0x424]
mov rax, r8
sar rax, 0x18
movzx ecx, al
mov rax, r8
movsx edx, byte [rcx + rbp + 0x8d3d0]
sar rax, 0x10
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + rbp + 0x8d3d0]
xor edx, eax
mov rax, r8
sar rax, 8
shl edx, 8
movzx ecx, al
movzx eax, byte [rcx + rbp + 0x8d3d0]
xor edx, eax
movzx eax, r8b
movzx eax, byte [rax + rbp + 0x8d3d0]
shl edx, 8
xor edx, eax
xor dword [rbx + 0x428], edx
cmp r15, 5
jle 0x14000e7ac
lea rcx, [rbx + 0x42c]
lea rdx, [r15 - 5]
mov eax, dword [rcx - 4]
xor dword [rcx], eax
lea rcx, [rcx + 4]
dec rdx
jne 0x14000e79e
xor ebp, ebp
test r15d, r15d
jle 0x14000e7fd
mov rsi, r12
cmp r10d, r11d
jge 0x14000e80d
mov eax, r10d
inc rbp
inc r10d
cdq
idiv r13d
movsxd r8, eax
mov eax, dword [rsi]
movsxd r9, edx
lea rcx, [r9 + r8*8]
mov dword [rbx + rcx*4 + 0xc], eax
movsxd rax, dword [rbx + 0x3d4]
sub rax, r8
lea rcx, [r9 + rax*8]
mov eax, dword [rsi]
add rsi, 4
mov dword [rbx + rcx*4 + 0x1ec], eax
cmp rbp, r15
jl 0x14000e7b6
mov r9, qword [rsp + 0x78]
lea rbp, [0x140000000]
cmp r10d, r11d
jl 0x14000e678
lea rbp, [0x140000000]
mov r10d, 1
cmp dword [rbx + 0x3d4], r10d
jle 0x14000e896
lea r11, [rbx + 0x20c]
test r13d, r13d
jle 0x14000e886
mov rdi, r11
mov rsi, r13
movsxd r9, dword [rdi]
mov rax, r9
sar rax, 0x18
movzx edx, al
mov rax, r9
mov r8d, dword [rbp + rdx*4 + 0x8aed0]
sar rax, 0x10
movzx ecx, al
mov rax, r9
xor r8d, dword [rbp + rcx*4 + 0x8aad0]
sar rax, 8
movzx ecx, al
movzx eax, r9b
xor r8d, dword [rbp + rcx*4 + 0x8a6d0]
xor r8d, dword [rbp + rax*4 + 0x8a2d0]
mov dword [rdi], r8d
lea rdi, [rdi + 4]
dec rsi
jne 0x14000e835
inc r10d
add r11, 0x20
cmp r10d, dword [rbx + 0x3d4]
jl 0x14000e82a
lea r11, [rsp + 0x40]
mov byte [rbx + 8], 1
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rax, str.Empty_key
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x78], rax
call fcn.140056da4
lea rdx, [0x14009acf0]
lea rcx, [rsp + 0x20]
call fcn.14005cf88
int3