Function at 0x18006fd20
Capabilities:
Get disk information
Link many functions at runtime

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x800]
sub rsp, 0x900
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x950], rbx
mov rax, qword [0x180122010]
xor rax, rsp
mov qword [rbp + 0x7f0], rax
mov rsi, rdx
mov qword [rsp + 0x28], rdx
mov r13, rcx
mov qword [rsp + 0x68], rcx
xor r15d, r15d
mov dword [rsp + 0x20], r15d
lea rcx, [rbp - 0x68]
call fcn.180005c00
nop
test rsi, rsi
jne 0x18006fd95
lea rdx, [rbp - 0x68]
mov rcx, r13
call fcn.180005f58
jmp 0x180070213
lea rdx, str.Kernel32.dll
lea rcx, [rsp + 0x70]
call fcn.180005fa4
nop
call fcn.180073db0
mov rcx, rax
lea rdx, [rsp + 0x70]
call fcn.180073e50
mov rdi, rax
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x70]
call fcn.180005bf8
lea rdx, str.Psapi.dll
lea rcx, [rsp + 0x40]
call fcn.180005fa4
nop
call fcn.180073db0
mov rcx, rax
lea rdx, [rsp + 0x40]
call fcn.180073e50
mov r14, rax
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
call fcn.180005bf8
test r14, r14
je 0x180070207
test rdi, rdi
je 0x180070207
lea rcx, [rbp - 0x10]
call fcn.180069830
cmp dword [rbp - 0xc], 6
jb 0x18006fe9d
lea rdx, str.QueryFullProcessImageNameW
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x18006fe9d
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp - 0x10]
call fcn.1800a0440
mov dword [rbp - 0x70], 0x208
lea r9, [rbp - 0x70]
lea r8, [rbp - 0x10]
xor edx, edx
mov rcx, rsi
call rbx
test eax, eax
je 0x18006fe9d
mov eax, dword [rbp - 0x70]
cmp eax, 0x208
jae 0x18006fe84
add rax, rax
cmp rax, 0x412
jae 0x18007025d
mov word [rbp + rax - 0x10], r15w
lea rcx, [rbp - 0x10]
call fcn.1800063e0
mov r8, rax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x68]
call fcn.180006148
lea rcx, [rbp - 0x68]
call fcn.180005ea0
test al, al
je 0x180070143
lea rdx, str.GetProcessImageFileNameW
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x18006fede
lea rdx, str.GetProcessImageFileNameW
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x18006ff3c
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp - 0x10]
call fcn.1800a0440
mov r8d, 0x208
lea rdx, [rbp - 0x10]
mov rcx, rsi
call rbx
lea ecx, [rax - 1]
cmp ecx, 0x206
ja 0x18006ff3c
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x180070251
xor ebx, ebx
mov word [rbp + rax - 0x10], bx
lea rcx, [rbp - 0x10]
call fcn.1800063e0
mov r8, rax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x68]
call fcn.180006148
jmp 0x18006ff3e
xor ebx, ebx
lea rcx, [rbp - 0x68]
call fcn.180005ea0
test al, al
jne 0x180070140
mov ecx, 0x410
call fcn.18009d1b4
mov rdi, rax
xor edx, edx
mov r8d, 0x410
mov rcx, rax
call fcn.1800a0440
mov edx, 0x18
lea rcx, [rbp - 0x48]
call fcn.18000a2b0
lea rcx, [rbp - 0x48]
call fcn.180005e80
nop
lea rdx, [rbp - 0x10]
mov ecx, 0x3fe
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
test eax, eax
je 0x18006ffa7
mov r8d, eax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x48]
call fcn.180081200
mov r12, rbx
lea rcx, [rbp - 0x48]
call fcn.180006d00
test rax, rax
je 0x180070129
lea rcx, [rbp - 0x48]
call fcn.180005c20
mov qword [rbp - 0x70], rax
mov r15, rbx
nop dword [rax]
mov rsi, qword [rax]
add rsi, r15
mov rcx, rsi
call fcn.180006140
cmp rax, 3
jb 0x180070010
mov rcx, rsi
call fcn.180005c20
mov rcx, rax
mov rdx, qword [rax + 0x18]
cmp rdx, 8
jb 0x18006fffc
mov rcx, qword [rax]
cmp word [rcx + 4], 0x5c
jne 0x180070010
cmp rdx, 8
jb 0x18007000c
mov rax, qword [rax]
mov word [rax + 4], bx
mov rcx, rsi
call fcn.180005be8
mov rcx, rax
mov r8d, 0x208
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
jne 0x180070031
mov word [rdi], bx
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp word [rdi + rbx*2], 0
jne 0x180070040
test ebx, ebx
je 0x18007007a
mov r14d, ebx
lea rcx, [rbp - 0x68]
call fcn.180006140
cmp r14, rax
jae 0x18007007a
lea rcx, [rbp - 0x68]
call fcn.180005be8
mov rcx, rax
mov r8d, r14d
mov rdx, rdi
call fcn.1800ab08c
test eax, eax
je 0x18007009e
inc r12
add r15, 0x20
lea rcx, [rbp - 0x48]
call fcn.180006d00
cmp r12, rax
jae 0x18007011f
mov rax, qword [rbp - 0x70]
xor ebx, ebx
jmp 0x18006ffd0
lea rcx, [rbp - 0x30]
call fcn.180005c00
nop
lea rcx, [rbp - 0x68]
call fcn.180005be8
mov ecx, ebx
lea rbx, [rax + rcx*2]
mov rcx, rsi
call fcn.180005be8
mov r8, rax
mov r9, rbx
lea rdx, str._s_s
lea rcx, [rbp - 0x30]
call fcn.18006a830
lea rcx, [rbp - 0x68]
call fcn.180005c20
mov rcx, rax
call fcn.180005c20
mov rbx, rax
lea rcx, [rbp - 0x30]
call fcn.180005c20
mov rcx, rax
call fcn.180005c20
movups xmm2, xmmword [rbx]
movups xmm3, xmmword [rbx + 0x10]
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rax], xmm2
movups xmmword [rax + 0x10], xmm3
lea rcx, [rbp - 0x30]
call fcn.180005bf8
mov r14, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x28]
mov rcx, rdi
call fcn.18009c654
nop
lea rcx, [rbp - 0x48]
call fcn.180005e78
mov rdi, qword [rsp + 0x38]
xor r15d, r15d
lea rcx, [rbp - 0x68]
call fcn.180005ea0
test al, al
je 0x1800701e1
lea rdx, str.GetModuleFileNameExW
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x180070184
lea rdx, str.GetModuleFileNameExW
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x1800701e1
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp - 0x10]
call fcn.1800a0440
mov r9d, 0x208
lea r8, [rbp - 0x10]
xor edx, edx
mov rcx, rsi
call rbx
lea ecx, [rax - 1]
cmp ecx, 0x206
ja 0x1800701e1
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x180070257
mov word [rbp + rax - 0x10], r15w
lea rcx, [rbp - 0x10]
call fcn.1800063e0
mov r8, rax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x68]
call fcn.180006148
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x40]
call fcn.18006bc40
nop
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.180005f0c
nop
lea rcx, [rsp + 0x40]
call fcn.180005bf8
lea rdx, [rbp - 0x68]
mov rcx, r13
call fcn.180005f58
mov dword [rsp + 0x20], 1
lea rcx, [rbp - 0x68]
call fcn.180005bf8
mov rax, r13
mov rcx, qword [rbp + 0x7f0]
xor rcx, rsp
call fcn.18009c630
mov rbx, qword [rsp + 0x950]
add rsp, 0x900
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18009c76c
int3
call fcn.18009c76c
int3
call fcn.18009c76c
int3