Function at 0x18007b070
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 [0x180132010]
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.180005e80
nop
test rsi, rsi
jne 0x18007b0e5
lea rdx, [rbp - 0x68]
mov rcx, r13
call fcn.180005dec
jmp 0x18007b563
lea rdx, str.Kernel32.dll
lea rcx, [rsp + 0x70]
call fcn.180005e38
nop
call fcn.18007caa0
mov rcx, rax
lea rdx, [rsp + 0x70]
call fcn.18007cb40
mov rdi, rax
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x70]
call fcn.180005de4
lea rdx, str.Psapi.dll
lea rcx, [rsp + 0x40]
call fcn.180005e38
nop
call fcn.18007caa0
mov rcx, rax
lea rdx, [rsp + 0x40]
call fcn.18007cb40
mov r14, rax
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
call fcn.180005de4
test r14, r14
je 0x18007b557
test rdi, rdi
je 0x18007b557
lea rcx, [rbp - 0x10]
call fcn.18006d2a0
cmp dword [rbp - 0xc], 6
jb 0x18007b1ed
lea rdx, str.QueryFullProcessImageNameW
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x18007b1ed
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp - 0x10]
call fcn.1800a8e10
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 0x18007b1ed
mov eax, dword [rbp - 0x70]
cmp eax, 0x208
jae 0x18007b1d4
add rax, rax
cmp rax, 0x412
jae 0x18007b5ad
mov word [rbp + rax - 0x10], r15w
lea rcx, [rbp - 0x10]
call fcn.18000608c
mov r8, rax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x68]
call fcn.180005f18
lea rcx, [rbp - 0x68]
call fcn.180005da8
test al, al
je 0x18007b493
lea rdx, str.GetProcessImageFileNameW
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x18007b22e
lea rdx, str.GetProcessImageFileNameW
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x18007b28c
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp - 0x10]
call fcn.1800a8e10
mov r8d, 0x208
lea rdx, [rbp - 0x10]
mov rcx, rsi
call rbx
lea ecx, [rax - 1]
cmp ecx, 0x206
ja 0x18007b28c
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x18007b5a1
xor ebx, ebx
mov word [rbp + rax - 0x10], bx
lea rcx, [rbp - 0x10]
call fcn.18000608c
mov r8, rax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x68]
call fcn.180005f18
jmp 0x18007b28e
xor ebx, ebx
lea rcx, [rbp - 0x68]
call fcn.180005da8
test al, al
jne 0x18007b490
mov ecx, 0x410
call fcn.1800a5b84
mov rdi, rax
xor edx, edx
mov r8d, 0x410
mov rcx, rax
call fcn.1800a8e10
mov edx, 0x18
lea rcx, [rbp - 0x48]
call fcn.180008650
lea rcx, [rbp - 0x48]
call fcn.180006690
nop
lea rdx, [rbp - 0x10]
mov ecx, 0x3fe
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
test eax, eax
je 0x18007b2f7
mov r8d, eax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x48]
call fcn.180089ca0
mov r12, rbx
lea rcx, [rbp - 0x48]
call fcn.180007430
test rax, rax
je 0x18007b479
lea rcx, [rbp - 0x48]
call fcn.180005ea0
mov qword [rbp - 0x70], rax
mov r15, rbx
nop dword [rax]
mov rsi, qword [rax]
add rsi, r15
mov rcx, rsi
call fcn.180005f10
cmp rax, 3
jb 0x18007b360
mov rcx, rsi
call fcn.180005ea0
mov rcx, rax
mov rdx, qword [rax + 0x18]
cmp rdx, 8
jb 0x18007b34c
mov rcx, qword [rax]
cmp word [rcx + 4], 0x5c
jne 0x18007b360
cmp rdx, 8
jb 0x18007b35c
mov rax, qword [rax]
mov word [rax + 4], bx
mov rcx, rsi
call fcn.18000618c
mov rcx, rax
mov r8d, 0x208
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
jne 0x18007b381
mov word [rdi], bx
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp word [rdi + rbx*2], 0
jne 0x18007b390
test ebx, ebx
je 0x18007b3ca
mov r14d, ebx
lea rcx, [rbp - 0x68]
call fcn.180005f10
cmp r14, rax
jae 0x18007b3ca
lea rcx, [rbp - 0x68]
call fcn.18000618c
mov rcx, rax
mov r8d, r14d
mov rdx, rdi
call fcn.1800b3f9c
test eax, eax
je 0x18007b3ee
inc r12
add r15, 0x20
lea rcx, [rbp - 0x48]
call fcn.180007430
cmp r12, rax
jae 0x18007b46f
mov rax, qword [rbp - 0x70]
xor ebx, ebx
jmp 0x18007b320
lea rcx, [rbp - 0x30]
call fcn.180005e80
nop
lea rcx, [rbp - 0x68]
call fcn.18000618c
mov ecx, ebx
lea rbx, [rax + rcx*2]
mov rcx, rsi
call fcn.18000618c
mov r8, rax
mov r9, rbx
lea rdx, str._s_s
lea rcx, [rbp - 0x30]
call fcn.18006c090
lea rcx, [rbp - 0x68]
call fcn.180005ea0
mov rcx, rax
call fcn.180005ea0
mov rbx, rax
lea rcx, [rbp - 0x30]
call fcn.180005ea0
mov rcx, rax
call fcn.180005ea0
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.180005de4
mov r14, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x28]
mov rcx, rdi
call fcn.1800a5024
nop
lea rcx, [rbp - 0x48]
call fcn.180006680
mov rdi, qword [rsp + 0x38]
xor r15d, r15d
lea rcx, [rbp - 0x68]
call fcn.180005da8
test al, al
je 0x18007b531
lea rdx, str.GetModuleFileNameExW
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x18007b4d4
lea rdx, str.GetModuleFileNameExW
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x18007b531
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp - 0x10]
call fcn.1800a8e10
mov r9d, 0x208
lea r8, [rbp - 0x10]
xor edx, edx
mov rcx, rsi
call rbx
lea ecx, [rax - 1]
cmp ecx, 0x206
ja 0x18007b531
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x18007b5a7
mov word [rbp + rax - 0x10], r15w
lea rcx, [rbp - 0x10]
call fcn.18000608c
mov r8, rax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x68]
call fcn.180005f18
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x40]
call fcn.18006e010
nop
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.18000681c
nop
lea rcx, [rsp + 0x40]
call fcn.180005de4
lea rdx, [rbp - 0x68]
mov rcx, r13
call fcn.180005dec
mov dword [rsp + 0x20], 1
lea rcx, [rbp - 0x68]
call fcn.180005de4
mov rax, r13
mov rcx, qword [rbp + 0x7f0]
xor rcx, rsp
call fcn.1800a5000
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.1800a513c
int3
call fcn.1800a513c
int3
call fcn.1800a513c
int3