Function at 0x4375f0
Capabilities:
Get disk information

Disassembly:
push 0xffffffffffffffff
push 0x4e7954
mov eax, dword fs:[0]
push eax
sub esp, 0xc3c
mov eax, dword [0x670f1c]
xor eax, esp
mov dword [esp + 0xc38], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x670f1c]
xor eax, esp
push eax
lea eax, [esp + 0xc50]
mov dword fs:[0], eax
mov ebx, ecx
mov ebp, dword [esp + 0xc6c]
mov edi, dword [esp + 0xc64]
mov esi, dword [esp + 0xc68]
mov dword [esp + 0x14], ebp
push 0x4fb92b
mov ecx, edi
mov dword [esp + 0xc5c], 0
call fcn.00410c90
push 0x4fb93d
mov ecx, ebp
call fcn.00410c90
push 0x20a
lea eax, [esp + 0x2c]
push 0
push eax
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.004c16f0
mov ebp, dword [esp + 0xc6c]
add esp, 0xc
cmp dword [ebp - 4], 1
jle 0x4376ae
mov ecx, dword [ebp - 0xc]
push ecx
lea ecx, [esp + 0xc64]
call fcn.00406b50
mov ebp, dword [esp + 0xc60]
push 0x100
lea edx, [esp + 0x444]
push edx
push 0x100
lea eax, [esp + 0x84c]
push eax
push 0x100
lea ecx, [esp + 0x654]
push ecx
push 0x105
lea edx, [esp + 0x44]
push edx
push ebp
call fcn.004c5c11
push 0x4fc534
lea eax, [esp + 0x50]
push 0x105
push eax
call fcn.004c5e24
lea eax, [esp + 0x58]
add esp, 0x30
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x437703
sub eax, edx
sar eax, 1
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, edi
call fcn.00406c90
push ecx
add ebp, 0xfffffff0
mov dword [esp + 0x28], esp
mov edi, esp
push ebp
call fcn.004069f0
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.00437390
mov dword [esi], eax
mov dword [esi + 4], edx
cmp dword [ebx + 0x19370], 2
jne 0x43787c
push 0x105
lea edx, [esp + 0x238]
push edx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x2c]
push edx
push 0x105
lea eax, [esp + 0xa58]
push eax
lea ecx, [esp + 0x44]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je 0x43788c
mov edx, 0x4fc538
lea ecx, [esp + 0x234]
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x4377be
test ax, ax
je 0x4377ba
mov ax, word [ecx + 2]
cmp ax, word [edx + 2]
jne 0x4377be
add ecx, 4
add edx, 4
test ax, ax
jne 0x437798
xor eax, eax
jmp 0x4377c3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4377da
mov ecx, dword [esp + 0x14]
push 0x4fc540
call fcn.00406c10
jmp 0x43788c
mov ecx, 0x4fc548
lea eax, [esp + 0x234]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43780c
test dx, dx
je 0x437808
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43780c
add eax, 4
add ecx, 4
test dx, dx
jne 0x4377e6
xor eax, eax
jmp 0x437811
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x437825
mov ecx, dword [esp + 0x14]
push 0x4fc554
call fcn.00406c10
jmp 0x43788c
mov ecx, 0x4fc560
lea eax, [esp + 0x234]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x437857
test dx, dx
je 0x437853
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x437857
add eax, 4
add ecx, 4
test dx, dx
jne 0x437831
xor eax, eax
jmp 0x43785c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov ecx, dword [esp + 0x14]
jne 0x437870
push 0x4fc56c
call fcn.00406c10
jmp 0x43788c
push 0x4fc578
call fcn.00406c10
jmp 0x43788c
mov ecx, dword [esp + 0x14]
push 3
push 0x4fc580
call fcn.00406c90
mov dword [esp + 0xc58], 0xffffffff
lea edx, [ebp + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x4378b1
mov ecx, dword [ebp]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebp
call eax
mov al, 1
mov ecx, dword [esp + 0xc50]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc38]
xor ecx, esp
call fcn.004bfdfd
add esp, 0xc48
ret 0x10