Function at 0x180073290
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x1800cd230]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r14d, r9d
mov dword [rbp - 0x68], r9d
mov r11, r8
mov qword [rbp - 0x80], r8
mov rsi, rdx
mov qword [rbp - 0x70], rcx
mov r15, qword [rbp + 0xa0]
xor r12d, r12d
mov edi, r12d
mov dword [rsp + 0x70], r12d
mov qword [rbp - 0x20], r12
mov r13d, 0xf
mov qword [rbp - 0x18], r13
mov byte [rbp - 0x30], dil
mov eax, r9d
mov dword [rsp + 0x50], eax
lea ebx, [r9 + 0x5d0]
mov dword [rsp + 0x44], ebx
lea r13, [0x1800704d0]
cmp r9d, ebx
mov ebx, dword [rsp + 0x58]
jae 0x180073c1a
mov ecx, dword [rsp + 0x58]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rsp + 0x44]
lea rdx, [0x180000000]
cmp eax, 0xfe
ja 0x180073739
je 0x180073726
add eax, 0xffffffe9
cmp eax, 0xac
ja case.default.0x18007335d
movzx eax, byte [rdx + rax + 0x7467c]
mov ecx, dword [rdx + rax*4 + 0x74660]
add rcx, rdx
jmp rcx
mov rcx, qword [r15]
mov rax, qword [rsi]
cmp rcx, rax
je 0x1800739f4
xor r9d, r9d
cmp qword [rax + 0x18], r9
je 0x180073a60
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x20], SHSetInstanceExplorer
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.18008ad40
test al, al
jne 0x1800739f4
mov rax, qword [r15]
mov qword [rsp + 0x48], rax
mov rax, qword [rsi]
mov qword [rsp + 0x58], rax
xor r9d, r9d
lea r8d, [r9 + 0x31]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x48]
call fcn.1800251e0
mov r11, qword [rbp - 0x80]
jmp case.0x18007335d.26
mov edx, r12d
mov dword [rsp + 0x40], edx
mov ecx, dword [rsp + 0x44]
jmp 0x1800739d8
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r12
mov r9, rsi
xor r8d, r8d
lea edx, [r8 + 0x4e]
xor ecx, ecx
call fcn.18000ef90
test al, al
jne 0x1800734b9
mov edi, reloc.SHELL32.dll_ILAppendID
nop word [rax + rax]
mov eax, edi
sub eax, 0x97
je 0x180073a8d
sub eax, 1
je 0x18007345e
sub eax, 1
je 0x180073451
cmp eax, 1
jne 0x1800734ab
mov byte [rsp + 0x6c], al
mov qword [rbp - 0x78], r12
mov dword [rsp + 0x78], eax
mov dword [rbp - 0x5c], 0x2381f
jmp 0x1800734ab
mov dword [rbp - 0x60], r12d
mov dword [rbp - 0x64], 1
jmp 0x1800734ab
xor eax, eax
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x38], eax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x64]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp - 0x60]
mov r8d, dword [rbp - 0x5c]
mov edx, dword [rsp + 0x78]
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.SHELL32.dll_SHChangeNotifyRegister]
test eax, eax
jne 0x180073497
mov byte [rsp + 0x6c], al
jmp 0x1800734a6
cmp byte [rsp + 0x6c], 0
je 0x1800734a6
mov ecx, eax
call qword [sym.imp.SHELL32.dll_SHChangeNotifyDeregister]
mov byte [rsp + 0x68], 0
dec edi
cmp edi, 0x96
ja 0x180073420
lea rax, [rbp - 0x30]
mov r11, qword [rbp - 0x80]
cmp r11, rax
je case.0x18007335d.26
mov rdx, qword [r11 + 0x18]
cmp rdx, 0x10
jb 0x180073508
mov rcx, qword [r11]
inc rdx
cmp rdx, 0x1000
jb 0x1800734ff
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180073ad2
mov rcx, r8
call fcn.1800a7360
mov r11, qword [rbp - 0x80]
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [r11], xmm0
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [r11 + 0x10], xmm1
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
jmp case.0x18007335d.26
mov rax, qword [r15]
add rax, 0x10
cmp rax, qword [rsi + 0x10]
ja 0x1800739f4
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r12
mov r9, rsi
xor r8d, r8d
lea edx, [r8 + 0x4e]
xor ecx, ecx
call fcn.18000ef90
test al, al
je 0x1800739f4
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8d, [r9 + 0x6e]
mov rdx, r15
mov rcx, rsi
call fcn.18000de30
cmp rax, 8
jb 0x1800739f4
mov rdx, qword [r15]
sub rdx, rax
mov qword [rbp], r12
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
mov rcx, qword [rsi + 0x10]
cmp rcx, rdx
jb 0x180074654
sub rcx, rdx
cmp rcx, rax
cmovb rax, rcx
mov rcx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x1800735c7
mov rcx, qword [rsi]
add rdx, rcx
mov r8, rax
lea rcx, [rbp - 0x10]
call fcn.1800293c0
or edi, 1
mov dword [rsp + 0x70], edi
lea r12, [rbp - 0x10]
mov r13, qword [rbp - 0x10]
mov rdi, qword [rbp + 8]
cmp rdi, 0x10
cmovae r12, r13
mov r14, qword [rbp]
cmp r14, 0x10
jae 0x18007360d
movups xmm0, xmmword [r12]
mov qword [rbp + 0x28], 0xf
jmp 0x18007368e
mov rdi, r14
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x180073661
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18007465a
mov rcx, rax
call fcn.1800a7324
mov rcx, rax
test rax, rax
je 0x180073acb
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18007366f
test rcx, rcx
je 0x18007366d
call fcn.1800a7324
jmp 0x18007366f
xor eax, eax
mov qword [rbp + 0x10], rax
lea r8, [r14 + 1]
mov rdx, r12
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp + 0x28], rdi
movups xmm0, xmmword [rbp + 0x10]
mov rdi, qword [rbp + 8]
movups xmmword [rsp + 0x58], xmm0
mov qword [rbp + 0x20], r14
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x1800736d2
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800736cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180073acb
call fcn.1800a7360
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rbp + 0x20]
movups xmmword [rbp - 0x20], xmm0
cmp rdi, 0x10
jb 0x18007371a
lea rdx, [rdi + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x180073712
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180073ad2
mov rcx, r13
call fcn.1800a7360
mov r11, qword [rbp - 0x80]
xor r12d, r12d
jmp case.0x18007335d.26
mov rax, qword [rsi]
movzx ecx, byte [rax + 5]
and ecx, 4
mov dword [rsp + 0x68], ecx
jmp case.0x18007335d.26
sub eax, 0x11f
je 0x1800739ab
sub eax, 5
je 0x1800738a8
sub eax, 0x1b
je 0x1800737c5
sub eax, 0x3b
je 0x1800739f9
cmp eax, 0x21
jne case.default.0x18007335d
mov eax, dword [r15]
test al, 8
jne 0x180073b27
test al, 1
jne 0x180073ae3
test al, 0x20
je case.default.0x18007335d
mov r13, qword [rbp - 0x18]
cmp r13, 0x10
jb 0x1800737bb
lea rdx, [r13 + 1]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800737b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007464d
call fcn.1800a7360
mov eax, 2
jmp 0x180073a39
mov dword [rsp + 0x58], 0x18
mov dword [rsp + 0x48], 0x564342
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x58]
call fcn.180084f10
mov dword [rsp + 0x48], 0x10
mov eax, dword [rsi]
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180084f10
mov dword [rsp + 0x48], 0x18
mov eax, dword [rsi + 4]
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180084f10
mov ebx, 1
mov eax, ebx
movsxd rcx, dword [rsi + 4]
cmp ecx, eax
jle 0x1800733cc
mov rdx, qword [rsi + 8]
mov r8, rcx
nop dword [rax + rax]
mov ecx, dword [rdx + rax*4 - 4]
test ecx, ecx
je 0x180073b6d
cmp dword [rdx + rax*4], ecx
jl 0x180073b6d
inc ebx
inc rax
cmp rax, r8
jl 0x180073880
mov r11, qword [rbp - 0x80]
jmp case.0x18007335d.26
mov r14d, r12d
mov r13, qword [rbp - 0x70]
mov eax, dword [r13]
test eax, eax
jle 0x18007399a
mov rdi, r11
nop
mov dword [rsp + 0x20], 0x101
xor r9d, r9d
mov r8, rsi
mov rdx, r15
mov rcx, qword [rdi]
call fcn.180086590
test rax, rax
je 0x180073b8e
test byte [rax + 0xc], 4
jne 0x180073b8e
inc r14d
add rdi, 8
mov eax, dword [r13]
cmp r14d, eax
jl 0x1800738c0
mov r11, qword [rbp - 0x80]
test eax, eax
jle 0x18007399a
mov r14, r11
nop dword [rax + rax]
mov dword [rsp + 0x20], 0x101
xor r9d, r9d
mov r8, rsi
mov rdx, r15
mov rcx, qword [r14]
call fcn.180086590
mov rdi, rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x8c
mov qword [rsp + 0x20], r15
mov r9, qword [r14]
xor r8d, r8d
mov rdx, rsi
xor ecx, ecx
call fcn.180072300
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x8c
mov qword [rsp + 0x20], r15
mov r9, rdi
xor r8d, r8d
mov rdx, rsi
xor ecx, ecx
call fcn.180072300
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 4]
mov rcx, rsi
call fcn.180035fd0
inc r12d
lea r14, [r14 + 8]
cmp r12d, dword [r13]
jl 0x180073910
mov dword [rsp + 0x68], 1
mov r11, qword [rbp - 0x80]
xor r12d, r12d
jmp case.0x18007335d.26
mov ecx, dword [r15]
mov eax, ecx
and eax, 3
cmp al, 3
je 0x180073c13
mov eax, ecx
and eax, 0xc
cmp al, 0xc
je 0x180073c13
test ecx, ecx
je 0x180073bcd
mov ecx, dword [rsp + 0x44]
mov edx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x50]
add eax, 0x7c
mov dword [rsp + 0x50], eax
cmp eax, ecx
jae 0x180073bbc
mov edi, dword [rsp + 0x70]
jmp 0x180073325
mov byte [rsp + 0x68], 0
mov r13, qword [rbp - 0x18]
cmp r13, 0x10
jb 0x180073a35
lea rdx, [r13 + 1]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180073a30
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007464d
call fcn.1800a7360
mov eax, dword [rsp + 0x68]
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1800a7b10
mov rbx, qword [rsp + 0x180]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x78], rax
mov r8d, 0x31
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x70]
call fcn.1800251e0
mov rax, qword [r15]
cmp qword [rax + 0x18], 0
setne byte [rsp + 0x68]
jmp 0x1800739f9
mov r13, qword [rbp - 0x18]
cmp r13, 0x10
jb 0x180073a35
lea rdx, [r13 + 1]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180073a30
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180073a30
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov byte [rsp + 0x68], 1
jmp 0x1800739f9
mov r13, qword [rbp - 0x18]
cmp r13, 0x10
jb 0x180073b1f
lea rdx, [r13 + 1]
mov rcx, qword [rbp - 0x30]
mov r8, rcx
cmp rdx, 0x1000
jb 0x180073b1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x18007464d
call fcn.1800a7360
mov eax, r12d
jmp 0x180073a39
mov r13, qword [rbp - 0x18]
cmp r13, 0x10
jb 0x180073b63
lea rdx, [r13 + 1]
mov rcx, qword [rbp - 0x30]
mov r8, rcx
cmp rdx, 0x1000
jb 0x180073b5e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x18007464d
call fcn.1800a7360
mov eax, 1
jmp 0x180073a39
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x44], eax
mov ecx, dword [rsp + 0x58]
mov dword [rsp + 0x50], ecx
mov edx, dword [rsp + 0x40]
jmp 0x180073c9c
mov r12d, 0xa8
mov r10d, dword [r15 + 0x18]
add r10d, dword [r13]
mov dword [rsp + 0x50], r10d
mov r8d, dword [rsp + 0x50]
mov dword [rsp + 0x70], r8d
mov r9d, dword [rsp + 0x50]
lea r13, [0x1800704d0]
jmp 0x180074568
mov rcx, qword [rbp - 0x70]
mov r14d, dword [rbp - 0x68]
lea r13, [0x1800704d0]
jmp 0x180073c22
mov r13, qword [rbp - 0x18]
cmp r13, 0x10
jb 0x180073c09
lea rdx, [r13 + 1]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180073c04
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007464d
call fcn.1800a7360
mov eax, 3
jmp 0x180073a39
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov edx, dword [rsp + 0x58]
mov dword [rsp + 0x40], edx
mov r12d, r14d
mov r8d, dword [rsp + 0x50]
mov dword [rsp + 0x70], r8d
mov r9d, dword [rsp + 0x50]
mov dword [rsp + 0x44], r9d
mov r10d, dword [rsp + 0x58]
mov dword [rsp + 0x50], r10d
lea eax, [r14 + 0x834]
cmp r12d, eax
jae 0x18007460e
cmp r12d, 0x1ce
ja 0x18007435d
je 0x1800739f9
cmp r12d, 0x11f
ja 0x180074095
je 0x180074088
mov eax, r12d
sub eax, 0x17
je case.0x18007335d.27
sub eax, 0x91
je 0x1800739f9
cmp eax, 0x1b
jne 0x180074571
xor r12d, r12d
cmp ebx, dword [rsi + 4]
jne 0x180073cab
mov dword [rsp + 0x40], 1
jmp 0x180073cb3
test edx, edx
je 0x180073e40
mov r13d, 0x4e
nop dword [rax]
cmp r13d, 0x4e
jne 0x180073e27
mov edi, r12d
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x58], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180084f10
mov dword [rsp + 0x48], 5
mov rax, qword [rsi + 8]
mov ecx, dword [rax]
dec ecx
mov dword [rsp + 0x58], ecx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180084f10
mov ebx, 1
mov ecx, dword [rsi + 4]
cmp ecx, ebx
jle 0x180073de1
mov r12d, 4
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsi + 8]
mov edx, dword [rax + r12]
mov r8d, dword [rax + r12 - 4]
cmp edx, r8d
jle 0x180073dd4
sub edx, r8d
mov r14d, edx
nop dword [rax + rax]
mov eax, dword [rsi + 4]
sub eax, edi
mov dword [rsp + 0x58], eax
lea r8, [rsp + 0x58]
xor edx, edx
lea ecx, [rdx + 0x7c]
call fcn.18004e050
mov dword [rsp + 0x78], eax
mov eax, ebx
sub eax, edi
mov dword [rsp + 0x48], eax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x78]
call fcn.180084f10
mov edi, ebx
sub r14, 1
jne 0x180073d80
mov ecx, dword [rsi + 4]
inc ebx
add r12, 4
cmp ebx, ecx
jl 0x180073d60
xor r12d, r12d
sub ecx, edi
mov dword [rsp + 0x58], ecx
lea r8, [rsp + 0x58]
xor edx, edx
lea ecx, [rdx + 0x7c]
call fcn.18004e050
mov dword [rsp + 0x78], eax
mov eax, ebx
sub eax, edi
mov dword [rsp + 0x48], eax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x78]
call fcn.180084f10
add r13d, 0x9d
cmp r13d, 0xeb
jb 0x180073cc0
jmp 0x180074033
mov r14d, 0xc5
nop word [rax + rax]
cmp r14d, 0xc5
je 0x180073f0a
cmp r14d, 0x172
jne 0x18007401f
mov r14d, 0x172
mov dword [rsp + 0x48], 1
lea rax, [rsp + 0x58]
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
cmp ebx, dword [rsi + 4]
jne 0x180073f71
mov dword [rsp + 0x58], r12d
call fcn.180084f10
mov ebx, r12d
cmp dword [rsi + 4], 0
jle 0x18007401f
mov rdi, r12
nop dword [rax + rax]
mov dword [rsp + 0x48], 5
mov rax, qword [rsi + 8]
mov ecx, dword [rax + rdi]
dec ecx
mov dword [rsp + 0x58], ecx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180084f10
inc ebx
lea rdi, [rdi + 4]
cmp ebx, dword [rsi + 4]
jl 0x180073ec0
jmp 0x18007401f
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x58], r12d
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180084f10
mov ebx, r12d
mov rcx, r12
movsxd rax, dword [rsi + 4]
test eax, eax
jle 0x18007401f
mov rdx, rax
mov rax, qword [rsi + 8]
cmp dword [rax], 0
je 0x180073e6a
inc ebx
inc rcx
add rax, 4
cmp rcx, rdx
jl 0x180073f55
jmp 0x18007401f
mov dword [rsp + 0x58], 1
call fcn.180084f10
mov ebx, r12d
cmp dword [rsi + 4], 0
jle 0x18007401f
mov rdi, r12
nop
mov rax, qword [rsi + 8]
mov dword [rsp + 0x48], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
cmp dword [rdi + rax], r8d
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
jne 0x180073fc9
mov dword [rsp + 0x58], r12d
jmp 0x18007400b
mov dword [rsp + 0x58], 1
call fcn.180084f10
mov dword [rsp + 0x48], 5
mov rax, qword [rsi + 8]
mov ecx, dword [rax + rdi]
dec ecx
mov dword [rsp + 0x58], ecx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180084f10
inc ebx
add rdi, 4
cmp ebx, dword [rsi + 4]
jl 0x180073f90
add r14d, 0xad
cmp r14d, 0x21f
jb 0x180073e50
mov dword [rsp + 0x48], 4
mov eax, dword [rsi + 0x10]
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180084f10
mov r12d, 0xc3
mov r9d, dword [rsp + 0x44]
mov r10d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x70]
lea r13, [0x1800704d0]
jmp 0x18007456d
mov dword [rsp + 0x68], 3
jmp 0x180074571
mov eax, r12d
sub eax, 0x157
je 0x1800742bb
cmp eax, 0x1b
jne 0x180074571
mov ecx, dword [rsi + 0x10]
test ecx, ecx
je 0x180074113
sub ecx, 1
je 0x1800740c1
cmp ecx, 1
jne 0x180074589
mov r14d, 0xfd
nop word [rax + rax]
cmp r14d, 0x5be9
ja 0x180074589
cmp r14d, 0xfd
je 0x180074270
cmp r14d, 0x1fa0
je 0x18007411e
cmp r14d, 0x3e43
jne 0x1800742af
mov r9d, dword [rsp + 0x44]
mov r10d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x70]
mov edx, dword [rsp + 0x40]
mov r12d, 0x172
jmp 0x180074571
mov dword [rsp + 0x48], 0x20
mov eax, dword [rsi + 0x18]
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180084f10
mov dword [rsp + 0x48], 4
mov eax, dword [rsi + 0x1c]
dec eax
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180084f10
mov dword [rsp + 0x48], 1
mov eax, dword [rsi + 0x20]
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180084f10
mov ecx, dword [rsi + 0x10]
sub ecx, 1
je 0x1800741d8
cmp ecx, 1
je 0x1800741d0
mov eax, 0xffffffff
jmp 0x1800741fd
mov eax, dword [rsi + 4]
imul eax, dword [rsi]
jmp 0x1800741fd
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x127
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.18003e910
xor ebx, ebx
xor edi, edi
mov r14d, 0x1fa0
movsxd r12, eax
test eax, eax
jle 0x1800742af
mov ebx, eax
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rsi + 0x1c]
mov dword [rsp + 0x48], eax
mov rax, qword [rsi + 0x28]
mov eax, dword [rax + rdi*4]
cdq
xor eax, edx
sub eax, edx
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180084f10
inc rdi
cmp rdi, r12
jl 0x180074220
add r14d, 0x1ea3
jmp 0x1800740d0
cmp qword [rsi + 0x28], 0
je 0x180074589
mov dword [rsp + 0x48], 0x20
mov eax, dword [rsi + 0x14]
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SHSetFolderPathW
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180084f10
add r14d, 0x1ea3
jmp 0x1800740d0
mov r8d, dword [r15]
imul r8d, dword [r15 + 0x18]
mov r9d, dword [r15 + 4]
imul r9d, dword [r15 + 0x18]
mov dword [rsp + 0x44], r9d
mov eax, dword [rcx]
test eax, eax
jle 0x1800742f9
mov rdx, r11
nop word [rax + rax]
mov rcx, qword [rdx]
add r8d, dword [rcx]
add r9d, dword [rcx + 4]
lea rdx, [rdx + 8]
sub rax, 1
jne 0x1800742e0
mov dword [rsp + 0x44], r9d
mov eax, r8d
cdq
idiv r10d
mov r8d, eax
mov dword [rsp + 0x70], eax
test edx, edx
jne 0x18007431a
mov eax, r9d
cdq
idiv r10d
test edx, edx
je 0x18007456d
mov r13, qword [rbp - 0x18]
cmp r13, 0x10
jb 0x180074356
mov rcx, qword [rbp - 0x30]
lea rdx, [r13 + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180074351
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007464d
call fcn.1800a7360
xor eax, eax
jmp 0x180073a39
mov eax, r12d
sub eax, 0x206
je 0x180074542
sub eax, 0x1b
je 0x18007431a
sub eax, 0x94
je 0x1800744fa
sub eax, 0xaf
je 0x1800743dd
cmp eax, 0xaf
jne 0x180074571
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 4]
mov rcx, rsi
call fcn.180035fd0
nop
mov r13, qword [rbp - 0x18]
cmp r13, 0x10
jb 0x180073b63
lea rdx, [r13 + 1]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180073b5e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jmp 0x180073b58
xor r14d, r14d
mov r13, qword [rbp - 0x70]
mov eax, dword [r13]
test eax, eax
jle 0x180074442
mov rdi, r11
nop
mov dword [rsp + 0x20], 0x101
xor r9d, r9d
mov r8, rsi
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rdi]
call fcn.180086590
test rax, rax
je 0x18007431a
test byte [rax + 0xc], 4
je 0x180074432
mov ecx, dword [r15]
cmp dword [rax + 0x10], ecx
jne 0x18007431a
mov ecx, dword [r15 + 4]
cmp dword [rax + 0x14], ecx
jne 0x18007431a
inc r14d
add rdi, 8
mov eax, dword [r13]
cmp r14d, eax
jl 0x1800743f0
xor r14d, r14d
test eax, eax
jle 0x180074483
mov rdi, qword [rbp - 0x80]
nop dword [rax]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x8c
mov qword [rsp + 0x20], r15
mov r9, qword [rdi]
xor r8d, r8d
mov rdx, rsi
xor ecx, ecx
call fcn.180072300
inc r14d
lea rdi, [rdi + 8]
cmp r14d, dword [r13]
jl 0x180074450
xor edx, edx
mov r8d, reloc.SHELL32.dll_SHSetInstanceExplorer
mov rcx, r15
call fcn.18001ac90
xor edi, edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbp - 0x48]
lea ecx, [rdi + 0x5e]
call fcn.180028bb0
mov dword [rbp - 0x58], 1
mov dword [rsp + 0x58], edi
lea r13, [0x1800704d0]
mov qword [rbp - 0x78], r13
mov dword [rsp + 0x20], 0x69
lea r9, [rbp - 0x78]
lea r8, [rbp - 0x58]
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.180035180
mov r9d, dword [rsp + 0x44]
mov r10d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x70]
jmp 0x18007456d
xor edi, edi
mov dword [rbp - 0x58], edi
mov dword [rsp + 0x58], 1
mov qword [rbp - 0x78], r13
mov dword [rsp + 0x20], 0x69
lea r9, [rbp - 0x78]
lea r8, [rbp - 0x58]
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.180035180
cmp eax, 0xffffffff
je 0x1800745cf
mov r9d, dword [rsp + 0x44]
mov r10d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x70]
jmp 0x18007456d
mov eax, r9d
cdq
idiv r10d
mov r9d, eax
mov qword [rbp - 0x50], r15
mov eax, dword [rsi + 8]
imul eax, r9d
add eax, r8d
cdqe
imul rcx, rax, 0x1c
add rcx, qword [rsi + 0x10]
mov qword [rbp - 0x48], rcx
mov dword [rsp + 0x44], r9d
mov edx, dword [rsp + 0x40]
add r12d, 0xaf
mov rcx, qword [rbp - 0x70]
mov r11, qword [rbp - 0x80]
mov r14d, dword [rbp - 0x68]
jmp 0x180073c43
mov r13, qword [rbp - 0x18]
cmp r13, 0x10
jb 0x1800745c5
lea rdx, [r13 + 1]
mov rcx, qword [rbp - 0x30]
cmp rdx, 0x1000
mov rax, rcx
jb 0x1800745c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007464d
call fcn.1800a7360
mov eax, 0xffffffff
jmp 0x180073a39
mov r13, qword [rbp - 0x18]
cmp r13, 0x10
jb 0x180074607
lea rdx, [r13 + 1]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180074602
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007464d
call fcn.1800a7360
mov eax, edi
jmp 0x180073a39
mov r13, qword [rbp - 0x18]
cmp r13, 0x10
jb 0x180073a35
lea rdx, [r13 + 1]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180073a30
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180073a30
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.18001d6b0
nop
call fcn.18001d530
int3