Function at 0x180064c00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
movzx esi, r9b
mov rbx, r8
mov r15, rdx
mov r14, rcx
xor r13d, r13d
mov r8d, 0x1bb
add rdx, 8
lea rcx, [rbp - 0x19]
call fcn.1800045e0
lea rdx, [r15 + 0x20]
movzx r8d, word [r15 + 0x3a]
lea rcx, [rbp + 7]
call fcn.1800045e0
lea r12d, [rsi + 1]
mov al, sil
neg al
sbb rdi, rdi
and rdi, 0xffffffffffffffb0
sub rdi, 0xffffffffffffff80
add rdi, r14
mov r9, qword [rdi + 8]
sub r9, qword [rdi]
and qword [rsp + 0x50], r13
and qword [rbp - 0x79], r13
mov qword [rbp - 0x71], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x50], r13b
mov byte [rsp + 0x20], sil
mov r8, rbx
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.180063d4c
mov rcx, qword [rbp - 0x79]
xor ebx, ebx
test rcx, rcx
je 0x180064e15
mov r9d, dword [r15 + 0x3c]
lea r8, [rbp - 0x19]
lea rdx, [rbp + 7]
test r9d, r9d
je 0x180064d00
lea rax, [rsp + 0x50]
cmp qword [rbp - 0x71], 0x10
cmovae rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x40], 4
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov eax, dword [r15 + 0x40]
mov dword [rsp + 0x20], eax
mov ecx, r12d
call fcn.180092014
jmp 0x180064dbd
lea rcx, [rbp - 0x59]
call fcn.18003d904
nop
call fcn.180049c04
add rax, 0x28
cmp qword [rax + 0x18], 0x10
jb 0x180064d1d
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp - 0x59]
call fcn.18003de44
mov edx, r12d
lea rcx, [rbp - 0x59]
call fcn.18003e07c
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, eax
lea rcx, [rbp - 0x59]
call fcn.18003e084
mov edx, 1
lea rcx, [rbp - 0x59]
call fcn.18003e074
mov edx, 0x1bb
lea rcx, [rbp - 0x59]
call fcn.18003e08c
lea rdx, [rsp + 0x50]
cmp qword [rbp - 0x71], 0x10
cmovae rdx, qword [rsp + 0x50]
xor r9d, r9d
mov r8d, dword [rbp - 0x79]
lea rcx, [rbp - 0x59]
call fcn.18003de9c
mov r13d, dword [rbp - 0x79]
mov r9d, 4
mov r8d, dword [r14]
mov edx, dword [r14 + 4]
lea rcx, [rbp - 0x59]
call fcn.18003e098
call fcn.180049c04
mov rcx, rax
mov r8d, 0x1388
lea rdx, [rbp - 0x59]
call fcn.180077d64
nop
lea rcx, [rbp - 0x59]
call fcn.18001d6c0
cmp byte [0x18010a364], bl
je 0x180064e15
lea rcx, [rbp + 0x7f]
call fcn.180060918
mov r10, rax
cmp byte [rax + 0x42], bl
je 0x180064e02
mov rdx, rbx
movabs r8, 0xd993efbb19cfe32d
mov cl, dl
and cl, 7
shl cl, 3
mov rax, r8
shr rax, cl
xor byte [rdx + r10], al
inc rdx
cmp rdx, 0x42
jb 0x180064de3
mov byte [r10 + 0x42], bl
mov r9d, r13d
mov r8d, dword [r14]
mov rdx, r10
mov ecx, 4
call fcn.18006a848
mov rax, qword [rdi]
mov rdx, qword [rdi + 8]
sub rdx, rax
je 0x180065002
neg sil
sbb rcx, rcx
and rcx, 0xffffffffffffffb0
mov cl, byte [rcx + r14 + 0x60]
neg cl
sbb esi, esi
and esi, 8
add esi, 8
mov r9d, dword [r15 + 0x3c]
lea r8, [rbp - 0x19]
test r9d, r9d
je 0x180064e7c
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov eax, dword [r15 + 0x40]
mov dword [rsp + 0x20], eax
lea rdx, [rbp + 7]
mov ecx, r12d
call fcn.180092014
jmp 0x180064f97
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x39]
call fcn.18003d904
nop
call fcn.180049c04
add rax, 0x28
cmp qword [rax + 0x18], 0x10
jb 0x180064e9d
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp - 0x39]
call fcn.18003de44
mov edx, r12d
lea rcx, [rbp - 0x39]
call fcn.18003e07c
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, eax
lea rcx, [rbp - 0x39]
call fcn.18003e084
mov edx, 1
lea rcx, [rbp - 0x39]
call fcn.18003e074
mov edx, 0x1bb
lea rcx, [rbp - 0x39]
call fcn.18003e08c
mov rbx, qword [rdi + 8]
sub rbx, qword [rdi]
mov rcx, rbx
call fcn.18009d8b4
mov qword [rbp - 0x69], rax
mov r8b, byte [rbp + 0x7f]
mov rdx, rax
lea rcx, [rbp - 0x61]
call fcn.18001d800
nop
mov r8, qword [rdi + 8]
sub r8, qword [rdi]
mov rdx, qword [rdi]
mov rcx, qword [rbp - 0x69]
call fcn.18009fc20
mov r8d, ebx
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x39]
call fcn.18003dfdc
add r13d, ebx
mov r9d, esi
mov r8d, dword [r14]
mov edx, dword [r14 + 4]
lea rcx, [rbp - 0x39]
call fcn.18003e098
call fcn.180049c04
mov rcx, rax
mov r8d, 0x1388
lea rdx, [rbp - 0x39]
call fcn.180077d64
nop
mov rbx, qword [rbp - 0x61]
test rbx, rbx
je 0x180064f8c
or esi, 0xffffffff
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x180064f8c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x180064f8c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
lea rcx, [rbp - 0x39]
call fcn.18001d6c0
xor ebx, ebx
cmp byte [0x18010a364], bl
je 0x180064ffb
mov rbx, qword [rdi + 8]
sub rbx, qword [rdi]
lea rcx, [rbp + 0x7f]
call fcn.180061c2c
mov r10, rax
cmp byte [rax + 0x40], 0
je 0x180064fe8
xor edx, edx
movabs r14, 0xd993efbb19cfe32d
mov cl, dl
and cl, 7
shl cl, 3
mov rax, r14
shr rax, cl
xor byte [rdx + r10], al
inc rdx
cmp rdx, 0x40
jb 0x180064fc4
mov byte [r10 + 0x40], 0
mov r14, qword [rbp + 0x67]
mov r9, rbx
mov r8d, dword [r14]
mov rdx, r10
mov ecx, 4
call fcn.18006a848
mov rax, qword [rdi]
mov qword [rdi + 8], rax
mov rdx, qword [rbp - 0x71]
cmp rdx, 0x10
jb 0x18006503a
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180065035
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180065058
call fcn.18009d1f4
mov eax, r13d
mov rbx, qword [rsp + 0x148]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800a45b8
int3