Function at 0x44368c
Capabilities:
Get disk size

Disassembly:
push ebp
lea ebp, [esp - 0x644]
sub esp, 0x6c4
mov eax, dword [0x4b7f10]
xor eax, ebp
mov dword [ebp + 0x640], eax
push ebx
push esi
push edi
push 0x2d9
mov esi, ecx
call fcn.0043cb31
mov ecx, eax
call fcn.0043d3d4
lea edi, [esi + 0x4c]
push 0x4a7ca0
mov ecx, edi
call fcn.00401a34
mov ecx, dword [esi + 0x44]
push edi
call fcn.0041c64f
cmp dword [esi + 0x60], 0xa0
jbe 0x44376d
push 0x50
call fcn.0046cc54
xor ebx, ebx
pop ecx
cmp eax, ebx
je 0x4436fc
mov ecx, eax
call fcn.00445a3e
mov dword [ebp - 0x50], eax
jmp 0x4436ff
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00433577
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
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.004417f2
mov eax, dword [ebp - 0x50]
push ebx
push dword [eax + 4]
lea ecx, [ebp - 0x4c]
call fcn.00433786
push 1
push dword [esi + 4]
call edi
mov eax, dword [esi + 0x24]
lea ecx, [ebp - 0x4c]
mov dword [eax + 0x7c], ebx
call fcn.00440933
xor eax, eax
inc eax
jmp 0x443cae
xor eax, eax
push 0x206
mov word [ebp + 0x230], ax
xor ebx, ebx
lea eax, [ebp + 0x232]
push ebx
push eax
call fcn.0046cbb0
push 0x208
lea eax, [ebp + 0x230]
push ebx
push eax
call fcn.0046cbb0
mov ecx, dword [esi + 0x60]
mov eax, 0x104
add esp, 0x18
cmp ecx, eax
jae 0x4437ad
mov eax, ecx
cmp dword [edi + 0x18], 8
jb 0x4437b8
mov ecx, dword [edi + 4]
jmp 0x4437bb
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.00401a34
cmp dword [esi + 0x60], ebx
jbe 0x4438f4
mov eax, dword [esi + 0x60]
dec eax
push eax
mov ecx, edi
call fcn.00412486
cmp word [eax], 0x5c
je 0x443815
mov eax, dword [esi + 0x60]
dec eax
push eax
mov ecx, edi
call fcn.00412486
push 0x2f
pop ecx
cmp word [eax], cx
jne 0x443843
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.00402f53
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x80]
push eax
mov ecx, edi
call fcn.004019a1
push ebx
push 1
lea ecx, [ebp - 0x80]
call fcn.00401a58
jmp 0x4437ef
push 1
push ebx
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], ecx
push eax
mov ecx, edi
call fcn.00402f7d
mov dword [ebp - 0x50], eax
cmp eax, 0xffffffff
je 0x44388d
mov dword [ebp - 0x54], 0x2f
push dword [ebp - 0x50]
mov ecx, edi
call fcn.00412486
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.00402f7d
mov dword [ebp - 0x50], eax
cmp eax, 0xffffffff
jne 0x443863
push 1
push ebx
lea eax, [ebp - 0x54]
push eax
mov ecx, edi
mov dword [ebp - 0x54], 0x5c
call fcn.00402f7d
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.00402f7d
cmp eax, 0xffffffff
je 0x4438f4
mov dword [ebp - 0x54], 0x5c
mov ecx, dword [ebp - 0x50]
inc ecx
cmp eax, ecx
jne 0x4438da
push 1
push eax
mov ecx, edi
call fcn.00401c5f
jmp 0x4438dd
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.00402f7d
cmp eax, 0xffffffff
jne 0x4438c6
cmp dword [edi + 0x18], 8
jb 0x4438ff
mov eax, dword [edi + 4]
jmp 0x443902
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.0046cbb0
movzx eax, word [ebp - 0x54]
push eax
lea eax, [ebp + 0x28]
push str._c:_
push eax
call fcn.0046d3e5
lea eax, [ebp - 0x64]
add esp, 0x18
push eax
mov dword [ebp - 0x64], ebx
call fcn.00404069
mov ecx, eax
call fcn.004040f3
lea eax, [ebp + 0x28]
push eax
mov ecx, esi
call fcn.00441be8
test eax, eax
je 0x44397a
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 0x4439c5
push 0x50
call fcn.0046cc54
pop ecx
cmp eax, ebx
je 0x443992
mov ecx, eax
call fcn.00445a3e
mov dword [ebp - 0x50], eax
jmp 0x443995
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00433577
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 0x4a1dc0
jmp 0x44372a
mov eax, dword [ebp - 0x64]
cdq
cmp edx, dword [ebp - 0x54]
jb 0x443a20
ja 0x4439d5
cmp eax, dword [ebp - 0x58]
jbe 0x443a20
push 0x50
call fcn.0046cc54
pop ecx
cmp eax, ebx
je 0x4439ed
mov ecx, eax
call fcn.00445a3e
mov dword [ebp - 0x50], eax
jmp 0x4439f0
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00433577
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 0x4a1d84
jmp 0x44372a
push ebx
push 0x4a87b8
mov ecx, edi
call fcn.0040d8e5
mov ecx, dword [esi + 0x60]
dec ecx
cmp eax, ecx
jae 0x443a56
inc eax
push eax
mov ecx, edi
mov dword [ebp - 0x54], eax
call fcn.00412486
cmp word [eax], 0x5c
je 0x443a56
push 0x4a7b78
push dword [ebp - 0x54]
mov ecx, edi
call fcn.0044258a
push ebx
push 0x4a7b78
mov ecx, edi
call fcn.0040d8e5
cmp eax, 0xffffffff
jne 0x443ad9
push ebx
push 0x4a8800
mov ecx, edi
call fcn.0040d8e5
cmp eax, 0xffffffff
jne 0x443ad9
xor eax, eax
push 0x206
mov word [ebp + 0x438], ax
lea eax, [ebp + 0x43a]
push ebx
push eax
call fcn.0046cbb0
push 0x208
lea eax, [ebp + 0x438]
push ebx
push eax
call fcn.0046cbb0
add esp, 0x18
cmp dword [edi + 0x18], 8
jb 0x443ab5
mov eax, dword [edi + 4]
jmp 0x443ab8
lea eax, [edi + 4]
push 0x4a1d64
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.00401a34
cmp dword [edi + 0x18], 8
jb 0x443ae4
mov eax, dword [edi + 4]
jmp 0x443ae7
lea eax, [edi + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsRootW]
test eax, eax
je 0x443b51
xor eax, eax
push 0x206
mov word [ebp + 0x438], ax
lea eax, [ebp + 0x43a]
push ebx
push eax
call fcn.0046cbb0
push 0x208
lea eax, [ebp + 0x438]
push ebx
push eax
call fcn.0046cbb0
add esp, 0x18
cmp dword [edi + 0x18], 8
jb 0x443b2d
mov eax, dword [edi + 4]
jmp 0x443b30
lea eax, [edi + 4]
push 0x4a1d64
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.00401a34
cmp dword [edi + 0x18], 8
mov dword [ebp - 0x60], ebx
jb 0x443b5f
mov eax, dword [edi + 4]
jmp 0x443b62
lea eax, [edi + 4]
lea ecx, [ebp - 0x60]
push ecx
push eax
call fcn.00403721
pop ecx
pop ecx
cmp dword [ebp - 0x60], ebx
je 0x443c1c
mov ecx, esi
call fcn.00442fee
test eax, eax
je 0x443c19
push 0x50
call fcn.0046cc54
pop ecx
cmp eax, ebx
je 0x443b9e
mov ecx, eax
call fcn.00445a3e
mov dword [ebp - 0x50], eax
jmp 0x443ba1
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00433577
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 0x4a1cf8
push 5
push 3
mov dword [eax + 0x7c], 1
push dword [esi + 0x24]
lea ecx, [ebp - 0x4c]
call fcn.004417f2
mov eax, dword [ebp - 0x50]
push ebx
push dword [eax + 4]
lea ecx, [ebp - 0x4c]
call fcn.00433786
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.00440933
cmp dword [ebp - 0x54], 7
je 0x443765
push ebx
jmp 0x443c82
cmp dword [edi + 0x18], 8
jb 0x443c27
mov edi, dword [edi + 4]
jmp 0x443c2a
add edi, 4
push edi
call fcn.00403753
pop ecx
test eax, eax
je 0x443c80
push 0x50
call fcn.0046cc54
pop ecx
cmp eax, ebx
je 0x443c4d
mov ecx, eax
call fcn.00445a3e
mov dword [ebp - 0x50], eax
jmp 0x443c50
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00433577
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 0x4a1ccc
jmp 0x44372a
push 1
call fcn.00404069
mov ecx, eax
call fcn.00404135
push ebx
call fcn.004341a8
mov ecx, eax
call fcn.0042d30b
mov ecx, dword [esi + 0x24]
push ebx
call fcn.0043f3b5
mov ecx, dword [esi + 0x24]
call fcn.0043f669
xor eax, eax
mov ecx, dword [ebp + 0x640]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046cc2a
add ebp, 0x644
leave
ret 0x10