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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x51
push 0
push 0
dec ecx
jne 0x56db35
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov esi, ecx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004051e0
xor eax, eax
push ebp
push 0x56dfde
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xff
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x38]
push eax
push 0xff
lea eax, [ebp - 0x14c]
push eax
mov eax, dword [ebp - 4]
call fcn.004051f0
mov edi, eax
push edi
call sub.kernel32.dll_GetVolumeInformationA
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x3c]
push eax
push edi
call sub.kernel32.dll_GetDiskFreeSpaceA
test eax, eax
je 0x56df81
lea eax, [ebp - 0x254]
lea edx, [ebp - 0x24c]
mov ecx, pe_nt_image_headers32
call fcn.00404fa0
mov eax, dword [ebp - 0x254]
lea edx, [ebp - 0x250]
call fcn.0040940c
mov eax, dword [ebp - 0x250]
mov edx, 0x56dff4
call fcn.0040513c
jne 0x56ddfa
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
push edi
mov eax, dword [0x5a5ce8]
mov eax, dword [eax]
call eax
cmp dword [ebp - 0xc], 0
jne 0x56dc19
cmp dword [ebp - 0x10], 0x100000
jbe 0x56dcc8
jmp 0x56dc1f
jle 0x56dcc8
push 0
push 0x100000
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.00405bd0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x56dc48
cmp dword [ebp - 0x28], 0x400
jbe 0x56dca4
jmp 0x56dc4a
jle 0x56dca4
push 0
push 0x400
push 0
push 0x64
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
call fcn.00405bac
call fcn.00405bd0
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], edx
fild qword [ebp - 0x260]
fdiv dword [0x56dffc]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x258]
call fcn.0040b848
mov edx, dword [ebp - 0x258]
lea eax, [ebp - 0x2c]
mov ecx, 0x56e008
call fcn.0040503c
jmp 0x56dcc8
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x264]
call fcn.00409ad0
mov edx, dword [ebp - 0x264]
lea eax, [ebp - 0x2c]
mov ecx, 0x56e014
call fcn.0040503c
cmp dword [ebp - 0x14], 0
jne 0x56dcdd
cmp dword [ebp - 0x18], 0x100000
jbe 0x56dd8c
jmp 0x56dce3
jle 0x56dd8c
push 0
push 0x100000
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
call fcn.00405bd0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x56dd0c
cmp dword [ebp - 0x28], 0x400
jbe 0x56dd68
jmp 0x56dd0e
jle 0x56dd68
push 0
push 0x400
push 0
push 0x64
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
call fcn.00405bac
call fcn.00405bd0
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], edx
fild qword [ebp - 0x260]
fdiv dword [0x56dffc]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x268]
call fcn.0040b848
mov edx, dword [ebp - 0x268]
lea eax, [ebp - 0x30]
mov ecx, 0x56e008
call fcn.0040503c
jmp 0x56dd8c
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x26c]
call fcn.00409ad0
mov edx, dword [ebp - 0x26c]
lea eax, [ebp - 0x30]
mov ecx, 0x56e014
call fcn.0040503c
cmp dword [ebp - 0xc], 0
jne 0x56dd9d
cmp dword [ebp - 0x10], 0x100000
jae 0x56ddc3
jmp 0x56dd9f
jge 0x56ddc3
push dword [ebp - 0xc]
push dword [ebp - 0x10]
lea eax, [ebp - 0x270]
call fcn.00409ad0
mov edx, dword [ebp - 0x270]
lea eax, [ebp - 0x2c]
mov ecx, 0x56e014
call fcn.0040503c
cmp dword [ebp - 0x14], 0
jne 0x56ddd4
cmp dword [ebp - 0x18], 0x100000
jae 0x56ddfa
jmp 0x56ddd6
jge 0x56ddfa
push dword [ebp - 0x14]
push dword [ebp - 0x18]
lea eax, [ebp - 0x274]
call fcn.00409ad0
mov edx, dword [ebp - 0x274]
lea eax, [ebp - 0x30]
mov ecx, 0x56e014
call fcn.0040503c
lea eax, [ebp - 0x27c]
lea edx, [ebp - 0x24c]
mov ecx, pe_nt_image_headers32
call fcn.00404fa0
mov eax, dword [ebp - 0x27c]
lea edx, [ebp - 0x278]
call fcn.0040940c
mov eax, dword [ebp - 0x278]
mov edx, 0x56dff4
call fcn.0040513c
je 0x56df81
mov eax, dword [ebp - 0x48]
imul dword [ebp - 0x34]
imul dword [ebp - 0x3c]
shr eax, 0x14
xor edx, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x56de5c
cmp dword [ebp - 0x28], 0x400
jbe 0x56deb8
jmp 0x56de5e
jle 0x56deb8
push 0
push 0x400
push 0
push 0x64
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
call fcn.00405bac
call fcn.00405bd0
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], edx
fild qword [ebp - 0x260]
fdiv dword [0x56dffc]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x280]
call fcn.0040b848
mov edx, dword [ebp - 0x280]
lea eax, [ebp - 0x2c]
mov ecx, 0x56e008
call fcn.0040503c
jmp 0x56dedc
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x284]
call fcn.00409ad0
mov edx, dword [ebp - 0x284]
lea eax, [ebp - 0x2c]
mov ecx, 0x56e014
call fcn.0040503c
mov eax, dword [ebp - 0x4c]
imul dword [ebp - 0x34]
imul dword [ebp - 0x3c]
shr eax, 0x14
xor edx, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x56df01
cmp dword [ebp - 0x28], 0x400
jbe 0x56df5d
jmp 0x56df03
jle 0x56df5d
push 0
push 0x400
push 0
push 0x64
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
call fcn.00405bac
call fcn.00405bd0
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], edx
fild qword [ebp - 0x260]
fdiv dword [0x56dffc]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x288]
call fcn.0040b848
mov edx, dword [ebp - 0x288]
lea eax, [ebp - 0x30]
mov ecx, 0x56e008
call fcn.0040503c
jmp 0x56df81
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x28c]
call fcn.00409ad0
mov edx, dword [ebp - 0x28c]
lea eax, [ebp - 0x30]
mov ecx, 0x56e014
call fcn.0040503c
test bl, bl
je 0x56df91
mov eax, esi
mov edx, dword [ebp - 0x2c]
call fcn.00404d84
jmp 0x56df9b
mov eax, esi
mov edx, dword [ebp - 0x30]
call fcn.00404d84
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56dfe5
lea eax, [ebp - 0x28c]
mov edx, 0xb
call fcn.00404d54
lea eax, [ebp - 0x258]
mov edx, 3
call fcn.00404d54
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.00404d54
lea eax, [ebp - 4]
call fcn.00404d30
ret