Function at 0x5d19e0
Capabilities:
Get disk size

Disassembly:
push 0xffffffffffffffff
push 0x7059e5
mov eax, dword fs:[0]
push eax
sub esp, 0xe0
mov eax, dword [0x831704]
xor eax, esp
mov dword [esp + 0xdc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x831704]
xor eax, esp
push eax
lea eax, [esp + 0xf4]
mov dword fs:[0], eax
mov esi, dword [esp + 0x104]
mov ebx, dword [esp + 0x108]
mov edi, dword [esp + 0x10c]
cmp dword [esi + 0x10], 0
je 0x5d1c14
push 0x77e794
push 0x73976c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x5d1c4c
cmp dword [esi + 0x14], 8
jb 0x5d1a61
mov esi, dword [esi]
push 0
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x38]
push ecx
push esi
call eax
test eax, eax
jne 0x5d1c1b
sub esp, 0x20
mov ecx, esp
push 0x721844
call fcn.00418040
push 6
call fcn.00439d10
add esp, 0x24
test al, al
je 0x5d1c14
call fcn.005c92f0
mov dword [esp + 0x4c], eax
mov dword [esp + 0xfc], 0
call fcn.005c92f0
mov dword [esp + 0x50], eax
push 0xffffffffffffffff
lea eax, [esp + 0x58]
mov byte [esp + 0x100], 1
push str._s__d_:__s_failed_with_error_0x_08lx___s_.
push eax
call fcn.00439000
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
push 0
mov dword [esp + 0x10c], 2
mov dword [esp + 0x70], 6
mov dword [esp + 0x78], str....._srcmswutils.cpp
mov dword [esp + 0x80], str.wxGetDiskSpace
mov dword [esp + 0x7c], 0x1fa
mov dword [esp + 0x84], 0x721844
call dword [sym.imp.MSVCR120.dll__time64]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
call sub.KERNEL32.dll_GetCurrentThreadId
mov dword [esp + 0x90], eax
xor eax, eax
mov dword [esp + 0x94], 0
mov dword [esp + 0xac], 7
mov dword [esp + 0xa8], 0
mov word [esp + 0x98], ax
mov dword [esp + 0xb0], eax
mov byte [esp + 0x10c], 3
call sub.KERNEL32.dll_GetLastError
push eax
call fcn.005e5210
add esp, 0x14
push eax
call sub.KERNEL32.dll_GetLastError
push eax
push str.GetDiskFreeSpaceEx
push 0x1fa
push str....._srcmswutils.cpp
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x78]
call fcn.00479740
push dword [esp + 0xa0]
mov byte [esp + 0x100], 2
call dword [sym.imp.MSVCR120.dll_free]
add esp, 4
cmp dword [esp + 0x9c], 8
jb 0x5d1bd7
push dword [esp + 0x88]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
mov dword [esp + 0x9c], 7
lea ecx, [esp + 0x68]
mov dword [esp + 0x98], 0
mov word [esp + 0x88], ax
call fcn.00439c40
lea ecx, [esp + 0x4c]
mov dword [esp + 0xfc], 0xffffffff
call fcn.00420020
xor al, al
jmp 0x5d1e68
test ebx, ebx
je 0x5d1c2f
mov eax, dword [esp + 0x2c]
xor ecx, ecx
or ecx, dword [esp + 0x28]
cdq
mov dword [ebx], ecx
mov dword [ebx + 4], eax
test edi, edi
je 0x5d1e66
mov eax, dword [esp + 0x34]
xor ecx, ecx
or ecx, dword [esp + 0x30]
cdq
mov dword [edi], ecx
mov dword [edi + 4], eax
jmp 0x5d1e66
cmp dword [esi + 0x14], 8
jb 0x5d1c54
mov esi, dword [esi]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test eax, eax
jne 0x5d1e22
sub esp, 0x20
mov ecx, esp
push 0x721844
call fcn.00418040
push 6
call fcn.00439d10
add esp, 0x24
test al, al
je 0x5d1c14
call fcn.005c92f0
mov dword [esp + 0x38], eax
mov dword [esp + 0xfc], 4
call fcn.005c92f0
mov dword [esp + 0x3c], eax
push 0xffffffffffffffff
lea eax, [esp + 0x44]
mov byte [esp + 0x100], 5
push str._s__d_:__s_failed_with_error_0x_08lx___s_.
push eax
call fcn.00439000
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
push 0
mov dword [esp + 0x10c], 6
mov dword [esp + 0xb8], 6
mov dword [esp + 0xc0], str....._srcmswutils.cpp
mov dword [esp + 0xc8], str.wxGetDiskSpace
mov dword [esp + 0xc4], 0x22d
mov dword [esp + 0xcc], 0x721844
call dword [sym.imp.MSVCR120.dll__time64]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], edx
call sub.KERNEL32.dll_GetCurrentThreadId
mov dword [esp + 0xd8], eax
xor eax, eax
mov dword [esp + 0xdc], 0
mov dword [esp + 0xf4], 7
mov dword [esp + 0xf0], 0
mov word [esp + 0xe0], ax
mov dword [esp + 0xf8], eax
mov byte [esp + 0x10c], 7
call sub.KERNEL32.dll_GetLastError
push eax
call fcn.005e5210
add esp, 0x14
push eax
call sub.KERNEL32.dll_GetLastError
push eax
push str.GetDiskFreeSpace
push 0x22d
push str....._srcmswutils.cpp
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0xc0]
call fcn.00479740
push dword [esp + 0xe8]
mov byte [esp + 0x100], 6
call dword [sym.imp.MSVCR120.dll_free]
add esp, 4
cmp dword [esp + 0xe4], 8
jb 0x5d1dde
push dword [esp + 0xd0]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
mov dword [esp + 0xe4], 7
lea ecx, [esp + 0xb0]
mov dword [esp + 0xe0], 0
mov word [esp + 0xd0], ax
call fcn.00439c40
lea ecx, [esp + 0x38]
mov dword [esp + 0xfc], 0xffffffff
call fcn.00420020
xor al, al
jmp 0x5d1e68
mov eax, dword [esp + 0x18]
cdq
push edx
push eax
push 0
push dword [esp + 0x2c]
call fcn.006d29c0
mov esi, eax
mov ebp, edx
test ebx, ebx
je 0x5d1e4f
mov eax, dword [esp + 0x14]
push ebp
cdq
push esi
push edx
push eax
call fcn.006d29c0
mov dword [ebx], eax
mov dword [ebx + 4], edx
test edi, edi
je 0x5d1e66
mov eax, dword [esp + 0x1c]
push ebp
cdq
push esi
push edx
push eax
call fcn.006d29c0
mov dword [edi], eax
mov dword [edi + 4], edx
mov al, 1
mov ecx, dword [esp + 0xf4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xdc]
xor ecx, esp
call fcn.006d1ba7
add esp, 0xec
ret