Function at 0x469bf0
Capabilities:
Get disk information
Get disk size

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1c44
call fcn.004a1410
mov eax, dword [0x4f6cdc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, ecx
xor ecx, ecx
push 0x3fe
push ecx
lea edx, [ebp - 0x402]
push edx
mov dword [ebp - 0x1c2c], eax
mov word [ebp - 0x404], cx
call fcn.0049eae0
xor eax, eax
push 0x3fe
push eax
lea ecx, [ebp - 0xa0a]
push ecx
mov word [ebp - 0xa0c], ax
call fcn.0049eae0
xor edx, edx
push 0x3fe
push edx
lea eax, [ebp - 0x1c22]
push eax
mov word [ebp - 0x1c24], dx
call fcn.0049eae0
xor ecx, ecx
push 0x3fe
push ecx
lea edx, [ebp - 0x1012]
push edx
mov word [ebp - 0x1014], cx
call fcn.0049eae0
xor eax, eax
push 0x3fe
push eax
lea ecx, [ebp - 0x1822]
push ecx
mov word [ebp - 0x1824], ax
call fcn.0049eae0
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x404]
add esp, 0x3c
sub edx, eax
jmp 0x469cb0
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x469cb0
mov ecx, dword [0x4fcdc4]
lea edx, [ebp - 0x1c24]
push edx
call fcn.0044e3b0
lea eax, [ebp - 0x404]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x469ce0
sub eax, edx
sar eax, 1
jne 0x469d38
lea eax, [ebp - 0xa0c]
push eax
push 0x4f26
mov byte [ebp - 0x1c25], cl
call fcn.0043ffa0
mov ecx, eax
call fcn.004389d0
push 0
lea ecx, [ebp - 0xa0c]
push ecx
push 0
mov ecx, ebx
call fcn.00447da0
mov al, byte [ebp - 0x1c25]
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0049f71b
mov esp, ebp
pop ebp
ret 0xc
lea edx, [ebp - 0x404]
push edx
mov ecx, ebx
call fcn.00469ad0
mov byte [ebp - 0x1c25], al
test al, al
je 0x469e9d
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
push edi
lea eax, [ebp - 0x404]
push eax
call esi
cmp eax, 1
jne 0x469dc3
lea ecx, [ebp - 0x121c]
push ecx
lea edx, [ebp - 0x1424]
push edx
lea eax, [ebp - 0x60c]
push eax
lea ecx, [ebp - 0xc14]
push ecx
lea edx, [ebp - 0x404]
push edx
call fcn.004a20bf
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
add esp, 0x14
lea eax, [ebp - 0xc14]
push eax
call edi
test eax, eax
je 0x469e1a
push 0x4d3378
lea ecx, [ebp - 0xc14]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea edx, [ebp - 0xc14]
push edx
call esi
cmp eax, 4
jne 0x469e41
call fcn.0043ffc0
mov ecx, eax
call fcn.0040a710
test al, al
jne 0x469f05
mov byte [ebp - 0x1c25], al
cmp byte [ebp + 0x10], al
je 0x46a046
lea ecx, [ebp - 0xa0c]
push ecx
push 0x4e9a
call fcn.0043ffa0
mov ecx, eax
call fcn.004389d0
push 0
lea edx, [ebp - 0xa0c]
push edx
push 0
mov ecx, ebx
call fcn.00447da0
jmp 0x46a046
lea eax, [ebp - 0x60c]
push eax
call edi
cmp eax, 2
jle 0x469e5d
mov eax, 0x5c
cmp word [ebp - 0x60c], ax
jne 0x469e5d
cmp word [ebp - 0x60a], ax
jne 0x469e5d
jmp 0x469dc8
cmp eax, 5
je 0x469e5d
cmp eax, 6
je 0x469e5d
cmp eax, 2
je 0x469e5d
cmp eax, 1
je 0x469e5d
test eax, eax
jne 0x469f05
cmp byte [ebp + 0x10], 0
mov byte [ebp - 0x1c25], 0
je 0x46a046
lea eax, [ebp - 0xa0c]
push eax
push 0x4f26
call fcn.0043ffa0
mov ecx, eax
call fcn.004389d0
push 0
lea ecx, [ebp - 0xa0c]
push ecx
push 0
mov ecx, ebx
call fcn.00447da0
jmp 0x46a046
cmp byte [ebp + 0x10], 0
je 0x46a048
lea edx, [ebp - 0xa0c]
push edx
push 0x4e9d
call fcn.0043ffa0
mov ecx, eax
call fcn.004389d0
lea eax, [ebp - 0x404]
push eax
lea ecx, [ebp - 0xa0c]
push ecx
lea edx, [ebp - 0x1014]
push edx
call fcn.00433950
add esp, 0xc
push 0
lea eax, [ebp - 0x1014]
push eax
push 0
mov ecx, ebx
call fcn.00447da0
mov al, byte [ebp - 0x1c25]
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0049f71b
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [0x4fcdc4]
test eax, eax
je 0x46a015
mov esi, dword [eax + 0x10a0]
call fcn.0043ffe0
push eax
push esi
call fcn.0043ffc0
mov ecx, eax
call fcn.0041c390
mov esi, eax
test esi, esi
je 0x46a015
lea ecx, [ebp - 0x1424]
push ecx
lea edx, [ebp - 0x121c]
push edx
lea eax, [ebp - 0xc14]
push eax
lea ecx, [ebp - 0x60c]
push ecx
lea edx, [ebp - 0x404]
push edx
call fcn.004a20bf
add esp, 0x14
lea eax, [ebp - 0x1c3c]
push eax
lea ecx, [ebp - 0x1c44]
push ecx
lea edx, [ebp - 0x1c34]
push edx
lea eax, [ebp - 0x60c]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov eax, dword [ebp - 0x1c30]
mov ecx, dword [ebp - 0x1c34]
shrd ecx, eax, 0x14
shr eax, 0x14
xor edx, edx
cmp edx, eax
jb 0x46a015
ja 0x469fa1
cmp esi, ecx
jbe 0x46a015
lea ecx, [ebp - 0xa0c]
push ecx
push 0x4e9c
mov byte [ebp - 0x1c25], dl
call fcn.0043ffa0
mov ecx, eax
call fcn.004389d0
push esi
lea edx, [ebp - 0x1824]
push str._d_MB
push edx
call fcn.00433950
lea eax, [ebp - 0x1824]
push eax
lea ecx, [ebp - 0x404]
push ecx
lea edx, [ebp - 0x1c24]
push edx
lea eax, [ebp - 0xa0c]
push eax
lea ecx, [ebp - 0x1014]
push ecx
call fcn.00433950
mov eax, dword [ebp - 0x1c2c]
add esp, 0x20
push 0
lea edx, [ebp - 0x1014]
push edx
push eax
mov ecx, ebx
call fcn.00447da0
jmp 0x46a046
lea eax, [ebp - 0x404]
lea edx, [ebx + 0xc5c]
mov ecx, eax
sub edx, ecx
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x46a025
mov ecx, dword [0x4fcdc4]
lea edx, [ebp - 0x404]
push edx
call fcn.00449460
pop edi
pop esi
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 0x1c25]
xor ecx, ebp
pop ebx
call fcn.0049f71b
mov esp, ebp
pop ebp
ret 0xc