Function at 0x41a709
Capabilities:
Get disk size

Disassembly:
push 0x43c
mov eax, 0x463478
call fcn.0043f4b0
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x440], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x428], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x43c], eax
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
xor edi, edi
lea eax, [ebp - 0x216]
push edi
push eax
call fcn.0043dfb0
mov esi, edi
add esp, 0xc
mov dword [ebp - 0x430], esi
mov ecx, dword [0x483194]
mov dword [ebp - 4], edi
cmp ecx, 0xffffffff
jne 0x41a7b6
push dword [0x4830a4]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x448], eax
test eax, eax
je 0x41a7a2
lea ecx, [ebp - 0x430]
call fcn.0041e35d
mov esi, dword [ebp - 0x448]
mov dword [ebp - 0x430], esi
push str.GetDiskFreeSpaceExW
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
mov dword [0x483194], ecx
movzx eax, word [ebx]
push 0x5c
pop edx
cmp ax, dx
jne 0x41a7ef
cmp word [ebx + 2], dx
jne 0x41a7ef
push ebx
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x46a790
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ecx, dword [0x483194]
jmp 0x41a811
mov word [ebp - 0x420], ax
mov ax, word [ebx + 2]
mov word [ebp - 0x41e], ax
xor eax, eax
mov word [ebp - 0x41c], dx
mov word [ebp - 0x41a], ax
test ecx, ecx
je 0x41a861
push dword [ebp - 0x428]
mov edx, dword [ebp - 0x42c]
cmp word [ebp - 0x218], 0
push edx
push dword [ebp - 0x440]
lea edx, [ebp - 0x420]
lea eax, [ebp - 0x218]
cmove eax, edx
push eax
call ecx
mov esi, eax
test esi, esi
jne 0x41a955
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x78
jne 0x41a955
mov dword [0x483194], edi
cmp word [ebp - 0x218], 0
je 0x41a88e
push 0x104
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0041a9e0
add esp, 0xc
test eax, eax
je 0x41a942
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x434]
push eax
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov ebx, eax
test ebx, ebx
je 0x41a929
push dword [ebp - 0x438]
mov eax, dword [ebp - 0x42c]
push dword [ebp - 0x424]
mov esi, dword [ebp - 0x434]
push esi
mov dword [eax + 4], edi
call fcn.0041a9b5
mov edx, dword [ebp - 0x42c]
push dword [ebp - 0x444]
mov dword [edx], eax
mov eax, dword [ebp - 0x428]
push dword [ebp - 0x424]
mov dword [eax + 4], edi
push esi
call fcn.0041a9b5
mov ecx, dword [ebp - 0x428]
mov edx, dword [ebp - 0x440]
add esp, 0x18
imul esi, dword [ebp - 0x424]
mov dword [ecx], eax
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov edx, dword [ebp - 0x43c]
mov dword [edx], esi
cmp word [ebp - 0x218], 0
je 0x41a940
lea eax, [ebp - 0x420]
push eax
call fcn.0041aa7c
pop ecx
mov edi, ebx
lea ecx, [ebp - 0x430]
call fcn.0041e35d
mov eax, edi
call fcn.0043f45f
ret
cmp word [ebp - 0x218], 0
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x420]
lea eax, [ebp - 0x218]
cmove eax, ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test eax, eax
je 0x41a9a8
mov ecx, dword [ebp - 0x434]
imul ecx, dword [ebp - 0x424]
mov edx, dword [ebp - 0x43c]
mov dword [edx], ecx
test esi, esi
je 0x41a942
test eax, eax
je 0x41a942
xor edi, edi
inc edi
jmp 0x41a942