Function at 0x18001f620
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4f]
sub rsp, 0xa0
movaps xmmword [rax - 0x38], xmm6
mov rbx, rdx
mov r12, rcx
mov r13, qword [rbp + 0x77]
xor edi, edi
mov dword [rbp - 0x59], edi
cmp dword [rbp + 0x7f], 0xffffffff
je 0x18001fa68
cmp byte [0x18010a364], dil
je 0x18001f729
movdqa xmm6, xmmword [0x1800ec7d0]
mov dword [rbp - 0x41], 0x6aa0b317
mov dword [rbp - 0x3d], 0xb7f6bccf
mov dword [rbp - 0x39], 0x19e6cb49
mov rcx, qword gs:[0x58]
mov eax, dword [0x18010bb98]
mov edx, 4
mov rcx, qword [rcx + rax*8]
mov eax, dword [rdx + rcx]
cmp dword [0x18010d0fc], eax
jg 0x18001fa96
lea rdx, [0x180105750]
cmp byte [0x18010576c], dil
je 0x18001f71f
xor r10d, r10d
mov r11d, 1
sub r11, rdx
movabs rsi, 0xd993efbb19cfe32d
nop word [rax + rax]
lea r8, [r10 + rdx]
movzx ecx, r10b
and cl, 7
shl cl, 3
mov rax, rsi
shr rax, cl
xor byte [r8], al
lea r9, [r8 + 1]
lea ecx, [r11 + r8]
and cl, 7
shl cl, 3
mov r8, rsi
shr r8, cl
xor byte [r9], r8b
add r10, 2
cmp r10, 0x1c
jb 0x18001f6e0
mov byte [0x18010576c], dil
mov ecx, 5
call fcn.18006a848
lea r8, [rbp + 0x7f]
mov rdx, rbx
call fcn.180020810
mov r8d, dword [r13]
test al, al
je 0x18001fa50
test r8d, r8d
je 0x18001fa68
movzx r15d, word [rbp + 0x7f]
cmp byte [r12 + 0x140], dil
je 0x18001fa32
mov eax, 0x1bb
cmp r15w, ax
je 0x18001fa32
mov eax, 0x8f
cmp r15w, ax
jne 0x18001f93c
lea rdx, [rbp - 0x11]
mov rcx, r12
call fcn.18001ea60
nop
mov edi, 1
mov dword [rbp - 0x59], edi
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x18001f79d
mov rsi, qword [rax]
mov rcx, qword [rax + 0x10]
cmp rcx, 7
jb 0x18001f817
lea r14, [rcx + rsi]
lea r8, [r14 - 6]
sub r8, rsi
mov edx, 0x61
mov rcx, rsi
call fcn.1800a06d0
mov rbx, rax
test rax, rax
je 0x18001f817
nop word [rax + rax]
mov r8d, 7
lea rdx, str.aolopen
mov rcx, rbx
call fcn.18009fb20
test eax, eax
je 0x18001f80a
inc rbx
lea r8, [r14 - 6]
sub r8, rbx
mov edx, 0x61
mov rcx, rbx
call fcn.1800a06d0
mov rbx, rax
test rax, rax
jne 0x18001f7d0
jmp 0x18001f817
sub rbx, rsi
cmp rbx, 0xffffffffffffffff
jne 0x18001fa49
lea rdx, [rbp - 0x31]
mov rcx, r12
call fcn.18001ea60
nop
mov edi, 3
mov dword [rbp - 0x59], edi
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x18001f839
mov rsi, qword [rax]
mov rcx, qword [rax + 0x10]
cmp rcx, 8
jb 0x18001f8b7
lea r14, [rcx + rsi]
lea r8, [r14 - 7]
sub r8, rsi
mov edx, 0x61
mov rcx, rsi
call fcn.1800a06d0
mov rbx, rax
test rax, rax
je 0x18001f8b7
nop dword [rax]
nop word [rax + rax]
mov r8d, 8
lea rdx, str.aolhelix
mov rcx, rbx
call fcn.18009fb20
test eax, eax
je 0x18001f8aa
inc rbx
lea r8, [r14 - 7]
sub r8, rbx
mov edx, 0x61
mov rcx, rbx
call fcn.1800a06d0
mov rbx, rax
test rax, rax
jne 0x18001f870
jmp 0x18001f8b7
sub rbx, rsi
cmp rbx, 0xffffffffffffffff
jne 0x18001fa49
lea rdx, [rbp - 0x51]
mov rcx, r12
call fcn.18001ea60
mov edi, 7
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x18001f8d5
mov rsi, qword [rax]
mov rcx, qword [rax + 0x10]
cmp rcx, 0xa
jb 0x18001f93c
lea r14, [rcx + rsi]
lea r8, [r14 - 9]
sub r8, rsi
mov edx, 0x61
mov rcx, rsi
call fcn.1800a06d0
mov rbx, rax
test rax, rax
je 0x18001f93c
nop
mov r8d, 0xa
lea rdx, str.aoldesktop
mov rcx, rbx
call fcn.18009fb20
test eax, eax
je 0x18001fa3c
inc rbx
lea r8, [r14 - 9]
sub r8, rbx
mov edx, 0x61
mov rcx, rbx
call fcn.1800a06d0
mov rbx, rax
test rax, rax
jne 0x18001f900
mov bl, 1
test dil, 4
je 0x18001f996
and edi, 0xfffffffb
mov rdx, qword [rbp - 0x39]
cmp rdx, 0x10
jb 0x18001f982
inc rdx
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001f97d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001faf0
call fcn.18009d1f4
mov qword [rbp - 0x41], 0
mov qword [rbp - 0x39], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x51], 0
test dil, 2
je 0x18001f9ee
and edi, 0xfffffffd
mov rdx, qword [rbp - 0x19]
cmp rdx, 0x10
jb 0x18001f9da
inc rdx
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001f9d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001faf6
call fcn.18009d1f4
mov qword [rbp - 0x21], 0
mov qword [rbp - 0x19], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x31], 0
test dil, 1
je 0x18001fa2b
mov rdx, qword [rbp + 7]
cmp rdx, 0x10
jb 0x18001fa2b
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001fa26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001fa90
call fcn.18009d1f4
test bl, bl
je 0x18001fa32
xor r15d, r15d
mov r8d, dword [r13]
movzx edx, r15w
jmp 0x18001fa60
sub rbx, rsi
cmp rbx, 0xffffffffffffffff
je 0x18001f93c
xor bl, bl
jmp 0x18001f93e
test r8d, r8d
je 0x18001fa68
mov edx, 0xffff
cmp word [rbp + 0x7f], dx
jne 0x18001fa68
mov rcx, r12
call fcn.1800210e0
mov al, 1
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800a45b8
int3
lea rcx, [0x18010d0fc]
call fcn.18009d704
cmp dword [0x18010d0fc], 0xffffffff
jne 0x18001f6b1
mov byte [0x18010576c], 1
movaps xmmword [0x180105750], xmm6
movsd xmm0, qword [rbp - 0x41]
movsd qword [0x180105760], xmm0
mov eax, dword [rbp - 0x39]
mov dword [0x180105768], eax
lea rcx, [0x1800cd830]
call fcn.18009d564
lea rcx, [0x18010d0fc]
call fcn.18009d6a4
jmp 0x18001f6b1
call fcn.1800a45b8
nop
call fcn.1800a45b8
int3