Function at 0x18001b810
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
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, 0x90
mov edi, dword [rbp + 0x6f]
lea eax, [rdx + 0xc]
mov dword [rbp - 0x29], eax
mov rsi, r9
mov r12, r8
mov ebx, edx
cmp edx, eax
jae case.0x18001b88e.98
movzx r13d, byte [rbp + 0x6f]
lea r10, [0x180000000]
mov r15d, dword [rbp + 0x6f]
xor edx, edx
mov r14d, dword [rbp + 0x6f]
lea r9d, [rdx + 5]
lea r11d, [rdx + 0xb]
lea eax, [rbx - 0x60]
mov r8d, 0x772f
cmp eax, 0x1c
ja case.0x18001b88e.99
mov ecx, dword [r10 + rax*4 + 0x1be98]
add rcx, r10
jmp rcx
mov eax, dword [rsi + 0x60]
test eax, eax
jle case.0x18001b88e.99
mov edx, dword [rsi + 0x288]
mov r8d, eax
movzx r9d, r13b
nop dword [rax + rax]
mov ecx, edx
mov eax, edx
shr rcx, 0x18
xor rcx, r9
shl eax, 8
mov edx, dword [r10 + rcx*4 + 0xb4800]
xor edx, eax
mov dword [rsi + 0x288], edx
sub r8, 1
jne 0x18001b8b0
xor edx, edx
lea r9d, [r8 + 5]
jmp case.0x18001b88e.99
movdqa xmm0, xmmword [0x1800a0200]
mov eax, 0x102
movdqa xmm1, xmmword [0x1800a0230]
movdqa xmm2, xmmword [str.3_CScs]
movups xmmword [0x180741c60], xmm0
mov dword [rbp + 0xf], 0xa30083
mov dword [rbp + 0x13], 0xe300c3
movsd xmm0, qword [rbp + 0xf]
movsd qword [0x180741c90], xmm0
xorps xmm0, xmm0
movups xmmword [0x180741ca0], xmm0
mov dword [rbp + 0xf], 0x50005
mov dword [rbp + 0x13], 0x50005
movsd xmm0, qword [rbp + 0xf]
movsd qword [0x180741cd0], xmm0
movdqa xmm0, xmmword [0x1800a0220]
movups xmmword [0x180741ce0], xmm0
mov dword [rbp + 0xf], 0x18011001
movups xmmword [0x180741c70], xmm1
mov dword [rbp + 0x13], 0x30012001
movsd xmm0, qword [rbp + 0xf]
movdqa xmm1, xmmword [0x1800a01b0]
movups xmmword [0x180741c80], xmm2
mov word [0x180741c98], ax
movdqa xmm2, xmmword [0x1800a01d0]
movsd qword [0x180741d10], xmm0
movdqa xmm0, xmmword [0x1800a01a0]
movups xmmword [0x180741cb0], xmm1
mov dword [rbp + 0x17], 0x60014001
mov eax, dword [rbp + 0x17]
movdqa xmm1, xmmword [0x1800a0250]
movups xmmword [0x180741cc0], xmm2
mov dword [rbp + 0xf], 0xb000b
movdqa xmm2, xmmword [0x1800a0260]
movups xmmword [0x180741d20], xmm0
mov dword [rbp + 0x13], 0xc000c
movsd xmm0, qword [rbp + 0xf]
movups xmmword [0x180741cf0], xmm1
mov dword [0x180741d18], eax
movdqa xmm1, xmmword [0x1800a01e0]
movups xmmword [0x180741d00], xmm2
mov dword [rbp + 0x17], 0xd000d
movdqa xmm2, xmmword [0x1800a0210]
mov eax, dword [rbp + 0x17]
movsd qword [0x180741d50], xmm0
mov word [0x180741cd8], dx
movups xmmword [0x180741d30], xmm1
mov dword [0x180741d58], eax
movups xmmword [0x180741d40], xmm2
nop dword [rax]
mov r9, r12
xor r8d, r8d
mov edx, 0xcb
mov rcx, rsi
call fcn.180018e00
mov rbx, rax
test eax, eax
js 0x18001be6a
cmp ebx, 0x100
jge 0x18001ba75
mov rcx, qword [rsi]
test rcx, rcx
je 0x18001ba6d
mov eax, dword [rsi + 0xc]
cmp eax, dword [rsi + 8]
je 0x18001be85
mov byte [rax + rcx], bl
inc dword [rsi + 0xc]
jmp 0x18001bbb8
jle 0x18001bbb8
mov r12d, 0x36
mov eax, r12d
sub eax, 0x36
je 0x18001bb98
sub eax, 1
je 0x18001bb47
sub eax, 1
je 0x18001baef
cmp eax, 1
jne 0x18001bba7
cmp qword [rsi], 0
je 0x18001bae6
mov ecx, dword [rsi + 0xc]
add ecx, r15d
cmp ecx, dword [rsi + 8]
ja 0x18001be85
test r15d, r15d
je 0x18001bade
nop
mov r8d, dword [rsi + 0xc]
mov rdx, qword [rsi]
mov eax, r8d
sub eax, r14d
movzx eax, byte [rax + rdx]
mov byte [r8 + rdx], al
inc dword [rsi + 0xc]
sub r15d, 1
jne 0x18001bac0
dec r15d
jmp 0x18001bba7
add dword [rsi + 0xc], r15d
jmp 0x18001bba7
test ebx, ebx
js 0x18001be8c
movsxd rax, ebx
lea r9, [rbp - 0x39]
mov r8, rsi
xor edx, edx
mov ecx, 0x13d
lea r14, [rax + rax]
lea rax, [0x180000000]
movsx eax, word [r14 + rax + 0x741d20]
mov dword [rbp - 0x39], eax
call fcn.18000da50
lea rcx, [0x180000000]
movsx r14d, word [r14 + rcx + 0x741ce0]
add r14d, eax
cmp r14d, dword [rsi + 0xc]
jbe 0x18001bba7
mov eax, 0xfffffff5
jmp 0x18001be6a
movsxd rax, ebx
lea r15, [0x180000000]
lea r9, [rbp - 0x31]
mov r8, rsi
xor edx, edx
mov ecx, 0x13d
lea rbx, [rax + rax]
movsx eax, word [rbx + r15 + 0x741ca0]
mov dword [rbp - 0x31], eax
call fcn.18000da50
movsx r15d, word [rbx + r15 + 0x741c60]
xor r8d, r8d
mov r9, qword [rbp + 0x67]
add r15d, eax
mov edx, 0xcb
mov rcx, rsi
call fcn.180018e00
mov ebx, eax
jmp 0x18001bba7
sub ebx, 0x101
cmp ebx, 0x1d
jge 0x18001be90
inc r12d
cmp r12d, 0x3a
jb 0x18001ba81
mov r12, qword [rbp + 0x77]
cmp ebx, 0x100
jne 0x18001ba30
mov ebx, dword [rbp + 0x6f]
xor edx, edx
lea r10, [0x180000000]
lea r9d, [rdx + 5]
lea r11d, [rdx + 0xb]
jmp case.0x18001b88e.99
mov eax, dword [rsi + 0x5c]
mov byte [rax + rsi + 0x80], 1
jmp case.0x18001b88e.99
mov ecx, dword [rsi + 0x60]
sub ecx, 1
je 0x18001bd4c
sub ecx, 1
je 0x18001bc08
cmp ecx, 1
je 0x18001bc59
jmp 0x18001bc9e
mov edx, 0x93
nop dword [rax]
cmp edx, 0x93
je 0x18001bc3c
cmp edx, 0x2679
je 0x18001bc2e
cmp edx, 0x4c5f
je 0x18001bd58
jmp 0x18001bc4b
movsxd rcx, dword [rsi + 0x6c]
mov rax, qword [rsi + 0x40]
mov byte [rcx + rax], r13b
jmp 0x18001bc4b
movsxd rcx, dword [rsi + 0x6c]
mov rax, qword [rsi + 0x40]
mov byte [rcx + rax], r13b
inc dword [rsi + 0x6c]
add edx, 0x25e6
cmp edx, 0x71b2
jbe 0x18001bc10
mov edx, 0x52
nop
mov eax, edx
sub eax, 0x4f
je 0x18001bd4c
sub eax, 1
je 0x18001bc88
sub eax, 1
je 0x18001bc94
cmp eax, 1
jne 0x18001bc97
movsxd rcx, dword [rsi + 0x6c]
mov rax, qword [rsi + 0x40]
mov byte [rcx + rax], r13b
jmp 0x18001bc97
movsxd rcx, dword [rsi + 0x6c]
mov rax, qword [rsi + 0x40]
mov byte [rcx + rax], r13b
inc dword [rsi + 0x6c]
dec edx
cmp edx, 0x4e
ja 0x18001bc60
mov r8d, 0x51
mov eax, r8d
sub eax, 0x51
je 0x18001bd1a
sub eax, 0xe
je 0x18001bd15
sub eax, 0xe
je 0x18001bcf4
sub eax, 0xe
je 0x18001bcc6
cmp eax, 0xe
je 0x18001bd58
jmp 0x18001bd2f
movsxd rcx, dword [rsi + 0x6c]
lea eax, [rcx + 1]
mov dword [rsi + 0x6c], eax
mov rax, qword [rsi + 0x40]
mov byte [rcx + rax + 1], r13b
movsxd rcx, dword [rsi + 0x6c]
movzx edx, byte [rsi + 0x60]
sub dl, 4
lea eax, [rcx + 1]
mov dword [rsi + 0x6c], eax
mov rax, qword [rsi + 0x40]
mov byte [rcx + rax + 1], dl
jmp 0x18001bd2f
movsxd rcx, dword [rsi + 0x6c]
mov rax, qword [rsi + 0x40]
mov byte [rcx + rax], r13b
movsxd rcx, dword [rsi + 0x6c]
lea eax, [rcx + 1]
mov dword [rsi + 0x6c], eax
mov rax, qword [rsi + 0x40]
mov byte [rcx + rax + 1], r13b
jmp 0x18001bd2f
inc dword [rsi + 0x6c]
jmp 0x18001bd2f
movsxd rax, dword [rsi + 0x60]
mov byte [rax + rsi + 0x7c], 1
movsxd rcx, dword [rsi + 0x6c]
mov rax, qword [rsi + 0x40]
mov byte [rcx + rax], r13b
add r8d, 0xe
cmp r8d, 0x97
jb 0x18001bca4
mov ebx, 0x6f
xor edx, edx
jmp case.0x18001b88e.99
mov rax, qword [rsi + 0x40]
movsxd rcx, dword [rsi + 0x6c]
mov byte [rcx + rax], r13b
inc dword [rsi + 0x6c]
mov ebx, 0x6f
xor edx, edx
jmp case.0x18001b88e.99
mov r8d, 0xf
lea rdx, str.www.youtube.com
mov rcx, r12
call fcn.18001f830
lea rax, [rbp - 0x49]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18001bd90
lea rcx, [r12 + 0x20]
lea rdx, [rbp - 0x49]
call fcn.18001f830
jmp 0x18001bbc7
mov edi, edx
jmp case.0x18001b88e.99
mov byte [rbp - 0x40], 0
jmp case.0x18001b88e.99
mov r8d, 3
lea rdx, [0x180097e3e]
lea rcx, [rbp - 0x49]
call fcn.18006f3a0
mov r8d, 1
mov word [rbp - 0x42], 0x76
lea rdx, [0x180097ed7]
lea rcx, [rbp - 0x41]
call fcn.18006f5e0
jmp 0x18001bbc7
mov word [rbp - 0x49], r8w
lea rdx, [0x180097f38]
mov r8d, 2
mov byte [rbp - 0x47], 0
lea rcx, [rbp - 0x49]
call fcn.18006f3a0
jmp 0x18001bbc7
cmp qword [rsi + 0x18], 0x10
mov rdx, rsi
jb 0x18001be25
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [r12 + 0x20]
call fcn.18001eea0
mov eax, 0x1bb
lea rcx, [r12 + 0x40]
xor edx, edx
mov word [r12 + 0x60], ax
mov r8d, 0xc8
call fcn.180050150
jmp 0x18001bbc7
movzx r13d, byte [rsi + 0x5c]
inc ebx
mov dword [rbp + 0x6f], ebx
cmp ebx, dword [rbp - 0x29]
jb 0x18001b871
mov eax, edi
mov rbx, qword [rsp + 0xe8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, 1
jmp 0x18001be6a
mov eax, ebx
jmp 0x18001be6a
mov eax, 0xfffffff6
jmp 0x18001be6a