Function at 0x44386c
Capabilities:
Get disk size

Disassembly:
push ebp
lea ebp, [esp - 0x644]
sub esp, 0x6c4
mov eax, dword [0x4b7f60]
xor eax, ebp
mov dword [ebp + 0x640], eax
push ebx
push esi
push edi
push 0x2d9
mov esi, ecx
call fcn.0043d04e
mov ecx, eax
call fcn.0043d8f1
lea edi, [esi + 0x4c]
push 0x4a7dd0
mov ecx, edi
call fcn.004019f8
mov ecx, dword [esi + 0x44]
push edi
call fcn.0041c2ed
cmp dword [esi + 0x60], 0xa0
jbe 0x44394d
push 0x50
call fcn.0046d7c4
xor ebx, ebx
pop ecx
cmp eax, ebx
je 0x4438dc
mov ecx, eax
call fcn.00445f89
mov dword [ebp - 0x50], eax
jmp 0x4438df
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00433df1
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push ebx
push dword [esi + 4]
call edi
push ebx
push 0x4a1e10
mov ecx, dword [esi + 0x24]
xor eax, eax
inc eax
push eax
mov dword [ecx + 0x7c], eax
push 3
push dword [esi + 0x24]
lea ecx, [ebp - 0x4c]
call fcn.00441cc8
mov eax, dword [ebp - 0x50]
push ebx
push dword [eax + 4]
lea ecx, [ebp - 0x4c]
call fcn.00434000
push 1
push dword [esi + 4]
call edi
mov eax, dword [esi + 0x24]
lea ecx, [ebp - 0x4c]
mov dword [eax + 0x7c], ebx
call fcn.00440e29
xor eax, eax
inc eax
jmp 0x443e8e
xor eax, eax
push 0x206
mov word [ebp + 0x230], ax
xor ebx, ebx
lea eax, [ebp + 0x232]
push ebx
push eax
call fcn.0046d720
push 0x208
lea eax, [ebp + 0x230]
push ebx
push eax
call fcn.0046d720
mov ecx, dword [esi + 0x60]
mov eax, 0x104
add esp, 0x18
cmp ecx, eax
jae 0x44398d
mov eax, ecx
cmp dword [edi + 0x18], 8
jb 0x443998
mov ecx, dword [edi + 4]
jmp 0x44399b
lea ecx, [edi + 4]
inc eax
push eax
push ecx
lea eax, [ebp + 0x230]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyNW]
lea eax, [ebp + 0x230]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveBlanksW]
lea eax, [ebp + 0x230]
push eax
mov ecx, edi
call fcn.004019f8
cmp dword [esi + 0x60], ebx
jbe 0x443ad4
mov eax, dword [esi + 0x60]
dec eax
push eax
mov ecx, edi
call fcn.0041258c
cmp word [eax], 0x5c
je 0x4439f5
mov eax, dword [esi + 0x60]
dec eax
push eax
mov ecx, edi
call fcn.0041258c
push 0x2f
pop ecx
cmp word [eax], cx
jne 0x443a23
lea eax, [ebp - 0x59]
push eax
mov eax, dword [esi + 0x60]
dec eax
push eax
push ebx
push edi
lea ecx, [ebp - 0x80]
call fcn.00402f49
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x80]
push eax
mov ecx, edi
call fcn.00401965
push ebx
push 1
lea ecx, [ebp - 0x80]
call fcn.00401a1c
jmp 0x4439cf
push 1
push ebx
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], ecx
push eax
mov ecx, edi
call fcn.00402f73
mov dword [ebp - 0x50], eax
cmp eax, 0xffffffff
je 0x443a6d
mov dword [ebp - 0x54], 0x2f
push dword [ebp - 0x50]
mov ecx, edi
call fcn.0041258c
push 0x5c
pop ecx
mov word [eax], cx
mov eax, dword [ebp - 0x50]
push 1
inc eax
push eax
lea eax, [ebp - 0x54]
push eax
mov ecx, edi
call fcn.00402f73
mov dword [ebp - 0x50], eax
cmp eax, 0xffffffff
jne 0x443a43
push 1
push ebx
lea eax, [ebp - 0x54]
push eax
mov ecx, edi
mov dword [ebp - 0x54], 0x5c
call fcn.00402f73
push 1
push eax
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x54]
push eax
mov ecx, edi
mov dword [ebp - 0x54], 0x5c
call fcn.00402f73
cmp eax, 0xffffffff
je 0x443ad4
mov dword [ebp - 0x54], 0x5c
mov ecx, dword [ebp - 0x50]
inc ecx
cmp eax, ecx
jne 0x443aba
push 1
push eax
mov ecx, edi
call fcn.00401c23
jmp 0x443abd
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
push 1
inc eax
push eax
lea eax, [ebp - 0x54]
push eax
mov ecx, edi
call fcn.00402f73
cmp eax, 0xffffffff
jne 0x443aa6
cmp dword [edi + 0x18], 8
jb 0x443adf
mov eax, dword [edi + 4]
jmp 0x443ae2
lea eax, [edi + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathGetDriveNumberW]
cbw
add ax, 0x41
movzx eax, ax
mov dword [ebp - 0x54], eax
xor eax, eax
push 0x206
mov word [ebp + 0x28], ax
lea eax, [ebp + 0x2a]
push ebx
push eax
call fcn.0046d720
movzx eax, word [ebp - 0x54]
push eax
lea eax, [ebp + 0x28]
push str._c:_
push eax
call fcn.0046df55
lea eax, [ebp - 0x64]
add esp, 0x18
push eax
mov dword [ebp - 0x64], ebx
call fcn.0040402d
mov ecx, eax
call fcn.004040cd
lea eax, [ebp + 0x28]
push eax
mov ecx, esi
call fcn.004420be
test eax, eax
je 0x443b5a
push ebx
push ebx
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
jne 0x443ba5
push 0x50
call fcn.0046d7c4
pop ecx
cmp eax, ebx
je 0x443b72
mov ecx, eax
call fcn.00445f89
mov dword [ebp - 0x50], eax
jmp 0x443b75
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00433df1
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push ebx
push dword [esi + 4]
call edi
push ebx
push 0x4a1de8
jmp 0x44390a
mov eax, dword [ebp - 0x64]
cdq
cmp edx, dword [ebp - 0x54]
jb 0x443c00
ja 0x443bb5
cmp eax, dword [ebp - 0x58]
jbe 0x443c00
push 0x50
call fcn.0046d7c4
pop ecx
cmp eax, ebx
je 0x443bcd
mov ecx, eax
call fcn.00445f89
mov dword [ebp - 0x50], eax
jmp 0x443bd0
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00433df1
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push ebx
push dword [esi + 4]
call edi
push ebx
push 0x4a1dac
jmp 0x44390a
push ebx
push 0x4a8928
mov ecx, edi
call fcn.0040d97c
mov ecx, dword [esi + 0x60]
dec ecx
cmp eax, ecx
jae 0x443c36
inc eax
push eax
mov ecx, edi
mov dword [ebp - 0x54], eax
call fcn.0041258c
cmp word [eax], 0x5c
je 0x443c36
push 0x4a7ca8
push dword [ebp - 0x54]
mov ecx, edi
call fcn.00442a70
push ebx
push 0x4a7ca8
mov ecx, edi
call fcn.0040d97c
cmp eax, 0xffffffff
jne 0x443cb9
push ebx
push 0x4a8970
mov ecx, edi
call fcn.0040d97c
cmp eax, 0xffffffff
jne 0x443cb9
xor eax, eax
push 0x206
mov word [ebp + 0x438], ax
lea eax, [ebp + 0x43a]
push ebx
push eax
call fcn.0046d720
push 0x208
lea eax, [ebp + 0x438]
push ebx
push eax
call fcn.0046d720
add esp, 0x18
cmp dword [edi + 0x18], 8
jb 0x443c95
mov eax, dword [edi + 4]
jmp 0x443c98
lea eax, [edi + 4]
push 0x4a1d8c
push eax
lea eax, [ebp + 0x438]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp + 0x438]
push eax
mov ecx, edi
call fcn.004019f8
cmp dword [edi + 0x18], 8
jb 0x443cc4
mov eax, dword [edi + 4]
jmp 0x443cc7
lea eax, [edi + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsRootW]
test eax, eax
je 0x443d31
xor eax, eax
push 0x206
mov word [ebp + 0x438], ax
lea eax, [ebp + 0x43a]
push ebx
push eax
call fcn.0046d720
push 0x208
lea eax, [ebp + 0x438]
push ebx
push eax
call fcn.0046d720
add esp, 0x18
cmp dword [edi + 0x18], 8
jb 0x443d0d
mov eax, dword [edi + 4]
jmp 0x443d10
lea eax, [edi + 4]
push 0x4a1d8c
push eax
lea eax, [ebp + 0x438]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp + 0x438]
push eax
mov ecx, edi
call fcn.004019f8
cmp dword [edi + 0x18], 8
mov dword [ebp - 0x60], ebx
jb 0x443d3f
mov eax, dword [edi + 4]
jmp 0x443d42
lea eax, [edi + 4]
lea ecx, [ebp - 0x60]
push ecx
push eax
call fcn.00403717
pop ecx
pop ecx
cmp dword [ebp - 0x60], ebx
je 0x443dfc
mov ecx, esi
call fcn.004434d4
test eax, eax
je 0x443df9
push 0x50
call fcn.0046d7c4
pop ecx
cmp eax, ebx
je 0x443d7e
mov ecx, eax
call fcn.00445f89
mov dword [ebp - 0x50], eax
jmp 0x443d81
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00433df1
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push ebx
push dword [esi + 4]
call edi
mov eax, dword [esi + 0x24]
push ebx
push 0x4a1d20
push 5
push 3
mov dword [eax + 0x7c], 1
push dword [esi + 0x24]
lea ecx, [ebp - 0x4c]
call fcn.00441cc8
mov eax, dword [ebp - 0x50]
push ebx
push dword [eax + 4]
lea ecx, [ebp - 0x4c]
call fcn.00434000
mov eax, dword [ebp + 0x20]
push 1
push dword [esi + 4]
mov dword [ebp - 0x54], eax
call edi
mov eax, dword [esi + 0x24]
lea ecx, [ebp - 0x4c]
mov dword [eax + 0x7c], ebx
call fcn.00440e29
cmp dword [ebp - 0x54], 7
je 0x443945
push ebx
jmp 0x443e62
cmp dword [edi + 0x18], 8
jb 0x443e07
mov edi, dword [edi + 4]
jmp 0x443e0a
add edi, 4
push edi
call fcn.00403749
pop ecx
test eax, eax
je 0x443e60
push 0x50
call fcn.0046d7c4
pop ecx
cmp eax, ebx
je 0x443e2d
mov ecx, eax
call fcn.00445f89
mov dword [ebp - 0x50], eax
jmp 0x443e30
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00433df1
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push ebx
push dword [esi + 4]
call edi
push ebx
push 0x4a1cf4
jmp 0x44390a
push 1
call fcn.0040402d
mov ecx, eax
call fcn.0040410f
push ebx
call fcn.00434a22
mov ecx, eax
call fcn.0042d72b
mov ecx, dword [esi + 0x24]
push ebx
call fcn.0043f8d2
mov ecx, dword [esi + 0x24]
call fcn.0043fb52
xor eax, eax
mov ecx, dword [ebp + 0x640]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046d79a
add ebp, 0x644
leave
ret 0x10