Function at 0x18005e3f0
Capabilities:
Check for software breakpoints
Get common file path

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2438]
mov eax, 0x2538
call fcn.1800a7aa0
sub rsp, rax
movaps xmmword [rsp + 0x2520], xmm6
mov rax, qword [0x1800cd230]
xor rax, rsp
mov qword [rbp + 0x2410], rax
mov r12, qword [rbp + 0x24a0]
lea r11, [0x180000000]
mov rsi, qword [rbp + 0x24a8]
mov r14, r8
mov qword [rsp + 0x78], rcx
mov r8, rdx
mov r10, qword [rsp + 0x78]
xor edi, edi
mov qword [rbp - 0x50], rdx
mov rdx, rcx
mov ecx, dword [rbp + 0x24b0]
mov r15d, ecx
mov qword [rsp + 0x70], r9
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x80], rsi
lea eax, [rcx + 0xb]
mov dword [rsp + 0x58], ecx
cmp ecx, eax
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0x40], al
mov rax, qword [rsp + 0x78]
jae 0x18005eb13
mov ecx, dword [rsp + 0x68]
mov r11d, dword [rsp + 0x68]
movss xmm6, dword [0x1800c4900]
mov r13, qword [rbp - 0x58]
mov dword [rsp + 0x44], ecx
mov ecx, r15d
mov qword [rbp - 0x60], r10
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x60], r11d
lea eax, [r15 - 0xf3]
movabs rbx, 0x8000000000000000
lea r11, [0x180000000]
cmp eax, 0x39
ja case.default.0x18005e4eb
movzx eax, byte [r11 + rax + 0x5ecb4]
mov ecx, dword [r11 + rax*4 + 0x5ec84]
add rcx, r11
jmp rcx
cmp qword [r13], rdi
je 0x18005e556
mov ebx, SHSetInstanceExplorer
cmp ebx, 0xac
je 0x18005e514
cmp ebx, 0x6218
jne 0x18005e53e
inc qword [r14 + 0x20]
mov rax, rsi
jmp 0x18005ec58
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 0x19]
call fcn.18005fd80
mov rcx, rax
test rax, rax
je 0x18005e9cc
mov qword [rax], rsi
mov rax, qword [r13 + 8]
mov qword [rcx + 8], rax
mov qword [r13 + 8], rcx
add ebx, 0x616c
cmp ebx, 0xc2d8
jbe 0x18005e4f8
movabs rbx, 0x8000000000000000
mov qword [r13], rsi
xorps xmm1, xmm1
inc qword [r14 + 0x18]
mov rcx, qword [r14 + 0x18]
inc qword [r14 + 0x20]
test rcx, rcx
js 0x18005e575
cvtsi2ss xmm1, rcx
jmp 0x18005e58a
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
mov rcx, qword [r14 + 0x10]
xorps xmm0, xmm0
mov rdx, qword [r14 + 0x28]
test rcx, rcx
js 0x18005e5a1
cvtsi2ss xmm0, rcx
jmp 0x18005e5b6
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mulss xmm0, dword [rdx + 8]
comiss xmm1, xmm0
jbe 0x18005e6a5
mov qword [rsp + 0x28], rdi
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 0x3b
mov rdx, r14
xor ecx, ecx
call fcn.1800358e0
mov rcx, qword [r14 + 0x10]
xorps xmm1, xmm1
mov rdx, qword [r14 + 0x28]
test rcx, rcx
js 0x18005e5f8
cvtsi2ss xmm1, rcx
jmp 0x18005e60d
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
mov rcx, qword [r14 + 0x18]
xorps xmm2, xmm2
movss xmm3, dword [rdx + 8]
test rcx, rcx
js 0x18005e625
cvtsi2ss xmm2, rcx
jmp 0x18005e63a
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm2, rax
addss xmm2, xmm2
movaps xmm0, xmm3
mulss xmm0, xmm1
comiss xmm2, xmm0
jbe 0x18005e6a5
mulss xmm1, dword [rdx + 0xc]
cmp byte [rdx + 0x10], dil
jne 0x18005e658
mulss xmm3, xmm1
movaps xmm1, xmm3
comiss xmm1, dword [0x1800c48fc]
jae 0x18005e9cc
xor ecx, ecx
comiss xmm1, xmm6
jb 0x18005e678
subss xmm1, xmm6
comiss xmm1, xmm6
jae 0x18005e678
mov rcx, rbx
cvttss2si rax, xmm1
mov r9, r14
lea rdx, [rsp + 0x68]
xor r8d, r8d
add rax, rcx
mov ecx, 0x89
mov qword [rsp + 0x68], rax
call fcn.18005ed60
test al, al
jne 0x18005e6a5
mov rsi, rdi
mov qword [rbp - 0x80], rdi
lea r11, [0x180000000]
mov r10, qword [rsp + 0x50]
mov edx, dword [rsp + 0x44]
mov ecx, dword [rbp + 0x24b0]
inc r15d
lea eax, [rcx + 0xb]
mov dword [rsp + 0x58], r15d
cmp r15d, eax
jae 0x18005eb2c
mov r8, qword [rbp - 0x50]
mov r9, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
jmp 0x18005e4b6
mov eax, dword [0x1800bfe04]
mov dword [rbp - 0x30], eax
mov eax, dword [0x1800bfe0c]
mov dword [rbp - 0x2c], eax
movzx eax, word [0x1800bfe10]
mov word [rbp - 0x28], ax
jmp case.0x18005e4eb.254
lea r9, [rbp - 0x58]
mov byte [rsp + 0x48], dil
lea r8, [rsp + 0x48]
mov qword [rsp + 0x20], rsi
mov edx, 0xa7
mov rcx, r14
call fcn.18008d060
test rax, rax
jne 0x18005ec58
mov r13, qword [rbp - 0x58]
jmp 0x18005e6a5
mov ebx, dword [rdx]
mov edx, dword [r12]
cmp ebx, edx
jge case.0x18005e4eb.254
mov ecx, ebx
mov eax, 1
shl eax, cl
sub edx, ebx
or eax, dword [r8]
mov ecx, dword [r9]
cmp ecx, 2
jne 0x18005e77a
cmp edx, ebx
jle 0x18005e7e1
cmp edx, 9
jg 0x18005e7ce
mov ecx, edx
mov edx, 1
shl edx, cl
or edx, eax
movsxd rax, dword [rsi]
mov dword [r14 + rax*4], edx
inc dword [rsi]
jmp 0x18005e7ce
mov dword [rbp - 0x68], eax
lea r9, [rbp - 0x70]
lea eax, [rbx + 1]
mov dword [rsp + 0x30], 0x114
mov dword [rsp + 0x68], eax
mov r8, r14
lea eax, [rcx - 1]
mov dword [rbp - 0x78], edx
mov dword [rbp - 0x70], eax
lea rdx, [rbp - 0x68]
mov eax, dword [rsi]
lea rcx, [rsp + 0x68]
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
call fcn.18005e3f0
mov r8, qword [rbp - 0x50]
mov r9, qword [rsp + 0x70]
mov dword [rsi], eax
mov edx, dword [r12]
inc ebx
cmp ebx, edx
jl 0x18005e741
jmp 0x18005e6a5
lea r11, [0x180000000]
mov r15d, 0x115
jmp case.0x18005e4eb.254
mov eax, dword [0x1800bfe14]
lea rdx, [rbp - 0x24]
mov r8d, 0xa
mov dword [rbp - 0x28], eax
movzx eax, word [0x1800bfe18]
mov word [rbp - 0x24], ax
lea ecx, [r8 - 7]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ltow]
mov r8d, 0xa
lea rdx, [rbp - 0x22]
lea ecx, [r8 - 8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultow]
lea rcx, [rbp - 0x30]
mov dword [rbp - 0x20], 0x2e
sub rcx, 2
nop
cmp word [rcx + 2], di
lea rcx, [rcx + 2]
jne 0x18005e840
mov eax, dword [0x1800bdc9c]
mov dword [rcx], eax
movzx eax, word [0x1800bdca0]
mov word [rcx + 4], ax
jmp 0x18005e6a5
mov edx, 0x36
mov byte [rsp + 0x40], 1
mov dword [rsp + 0x44], edx
mov r10, rdi
mov qword [rbp - 0x60], rdi
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x60], 0xffffffff
jmp 0x18005e6b5
test rsi, rsi
jne case.0x18005e4eb.254
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
test r14, r14
je case.0x18005e4eb.254
mov r15d, 0xcc
nop dword [rax + rax]
cmp r15d, 0xcc
je 0x18005e96f
cmp r15d, 0x4620
jne 0x18005e99c
cmp qword [r14 + 0x10], rdi
je 0x18005e924
mov rsi, rdi
nop dword [rax]
nop word [rax + rax]
mov rbx, rdi
mov rax, qword [r14 + 0x10]
mov rcx, qword [rax + rsi]
mov rcx, qword [rcx + rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add rbx, 8
cmp rbx, 0x40
jl 0x18005e8e3
mov rcx, qword [r14 + 0x10]
mov rcx, qword [rcx + rsi]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add rsi, 8
cmp rsi, 0x88
jl 0x18005e8e0
mov rcx, qword [r14 + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp qword [r14 + 0x18], rdi
je 0x18005e952
mov rbx, rdi
nop dword [rax]
mov rcx, qword [r14 + 0x18]
mov rcx, qword [rbx + rcx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add rbx, 8
cmp rbx, 0x18
jl 0x18005e930
mov rcx, qword [r14 + 0x18]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xorps xmm0, xmm0
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x30], xmm0
movups xmmword [r14 + 0x40], xmm0
jmp 0x18005e99c
mov rcx, qword [r14 + 0x20]
test rcx, rcx
je 0x18005e97e
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [r14 + 0x28]
test rcx, rcx
je 0x18005e98d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [r14 + 0x30]
test rcx, rcx
je 0x18005e99c
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add r15d, 0x4554
cmp r15d, 0x8aa8
jbe 0x18005e8b0
mov rsi, qword [rbp - 0x80]
mov r15d, dword [rsp + 0x58]
jmp 0x18005e6a5
mov edx, dword [rsp + 0x44]
mov r10, qword [rsp + 0x50]
jmp 0x18005e6bb
mov rax, rdi
jmp 0x18005ec58
mov r9d, 0x4e
mov dword [rbp - 0x1a], 0x6c
xor r8d, r8d
lea rcx, [rbp - 0x30]
mov edx, 0xef
call fcn.180042280
mov rcx, qword [r14]
lea r9, [rsp + 0x58]
mov r15, rax
mov qword [rsp + 0x68], rcx
lea rax, [rsp + 0x68]
mov dword [rsp + 0x58], 0x14
xor ecx, ecx
mov qword [rsp + 0x20], rax
xor edx, edx
mov r8d, ILFree
call fcn.180098620
cmp al, 2
jne 0x18005eae9
nop dword [rax + rax]
mov r8d, 0x2000
lea rdx, [rbp + 0x410]
mov rcx, rsi
call r15
test eax, eax
jle 0x18005eae9
mov rdx, qword [r12 + 0x18]
mov rcx, qword [r12 + 0x10]
movsxd rsi, eax
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x18005ea95
lea rax, [rcx + rsi]
mov qword [r12 + 0x10], rax
mov rax, r12
cmp rdx, 0x10
jb 0x18005ea79
mov rax, qword [r12]
lea rbx, [rax + rcx]
mov r8, rsi
mov rcx, rbx
lea rdx, [rbp + 0x410]
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + rbx], dil
jmp 0x18005eaaf
lea r9, [rbp + 0x410]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
mov rcx, r12
call fcn.180005890
mov rax, qword [r14]
lea r9, [rsp + 0x58]
mov qword [rsp + 0x68], rax
xor edx, edx
lea rax, [rsp + 0x68]
mov dword [rsp + 0x58], 0x14
xor ecx, ecx
mov qword [rsp + 0x20], rax
mov r8d, ILFree
call fcn.180098620
mov rsi, qword [rbp - 0x80]
cmp al, 2
je 0x18005ea30
mov rbx, qword [rsp + 0x50]
mov r13, qword [rsp + 0x70]
mov r12d, dword [rsp + 0x60]
mov r15d, 0x12a
jmp case.0x18005eb6e.252
mov eax, dword [rsi]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x50]
jmp 0x18005ec58
mov edx, dword [rsp + 0x68]
mov qword [rbp - 0x60], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x50], r10
mov dword [rsp + 0x44], edx
mov rbx, qword [rsp + 0x50]
mov r15d, ecx
mov r13, qword [rsp + 0x70]
mov r12d, dword [rsp + 0x60]
lea eax, [rcx - 0xb]
cmp r15d, eax
jbe case.0x18005eb6e.242
lea eax, [r15 - 0xf2]
cmp eax, 0x38
ja case.default.0x18005eb6e
movzx eax, byte [r11 + rax + 0x5ed1c]
mov ecx, dword [r11 + rax*4 + 0x5ecf0]
add rcx, r11
jmp rcx
mov rax, qword [rsi]
lea r9, [rbp - 0x48]
mov rcx, qword [r14]
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x48], rax
mov r8d, 1
mov rax, qword [rcx]
call qword [rax + reloc.SHELL32.dll_SHSetFolderPathW]
test rax, rax
jne case.0x18005eb6e.252
mov rax, 0xffffffffffffffff
jmp 0x18005ec58
mov rcx, qword [r14]
test rcx, rcx
je case.0x18005eb6e.252
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r14], rdi
jmp case.0x18005eb6e.252
mov r13, rdi
jmp case.0x18005eb6e.252
mov rbx, rsi
jmp case.0x18005eb6e.252
mov rax, qword [rbp - 0x40]
mov rbx, qword [rax + 0x10]
jmp case.0x18005eb6e.252
lea rax, [rbp - 0x10]
mov r9d, r12d
mov r8, r13
mov qword [rsp + 0x20], rax
mov rcx, r10
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov edx, dword [rsp + 0x60]
lea r8, [rbp + 0x200]
mov rcx, qword [rbp - 0x60]
mov r9d, 0x104
mov esi, eax
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
test esi, esi
je 0x18005ec0d
mov byte [rsp + 0x40], dil
jmp case.0x18005eb6e.252
cmp byte [rsp + 0x40], dil
je case.0x18005eb6e.252
mov ecx, dword [rsp + 0x44]
lea r9, [rbp - 0x10]
mov r8d, r12d
mov rdx, r13
call qword [sym.imp.SHELL32.dll_SHSetFolderPathW]
jmp case.0x18005eb6e.252
mov r12d, edi
mov ecx, dword [rbp + 0x24b0]
mov rsi, qword [rbp - 0x80]
lea r11, [0x180000000]
mov edx, dword [rsp + 0x44]
dec r15d
mov r10, qword [rsp + 0x50]
jmp 0x18005eb3e
mov rax, qword [rbp - 0x38]
jmp 0x18005ec58
mov rax, rbx
mov rcx, qword [rbp + 0x2410]
xor rcx, rsp
call fcn.1800a7b10
movaps xmm6, xmmword [rsp + 0x2520]
add rsp, 0x2538
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret