Function at 0x14007455c
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 0x140074988
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.140049a70
mov eax, dword [rbx + 0x3cc]
cmp eax, 0x10
je 0x1400745e7
cmp eax, 0x18
mov eax, reloc.WS2_32.dll_ntohl
jne 0x140074605
cmp dword [rbx + 0x3d0], 0x20
lea ecx, [rax - 2]
cmovne eax, ecx
jmp 0x140074605
mov edx, dword [rbx + 0x3d0]
cmp edx, 0x10
jne 0x1400745f7
lea eax, [rdx - 6]
jmp 0x140074605
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 0x14007464f
lea rsi, [rbx + 0xc]
test r13d, r13d
jle 0x140074641
mov r8, r13
xor edx, edx
mov rcx, rsi
shl r8, 2
call fcn.14004d2b0
inc ebp
add rsi, 0x20
cmp ebp, dword [rbx + 0x3d4]
jle 0x14007462b
xor esi, esi
cmp dword [rbx + 0x3d4], esi
jl 0x140074684
lea rbp, [rbx + 0x1ec]
test r13d, r13d
jle 0x140074676
mov r8, r13
xor edx, edx
mov rcx, rbp
shl r8, 2
call fcn.14004d2b0
inc esi
add rbp, 0x20
cmp esi, dword [rbx + 0x3d4]
jle 0x140074660
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 0x1400746e2
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 0x1400746b5
xor r10d, r10d
xor ebp, ebp
test r15d, r15d
jle 0x140074731
mov rsi, r12
cmp r10d, r11d
jge 0x140074731
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 0x1400746ef
lea rbp, [0x140000000]
cmp r10d, r11d
jge 0x1400748e4
lea r9, [0x140093050]
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 + 0x96170]
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 + 0x96170]
xor r8d, eax
movzx eax, dl
sar rdx, 0x18
movzx eax, byte [rax + rbp + 0x96170]
shl r8d, 8
xor r8d, eax
movzx eax, dl
movzx eax, byte [rax + rbp + 0x96170]
shl r8d, 8
xor r8d, eax
xor dword [r12], r8d
cmp r15d, 8
je 0x1400747e5
cmp r15, 1
jle 0x14007487c
lea rcx, [rbx + 0x41c]
lea rdx, [r15 - 1]
mov eax, dword [rcx - 4]
xor dword [rcx], eax
lea rcx, [rcx + 4]
dec rdx
jne 0x1400747d2
jmp 0x14007487c
lea rcx, [rbx + 0x41c]
mov edx, 3
mov eax, dword [rcx - 4]
xor dword [rcx], eax
lea rcx, [rcx + 4]
dec rdx
jne 0x1400747f1
movsxd r8, dword [rbx + 0x424]
mov rax, r8
sar rax, 0x18
movzx ecx, al
mov rax, r8
movsx edx, byte [rcx + rbp + 0x96170]
sar rax, 0x10
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + rbp + 0x96170]
xor edx, eax
mov rax, r8
sar rax, 8
shl edx, 8
movzx ecx, al
movzx eax, byte [rcx + rbp + 0x96170]
xor edx, eax
movzx eax, r8b
movzx eax, byte [rax + rbp + 0x96170]
shl edx, 8
xor edx, eax
xor dword [rbx + 0x428], edx
cmp r15, 5
jle 0x14007487c
lea rcx, [rbx + 0x42c]
lea rdx, [r15 - 5]
mov eax, dword [rcx - 4]
xor dword [rcx], eax
lea rcx, [rcx + 4]
dec rdx
jne 0x14007486e
xor ebp, ebp
test r15d, r15d
jle 0x1400748cd
mov rsi, r12
cmp r10d, r11d
jge 0x1400748dd
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 0x140074886
mov r9, qword [rsp + 0x78]
lea rbp, [0x140000000]
cmp r10d, r11d
jl 0x140074748
lea rbp, [0x140000000]
mov r10d, 1
cmp dword [rbx + 0x3d4], r10d
jle 0x140074966
lea r11, [rbx + 0x20c]
test r13d, r13d
jle 0x140074956
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 + 0x93c70]
sar rax, 0x10
movzx ecx, al
mov rax, r9
xor r8d, dword [rbp + rcx*4 + 0x93870]
sar rax, 8
movzx ecx, al
movzx eax, r9b
xor r8d, dword [rbp + rcx*4 + 0x93470]
xor r8d, dword [rbp + rax*4 + 0x93070]
mov dword [rdi], r8d
lea rdi, [rdi + 4]
dec rsi
jne 0x140074905
inc r10d
add r11, 0x20
cmp r10d, dword [rbx + 0x3d4]
jl 0x1400748fa
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.1400498c0
lea rdx, [0x1400a2090]
lea rcx, [rsp + 0x20]
call fcn.140050680
int3