Function at 0x140002170
Capabilities:
Get disk information
Get process image filename

Disassembly:
push rbp
push r12
push r14
push r15
lea rbp, [rsp - 0x848]
sub rsp, 0x948
mov rax, qword [0x140041018]
xor rax, rsp
mov qword [rbp + 0x830], rax
mov r14, rdx
mov r8d, ecx
xor r12d, r12d
xor edx, edx
mov ecx, 0x400
mov word [rbp + 0x20], r12w
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r15, rax
test rax, rax
je 0x1400022f8
mov qword [rsp + 0x980], rbx
lea rdx, [rbp + 0x230]
mov qword [rsp + 0x988], rsi
mov r8d, 0x104
mov rcx, r15
mov qword [rsp + 0x940], rdi
call qword [sym.imp.KERNEL32.dll_K32GetProcessImageFileNameW]
test eax, eax
je 0x1400022d5
lea rdx, [rbp + 0x440]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
test eax, eax
je 0x1400022c4
mov edi, r12d
cmp word [rbp + 0x440], di
je 0x1400022c4
lea rbx, [rbp + 0x440]
movsxd rax, edi
lea rsi, [rbp + 0x440]
lea rdx, [0x14003b810]
lea rsi, [rsi + rax*2]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x1400022b3
lea rdx, [0x14003b818]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x1400022b3
movzx eax, word [rbx]
lea rdx, [rsp + 0x50]
mov word [rsp + 0x40], ax
lea rcx, [rsp + 0x40]
movzx eax, word [rbx + 2]
mov r8d, 0x64
mov word [rsp + 0x42], ax
mov word [rsp + 0x44], r12w
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
je 0x1400022d5
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rsi, eax
lea rdx, [rsp + 0x50]
mov r8, rsi
lea rcx, [rbp + 0x230]
call fcn.140012ec0
test eax, eax
je 0x140002316
add rbx, 8
add edi, 4
cmp word [rbx], r12w
jne 0x140002226
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x20]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rsi, qword [rsp + 0x988]
mov rbx, qword [rsp + 0x980]
mov rdi, qword [rsp + 0x940]
mov rcx, qword [rbp + 0x830]
xor rcx, rsp
call fcn.140009df0
add rsp, 0x948
pop r15
pop r14
pop r12
pop rbp
ret
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x20]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [rbp + 0x230]
lea rdx, [rdx + rsi*2]
lea rcx, [rbp + 0x20]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.140001e20
mov rbx, rax
cmp r14, rax
je 0x1400023bd
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x14000238f
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x14000238a
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140002400
mov rcx, r8
call fcn.140009e10
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], 0xf
mov byte [r14], r12b
movups xmm0, xmmword [rbx]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r14 + 0x10], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0xf
mov byte [rbx], r12b
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x1400023f6
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400023f1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002400
call fcn.140009e10
mov eax, 1
jmp 0x1400022e0
call fcn.140012b7c
int3