Function at 0x559c19
Capabilities:
Get disk information

Disassembly:
push ebp
push ebx
push edi
mov edx, 0xe
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x559c21
call fcn.00417e10
push dword [esp + 0x50]
call fcn.00401220
mov edx, dword [esp + 0x48]
lea ecx, [esp]
call fcn.004011b0
push dword [esp]
call fcn.004160f0
mov ebx, eax
cmp ebx, 1
jne 0x559c7d
mov edx, dword [esp]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417eb0
mov edx, 0x4d7a9e
push edx
call fcn.00417eb0
lea eax, [esp + 4]
push eax
call fcn.00417d00
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
push 1
push dword [esp + 0xc]
call fcn.00416a80
call fcn.00417fd0
mov edx, 0x4d39f8
call fcn.00401210
mov ecx, eax
call fcn.00401230
jne 0x559cd9
mov edx, dword [esp]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417eb0
mov edx, 0x4d39f8
push edx
call fcn.00417eb0
lea eax, [esp + 4]
push eax
call fcn.00417d00
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
push 0x105
call fcn.00416b00
lea eax, [esp + 8]
push eax
call fcn.00417d00
push 0x20
lea eax, [esp + 0x14]
push eax
push 0
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
push 0x105
mov eax, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
push eax
call sub.KERNEL32.dll_GetVolumeInformationW
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
mov eax, 0x4d3504
push eax
push 4
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
lea eax, [esp + 0x20]
mov ebx, eax
add ebx, 2
push ebx
call fcn.004179c0
cdq
push edx
push eax
and dword [esp], 0xffff
and dword [esp + 4], 0
pop eax
pop edx
push edx
push eax
call fcn.00415d50
call fcn.004011f2
add dword [esp], edx
call fcn.00416280
mov edx, 0x4d347a
push edx
call fcn.00417eb0
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
mov eax, 0x4d3504
push eax
push 4
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
lea eax, [esp + 0x24]
push eax
call fcn.004179c0
cdq
push edx
push eax
and dword [esp], 0xffff
and dword [esp + 4], 0
pop eax
pop edx
push edx
push eax
call fcn.00415d50
call fcn.004011f2
add dword [esp], edx
call fcn.00416280
pop eax
lea eax, [esp + 0x38]
push eax
call fcn.00417d00
cmp dword [esp + 0x4c], 0
je 0x559e18
push dword [esp + 0x34]
mov edx, str.0000_0000
pop ecx
call fcn.00401230
jne 0x559e18
mov eax, 1
jmp 0x559e1a
xor eax, eax
and eax, eax
je 0x55a438
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
push 1
push dword [esp + 0x10]
call fcn.00416080
call fcn.004011f2
add dword [esp], edx
call fcn.004159a0
call fcn.00401220
mov ebx, eax
add ebx, 0xffffffc0
mov dword [esp + 0x30], ebx
mov edx, dword [esp + 4]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417eb0
mov ebx, dword [esp + 0x34]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea eax, [ebp + 0x21c]
push 0x21
push eax
call fcn.00417d70
mov ebp, dword [0x51ed0c]
mov ebx, dword [ebp + 0x284]
push edx
call fcn.00417fa0
pop edx
push eax
mov edi, dword [esp + 0x34]
mov ebp, dword [0x51ecbc]
imul edi, edi, 0x510
add ebp, edi
lea edx, [ebp + 0x21c]
push edx
call fcn.00417fa0
pop edx
push eax
push 0x21
push edx
call fcn.00417e50
call fcn.004011f2
add dword [esp], edx
call fcn.004160f0
call fcn.00401220
mov edi, eax
inc edi
cmp ebx, edi
jge 0x559f61
push edx
call fcn.00417fa0
pop edx
push eax
mov ebx, dword [esp + 0x34]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x21c]
push edx
call fcn.00417fa0
pop edx
push eax
push 0x21
push edx
call fcn.00417e50
call fcn.004011f2
add dword [esp], edx
call fcn.004160f0
call fcn.00401220
mov ebx, eax
inc ebx
push ebx
mov ebp, dword [0x51ed0c]
pop eax
mov dword [ebp + 0x284], eax
mov ebx, dword [ebp + 0x284]
cmp ebx, 0x20
jle 0x559f61
mov ebp, dword [0x51ed0c]
mov dword [ebp + 0x284], 0x20
push dword [esp + 0xc]
mov ebx, dword [esp + 0x34]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
pop eax
mov dword [ebp + 0x2e0], eax
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
lea edx, [esp + 0x18]
push edx
call fcn.00417fa0
pop edx
push eax
push 0x10
push edx
call fcn.00417e50
call fcn.004011f2
add dword [esp], edx
call fcn.00417440
mov ebx, dword [esp + 0x34]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea eax, [ebp + 0x2e4]
push 0x10
push eax
call fcn.00417d70
mov ebx, dword [esp + 0x30]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x21c]
push edx
call fcn.00417fa0
pop edx
push eax
push 0x21
push edx
call fcn.00417e50
call fcn.00417fd0
mov edx, 0x4d302e
call fcn.00401210
mov ecx, eax
call fcn.00401230
je 0x55a041
mov ebx, dword [esp + 0x30]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea eax, [ebp + 0x21c]
mov edx, 0x4d3342
push edx
push 0x21
push eax
call fcn.00417db0
mov ebx, dword [esp + 0x30]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x25e]
push edx
call fcn.00417fa0
pop edx
push eax
push 0x21
push edx
call fcn.00417e50
call fcn.00417fd0
mov edx, 0x4d302e
call fcn.00401210
mov ecx, eax
call fcn.00401230
je 0x55a0d7
mov ebx, dword [esp + 0x30]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x21c]
push edx
call fcn.00417fa0
pop edx
push eax
push 0x21
push edx
call fcn.00417e50
mov ebx, dword [esp + 0x34]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea eax, [ebp + 0x25e]
push 0x21
push eax
call fcn.00417d70
jmp 0x55a438
mov ebx, dword [esp + 0x30]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x25e]
push edx
call fcn.00417fa0
pop edx
push eax
push 0x21
push edx
call fcn.00417e50
call fcn.00417fd0
mov ebx, dword [esp + 0x34]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x21c]
push edx
call fcn.00417fa0
pop edx
push eax
push 0x21
push edx
call fcn.00417e50
call fcn.00401210
mov edx, eax
call fcn.00401210
mov ecx, eax
call fcn.00401230
jne 0x55a438
push edx
call fcn.00417fa0
pop edx
push eax
push 0x83
mov eax, 0x4d9ef0
push eax
push dword [0x51ed44]
call fcn.00412660
mov ebp, eax
mov edx, dword [ebp]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417eb0
mov edx, 0x4d7318
push edx
call fcn.00417eb0
mov ebx, dword [esp + 0x3c]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x25e]
push 0x21
push edx
call fcn.00417e50
call fcn.004011f2
add dword [esp], edx
call fcn.0054e7e8
call fcn.00401220
push edx
call fcn.00417fa0
pop edx
push eax
push 0x83
mov eax, 0x4d7de0
push eax
push dword [0x51ed44]
call fcn.00412660
mov ebp, eax
mov edx, dword [ebp]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417eb0
mov edx, 0x4d7318
push edx
call fcn.00417eb0
mov ebx, dword [esp + 0x3c]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x21c]
push 0x21
push edx
call fcn.00417e50
call fcn.004011f2
add dword [esp], edx
call fcn.0054e7e8
call fcn.00401220
push edx
call fcn.00417fa0
pop edx
push eax
push 0x83
mov ebx, dword [esp + 0x38]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x19e]
push edx
call fcn.00417fa0
pop edx
push eax
push 2
push edx
call fcn.00417e50
mov edx, 0x4d3342
push edx
call fcn.00417eb0
mov eax, 0x4d7722
push eax
push dword [0x51ed44]
call fcn.00412660
mov ebp, eax
mov edx, dword [ebp]
push edx
call fcn.00417eb0
mov edx, 0x4d3496
push edx
call fcn.00417eb0
call fcn.004011f2
add dword [esp], edx
call fcn.0054e7e8
call fcn.00401220
push 0x83
mov eax, 0x4d302e
push eax
call fcn.0054e7e8
mov ebp, dword [0x51ed0c]
cmp dword [ebp + 0x118], 0
je 0x55a3ea
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
mov ebx, dword [esp + 0x3c]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x1a2]
push edx
call fcn.00417fa0
pop edx
push eax
push 1
push edx
call fcn.00417e50
mov edx, 0x4d757a
push edx
call fcn.00417eb0
mov ebx, dword [esp + 0x40]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x2a0]
push 0x10
push edx
call fcn.00417e50
mov edx, 0x4d3342
push edx
call fcn.00417eb0
mov eax, 0x4d93ca
push eax
push dword [0x51ed44]
call fcn.00412660
mov ebp, eax
mov edx, dword [ebp]
push edx
call fcn.00417eb0
mov edx, 0x4d8a74
push edx
call fcn.00417eb0
mov ebx, dword [esp + 0x40]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x25e]
push 0x21
push edx
call fcn.00417e50
mov edx, str.______
push edx
call fcn.00417eb0
mov ebx, dword [esp + 0x40]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x21c]
push 0x21
push edx
call fcn.00417e50
mov edx, 0x4d3346
push edx
call fcn.00417eb0
call fcn.004011f2
add dword [esp], edx
call fcn.00417440
call fcn.004011f2
add dword [esp], edx
call fcn.0055d181
call fcn.00401220
mov ebx, dword [esp + 0x30]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea edx, [ebp + 0x21c]
push edx
call fcn.00417fa0
pop edx
push eax
push 0x21
push edx
call fcn.00417e50
mov ebx, dword [esp + 0x34]
mov ebp, dword [0x51ecbc]
imul ebx, ebx, 0x510
add ebp, ebx
lea eax, [ebp + 0x25e]
push 0x21
push eax
call fcn.00417d70
mov edx, dword [esp + 0x34]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417eb0
pop eax
push eax
call fcn.004011e0
pop edx
add eax, edx
jmp 0x55a460
push dword [esp + 0x34]
call fcn.00417f00
push dword [esp + 4]
call fcn.00417f00
push dword [esp]
call fcn.00417f00
add esp, 0x38
pop edi
pop ebx
pop ebp
ret 8