Function at 0x18008ff90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
movsxd rsi, r8d
mov rdi, rdx
mov rbx, rcx
lea rcx, [rbp - 9]
call fcn.180004574
lea rcx, [rbp - 0x59]
call fcn.180004574
xor r15d, r15d
mov r14d, r15d
lea rcx, [0x18010af88]
call fcn.180007dac
mov r9, qword [0x18010af78]
mov rax, qword [r9 + 8]
mov rdx, r9
jmp 0x18008fffd
cmp qword [rax + 0x20], rbx
jae 0x18008fff7
mov rax, qword [rax + 0x10]
jmp 0x18008fffd
mov rdx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r15b
je 0x18008ffeb
cmp byte [rdx + 0x19], r15b
jne 0x18009000f
cmp rbx, qword [rdx + 0x20]
jae 0x180090012
mov rdx, r9
mov r13d, 4
cmp rdx, r9
je 0x180090057
movups xmm0, xmmword [rdx + 0x28]
movups xmmword [rbp - 9], xmm0
movsd xmm1, qword [rdx + 0x38]
movsd qword [rbp + 7], xmm1
movzx eax, word [rdx + 0x40]
mov word [rbp + 0xf], ax
movups xmm0, xmmword [rdx + 0x42]
movups xmmword [rbp - 0x59], xmm0
movsd xmm1, qword [rdx + 0x52]
movsd qword [rbp - 0x49], xmm1
movzx eax, word [rdx + 0x5a]
mov word [rbp - 0x41], ax
mov r14, qword [rdx + 0x60]
jmp 0x1800900aa
cmp byte [0x18010a364], r15b
je 0x1800900aa
lea rcx, [rbp + 0x7f]
call fcn.18007d52c
cmp byte [rax + 0x27], r15b
je 0x18009009c
mov r9, r15
movabs r10, 0xd993efbb19cfe32d
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, r10
shr r8, cl
xor byte [r9 + rax], r8b
inc r9
cmp r9, 0x27
jb 0x18009007c
mov byte [rax + 0x27], r15b
mov r8, rbx
mov rdx, rax
mov ecx, r13d
call fcn.18006a848
lea rcx, [0x18010af88]
call fcn.180007dc4
lea rcx, [rbp - 9]
call fcn.18000469c
test ax, ax
je 0x1800902d8
lea rcx, [rbp - 0x59]
call fcn.18000469c
test ax, ax
je 0x1800902d8
test esi, esi
jle 0x18009032e
test rdi, rdi
je 0x18009032e
mov qword [rsp + 0x28], r15
mov byte [rsp + 0x20], r15b
mov r9d, esi
mov r8, rdi
mov rdx, r14
lea rcx, [0x18010af30]
call fcn.18005f3ac
test al, al
jne 0x18009032e
lea r8, [rbp - 0x59]
lea rdx, [rbp - 9]
lea rcx, [rbp - 0x39]
call fcn.18003d904
nop
call fcn.180072560
add rax, 0xc8
cmp qword [rax + 0x18], 0x10
jb 0x180090139
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp - 0x39]
call fcn.18003de44
mov edx, 1
lea rcx, [rbp - 0x39]
call fcn.18003e074
mov edx, 1
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 rcx, rsi
call fcn.18009d8b4
mov qword [rbp - 0x19], rax
mov r8b, byte [rbp + 0x7f]
mov rdx, rax
lea rcx, [rbp - 0x11]
call fcn.18001d800
nop
mov r8, rsi
mov rdx, rdi
mov rcx, qword [rbp - 0x19]
call fcn.18009fc20
mov r8d, esi
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 0x39]
call fcn.18003dfdc
lea rcx, [rbp - 0x59]
call fcn.18000469c
mov ecx, 0x203e
cmp cx, ax
je 0x18009022f
lea rcx, [rbp - 0x59]
call fcn.18000469c
mov ecx, 0xd4ab
cmp cx, ax
je 0x18009022f
lea rcx, [rbp - 0x59]
call fcn.18000469c
mov ecx, 0x20fb
cmp cx, ax
je 0x18009022f
lea rcx, [rbp - 0x59]
call fcn.18000469c
mov ecx, 0x14e
cmp cx, ax
je 0x18009022f
lea rcx, [rbp - 0x59]
call fcn.18000469c
movzx ecx, word [0x18010aec4]
test cx, cx
je 0x180090214
cmp ax, cx
je 0x18009022f
cmp byte [0x18010ad90], r15b
je 0x180090224
mov eax, 0x1466
jmp 0x180090234
lea rcx, [rbp - 0x59]
call fcn.18000469c
jmp 0x180090234
mov eax, 0x1bb
movzx edx, ax
lea rcx, [rbp - 0x39]
call fcn.18003e08c
lea rax, [rbp + 0x17]
mov qword [rbp + 0x7f], rax
mov rax, qword [rbp - 0x39]
mov qword [rbp + 0x17], rax
mov rcx, qword [rbp - 0x31]
mov qword [rbp + 0x1f], rcx
test rcx, rcx
je 0x180090267
mov eax, 1
lock xadd dword [rcx + 8], eax
mov rax, qword [rbp - 0x29]
mov qword [rbp + 0x27], rax
mov rcx, qword [rbp - 0x21]
mov qword [rbp + 0x2f], rcx
test rcx, rcx
je 0x180090286
mov eax, 1
lock xadd dword [rcx + 8], eax
call fcn.180072560
mov rcx, rax
lea rdx, [rbp + 0x17]
call fcn.1800923b0
nop
mov rbx, qword [rbp - 0x11]
test rbx, rbx
je 0x1800902cd
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1800902cd
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1800902cd
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
lea rcx, [rbp - 0x39]
call fcn.18001d6c0
jmp 0x18009032e
cmp byte [0x18010a364], r15b
je 0x18009032e
lea rcx, [rbp + 0x7f]
call fcn.18007f384
cmp byte [rax + 0x48], r15b
je 0x180090323
mov r9, r15
movabs r13, 0xd993efbb19cfe32d
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, r13
shr r8, cl
xor byte [r9 + rax], r8b
inc r9
cmp r9, 0x48
jb 0x1800902fd
mov byte [rax + 0x48], r15b
mov r13d, 4
mov rdx, rax
mov ecx, r13d
call fcn.18006a848
mov eax, esi
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret