Function at 0x18007b170
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 0x18007b1e5
lea rdx, [rbp - 0x68]
mov rcx, r13
call fcn.180005dec
jmp 0x18007b663
lea rdx, str.Kernel32.dll
lea rcx, [rsp + 0x70]
call fcn.180005e38
nop
call fcn.18007cba0
mov rcx, rax
lea rdx, [rsp + 0x70]
call fcn.18007cc40
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.18007cba0
mov rcx, rax
lea rdx, [rsp + 0x40]
call fcn.18007cc40
mov r14, rax
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
call fcn.180005de4
test r14, r14
je 0x18007b657
test rdi, rdi
je 0x18007b657
lea rcx, [rbp - 0x10]
call fcn.18006d3a0
cmp dword [rbp - 0xc], 6
jb 0x18007b2ed
lea rdx, str.QueryFullProcessImageNameW
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x18007b2ed
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp - 0x10]
call fcn.1800a8f10
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 0x18007b2ed
mov eax, dword [rbp - 0x70]
cmp eax, 0x208
jae 0x18007b2d4
add rax, rax
cmp rax, 0x412
jae 0x18007b6ad
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 0x18007b593
lea rdx, str.GetProcessImageFileNameW
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x18007b32e
lea rdx, str.GetProcessImageFileNameW
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x18007b38c
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp - 0x10]
call fcn.1800a8f10
mov r8d, 0x208
lea rdx, [rbp - 0x10]
mov rcx, rsi
call rbx
lea ecx, [rax - 1]
cmp ecx, 0x206
ja 0x18007b38c
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x18007b6a1
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 0x18007b38e
xor ebx, ebx
lea rcx, [rbp - 0x68]
call fcn.180005da8
test al, al
jne 0x18007b590
mov ecx, 0x410
call fcn.1800a5c84
mov rdi, rax
xor edx, edx
mov r8d, 0x410
mov rcx, rax
call fcn.1800a8f10
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 0x18007b3f7
mov r8d, eax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x48]
call fcn.180089da0
mov r12, rbx
lea rcx, [rbp - 0x48]
call fcn.180007430
test rax, rax
je 0x18007b579
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 0x18007b460
mov rcx, rsi
call fcn.180005ea0
mov rcx, rax
mov rdx, qword [rax + 0x18]
cmp rdx, 8
jb 0x18007b44c
mov rcx, qword [rax]
cmp word [rcx + 4], 0x5c
jne 0x18007b460
cmp rdx, 8
jb 0x18007b45c
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 0x18007b481
mov word [rdi], bx
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp word [rdi + rbx*2], 0
jne 0x18007b490
test ebx, ebx
je 0x18007b4ca
mov r14d, ebx
lea rcx, [rbp - 0x68]
call fcn.180005f10
cmp r14, rax
jae 0x18007b4ca
lea rcx, [rbp - 0x68]
call fcn.18000618c
mov rcx, rax
mov r8d, r14d
mov rdx, rdi
call fcn.1800b409c
test eax, eax
je 0x18007b4ee
inc r12
add r15, 0x20
lea rcx, [rbp - 0x48]
call fcn.180007430
cmp r12, rax
jae 0x18007b56f
mov rax, qword [rbp - 0x70]
xor ebx, ebx
jmp 0x18007b420
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.18006c190
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.1800a5124
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 0x18007b631
lea rdx, str.GetModuleFileNameExW
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x18007b5d4
lea rdx, str.GetModuleFileNameExW
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x18007b631
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp - 0x10]
call fcn.1800a8f10
mov r9d, 0x208
lea r8, [rbp - 0x10]
xor edx, edx
mov rcx, rsi
call rbx
lea ecx, [rax - 1]
cmp ecx, 0x206
ja 0x18007b631
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x18007b6a7
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.18006e110
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.1800a5100
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.1800a523c
int3
call fcn.1800a523c
int3
call fcn.1800a523c
int3