Function at 0x41b506
Capabilities:
Get disk information
Get disk size

Disassembly:
push ebp
push ebx
push edi
mov edx, 0x15e
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x41b50e
call fcn.0043ec50
push dword [esp + 0x58c]
call fcn.00426500
mov edx, dword [esp + 0x588]
lea ecx, [esp]
call fcn.00426060
mov edx, 0x442038
lea ecx, [esp + 4]
call fcn.00426068
mov edx, 0x442038
lea ecx, [esp + 8]
call fcn.00426068
mov edx, 0x442038
lea ecx, [esp + 0xc]
call fcn.00426068
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push 0x28
call fcn.0043ce80
lea eax, [esp + 0x18]
push 0x28
push eax
call fcn.0043eb70
mov edx, 0x442038
lea ecx, [esp + 0x64]
call fcn.00426068
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0xa0], 0
mov byte [esp + 0xa4], 0
mov edx, 0x442038
lea ecx, [esp + 0x56c]
call fcn.00426068
mov edx, 0x442038
lea ecx, [esp + 0x570]
call fcn.00426068
push dword [esp]
mov edx, 0x442038
pop ecx
call fcn.00426510
je 0x41b615
push edx
call fcn.0043ea40
pop edx
push eax
push str.HarddiskVolume
call fcn.004201d9
lea eax, [esp + 8]
push eax
call fcn.0043eae0
jmp 0x41b630
mov edx, dword [esp]
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea80
lea eax, [esp + 8]
push eax
call fcn.0043eae0
mov eax, 0x446c28
push eax
push dword [esp + 8]
call fcn.0043c100
mov ebx, eax
inc ebx
mov dword [esp + 0x574], ebx
mov dword [esp + 0xa0], 1
jmp 0x41b656
mov eax, dword [esp + 0x574]
cmp eax, dword [esp + 0xa0]
jl 0x41bf50
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
mov eax, 0x446c28
push eax
push dword [esp + 0xac]
push dword [esp + 0x14]
call fcn.0043c430
lea eax, [esp + 0xc]
push eax
call fcn.0043eae0
push edx
call fcn.0043ea40
pop edx
push eax
push dword [esp + 0xc]
call fcn.00416e47
lea eax, [esp + 0x10]
push eax
call fcn.0043eae0
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push dword [esp + 0x10]
call fcn.00416e47
call fcn.004264e2
add dword [esp], edx
call fcn.0041acf3
lea eax, [esp + 0x68]
push eax
call fcn.0043eae0
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0x10]
call fcn.00419276
lea eax, [esp + 0x4dc]
push eax
push dword [esp + 0x10]
call fcn.004165a1
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x10]
call fcn.0041f882
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push 0x104
call fcn.0043ce80
lea eax, [esp + 0x6c]
push eax
call fcn.0043eae0
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push 0x104
call fcn.0043ce80
lea eax, [esp + 0x70]
push eax
call fcn.0043eae0
push edx
call fcn.0043ea40
pop edx
push eax
push 0x104
mov eax, dword [esp + 0x74]
push eax
push 0
push 0
push 0
push 0x104
mov eax, dword [esp + 0x84]
push eax
push edx
call fcn.0043ea40
pop edx
push eax
mov edx, str.._
push edx
call fcn.0043ea80
mov edx, dword [esp + 0x2c]
push edx
call fcn.0043ea80
mov edx, 0x442942
push edx
call fcn.0043ea80
call fcn.004264e2
add dword [esp], edx
call sub.KERNEL32.dll_GetVolumeInformationW
call fcn.00426500
mov byte [esp + 0xa4], al
push edx
call fcn.0043ea40
pop edx
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x7c]
push eax
push edx
call fcn.0043ea40
pop edx
push eax
mov edx, str.._
push edx
call fcn.0043ea80
mov edx, dword [esp + 0x1c]
push edx
call fcn.0043ea80
mov edx, 0x442942
push edx
call fcn.0043ea80
call fcn.004264e2
add dword [esp], edx
call sub.KERNEL32.dll_GetDiskFreeSpaceExW
call fcn.00426500
mov byte [esp + 0xa4], al
push edx
call fcn.0043ea40
pop edx
push eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0xa0]
push eax
push edx
call fcn.0043ea40
pop edx
push eax
mov edx, str.._
push edx
call fcn.0043ea80
mov edx, dword [esp + 0x20]
push edx
call fcn.0043ea80
mov edx, 0x442942
push edx
call fcn.0043ea80
call fcn.004264e2
add dword [esp], edx
call sub.KERNEL32.dll_GetDiskFreeSpaceW
call fcn.00426500
mov byte [esp + 0xa4], al
push dword [esp + 0x7c]
push dword [esp + 0x7c]
lea eax, [esp + 0x88]
mov edx, dword [eax]
sub dword [esp], edx
mov edx, dword [eax + 4]
sbb dword [esp + 4], edx
pop dword [esp + 0x8c]
pop dword [esp + 0x8c]
push dword [esp + 0x8c]
push dword [esp + 0x8c]
pop ebx
pop edi
cmp edi, 0
jl 0x41b8df
jg 0x41b8db
cmp ebx, 0
jb 0x41b8df
xor eax, eax
jmp 0x41b8e4
mov eax, 1
or eax, eax
je 0x41b8fe
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
lea ebp, [esp + 0x4dc]
push dword [ebp]
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x41ba04
mov edx, 0x445a84
lea ecx, [esp + 0x574]
call fcn.00426068
lea ebp, [esp + 0x4e0]
cmp byte [ebp + 0x21], 0
je 0x41b963
push edx
call fcn.0043ea40
pop edx
push eax
mov edx, str.ACT_n
push edx
call fcn.0043ea80
mov edx, dword [esp + 0x578]
push edx
call fcn.0043ea80
lea eax, [esp + 0x578]
push eax
call fcn.0043eae0
jmp 0x41b9ff
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push 1
lea ebp, [esp + 0x4ec]
movsx eax, byte [ebp + 0x20]
cdq
push edx
push eax
call fcn.0043d0f0
call fcn.0043ebe0
mov edx, 0x444058
call fcn.00426550
mov ecx, eax
call fcn.00426510
je 0x41b9d2
push edx
call fcn.0043ea40
pop edx
push eax
mov edx, str.ESP_n
push edx
call fcn.0043ea80
mov edx, dword [esp + 0x578]
push edx
call fcn.0043ea80
lea eax, [esp + 0x578]
push eax
call fcn.0043eae0
jmp 0x41b9ff
push edx
call fcn.0043ea40
pop edx
push eax
mov edx, 0x4468b0
push edx
call fcn.0043ea80
mov edx, dword [esp + 0x578]
push edx
call fcn.0043ea80
lea eax, [esp + 0x578]
push eax
call fcn.0043eae0
jmp 0x41bae5
mov ebx, 1
cmp ebx, dword [esp]
jne 0x41bae5
mov edx, 0x44366c
lea ecx, [esp + 0x574]
call fcn.00426068
push 0x28
lea eax, [esp + 0x1c]
push eax
lea ebp, [esp + 0x4e8]
lea eax, [ebp + 0x20]
push eax
call sub.ole32.dll_StringFromGUID2
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
lea edx, [esp + 0x20]
push edx
call fcn.0043ea40
pop edx
push eax
push 0x28
push edx
call fcn.0043ece0
call fcn.004264e2
add dword [esp], edx
call fcn.0043c560
call fcn.0043ebe0
mov edx, str.C12A7328_F81F_11D2_BA4B_00A0C93EC93B
call fcn.00426550
mov ecx, eax
call fcn.00426510
je 0x41bab8
push edx
call fcn.0043ea40
pop edx
push eax
mov edx, str.ESP_n
push edx
call fcn.0043ea80
mov edx, dword [esp + 0x578]
push edx
call fcn.0043ea80
lea eax, [esp + 0x578]
push eax
call fcn.0043eae0
jmp 0x41bae5
push edx
call fcn.0043ea40
pop edx
push eax
mov edx, 0x4468b0
push edx
call fcn.0043ea80
mov edx, dword [esp + 0x578]
push edx
call fcn.0043ea80
lea eax, [esp + 0x578]
push eax
call fcn.0043eae0
pop eax
lea ebp, [esp + 0xb4]
cmp dword [ebp + 0xc], 0
je 0x41bb4d
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push 0x18
push 0xffffffff
lea eax, [esp + 0xcc]
mov ebx, eax
lea ebp, [esp + 0xcc]
add ebx, dword [ebp + 0xc]
push ebx
call fcn.0043dd30
call fcn.004264e2
add dword [esp], edx
call fcn.0043cf70
lea eax, [esp + 0x14]
push eax
call fcn.0043eae0
lea ebp, [esp + 0xb4]
cmp dword [ebp + 0x10], 0
je 0x41bc03
push dword [esp + 0x10]
mov edx, 0x442038
pop ecx
call fcn.00426510
jne 0x41bb96
mov edx, dword [esp + 0x10]
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea80
mov edx, 0x4423a4
push edx
call fcn.0043ea80
lea eax, [esp + 0x14]
push eax
call fcn.0043eae0
mov edx, dword [esp + 0x10]
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea80
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push 0x18
push 0xffffffff
lea eax, [esp + 0xd0]
mov ebx, eax
lea ebp, [esp + 0xd0]
add ebx, dword [ebp + 0x10]
push ebx
call fcn.0043dd30
call fcn.004264e2
add dword [esp], edx
call fcn.0043cf70
pop eax
lea eax, [esp + 0x14]
push eax
call fcn.0043eae0
lea ebp, [esp + 0xb4]
cmp dword [ebp + 0x14], 0
je 0x41bc6b
mov edx, dword [esp + 0x10]
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea80
mov edx, 0x4423a4
push edx
call fcn.0043ea80
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push 0x18
push 0xffffffff
lea eax, [esp + 0xc8]
mov ebx, eax
lea ebp, [esp + 0xc8]
add ebx, dword [ebp + 0x14]
push ebx
call fcn.0043dd30
pop eax
lea eax, [esp + 0x14]
push eax
call fcn.0043eae0
mov edx, dword [esp + 0x56c]
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea80
mov edx, dword [esp + 0xc]
push edx
call fcn.0043ea80
mov edx, 0x44206a
push edx
call fcn.0043ea80
mov edx, dword [esp + 0x68]
push edx
call fcn.0043ea80
mov edx, 0x44206a
push edx
call fcn.0043ea80
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
lea ebp, [esp + 0xb4]
mov eax, dword [ebp + 4]
cdq
push edx
push eax
call fcn.0043c2d0
pop eax
mov edx, 0x44206a
push edx
call fcn.0043ea80
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
mov eax, dword [ebp + 8]
cdq
push edx
push eax
call fcn.0043c2d0
pop eax
mov edx, 0x44206a
push edx
call fcn.0043ea80
lea eax, [esp + 0x570]
push eax
call fcn.0043eae0
mov edx, dword [esp + 0x56c]
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea80
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push dword [esp + 0x74]
call fcn.0043cf70
pop eax
mov edx, 0x44206a
push edx
call fcn.0043ea80
push edx
call fcn.0043ea40
pop edx
push eax
push 0
push 2
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.00415ac2
pop eax
mov edx, 0x44206a
push edx
call fcn.0043ea80
push edx
call fcn.0043ea40
pop edx
push eax
push 0
push 2
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.00415ac2
pop eax
mov edx, 0x44206a
push edx
call fcn.0043ea80
lea eax, [esp + 0x570]
push eax
call fcn.0043eae0
mov edx, dword [esp + 0x56c]
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea80
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
push dword [esp + 0x78]
call fcn.0043cf70
pop eax
mov edx, 0x44206a
push edx
call fcn.0043ea80
mov edx, dword [esp + 0x574]
push edx
call fcn.0043ea80
mov edx, 0x44206a
push edx
call fcn.0043ea80
mov edx, dword [esp + 0x14]
push edx
call fcn.0043ea80
mov edx, 0x44206a
push edx
call fcn.0043ea80
lea eax, [esp + 0x570]
push eax
call fcn.0043eae0
mov edx, dword [esp + 0x56c]
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea80
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea40
pop edx
push eax
mov eax, dword [esp + 0x9c]
cdq
push edx
push eax
mov eax, dword [esp + 0xa8]
cdq
push edx
push eax
push dword [esp + 0xc]
push dword [esp + 0xc]
call fcn.004261e0
mov dword [esp], eax
mov dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
call fcn.0043c2d0
pop eax
mov edx, 0x442ce0
push edx
call fcn.0043ea80
lea eax, [esp + 0x570]
push eax
call fcn.0043eae0
push 0
push 0xc
lea eax, [esp + 0xb0]
push eax
call fcn.0043dcf0
push 0
push 0x90
lea eax, [esp + 0x4e4]
push eax
call fcn.0043dcf0
push 0
push 0x428
lea eax, [esp + 0xbc]
push eax
call fcn.0043dcf0
mov edx, 0x442038
lea ecx, [esp + 0x10]
call fcn.00426068
mov edx, 0x442038
lea ecx, [esp + 0x68]
call fcn.00426068
mov edx, 0x442038
lea ecx, [esp + 0x6c]
call fcn.00426068
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
inc dword [esp + 0xa0]
jno 0x41b656
mov edx, dword [esp + 0x56c]
push edx
call fcn.0043ea40
pop edx
push eax
push edx
call fcn.0043ea80
pop eax
push eax
call fcn.004264d0
pop edx
add eax, edx
jmp 0x41bf7b
push dword [esp + 4]
call fcn.0043ecb0
push dword [esp + 0x6c]
call fcn.0043ecb0
push dword [esp + 0x64]
call fcn.0043ecb0
push dword [esp]
call fcn.0043ecb0
push dword [esp + 0x56c]
call fcn.0043ecb0
push dword [esp + 0x68]
call fcn.0043ecb0
push dword [esp + 8]
call fcn.0043ecb0
push dword [esp + 0x10]
call fcn.0043ecb0
push dword [esp + 0x570]
call fcn.0043ecb0
push dword [esp + 0xc]
call fcn.0043ecb0
add esp, 0x578
pop edi
pop ebx
pop ebp
ret 4