Function at 0x405192
Capabilities:
Get disk size

Disassembly:
push 0x264
mov eax, 0x4e2995
call fcn.004c2a93
mov ebx, ecx
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x248], ax
lea eax, [ebp - 0x246]
push eax
call fcn.004c3990
add esp, 0xc
lea eax, [ebp - 0x248]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x4052ac
call fcn.00406d61
mov edi, dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test al, al
jne 0x4051fb
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call edi
push ecx
mov ecx, esp
push str.e2d5c0dcd1d3d5e4d8d5f1d7d5dec4eff7d5c4fddfd4c5dcd5f6d9dcd5fed1ddd5ef
call fcn.00401824
lea eax, [ebp - 0x24c]
push eax
call fcn.0040a56b
pop ecx
pop ecx
mov esi, eax
and dword [ebp - 4], 0
push 0x5401f0
lea ecx, [ebp - 0x25c]
call fcn.00401718
push esi
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebp - 0x258]
push eax
mov byte [ebp - 4], 1
call fcn.0045107a
add esp, 0xc
push eax
mov ecx, ebx
mov byte [ebp - 4], 2
call fcn.00406042
mov ecx, dword [ebp - 0x258]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x25c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x24c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov edx, dword [0x541ad4]
push 0x14
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
pop ecx
idiv ecx
cmp edx, 0xd
jne 0x4057b6
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call edi
jmp 0x4057b6
push 0x5401f0
lea ecx, [ebp - 0x254]
call fcn.00401718
push esi
lea eax, [ebp - 0x258]
push str._echo_off_r_nIF_NOT____XIST__
push eax
mov dword [ebp - 4], 3
call fcn.00401ec9
push str.__GOTO____ND_r_nS___T__a_i0_r_n
push eax
lea eax, [ebp - 0x24c]
push eax
mov byte [ebp - 4], 4
call fcn.00401e6a
add esp, 0x18
mov eax, dword [eax]
lea ecx, [ebp - 0x254]
push dword [eax - 0xc]
mov byte [ebp - 4], 5
push eax
call fcn.00401f75
mov ecx, dword [ebp - 0x24c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x258]
mov byte [ebp - 4], 3
lea ecx, [ecx - 0x10]
call fcn.00404fef
push str.:LOOP_r_nIF__i_
lea ecx, [ebp - 0x258]
call fcn.00401824
push str.100_GOTO____ND_r_n
push eax
lea eax, [ebp - 0x24c]
push eax
mov byte [ebp - 4], 6
call fcn.00401e6a
add esp, 0xc
mov eax, dword [eax]
lea ecx, [ebp - 0x254]
push dword [eax - 0xc]
mov byte [ebp - 4], 7
push eax
call fcn.00401f75
mov ecx, dword [ebp - 0x24c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x258]
mov byte [ebp - 4], 3
lea ecx, [ecx - 0x10]
call fcn.00404fef
push esi
lea eax, [ebp - 0x250]
push str.MOV_____Y__
push eax
call fcn.00401ec9
push 0x4f6674
push eax
lea eax, [ebp - 0x25c]
push eax
mov byte [ebp - 4], 8
call fcn.00401e6a
lea ecx, [ebp - 0x248]
push ecx
push eax
lea eax, [ebp - 0x258]
push eax
mov byte [ebp - 4], 9
call fcn.00401e6a
push 0xa
pop ecx
mov byte [ebp - 4], cl
push 0x4f666c
push eax
lea eax, [ebp - 0x24c]
push eax
call fcn.00401e6a
add esp, 0x30
mov eax, dword [eax]
lea ecx, [ebp - 0x254]
push dword [eax - 0xc]
mov byte [ebp - 4], 0xb
push eax
call fcn.00401f75
mov ecx, dword [ebp - 0x24c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x258]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x25c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x250]
mov byte [ebp - 4], 3
lea ecx, [ecx - 0x10]
call fcn.00404fef
push esi
lea eax, [ebp - 0x24c]
push str.IF_NOT____XIST__
push eax
call fcn.00401ec9
push str.__GOTO____ND_r_n
push eax
lea eax, [ebp - 0x250]
push eax
mov byte [ebp - 4], 0xc
call fcn.00401e6a
add esp, 0x18
mov eax, dword [eax]
push 0xd
pop ecx
push dword [eax - 0xc]
mov byte [ebp - 4], cl
push eax
lea ecx, [ebp - 0x254]
call fcn.00401f75
mov ecx, dword [ebp - 0x250]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x24c]
mov byte [ebp - 4], 3
lea ecx, [ecx - 0x10]
call fcn.00404fef
push str.ping_1.1.1.1__n_1__w_1000___nul_r_nS___T__a_i_i_1
lea ecx, [ebp - 0x254]
call fcn.00401f4c
push 0xd
pop esi
push 0xa
pop eax
push 0x47
mov word [ebp - 0x3e], ax
pop eax
push 0x4f
pop ecx
push 0x54
mov word [ebp - 0x3c], ax
pop eax
push 0x20
mov word [ebp - 0x38], ax
pop eax
push 0x4c
pop edx
mov word [ebp - 0x40], si
mov word [ebp - 0x3a], cx
mov word [ebp - 0x36], cx
mov word [ebp - 0x34], ax
mov word [ebp - 0x32], dx
mov word [ebp - 0x30], cx
push 0x50
pop eax
push 0xa
mov word [ebp - 0x2c], ax
pop eax
push 0x3a
mov word [ebp - 0x28], ax
pop eax
push 0x45
mov word [ebp - 0x2e], cx
pop ecx
push 0x4e
mov word [ebp - 0x26], ax
pop eax
push 0x44
mov word [ebp - 0x22], ax
pop eax
mov word [ebp - 0x20], ax
mov word [ebp - 0x1a], ax
xor eax, eax
push 0xa
mov word [ebp - 0x2a], si
mov word [ebp - 0x1e], si
pop esi
mov word [ebp - 0x14], ax
lea eax, [ebp - 0x40]
mov word [ebp - 0x24], cx
mov word [ebp - 0x18], cx
push eax
lea ecx, [ebp - 0x254]
mov word [ebp - 0x1c], si
mov word [ebp - 0x16], dx
call fcn.00401f4c
push str.__0_r_n
lea ecx, [ebp - 0x254]
call fcn.00401f4c
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x250]
push eax
call fcn.0040b4f2
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x254]
mov byte [ebp - 4], 0xe
call fcn.00401ced
mov ecx, dword [ebp - 0x250]
mov byte [ebp - 4], 3
lea ecx, [ecx - 0x10]
call fcn.00404fef
lea eax, [ebp - 0x24c]
push eax
call fcn.0040a01d
push eax
lea eax, [ebp - 0x250]
push edi
push eax
mov byte [ebp - 4], 0xf
call fcn.00401e15
push str..bat
push eax
lea eax, [ebp - 0x26c]
push eax
mov byte [ebp - 4], 0x10
call fcn.00401e6a
add esp, 0x1c
mov ecx, dword [ebp - 0x250]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x24c]
mov byte [ebp - 4], 0x13
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov esi, 0x5401f0
push esi
lea ecx, [ebp - 0x260]
call fcn.00401718
push esi
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x14
call fcn.00401718
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x254]
push eax
mov byte [ebp - 4], 0x15
call fcn.0040abc4
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.00409e4d
add esp, 0x10
test al, al
je 0x4056e9
push ecx
mov ecx, esp
mov dword [ebp - 0x268], esp
push 0x4fa988
call fcn.00401824
mov eax, dword [ebp - 0x26c]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov byte [ebp - 4], 0x16
call fcn.00403806
add eax, 0x10
mov dword [esi], eax
pop ecx
mov byte [ebp - 4], 0x15
call fcn.0040b5f0
pop ecx
pop ecx
test al, al
jne 0x40577e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x258]
push eax
call fcn.00451277
pop ecx
pop ecx
push eax
push ecx
mov ecx, esp
push str.e2d5c0dcd1d3d5e4d8d5f1d7d5dec4efe2c5def5c8d5ef
mov byte [ebp - 4], 0x17
call fcn.00401824
lea eax, [ebp - 0x24c]
push eax
call fcn.0040a56b
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x250]
push eax
mov byte [ebp - 4], 0x18
call fcn.0045107a
add esp, 0xc
push eax
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x19
call fcn.00401ced
mov ecx, dword [ebp - 0x250]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x24c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x258]
jmp 0x405764
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.00451277
pop ecx
pop ecx
push eax
push ecx
mov ecx, esp
push str.e2d5c0dcd1d3d5e4d8d5f1d7d5dec4efefc7d6dfc0d5deefc3ef
mov byte [ebp - 4], 0x1a
call fcn.00401824
lea eax, [ebp - 0x270]
push eax
call fcn.0040a56b
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x250]
push eax
mov byte [ebp - 4], 0x1b
call fcn.0045107a
add esp, 0xc
push eax
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x1c
call fcn.00401ced
mov ecx, dword [ebp - 0x250]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x270]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x268]
lea ecx, [ecx - 0x10]
mov byte [ebp - 4], 0x15
call fcn.00404fef
lea eax, [ebp - 0x260]
push eax
mov ecx, ebx
call fcn.00406042
mov ecx, dword [ebp - 0x264]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x260]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x26c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x254]
lea ecx, [ecx - 0x10]
call fcn.00404fef
call fcn.004c2a42
ret 8