Function at 0x446384
Capabilities:
Get disk size

Disassembly:
push ebp
lea ebp, [esp - 0x640]
sub esp, 0x6c0
mov eax, dword [0x4bca50]
xor eax, ebp
mov dword [ebp + 0x63c], eax
push ebx
push esi
push edi
push 0x2d9
mov esi, ecx
call fcn.0043fe99
mov ecx, eax
call fcn.0044073e
lea edi, [esi + 0x4c]
push 0x4acb48
mov ecx, edi
call fcn.00401a34
mov ecx, dword [esi + 0x44]
push edi
call fcn.0041f1bc
cmp dword [esi + 0x60], 0xa0
jbe 0x446464
push 0x50
call fcn.004709c4
xor ebx, ebx
pop ecx
cmp eax, ebx
je 0x4463f4
mov ecx, eax
call fcn.00448966
mov dword [ebp - 0x50], eax
jmp 0x4463f7
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00435abe
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 0x4a62dc
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.004448af
mov eax, dword [ebp - 0x50]
push ebx
push dword [eax + 4]
lea ecx, [ebp - 0x4c]
call fcn.00435ccd
push 1
push dword [esi + 4]
call edi
mov eax, dword [esi + 0x24]
lea ecx, [ebp - 0x4c]
mov dword [eax + 0x7c], ebx
call fcn.00444409
xor eax, eax
inc eax
jmp 0x4469a1
xor eax, eax
push 0x206
mov word [ebp + 0x22c], ax
xor ebx, ebx
lea eax, [ebp + 0x22e]
push ebx
push eax
call fcn.00470920
push 0x208
lea eax, [ebp + 0x22c]
push ebx
push eax
call fcn.00470920
mov ecx, dword [esi + 0x60]
mov eax, 0x104
add esp, 0x18
cmp ecx, eax
jae 0x4464a4
mov eax, ecx
cmp dword [edi + 0x18], 8
jb 0x4464af
mov ecx, dword [edi + 4]
jmp 0x4464b2
lea ecx, [edi + 4]
inc eax
push eax
push ecx
lea eax, [ebp + 0x22c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyNW]
lea eax, [ebp + 0x22c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveBlanksW]
lea eax, [ebp + 0x22c]
push eax
mov ecx, edi
call fcn.00401a34
cmp dword [esi + 0x60], ebx
jbe 0x4465eb
mov eax, dword [esi + 0x60]
dec eax
push eax
mov ecx, edi
call fcn.00403205
cmp word [eax], 0x5c
je 0x44650c
mov eax, dword [esi + 0x60]
dec eax
push eax
mov ecx, edi
call fcn.00403205
push 0x2f
pop ecx
cmp word [eax], cx
jne 0x44653a
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.00407d4a
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 0x4464e6
push 1
push ebx
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], ecx
push eax
mov ecx, edi
call fcn.0042f63d
mov dword [ebp - 0x50], eax
cmp eax, 0xffffffff
je 0x446584
mov dword [ebp - 0x54], 0x2f
push dword [ebp - 0x50]
mov ecx, edi
call fcn.00403205
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.0042f63d
mov dword [ebp - 0x50], eax
cmp eax, 0xffffffff
jne 0x44655a
push 1
push ebx
lea eax, [ebp - 0x54]
push eax
mov ecx, edi
mov dword [ebp - 0x54], 0x5c
call fcn.0042f63d
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.0042f63d
cmp eax, 0xffffffff
je 0x4465eb
mov dword [ebp - 0x54], 0x5c
mov ecx, dword [ebp - 0x50]
inc ecx
cmp eax, ecx
jne 0x4465d1
push 1
push eax
mov ecx, edi
call fcn.00401c5f
jmp 0x4465d4
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.0042f63d
cmp eax, 0xffffffff
jne 0x4465bd
cmp dword [edi + 0x18], 8
jb 0x4465f6
mov eax, dword [edi + 4]
jmp 0x4465f9
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 + 0x24], ax
lea eax, [ebp + 0x26]
push ebx
push eax
call fcn.00470920
movzx eax, word [ebp - 0x54]
push eax
lea eax, [ebp + 0x24]
push str._c:_
push eax
call fcn.00471155
lea eax, [ebp - 0x64]
add esp, 0x18
push eax
mov dword [ebp - 0x64], ebx
call fcn.00403d28
mov ecx, eax
call fcn.00403dc8
lea eax, [ebp + 0x24]
push eax
mov ecx, esi
call fcn.0042f2a9
test eax, eax
je 0x446671
push ebx
push ebx
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp + 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
jne 0x4466bb
push 0x50
call fcn.004709c4
pop ecx
cmp eax, ebx
je 0x446689
mov ecx, eax
call fcn.00448966
mov dword [ebp - 0x50], eax
jmp 0x44668c
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00435abe
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 0x4a62b4
jmp 0x446421
mov eax, dword [ebp - 0x64]
cdq
cmp edx, dword [ebp - 0x54]
jb 0x446715
ja 0x4466cb
cmp eax, dword [ebp - 0x58]
jbe 0x446715
push 0x50
call fcn.004709c4
pop ecx
cmp eax, ebx
je 0x4466e3
mov ecx, eax
call fcn.00448966
mov dword [ebp - 0x50], eax
jmp 0x4466e6
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00435abe
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 0x4a6278
jmp 0x446421
push ebx
push 0x4ad860
mov ecx, edi
call fcn.0040f54d
mov ecx, dword [esi + 0x60]
dec ecx
cmp eax, ecx
jae 0x44674b
inc eax
push eax
mov ecx, edi
mov dword [ebp - 0x54], eax
call fcn.00403205
cmp word [eax], 0x5c
je 0x44674b
push 0x4aca20
push dword [ebp - 0x54]
mov ecx, edi
call fcn.004454f9
push ebx
push 0x4aca20
mov ecx, edi
call fcn.0040f54d
cmp eax, 0xffffffff
jne 0x4467ce
push ebx
push 0x4ad8a8
mov ecx, edi
call fcn.0040f54d
cmp eax, 0xffffffff
jne 0x4467ce
xor eax, eax
push 0x206
mov word [ebp + 0x434], ax
lea eax, [ebp + 0x436]
push ebx
push eax
call fcn.00470920
push 0x208
lea eax, [ebp + 0x434]
push ebx
push eax
call fcn.00470920
add esp, 0x18
cmp dword [edi + 0x18], 8
jb 0x4467aa
mov eax, dword [edi + 4]
jmp 0x4467ad
lea eax, [edi + 4]
push 0x4a6258
push eax
lea eax, [ebp + 0x434]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp + 0x434]
push eax
mov ecx, edi
call fcn.00401a34
cmp dword [edi + 0x18], 8
jb 0x4467d9
mov eax, dword [edi + 4]
jmp 0x4467dc
lea eax, [edi + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsRootW]
test eax, eax
je 0x446846
xor eax, eax
push 0x206
mov word [ebp + 0x434], ax
lea eax, [ebp + 0x436]
push ebx
push eax
call fcn.00470920
push 0x208
lea eax, [ebp + 0x434]
push ebx
push eax
call fcn.00470920
add esp, 0x18
cmp dword [edi + 0x18], 8
jb 0x446822
mov eax, dword [edi + 4]
jmp 0x446825
lea eax, [edi + 4]
push 0x4a6258
push eax
lea eax, [ebp + 0x434]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp + 0x434]
push eax
mov ecx, edi
call fcn.00401a34
cmp dword [edi + 0x18], 8
mov dword [ebp - 0x60], ebx
jb 0x446854
mov eax, dword [edi + 4]
jmp 0x446857
lea eax, [edi + 4]
lea ecx, [ebp - 0x60]
push ecx
push eax
call fcn.00403412
pop ecx
pop ecx
cmp dword [ebp - 0x60], ebx
je 0x446910
mov ecx, esi
call fcn.00445f00
test eax, eax
je 0x44690d
push 0x50
call fcn.004709c4
pop ecx
cmp eax, ebx
je 0x446893
mov ecx, eax
call fcn.00448966
mov dword [ebp - 0x50], eax
jmp 0x446896
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00435abe
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 0x4a61e8
push 5
push 3
mov dword [eax + 0x7c], 1
push dword [esi + 0x24]
lea ecx, [ebp - 0x4c]
call fcn.004448af
mov eax, dword [ebp - 0x50]
push ebx
push dword [eax + 4]
lea ecx, [ebp - 0x4c]
call fcn.00435ccd
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.00444409
cmp dword [ebp - 0x54], 7
je 0x44645c
push ebx
jmp 0x446975
cmp dword [edi + 0x18], 8
jb 0x44691b
mov edi, dword [edi + 4]
jmp 0x44691e
add edi, 4
push edi
call fcn.00403444
pop ecx
test eax, eax
je 0x446973
push 0x50
call fcn.004709c4
pop ecx
cmp eax, ebx
je 0x446941
mov ecx, eax
call fcn.00448966
mov dword [ebp - 0x50], eax
jmp 0x446944
mov dword [ebp - 0x50], ebx
mov edi, dword [ebp - 0x50]
push ebx
push dword [esi + 4]
mov ecx, edi
call fcn.00435abe
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 0x4a61c0
jmp 0x446421
push 1
call fcn.00403d28
mov ecx, eax
call fcn.00403e0a
push ebx
call fcn.004366db
mov ecx, eax
call fcn.0042f36d
mov ecx, dword [esi + 0x24]
push ebx
call fcn.00442732
mov ecx, dword [esi + 0x24]
call fcn.004429b8
xor eax, eax
mov ecx, dword [ebp + 0x63c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0047099a
add ebp, 0x640
leave
ret 0x10