Function at 0x140063e50
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x6d0
mov qword [rsp + 0x90], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov rax, qword [0x140398250]
xor rax, rsp
mov qword [rsp + 0x6c0], rax
xor r8d, r8d
lea rdx, str.CBaseFuncMgr::FN_FindRegisteredDriverSet
lea rcx, [rsp + 0x58]
call fcn.1400075a0
nop
xor r15d, r15d
mov esi, r15d
mov dword [rsp + 0x2c], r15d
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r8, qword [rax]
xor edx, edx
mov rcx, rax
call qword [r8 + 0x58]
test rax, rax
jne 0x140064265
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
lea edx, [r15 + 1]
call qword [rax + 0x28]
mov rdi, rax
mov qword [rsp + 0x48], rax
mov edx, 0x104
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea rdx, [0x1402f17a8]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov r11, qword [rdi]
lea r9d, [r15 + 1]
xor r8d, r8d
lea rdx, [rsp + 0xa0]
mov rcx, rdi
call qword [r11 + 0x18]
mov dword [rsp + 0x40], eax
mov ebx, r15d
mov dword [rsp + 0x28], ebx
test eax, eax
jle 0x14006424e
nop word [rax + rax]
test esi, esi
jne 0x14006424e
lea rcx, [rsp + 0x68]
call fcn.140105848
nop
mov rax, qword [rdi]
xor r9d, r9d
mov r8d, ebx
lea rdx, [rsp + 0x68]
mov rcx, rdi
call qword [rax + 0x30]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x38]
mov r12d, eax
mov dword [rsp + 0x30], eax
mov edi, r15d
mov dword [rsp + 0x24], r15d
test eax, eax
jle 0x1400641f1
test esi, esi
jne 0x1400641ed
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov r9, qword [rax]
mov r8d, edi
lea rdx, [rsp + 0x2b0]
mov rcx, rax
call qword [r9 + 0x40]
call fcn.140102a14
mov r11, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x140064243
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
mov rax, qword [rsp + 0x78]
mov rbp, rax
mov qword [rsp + 0x50], rax
mov esi, r15d
mov dword [rsp + 0x20], r15d
mov r14, r15
test rax, rax
jle 0x1400641bf
nop word [rax + rax]
test r14, r14
js 0x14006423d
cmp r14, rax
jge 0x14006423d
mov rax, qword [rsp + 0x70]
mov r12, qword [rax + r14*8]
lea rcx, [r12 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x140064170
cmp dword [rdi + 0x10], 0
jl 0x14006408c
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14006408c
call fcn.140006190
mov rbx, rax
or ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14006407e
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
add rbx, 0x18
mov qword [rsp + 0x38], rbx
jmp 0x140064170
movsxd rsi, dword [r12 - 0x10]
test esi, esi
jne 0x1400640ed
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x14006416c
cmp dword [rdi + 0x10], 0
jge 0x1400640bf
cmp dword [rbx - 0xc], 0
jl 0x140064211
mov dword [rbx - 0x10], r15d
mov word [rbx], r15w
jmp 0x14006416c
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x1400640d9
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
jmp 0x14006416c
test r12, r12
je 0x140064232
mov r13d, dword [rbx - 0x10]
mov rbp, r12
sub rbp, rbx
sar rbp, 1
test esi, esi
js 0x140064227
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x14006412d
mov edx, esi
lea rcx, [rsp + 0x38]
call fcn.140005e40
mov rbx, qword [rsp + 0x38]
lea rdi, [rsi + rsi]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, rdi
add rdx, rdx
cmp rbp, r13
ja 0x14006414e
lea r8, [rbx + rbp*2]
call fcn.1402457b4
jmp 0x140064156
mov r8, r12
call fcn.1402471ac
cmp esi, dword [rbx - 0xc]
jg 0x14006421c
mov dword [rbx - 0x10], esi
mov word [rdi + rbx], r15w
mov rbp, qword [rsp + 0x50]
mov esi, dword [rsp + 0x20]
mov rdx, rbx
lea rcx, [rsp + 0x2b0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x1400641ab
inc esi
mov dword [rsp + 0x20], esi
inc r14
movsxd rax, esi
cmp rax, rbp
jge 0x1400641a0
mov rax, qword [rsp + 0x78]
jmp 0x140064020
mov edi, dword [rsp + 0x24]
mov r12d, dword [rsp + 0x30]
jmp 0x1400641bf
mov esi, 1
mov dword [rsp + 0x2c], esi
mov edi, dword [rsp + 0x24]
mov r12d, dword [rsp + 0x30]
jmp 0x1400641c3
mov esi, dword [rsp + 0x2c]
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400641de
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc edi
mov dword [rsp + 0x24], edi
cmp edi, r12d
jl 0x140063fa4
mov ebx, dword [rsp + 0x28]
lea rcx, [rsp + 0x68]
call fcn.140105ce4
inc ebx
mov dword [rsp + 0x28], ebx
cmp ebx, dword [rsp + 0x40]
jge 0x14006424e
mov rdi, qword [rsp + 0x48]
jmp 0x140063f50
mov ecx, 0x80070057
call fcn.140005210
int3
mov ecx, 0x80070057
call fcn.140005210
int3
mov ecx, 0x80070057
call fcn.140005210
int3
mov ecx, 0x80070057
call fcn.140005210
int3
call fcn.140102ffc
nop
mov ecx, 0x80004005
call fcn.140005210
nop
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x30]
cmp esi, 1
jne 0x14006428b
mov rcx, qword [0x1403b9770]
mov rax, qword [rcx]
mov edx, reloc.WSOCK32.dll_gethostbyaddr
call qword [rax + 0x18]
test eax, eax
je 0x14006428b
mov r15d, 0x80010068
mov dword [0x1403b95bc], 0x68
mov r9d, r15d
lea r8, str.return__08x
mov edx, 2
lea rcx, [rsp + 0x58]
call fcn.140007780
nop
lea rcx, [rsp + 0x58]
call fcn.140007730
mov eax, r15d
mov rcx, qword [rsp + 0x6c0]
xor rcx, rsp
call fcn.140245660
lea r11, [rsp + 0x6d0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret