Function at 0x50fb70
Capabilities:
Get disk size

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [0x5ec348]
mov dword [esp + 0x3c], eax
xor eax, eax
lea eax, [esp + 0x30]
mov dword [esp + 0x20], 0
mov ebp, dword [esp + 0x64]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x28]
mov edi, dword [esp + 0x68]
mov dword [esp + 8], eax
lea eax, [esp + 0x20]
mov esi, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x24], 0
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
sub esp, 0x10
test eax, eax
je 0x50fc60
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, ecx
mov dword [esp + 0x1c], edx
or eax, edx
je 0x50fc06
mov dword [ebp], ecx
mov dword [ebp + 4], edx
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov eax, ebp
or eax, ecx
je 0x50fc19
mov dword [edi], ebp
mov dword [edi + 4], ecx
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov eax, edi
or eax, ecx
jne 0x50fc50
call fcn.00534550
mov dword [ebx], 0
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x3c]
sub eax, dword [0x5ec348]
jne 0x50fc74
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esi], edi
mov dword [esi + 4], ecx
jmp 0x50fc27
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call fcn.00534550
mov dword [ebx], esi
mov dword [ebx + 4], eax
jmp 0x50fc35
call fcn.00497000
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov dword [ebp - 0x3c], 0
mov ebx, dword [ebp + 8]
mov eax, dword [0x5ec348]
mov dword [ebp - 0x1c], eax
xor eax, eax
call fcn.00534550
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call 0x50fce0
mov edx, dword [ebp - 0x3c]
test edx, edx
jne 0x55331c
mov edx, dword [ebp - 0x1c]
sub edx, dword [0x5ec348]
jne 0x50fcd2
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.00497000
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
push esi
push ebx
sub esp, 0x30
mov eax, dword [0x5ec348]
mov dword [esp + 0x2c], eax
xor eax, eax
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00508260
mov ecx, dword [ebx]
test ecx, ecx
jne 0x50fd26
cmp al, 2
je 0x50fd40
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00511120
or eax, edx
sete al
mov edx, dword [ebx]
test edx, edx
je 0x50fd28
xor eax, eax
mov edx, dword [esp + 0x2c]
sub edx, dword [0x5ec348]
jne 0x50fdbb
add esp, 0x30
pop ebx
pop esi
pop edi
ret
mov dword [esp], esi
lea ecx, [esp + 0x24]
mov dword [esp + 8], ebx
mov byte [esp + 4], 0
call fcn.00508f90
sub esp, 0xc
mov esi, dword [esp + 0x28]
test esi, esi
sete al
je 0x50fd20
lock sub dword [esi + 4], 1
jne 0x50fd20
mov edx, dword [esi]
mov edx, dword [edx + 8]
cmp edx, 0x52d220
jne 0x50fda0
lock sub dword [esi + 8], 1
jne 0x50fd20
mov edx, dword [esi]
mov byte [esp + 0x1f], al
mov ecx, esi
mov edi, dword [edx + 0xc]
cmp edi, 0x52f920
jne 0x50fdaf
call dword [edx + 4]
movzx eax, byte [esp + 0x1f]
jmp 0x50fd20
mov byte [esp + 0x1f], al
mov ecx, esi
call edx
movzx eax, byte [esp + 0x1f]
jmp 0x50fd77
call edi
movzx eax, byte [esp + 0x1f]
jmp 0x50fd20
call fcn.00497000
push ebp
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x38]
push ebx
lea ebx, [ebp - 0x54]
sub esp, 0x6c
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x5ec348]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00505540
mov eax, dword [ebp - 0x5c]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00505540
mov dword [esp + 4], esi
mov ecx, edi
mov dword [esp], ebx
call fcn.004adc40
mov eax, dword [ebp - 0x20]
sub esp, 8
test eax, eax
je 0x50fe26
mov dword [esp], eax
lea ecx, [ebp - 0x20]
call fcn.004ae580
sub esp, 4
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x30]
cmp eax, edx
je 0x50fe43
mov edx, dword [ebp - 0x30]
mov dword [esp], eax
lea edx, [edx + edx + 2]
mov dword [esp + 4], edx
call fcn.0054fb40
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x50fe58
mov dword [esp], eax
lea ecx, [ebp - 0x3c]
call fcn.004ae580
sub esp, 4
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x4c]
cmp eax, edx
je 0x50fe75
mov edx, dword [ebp - 0x4c]
mov dword [esp], eax
lea edx, [edx + edx + 2]
mov dword [esp + 4], edx
call fcn.0054fb40
mov eax, dword [ebp - 0x1c]
sub eax, dword [0x5ec348]
jne 0x50fe8a
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.00497000
mov edi, eax
jmp 0x5540b8
lea ecx, [ebp - 0x20]
call fcn.00512500
mov ecx, esi
call fcn.0053d5a0
lea ecx, [ebp - 0x3c]
call fcn.00512500
mov ecx, ebx
call fcn.0053d5a0
mov eax, dword [ebp - 0x1c]
sub eax, dword [0x5ec348]
jne 0x5540e9
mov dword [esp], edi
call fcn.00494760
call fcn.00497000
nop
nop
lea ecx, [ebp - 0x38]
call fcn.0053d5a0
lea ecx, [ebp - 0x40]
call fcn.00512500
lea ecx, [ebp - 0x58]
call fcn.0053d5a0
lea ecx, [ebp - 0x60]
call fcn.00512500
mov ecx, dword [ebp - 0x90]
call fcn.0053d5a0
mov eax, dword [ebp - 0x1c]
sub eax, dword [0x5ec348]
jne 0x55412e
mov dword [esp], ebx
call fcn.00494760
call fcn.00497000
lea ecx, [ebp - 0x20]
call fcn.00512500
lea ecx, [ebp - 0x38]
call fcn.0053d5a0
jmp 0x5540f8