Function at 0x18000f460
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xb8
imul eax, r8d, 0x3c2
mov r14d, r8d
mov r10, rdx
mov r15, rcx
mov r12d, r8d
mov dword [rbp - 5], eax
cmp r8d, eax
ja 0x18000fd38
mov esi, dword [rbp + 0x77]
lea r8, [0x180000000]
mov r13d, dword [rbp - 0x29]
mov edi, dword [rbp + 0x7f]
nop word [rax + rax]
cmp r12d, 0x5334
ja 0x18000f68d
je 0x18000f5d1
cmp r12d, 0x11c
ja 0x18000f5aa
je 0x18000f582
cmp r12d, 0x49
je 0x18000f576
cmp r12d, 0x78
je 0x18000f568
cmp r12d, 0x114
jne 0x18000f677
mov eax, dword [r10]
mov r9, r15
mov dword [rbp - 0x49], eax
xor r8d, r8d
lea rax, [rbp - 0x49]
mov qword [rsp + 0x28], 0
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, 0x93
call fcn.180022310
mov qword [rbp - 1], rax
test rax, rax
je 0x18000f66c
xor ecx, ecx
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], rcx
xor r8d, r8d
mov qword [rsp + 0x30], rcx
xor edx, edx
mov qword [rsp + 0x28], rcx
lea r9d, [rcx + 0x4c]
mov qword [rsp + 0x20], rax
call fcn.1800558c0
jmp 0x18000f66c
mov rcx, r10
call qword [0x18007bce0]
jmp 0x18000f66c
mov dword [rbp - 0xd], 0
jmp 0x18000f677
xor r9d, r9d
mov qword [rbp + 7], r10
xor edx, edx
mov qword [rsp + 0x20], 0
mov rcx, r10
lea r8d, [r9 + 0x2a]
call fcn.180047d20
mov dword [rbp + 0x7f], eax
mov edi, eax
jmp 0x18000f66c
cmp r12d, 0x1563
je 0x18000fc83
cmp r12d, 0x50dc
jne 0x18000f677
mov rax, qword [rbp - 1]
mov qword [rbp - 0x31], rax
jmp 0x18000f677
mov edi, dword [rbp + 0x7f]
cmp edi, 1
jae 0x18000fcc5
xor edx, edx
mov qword [rsp + 0x28], 0
lea rax, [rbp - 0x49]
mov dword [rbp - 0x49], edi
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea ecx, [rdx + 0x19]
call fcn.180020d80
mov dword [0x18007bc70], eax
test eax, eax
je 0x18000f66c
mov ebx, 0x93
mov eax, ebx
sub eax, 0x91
je 0x18000fd38
sub eax, 1
je 0x18000f659
cmp eax, 1
jne 0x18000f662
lea rax, [rbp - 0x49]
mov dword [rbp - 0x49], edi
mov qword [rsp + 0x38], rax
mov r9d, SHSetInstanceExplorer
xor eax, eax
xor r8d, r8d
mov qword [rsp + 0x30], rax
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18000ee30
jmp 0x18000f662
mov eax, dword [0x18007bc70]
mov dword [rbp - 0x31], eax
dec ebx
cmp ebx, 0x90
ja 0x18000f611
mov r10, qword [rbp + 0x6f]
lea r8, [0x180000000]
imul eax, r14d, 0x4a
add r12d, eax
cmp r12d, dword [rbp - 5]
jbe 0x18000f4c0
jmp 0x18000fd38
cmp r12d, 0x1497c
ja 0x18000f7b5
je 0x18000f759
cmp r12d, 0xa0a4
je 0x18000fd38
cmp r12d, 0xa54c
je 0x18000f6e6
cmp r12d, 0xf764
jne 0x18000f677
mov eax, edi
imul rcx, rax, 0x104
mov dword [r15], 0
mov eax, dword [rcx + r8 + 0x7bbf4]
shl eax, 9
xor r13d, r13d
mov dword [rbp - 0x11], eax
mov dword [rbp - 0x29], r13d
jmp 0x18000f677
mov edi, dword [rbp + 0x7f]
lea r8, [rbp - 9]
mov r9, qword [rbp + 7]
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x41]
mov dword [rbp - 0x49], edi
mov dword [rbp - 0x41], 0
mov dword [rsp + 0x20], 0x10d
call fcn.180020900
mov dword [0x18007bc70], eax
test eax, eax
je 0x18000f66c
xor ecx, ecx
mov dword [rbp + 0x77], edi
lea rax, [rbp + 0x77]
mov r9d, SHSetInstanceExplorer
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rcx
xor edx, edx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
call fcn.18000ee30
mov eax, dword [0x18007bc70]
mov dword [rbp - 0x31], eax
jmp 0x18000fd38
xor r9d, r9d
xor r8d, r8d
mov edx, 0x12c
xor ecx, ecx
call fcn.180067b50
mov qword [rbp - 0x21], rax
cmp rax, 0
jne 0x18000f66c
mov eax, dword [rbp + 0x7f]
xor ecx, ecx
mov dword [rbp + 0x77], eax
mov r9d, SHSetInstanceExplorer
lea rax, [rbp + 0x77]
xor r8d, r8d
mov qword [rsp + 0x38], rax
xor edx, edx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
call fcn.18000ee30
mov dword [rbp - 0x31], 0x1c
jmp 0x18000fd38
cmp r12d, 0x19b94
je 0x18000f830
cmp r12d, 0x1edac
jne 0x18000f677
mov ebx, 0x3c
cmp ebx, 0x3c
je 0x18000f7e0
cmp ebx, 0x75
je 0x18000fd38
jmp 0x18000f820
lea rax, [rbp - 0x41]
mov dword [rbp - 0x41], edi
mov qword [rsp + 0x38], rax
mov r9d, SHSetInstanceExplorer
mov qword [rsp + 0x30], 0
xor r8d, r8d
mov qword [rsp + 0x28], 0
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], 0
call fcn.18000ee30
mov dword [rbp - 0x31], 0
add ebx, 0x39
cmp ebx, 0xae
jb 0x18000f7d0
jmp 0x18000f66c
mov eax, dword [rbp - 9]
test eax, eax
jne 0x18000fa16
mov eax, 0x3c
cmp eax, 0x3c
jne 0x18000f9b8
mov edx, dword [rbp + 0x7f]
lea r12, [rdx*4 + 0x7bc58]
add r12, r8
lea r15, [rdx*4 + 0x7bc54]
add r15, r8
mov ecx, dword [r12]
mov r14d, dword [r15]
add ecx, r14d
cmp r14d, ecx
jae 0x18000f9ad
nop word [rax + rax]
mov edi, SHSetFolderPathW
nop word [rax + rax]
mov eax, edi
sub eax, 0xe2
je 0x18000fa09
sub eax, 1
je 0x18000f9cd
cmp eax, 1
jne 0x18000f985
mov rbx, qword [rbp - 0x21]
lea rax, [rbp - 0x41]
mov dword [rbp - 0x41], edx
lea r9, [rbp - 0x49]
mov qword [rsp + 0x28], rbx
lea r8, [rbp - 0x19]
lea rdx, [rbp - 0x39]
mov qword [rsp + 0x20], rax
mov ecx, 0x25
mov dword [rbp - 0x39], 0x200
mov dword [rbp - 0x49], 0
mov dword [rbp - 0x19], r14d
call fcn.180020d80
mov dword [0x18007bc70], eax
test eax, eax
je 0x18000f982
xor eax, eax
mov r9, rbx
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002b580
mov ebx, 0x4a
mov eax, ebx
sub eax, 0x4a
je 0x18000f949
sub eax, 1
je 0x18000f93e
cmp eax, 1
je 0x18000fd38
jmp 0x18000f97b
mov eax, dword [0x18007bc70]
mov dword [rbp - 0x31], eax
jmp 0x18000f97b
mov eax, dword [rbp + 0x7f]
mov r9d, SHSetInstanceExplorer
mov dword [rbp - 0x39], eax
xor r8d, r8d
lea rax, [rbp - 0x39]
xor edx, edx
mov qword [rsp + 0x38], rax
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.18000ee30
inc ebx
cmp ebx, 0x4d
jb 0x18000f927
mov edx, dword [rbp + 0x7f]
dec edi
cmp edi, 0xe1
ja 0x18000f890
mov eax, dword [r12]
inc r14d
add eax, dword [r15]
cmp r14d, eax
jb 0x18000f880
lea r8, [0x180000000]
mov eax, 0x3c
mov r12d, 0x19b94
add eax, 0x1608
cmp eax, 0x1608
jbe 0x18000f840
jmp 0x18000fc49
mov rbx, qword [rbp - 0x21]
xor esi, esi
movzx ecx, byte [rsi + rbx]
test cl, cl
je 0x18000f9fb
cmp cl, 0xe5
je 0x18000f9f0
lea eax, [rsi + 0xb]
movzx eax, byte [rax + rbx]
and al, 0xf
cmp al, 0xf
je 0x18000f9f0
inc r13d
add esi, 0x20
cmp esi, 0x200
jb 0x18000f9d3
mov dword [rbp - 0x29], r13d
mov edi, 0xe3
jmp 0x18000f985
cmp esi, 0x200
jb 0x18000f9a6
jmp 0x18000f985
movzx r15d, ax
cmp r15d, 0xffff
je 0x18000fc50
mov rbx, qword [rbp - 0x21]
nop dword [rax + rax]
mov r13d, 0x33
nop word [rax + rax]
mov eax, r13d
sub eax, 0x31
je 0x18000fc22
sub eax, 1
je 0x18000fb8f
cmp eax, 1
jne 0x18000fc2b
xor r14d, r14d
cmp dword [rbp - 0x11], r14d
jbe 0x18000fc2b
nop dword [rax + rax]
mov edi, 0x77
mov eax, edi
sub eax, 0x77
je 0x18000fbb7
sub eax, 0x7b
je 0x18000fa93
cmp eax, 0x7b
je 0x18000fb75
jmp 0x18000fbf4
xor esi, esi
cmp dword [0x18007bc70], esi
je 0x18000fb37
mov qword [rsp + 0x38], rsi
mov r9, rbx
mov dword [rsp + 0x30], 0x55
xor r8d, r8d
mov qword [rsp + 0x28], rsi
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.18002b580
mov ebx, 0xb7
nop dword [rax]
cmp ebx, 0xb7
je 0x18000faf9
cmp ebx, 0x685e
je 0x18000faee
cmp ebx, 0xd005
je 0x18000fd38
jmp 0x18000fb29
mov eax, dword [0x18007bc70]
mov dword [rbp - 0x31], eax
jmp 0x18000fb29
mov eax, dword [rbp + 0x7f]
mov r9d, SHSetInstanceExplorer
mov dword [rbp - 0x39], eax
xor r8d, r8d
lea rax, [rbp - 0x39]
xor edx, edx
mov qword [rsp + 0x38], rax
xor ecx, ecx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.18000ee30
add ebx, 0x67a7
cmp ebx, 0x136f5
jbe 0x18000fad0
mov rdx, qword [rbp - 0x21]
nop dword [rax + rax]
mov eax, esi
movzx ecx, byte [rax + rdx]
test cl, cl
je 0x18000fb72
cmp cl, 0xe5
je 0x18000fb5f
lea eax, [rsi + 0xb]
movzx eax, byte [rax + rdx]
and al, 0xf
cmp al, 0xf
je 0x18000fb5f
inc dword [rbp - 0x29]
add esi, 0x20
cmp esi, 0x200
jb 0x18000fb40
mov rbx, rdx
jmp 0x18000fbf4
mov rbx, rdx
mov edi, 0x16d
mov r12d, 0x19b94
cmp esi, 0x200
jae 0x18000fbf4
lea r8, [0x180000000]
mov eax, dword [rbp + 0x7f]
mov r13d, 0x32
mov r12d, 0x19b94
cmp r15d, dword [r8 + rax*4 + 0x7bc60]
jae 0x18000fc1d
mov rax, qword [r8 + rax*8 + 0x7bc48]
movzx r15d, word [rax + r15*2]
jmp 0x18000fc2b
mov eax, dword [rbp + 0x7f]
lea r9, [rbp - 0x39]
mov qword [rsp + 0x28], rbx
lea r8, [rbp - 0x19]
lea rdx, [rbp - 0x41]
mov dword [rbp - 0x39], eax
lea rcx, [rbp - 0x49]
mov dword [rsp + 0x20], StrCmpNICW
mov dword [rbp - 0x49], 0x200
mov dword [rbp - 0x19], r14d
mov dword [rbp - 0x41], r15d
call fcn.180058570
mov dword [0x18007bc70], eax
add edi, 0x7b
cmp edi, 0x1e8
jb 0x18000fa75
add r14d, 0x200
cmp r14d, dword [rbp - 0x11]
jb 0x18000fa70
lea r8, [0x180000000]
jmp 0x18000fc2b
xor r15d, r15d
jmp 0x18000fc2b
test r15d, r15d
je 0x18000fcce
dec r13d
cmp r13d, 0x30
ja 0x18000fa40
cmp r15d, 0xffff
jne 0x18000fa30
mov r13d, dword [rbp - 0x29]
mov r14d, dword [rbp + 0x77]
mov edi, dword [rbp + 0x7f]
mov r15, qword [rbp + 0x67]
xor ecx, ecx
mov r9, qword [rbp - 0x21]
xor r8d, r8d
mov qword [rsp + 0x38], rcx
xor edx, edx
mov dword [rsp + 0x30], 0x55
mov qword [rsp + 0x28], rcx
mov dword [r15], r13d
mov qword [rsp + 0x20], rcx
call fcn.18002b580
jmp 0x18000f66c
mov eax, 0xe0
cmp eax, 0xe0
je 0x18000fc9e
add eax, 0x3a
cmp eax, 0x11a
jb 0x18000fc88
jmp 0x18000fd38
mov eax, dword [r15]
mov edx, dword [rbp - 0xd]
test eax, eax
jle 0x18000fcc0
mov ecx, eax
nop word [rax + rax]
movsx eax, byte [r10]
lea r10, [r10 + 1]
xor edx, eax
sub rcx, 1
jne 0x18000fcb0
mov dword [rbp - 0x31], edx
jmp 0x18000fd38
mov dword [rbp - 0x31], ILRemoveLastID
jmp 0x18000fd38
mov r9, qword [rbp - 0x21]
xor r8d, r8d
mov qword [rsp + 0x38], 0
xor edx, edx
mov dword [rsp + 0x30], 0x55
xor ecx, ecx
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call fcn.18002b580
mov eax, dword [rbp + 0x7f]
xor ecx, ecx
mov dword [rbp + 0x77], eax
mov r9d, SHSetInstanceExplorer
lea rax, [rbp + 0x77]
xor r8d, r8d
mov qword [rsp + 0x38], rax
xor edx, edx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
call fcn.18000ee30
mov dword [rbp - 0x31], 0x18
mov rax, qword [rbp - 0x31]
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret