Function at 0x18001aa80
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x210
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rbx, r9
mov rsi, r8
mov r12, rcx
xor r14d, r14d
mov edi, r14d
mov dword [rsp + 0x30], r14d
lea ecx, [r14 + 0x20]
call fcn.18009d1b8
mov qword [rsp + 0x88], rax
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call fcn.18003d904
mov rbx, rax
mov qword [rsp + 0x30], rax
mov rax, qword [rax]
mov dword [rax + 0x3d], 4
mov ecx, dword [r12 + 0xe8]
mov rax, qword [rbx]
mov dword [rax + 0x42], ecx
lea rdx, [rsp + 0x188]
mov rcx, r12
call fcn.18001ea60
cmp qword [rax + 0x18], 0x10
jb 0x18001ab14
mov rax, qword [rax]
mov rcx, qword [rbx]
add rcx, 0x4e
mov r8d, 0x20
mov rdx, rax
call fcn.1800a8850
mov rax, qword [rbx]
mov byte [rax + 0x6d], 0
mov rdx, qword [rsp + 0x1a0]
cmp rdx, 0x10
jb 0x18001ab73
inc rdx
mov rcx, qword [rsp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001ab6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b298
call fcn.18009d1f4
lea rdx, [r12 + 0xf0]
cmp qword [rdx + 0x18], 0x10
jb 0x18001ab85
mov rdx, qword [rdx]
mov rcx, qword [rbx]
add rcx, 0x6e
mov r8d, 0x20
call fcn.1800a8850
mov rax, qword [rbx]
mov byte [rax + 0x8d], 0
lea rdx, [0x180102570]
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
cmovae rdx, qword [0x180102570]
mov rcx, qword [rbx]
add rcx, 0x90
mov r8d, 0x40
call fcn.1800a8850
mov rax, qword [rbx]
mov byte [rax + 0xcf], 0
mov r13d, 1
cmp byte [0x18010a364], 0
je 0x18001af8f
mov rax, qword [rbx]
cmp dword [rax], 0x3d
jb 0x18001ac14
movups xmm0, xmmword [rax + 0x23]
movups xmmword [rsp + 0x68], xmm0
movsd xmm1, qword [rax + 0x33]
movsd qword [rsp + 0x78], xmm1
movzx eax, word [rax + 0x3b]
mov word [rsp + 0x80], ax
jmp 0x18001ac60
mov qword [rsp + 0x90], r14
mov qword [rsp + 0xa8], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xa0], r14
mov edi, r13d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
mov dword [rsp + 0x78], eax
mov byte [rsp + 0x7c], al
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x68]
call fcn.180004308
mov word [rsp + 0x80], r14w
lea rax, [rsp + 0x68]
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x148], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x158], xmm1
movzx eax, word [rax + 0x18]
mov word [rsp + 0x160], ax
test dil, 1
je 0x18001acef
mov rdx, qword [rsp + 0xa8]
cmp rdx, 0x10
jb 0x18001acd3
inc rdx
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001acce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b29e
call fcn.18009d1f4
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x90], 0
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x148]
call fcn.1800046a4
mov r12, rax
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.18003d9e4
lea rdx, [rsp + 0x108]
mov rcx, rax
call fcn.1800046a4
mov rsi, rax
lea rdx, [rsp + 0xe8]
mov rcx, rbx
call fcn.18003db9c
mov rdi, rax
cmp qword [r12 + 0x18], 0x10
jb 0x18001ad46
mov r12, qword [r12]
cmp qword [rsi + 0x18], 0x10
jb 0x18001ad50
mov rsi, qword [rsi]
cmp qword [rax + 0x18], 0x10
jb 0x18001ad5a
mov rdi, qword [rax]
call fcn.18001b360
mov r10, rax
movabs r15, 0xd993efbb19cfe32d
cmp byte [rax + 0x4d], 0
je 0x18001ada2
mov r8, r14
nop word [rax + rax]
movzx ecx, r8b
and cl, 7
shl cl, 3
mov rax, r15
shr rax, cl
xor byte [r8 + r10], al
inc r8
cmp r8, 0x4d
jb 0x18001ad80
mov byte [r10 + 0x4d], 0
mov qword [rsp + 0x20], r12
mov r9, rsi
mov r8, rdi
mov rdx, r10
mov ecx, 5
call fcn.18006a848
nop
mov rdx, qword [rsp + 0x100]
cmp rdx, 0x10
jb 0x18001adfe
inc rdx
mov rcx, qword [rsp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001adf9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b2a4
call fcn.18009d1f4
mov qword [rsp + 0xf8], r14
mov qword [rsp + 0x100], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0xe8], 0
mov rdx, qword [rsp + 0x120]
cmp rdx, 0x10
jb 0x18001ae5d
inc rdx
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001ae58
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b2aa
call fcn.18009d1f4
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x108], 0
mov rdx, qword [rsp + 0x140]
cmp rdx, 0x10
jb 0x18001aebc
inc rdx
mov rcx, qword [rsp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001aeb7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b2b0
call fcn.18009d1f4
mov r12, qword [rsp + 0x240]
lea rcx, [rsp + 0x38]
call fcn.1800405f0
nop
mov rcx, qword [r12 + 0xe0]
test rcx, rcx
je 0x18001af9e
mov r8, rbx
lea rdx, [rsp + 0x178]
call fcn.180040260
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18001af09
mov eax, r13d
lock xadd dword [rcx + 8], eax
mov rbx, qword [rsp + 0x30]
mov qword [rsp + 0x38], rdx
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x40], rcx
mov esi, 0xffffffff
test rdi, rdi
je 0x18001af51
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x18001af4c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x18001af4c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_recv]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x180]
test rdi, rdi
je 0x18001afa3
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x18001af88
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x18001af88
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_recv]
mov rbx, qword [rsp + 0x30]
jmp 0x18001afa3
movabs r15, 0xd993efbb19cfe32d
jmp 0x18001aec4
mov esi, 0xffffffff
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x18001b217
cmp dword [rax], 0x3c
jb 0x18001afc3
cmp byte [rax + 0x3b], 0
je 0x18001afc3
movzx ecx, word [rax + 0x39]
jmp 0x18001afd7
lea rdx, [rsp + 0x1c8]
mov rcx, rbx
call fcn.18003dab8
movzx ecx, word [rax + 0x18]
mov rax, qword [rbx]
mov word [rax + 0x8e], cx
mov rax, qword [rsp + 0x38]
cmp dword [rax], 0x3d
jb 0x18001b20b
cmp byte [rax + 0x3c], 0
je 0x18001b20b
cmp qword [0x18010cea0], 0
jne 0x18001b016
mov rdx, rbx
mov rcx, r12
call fcn.18001d2c0
test al, al
jne 0x18001b217
mov eax, dword [0x180102ae0]
cmp dword [0x18010ce88], eax
ja 0x18001b139
cmp byte [0x18010ce8c], 0
je 0x18001b109
mov byte [0x18010ce8c], 0
cmp byte [0x18010a364], 0
je 0x18001b109
movdqa xmm6, xmmword [0x1800ec940]
movdqu xmmword [rsp + 0xc0], xmm6
movdqa xmm7, xmmword [0x1800ec0a0]
movdqu xmmword [rsp + 0xd0], xmm7
mov dword [rsp + 0xe0], 0x19bb9148
mov rdx, qword gs:[0x58]
mov eax, dword [0x18010bb98]
mov ecx, 4
mov rax, qword [rdx + rax*8]
mov eax, dword [rcx + rax]
cmp dword [0x18010d0ec], eax
jg 0x18001b2b6
lea r10, [0x180105390]
cmp byte [0x1801053b4], 0
je 0x18001b0fc
mov r9, r14
sub r13, r10
nop dword [rax]
nop word [rax + rax]
lea r8, [r9 + r10]
movzx ecx, r9b
and cl, 7
shl cl, 3
mov rax, r15
shr rax, cl
xor byte [r8], al
lea ecx, [r8 + r13]
and cl, 7
shl cl, 3
mov rdx, r15
shr rdx, cl
xor byte [r8 + 1], dl
add r9, 2
cmp r9, 0x24
jb 0x18001b0c0
mov byte [0x1801053b4], 0
mov rdx, r10
mov ecx, 5
call fcn.18006a848
mov rax, qword [rbx]
mov ecx, dword [rax + 4]
call fcn.18001cc90
mov rax, rbx
mov rbx, r14
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0xb0], rax
lea rdx, [rsp + 0xb0]
call fcn.18001d640
jmp 0x18001b217
cmp byte [0x18010ce8c], 0
jne 0x18001b217
mov byte [0x18010ce8c], 1
cmp byte [0x18010a364], 0
je 0x18001b217
movdqa xmm6, xmmword [0x1800ec940]
movdqu xmmword [rsp + 0x1a8], xmm6
movdqa xmm7, xmmword [0x1800ec790]
movdqu xmmword [rsp + 0x1b8], xmm7
mov rdx, qword gs:[0x58]
mov eax, dword [0x18010bb98]
mov ecx, 4
mov rax, qword [rdx + rax*8]
mov eax, dword [rcx + rax]
cmp dword [0x18010d0e4], eax
jg 0x18001b30f
lea r9, [0x1801054f0]
cmp byte [0x180105510], 0
je 0x18001b1fc
sub r13, r9
nop word [rax + rax]
lea r8, [r14 + r9]
movzx ecx, r14b
and cl, 7
shl cl, 3
mov rax, r15
shr rax, cl
xor byte [r8], al
lea ecx, [r8 + r13]
and cl, 7
shl cl, 3
mov rdx, r15
shr rdx, cl
xor byte [r8 + 1], dl
add r14, 2
cmp r14, 0x20
jb 0x18001b1c0
mov byte [0x180105510], 0
mov rdx, r9
mov ecx, 5
call fcn.18006a848
jmp 0x18001b217
mov rdx, rbx
mov rcx, r12
call fcn.18001cd30
nop
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x18001b24e
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x18001b249
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lock xadd dword [rdi + 0xc], esi
cmp esi, 1
jne 0x18001b249
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_recv]
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x18001b269
mov rcx, rbx
call fcn.18001d6c0
mov edx, 0x20
mov rcx, rbx
call fcn.18009d1f4
nop
mov al, 1
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.1800a45b8
nop
call fcn.1800a45b8
nop
call fcn.1800a45b8
nop
call fcn.1800a45b8
nop
call fcn.1800a45b8
nop
lea rcx, [0x18010d0ec]
call fcn.18009d704
cmp dword [0x18010d0ec], 0xffffffff
jne 0x18001b09d
mov byte [0x1801053b4], 1
movaps xmmword [0x180105390], xmm6
movaps xmmword [0x1801053a0], xmm7
mov eax, dword [rsp + 0xe0]
mov dword [0x1801053b0], eax
lea rcx, [0x1800cd4d0]
call fcn.18009d564
lea rcx, [0x18010d0ec]
call fcn.18009d6a4
nop
jmp 0x18001b09d
lea rcx, [0x18010d0e4]
call fcn.18009d704
cmp dword [0x18010d0e4], 0xffffffff
jne 0x18001b1a3
mov byte [0x180105510], 1
movaps xmmword [0x1801054f0], xmm6
movaps xmmword [0x180105500], xmm7
lea rcx, [0x1800cd4b0]
call fcn.18009d564
lea rcx, [0x18010d0e4]
call fcn.18009d6a4
nop
jmp 0x18001b1a3