Function at 0x18008d340
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xc0
mov rax, qword [0x1800a3d18]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rdi, qword [rbp + 0x7f]
lea r15d, [r9 + 0x186]
mov ebx, dword [rbp - 0x31]
lea r10, [0x180000000]
mov qword [rbp - 0x29], rdi
mov r12, r8
mov rsi, qword [rbp - 0x29]
mov r8, rdx
mov qword [rbp - 0x11], rdx
xor r11d, r11d
mov rdx, qword [rbp - 0x29]
mov r13, rcx
mov qword [rbp - 0x69], rdx
mov r14d, r9d
mov qword [rbp - 0x39], rsi
mov dword [rbp - 0x71], r9d
cmp r9d, r15d
jae 0x18008d84f
mov rcx, qword [rbp - 0x29]
mov eax, dword [rbp - 0x31]
mov qword [rbp - 0x61], rcx
mov dword [rbp - 0x51], eax
jmp 0x18008d3d7
lea r10, [0x180000000]
cmp r14d, 0x14d
ja 0x18008d7ed
je 0x18008d7c2
lea eax, [r14 - 0x3e]
cmp eax, 0xf5
ja case.0x18008d40d.74
movzx eax, byte [r10 + rax + 0x8dde0]
mov ecx, dword [r10 + rax*4 + 0x8ddac]
add rcx, r10
jmp rcx
mov rax, qword [r13 + 8]
mov r8, r11
cmp rax, qword [r12]
je case.0x18008d40d.74
mov rdx, qword [r12]
mov rax, r8
and eax, 3
add rdx, r8
add rdx, qword [r13]
inc r8
movzx eax, byte [rax + r12 + 8]
xor byte [rdx], al
mov rax, qword [r13 + 8]
sub rax, qword [r12]
cmp r8, rax
jb 0x18008d420
mov rdx, qword [rbp - 0x69]
jmp case.0x18008d40d.74
mov rcx, qword [r13]
mov esi, r11d
cmp dword [rcx], 0
jle 0x18008d4b0
mov rdi, r11
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r13]
lea r9, [rbp - 0x49]
xor r8d, r8d
mov qword [rsp + 0x20], r11
mov edx, 0xd8
mov rcx, qword [rax + 8]
mov rax, qword [rdi + rcx]
xor ecx, ecx
mov qword [rbp - 0x49], rax
call fcn.180063010
mov rcx, qword [r13]
lea rdi, [rdi + 8]
inc esi
mov r11d, 0
cmp esi, dword [rcx]
jl 0x18008d470
mov rdi, qword [rbp - 0x29]
mov rcx, qword [rcx + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp - 0x69]
mov rsi, qword [rbp - 0x39]
jmp case.0x18008d40d.74
test rdx, rdx
je case.0x18008d40d.67
mov esi, 0x11f
cmp esi, 0x11f
je 0x18008d4f6
cmp esi, 0x1e5
jne 0x18008d692
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x69], rdx
jmp 0x18008d692
mov rdi, qword [rdx]
lea r9, [rbp - 0x59]
xor r8d, r8d
xor ecx, ecx
mov rax, qword [rdi + 0x18]
lea edx, [r8 + 0x44]
mov qword [rbp - 0x59], rax
call fcn.1800579b0
test eax, eax
jne 0x18008d5de
mov rax, qword [rdi + 0x18]
lea r8, [rbp - 0x59]
mov qword [rbp - 0x59], rax
lea rdx, [rbp - 0x41]
mov rax, qword [r13]
lea rcx, [rbp - 0x21]
mov r9d, 0x26
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x41], rdi
mov qword [rsp + 0x20], 0
call fcn.1800555c0
mov rbx, rax
test eax, eax
je 0x18008d68e
mov edi, 0x84
nop
mov eax, edi
sub eax, 0x84
je 0x18008d599
cmp eax, 1
jne 0x18008d5cf
mov rax, qword [rbp - 0x19]
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.18008f350
mov rbx, qword [rsp + reloc.SHLWAPI.dll_SHRegGetIntW]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rax, [rbp - 0x21]
mov dword [rbp - 0x21], 1
lea r9, [rbp - 0x41]
mov qword [rsp + 0x20], rax
lea r8, [0x180092c27]
mov dword [rbp - 0x41], ebx
lea rdx, [rbp - 0x59]
mov dword [rbp - 0x59], 0
mov ecx, 0xe3
call fcn.18000a640
mov dword [rbp - 0x19], eax
inc edi
cmp edi, 0x86
jb 0x18008d560
jmp 0x18008d68e
mov rax, qword [rdi + 0x20]
lea r9, [rbp - 0x59]
xor r8d, r8d
mov qword [rbp - 0x59], rax
xor ecx, ecx
lea edx, [r8 + 0x44]
call fcn.1800579b0
test eax, eax
jne 0x18008d68e
mov rax, qword [rdi + 0x20]
lea r8, [rbp - 0x59]
mov qword [rbp - 0x59], rax
lea rdx, [rbp - 0x41]
mov rax, qword [r13]
lea rcx, [rbp - 0x21]
mov r9d, 0x26
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x41], rdi
mov qword [rsp + 0x20], 0
call fcn.1800555c0
mov ebx, eax
test eax, eax
je 0x18008d68e
mov edi, 0x100
nop
mov eax, edi
sub eax, 0xff
je case.0x18008d89f.143
cmp eax, 1
jne 0x18008d684
mov dword [rbp - 0x59], eax
lea r9, [rbp - 0x41]
lea rax, [rbp - 0x59]
mov dword [rbp - 0x41], ebx
lea r8, [0x180092c27]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x21]
mov dword [rbp - 0x21], 0
mov ecx, 0xe3
call fcn.18000a640
mov dword [rbp - 0x19], eax
dec edi
cmp edi, 0xfe
ja 0x18008d640
mov rdx, qword [rbp - 0x69]
add esi, 0xc6
cmp esi, 0x2ab
jb 0x18008d4d5
test rdx, rdx
jne 0x18008d4d0
mov rsi, qword [rbp - 0x39]
mov rdi, qword [rbp - 0x29]
mov rax, qword [r13]
mov rdx, qword [rax + 0x18]
mov qword [rbp - 0x69], rdx
jmp case.0x18008d40d.74
lea r9, [rbp - 0x31]
mov dword [rbp - 0x59], 4
lea r8, [rbp - 0x59]
mov qword [rsp + 0x20], r11
mov edx, 0xe8
lea rcx, [rbp - 1]
call fcn.180064370
mov rdx, qword [rbp - 0x69]
jmp case.0x18008d40d.74
mov rsi, qword [r8]
mov qword [rbp - 0x39], rsi
call fcn.18008e020
mov r8, qword [r12]
mov r9, rdi
mov rdx, qword [r13]
mov qword [rsp + 0x28], rsi
mov rcx, qword [rax]
or rcx, 1
mov qword [rsp + 0x20], 0
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___stdio_common_vsprintf]
mov rdx, qword [rbp - 0x69]
mov ecx, 0xffffffff
test eax, eax
cmovs eax, ecx
mov dword [rbp - 0x51], eax
jmp case.0x18008d40d.74
cmp qword [r13], 0
je case.0x18008d89f.143
jmp case.0x18008d40d.74
mov rax, qword [r13]
mov byte [rax + 0x24], 2
jmp case.0x18008d40d.74
mov rax, qword [r13]
cmp dword [rax + 0x10], 1
jge case.0x18008d40d.74
mov ecx, 0x58
nop dword [rax]
mov eax, ecx
sub eax, 0x58
je 0x18008d782
cmp eax, 1
je case.0x18008d89f.143
jmp 0x18008d78f
test r12, r12
je 0x18008d78b
mov dword [r12], r11d
mov qword [rbp - 0x19], r11
inc ecx
cmp ecx, 0x5a
jb 0x18008d770
jmp case.0x18008d40d.74
mov dword [rbp - 0x31], r12d
jmp case.0x18008d40d.74
mov rax, qword [r13]
mov rcx, qword [rax + 8]
mov r10, qword [rcx]
mov qword [rbp - 0x61], r10
jmp 0x18008d82e
cmp qword [r12], 0
je case.0x18008d89f.143
jmp case.0x18008d40d.74
mov rax, qword [r13]
mov rdx, qword [rax + 8]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rdx + rax*8 - 8]
mov qword [rdx], rcx
mov rax, qword [r13]
mov rdx, qword [rbp - 0x69]
movsxd rcx, dword [rax + 0x10]
mov rax, qword [rax + 8]
mov qword [rax + rcx*8 - 8], r11
jmp case.0x18008d40d.74
mov eax, r14d
sub eax, 0x167
je 0x18008d823
cmp eax, 0x1a
jne case.0x18008d40d.74
mov rax, qword [r13]
lea r8, [rbp - 0x41]
xor r9d, r9d
mov qword [rbp - 0x41], rax
lea rdx, [rbp - 0x59]
mov dword [rbp - 0x59], r11d
mov ecx, 0xf5
call fcn.180055b40
mov rdx, qword [rbp - 0x69]
jmp case.0x18008d40d.74
mov rax, qword [r13]
dec dword [rax + 0x10]
mov r10, qword [rbp - 0x61]
mov r8, qword [rbp - 0x11]
add r14d, 0x1a
mov r11d, 0
cmp r14d, r15d
jb 0x18008d3d0
mov r14d, dword [rbp - 0x51]
mov r9d, dword [rbp - 0x71]
jmp 0x18008d85f
mov r10, qword [rbp - 0x29]
mov r14d, dword [rbp - 0x31]
mov qword [rbp - 0x61], r10
mov dword [rbp - 0x51], r14d
lea r15d, [r9 - 0xf]
mov dword [rbp - 0x59], r15d
cmp r9d, r15d
jbe case.0x18008d89f.143
lea eax, [r9 - 0x39]
cmp eax, 0xe0
ja case.0x18008d89f.63
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x8df18]
mov ecx, dword [rcx + rax*4 + 0x8ded8]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
test r14d, r14d
jns 0x18008d9c6
mov eax, 0xec
nop
cmp eax, 0xec
je 0x18008d99f
cmp eax, 0x16f
je 0x18008d8dc
cmp eax, 0x1f2
jne 0x18008d9a3
mov r9d, 0xbc
mov dword [rbp - 0x71], r9d
jmp 0x18008d9a7
test r14d, r14d
jns 0x18008d998
nop word [rax + rax]
mov edi, 0x81
mov eax, edi
sub eax, 0x7e
je 0x18008d93c
sub eax, 1
je 0x18008d937
sub eax, 1
je 0x18008d922
cmp eax, 1
jne 0x18008d980
mov rcx, qword [r13]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [r12]
add rax, rax
mov qword [r12], rax
jmp 0x18008d980
mov rcx, qword [r12]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r13], rax
test rax, rax
je 0x18008d998
jmp 0x18008d980
mov rsi, qword [r8]
jmp 0x18008d97c
call fcn.18008e020
mov r9, qword [rbp - 0x29]
mov r8, qword [r12]
mov rdx, qword [r13]
mov rcx, qword [rax]
or rcx, 1
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], 0
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___stdio_common_vsprintf]
test eax, eax
mov r14d, eax
mov eax, 0xffffffff
cmovs r14d, eax
xor esi, esi
mov dword [rbp - 0x51], r14d
mov qword [rbp - 0x39], rsi
mov r8, qword [rbp - 0x11]
dec edi
cmp edi, 0x7d
ja 0x18008d8f5
test r14d, r14d
js 0x18008d8f0
mov eax, 0x16f
jmp 0x18008d9a3
mov qword [r13], r11
mov r9d, dword [rbp - 0x71]
mov r8, qword [rbp - 0x11]
add eax, 0x83
mov r11d, 0
cmp eax, 0x275
jb 0x18008d8b0
jmp 0x18008dd70
cmp r14d, dword [r12]
jle case.0x18008d89f.63
lea eax, [r14 + 1]
movsxd rcx, eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r13], rax
test rax, rax
jne 0x18008d9f6
mov eax, 0xffffffff
mov r14d, eax
mov dword [rbp - 0x51], eax
jmp 0x18008dd69
mov esi, 0x97
mov r15d, 0xffffffff
cmp esi, 0x97
je 0x18008da19
cmp esi, 0x142
jne 0x18008da63
xor eax, eax
mov qword [rbp - 0x39], rax
jmp 0x18008da63
mov rax, qword [rbp - 0x11]
mov rax, qword [rax]
mov qword [rbp - 0x39], rax
lea eax, [r14 + 1]
movsxd rdi, eax
call fcn.18008e020
mov r9, qword [rbp - 0x29]
mov r8, rdi
mov rdx, qword [r13]
mov rcx, qword [rax]
mov rax, qword [rbp - 0x39]
or rcx, 1
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___stdio_common_vsprintf]
test eax, eax
mov r14d, eax
cmovs r14d, r15d
add esi, 0xab
cmp esi, 0x1ed
jb 0x18008da01
mov r15d, dword [rbp - 0x59]
mov rsi, qword [rbp - 0x39]
mov dword [rbp - 0x51], r14d
jmp 0x18008dd69
test rdx, rdx
je 0x18008dc2b
nop dword [rax + rax]
mov r14d, 0x64
cmp r14d, 0x64
je 0x18008dab6
cmp r14d, 0x2e18
jne 0x18008dc03
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x69], rdx
jmp 0x18008dc03
mov rsi, qword [rdx]
lea r9, [rbp - 0x49]
xor r8d, r8d
xor ecx, ecx
mov rax, qword [rsi + 0x18]
lea edx, [r8 + 0x44]
mov qword [rbp - 0x49], rax
call fcn.1800579b0
xor r8d, r8d
test eax, eax
jne 0x18008db64
mov rax, qword [rsi + 0x18]
lea rcx, [rbp - 0x49]
xor esi, esi
mov qword [rbp - 0x49], rax
mov r9d, 0x90
mov qword [rsp + 0x20], rsi
xor edx, edx
call fcn.18008d340
mov ebx, eax
test eax, eax
je 0x18008dbff
mov edi, 0x3b
nop dword [rax]
mov eax, edi
sub eax, 0x3b
je 0x18008db22
cmp eax, 0x79
je case.0x18008d89f.143
jmp 0x18008db54
lea rax, [rbp - 0x41]
mov dword [rbp - 0x41], 1
lea r9, [rbp - 0x21]
mov qword [rsp + 0x20], rax
lea r8, [0x180092c27]
mov dword [rbp - 0x21], ebx
lea rdx, [rbp - 0x49]
mov dword [rbp - 0x49], esi
mov ecx, 0xe3
call fcn.18000a640
mov dword [rbp - 0x19], eax
add edi, 0x79
cmp edi, 0x12d
jb 0x18008db10
jmp 0x18008dbff
mov rax, qword [rsi + 0x20]
lea r9, [rbp - 0x49]
mov edx, 0x44
mov qword [rbp - 0x49], rax
xor ecx, ecx
call fcn.1800579b0
test eax, eax
jne 0x18008dbff
mov edi, 0xa0
mov eax, edi
sub eax, 0xa0
je 0x18008dbce
cmp eax, 1
jne 0x18008dbf5
test ebx, ebx
je 0x18008dbf5
mov dword [rbp - 0x49], eax
lea r9, [rbp - 0x59]
lea rax, [rbp - 0x49]
mov dword [rbp - 0x59], ebx
lea r8, [0x180092c27]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x41]
mov dword [rbp - 0x41], 0
mov ecx, 0xe3
call fcn.18000a640
mov dword [rbp - 0x19], eax
jmp case.0x18008d89f.143
mov rax, qword [rsi + 0x20]
lea rcx, [rbp - 0x49]
mov r9d, 0x90
mov qword [rbp - 0x49], rax
xor r8d, r8d
mov qword [rsp + 0x20], 0
xor edx, edx
call fcn.18008d340
mov ebx, eax
inc edi
cmp edi, 0xa2
jb 0x18008db85
mov rdx, qword [rbp - 0x69]
add r14d, 0x2db4
cmp r14d, 0x5b68
jbe 0x18008da96
test rdx, rdx
jne 0x18008da90
mov rsi, qword [rbp - 0x39]
xor r11d, r11d
mov r9d, dword [rbp - 0x71]
mov r14d, dword [rbp - 0x51]
mov dword [rbp - 0x19], r11d
jmp case.0x18008d89f.63
mov rcx, qword [r13]
mov rcx, qword [rcx + 0x80]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [r13]
jmp 0x18008dd63
mov rcx, qword [r13]
mov rcx, qword [rcx + 0x30]
jmp 0x18008dd63
mov rax, qword [r10 + 8]
mov rcx, r10
mov qword [rbp - 9], rax
jmp 0x18008dd63
test rdi, rdi
lea rcx, [0x180092c27]
mov rax, rdi
lea r9, [rbp - 1]
cmove rax, rcx
lea rdx, str.HRESULT_ID3D12CommandQueue::SetPrivateDataInterface_REFGUID_guid__0x_I32x__IUnknown_pData__0x_08Ix___0x_I32x
mov rcx, r13
mov qword [rsp + 0x20], rax
mov r8, r12
call fcn.18008e300
jmp 0x18008dd69
mov rsi, r11
mov qword [rbp - 0x39], r11
jmp case.0x18008d89f.63
mov rcx, qword [r13]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [r13]
mov rcx, qword [rcx + 0x48]
jmp 0x18008dd63
test r12, r12
je case.0x18008d89f.63
mov eax, dword [r10]
mov dword [r12], eax
jmp case.0x18008d89f.63
mov rcx, qword [r13]
mov rcx, qword [rcx + 0x58]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [r13]
mov rcx, qword [rcx + 0x78]
jmp 0x18008dd63
mov rcx, qword [r13]
mov esi, r11d
cmp dword [rcx + 0x10], 0
jle 0x18008dd4b
mov rdi, r11
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r13]
lea r9, [rbp - 0x49]
xor edx, edx
mov qword [rsp + 0x20], r11
xor r8d, r8d
mov rcx, qword [rax + 0x18]
mov rax, qword [rdi + rcx]
lea ecx, [rdx + 9]
mov qword [rbp - 0x49], rax
call fcn.18004d290
mov rcx, qword [r13]
lea rdi, [rdi + 8]
inc esi
mov r11d, 0
cmp esi, dword [rcx + 0x10]
jl 0x18008dd10
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rsi, qword [rbp - 0x39]
jmp 0x18008dd69
mov rcx, qword [r13]
mov rcx, qword [rcx + 0x28]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r9d, dword [rbp - 0x71]
xor r11d, r11d
mov rdx, qword [rbp - 0x69]
dec r9d
mov dword [rbp - 0x71], r9d
cmp r9d, r15d
jbe case.0x18008d89f.143
mov r8, qword [rbp - 0x11]
mov rdi, qword [rbp - 0x29]
mov r10, qword [rbp - 0x61]
jmp 0x18008d870
mov dword [rbp - 0x19], r14d
jmp case.0x18008d89f.143
mov rax, qword [rbp - 9]
jmp 0x18008d572