Function at 0x472b7c
Capabilities:
Get disk information

Disassembly:
push 0x2cc
mov eax, 0x50fcf6
call fcn.004f41e2
mov edi, dword [ebp + 0x10]
lea ecx, [ebp - 0x194]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x2bc], edi
call fcn.004e25a1
xor eax, eax
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], eax
call fcn.004e25a1
mov byte [ebp - 4], 1
test esi, esi
je 0x47305d
movzx eax, word [esi]
test ax, ax
je 0x47305d
cmp eax, 0x5b
jne 0x472ec0
lea eax, [esi + 2]
push 0x5d
push eax
mov dword [ebp - 0x2b8], eax
call fcn.004f5617
pop ecx
pop ecx
test eax, eax
je 0x472ec0
lea ecx, [ebp - 0x1f0]
call fcn.004e25a1
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 2
call fcn.004e25a1
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 3
call fcn.004e25a1
push 0xffffffffffffffff
push dword [ebp - 0x2b8]
lea ecx, [ebp - 0x1f0]
mov byte [ebp - 4], 4
call fcn.004e2ad6
push 0x5d
push dword [ebp - 0x1f0]
call fcn.004f5617
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x472e9a
movaps xmm0, xmmword [0x5237f0]
xor eax, eax
mov dword [ebp - 0x2c8], eax
movups xmmword [ebp - 0x2d8], xmm0
mov word [ebx], ax
add ebx, 2
push 0x3a
push dword [ebp - 0x1f0]
mov byte [ebp - 4], 5
mov dword [ebp - 0x2c4], CreateMappedBitmap
mov dword [ebp - 0x2c0], reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x24], 0x100
mov dword [ebp - 0x20], 0x200
mov dword [ebp - 0x1c], eax
call fcn.004f6844
pop ecx
pop ecx
test eax, eax
je 0x472e3e
xor ecx, ecx
mov word [eax], cx
add eax, 2
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0xdc]
call fcn.004e2ad6
push 0x3a
push dword [ebp - 0x1f0]
call fcn.004f6844
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x472db7
cmp word [esi - 2], 0x2a
jne 0x472db7
cmp word [esi - 4], 0x5c
jne 0x472db7
lea ecx, [ebp - 0x2ac]
call fcn.004e25a1
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 6
call fcn.004e25a1
lea eax, [ebp - 0x2d8]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0x1f4], eax
call fcn.0044612f
mov dword [ebp - 0x2b4], eax
lea ecx, [ebp - 0x2ac]
xor eax, eax
mov dword [ebp - 0x2b0], ebx
mov word [esi - 4], ax
lea eax, [esi + 2]
push 0xffffffffffffffff
push eax
call fcn.004e2ad6
push 0x3d
push dword [ebp - 0x2ac]
call fcn.004f5617
pop ecx
pop ecx
test eax, eax
je 0x472d98
xor ecx, ecx
mov word [eax], cx
add eax, 2
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x250]
call fcn.004e2ad6
xor esi, esi
lea eax, [ebp - 0x2b4]
push eax
push 0x47262e
lea ecx, [ebp - 0x1f0]
call fcn.0044612f
push eax
push dword [ebp + esi*4 - 0x2c4]
call fcn.004eeeb3
add esp, 0x10
inc esi
cmp esi, 2
jb 0x472d6b
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 5
call fcn.004e25e0
lea ecx, [ebp - 0x2ac]
call fcn.004e25e0
jmp 0x472e3e
xor esi, esi
mov edi, ebx
call fcn.004e3cd3
xor ebx, ebx
test al, al
sete bl
push dword [ebp + ebx*4 - 0x24]
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0xdc]
call fcn.0044612f
push eax
lea ecx, [ebp - 0x1f0]
call fcn.0044612f
push eax
push dword [ebp + esi*4 - 0x2c4]
call fcn.004ef1c2
add esp, 0x14
test eax, eax
jle 0x472e2c
push 0
push edi
lea ecx, [ebp - 0x138]
call fcn.0044612f
push eax
call fcn.004e5466
add esp, 0xc
mov dword [ebp - 0x2b8], eax
lea eax, [ebp - 0x2b8]
lea ecx, [ebp - 0x2d8]
push eax
call fcn.00407941
inc ebx
cmp ebx, 3
jb 0x472dc7
inc esi
cmp esi, 2
jb 0x472dbb
mov edi, dword [ebp - 0x2bc]
xor ebx, ebx
mov esi, ebx
cmp dword [ebp - 0x2d4], ebx
jle 0x472e8b
mov eax, dword [ebp - 0x2c8]
lea ecx, [ebp - 0x80]
lea eax, [eax + esi*4]
push eax
call fcn.004e26da
push ebx
lea ecx, [ebp - 0x80]
call fcn.0044612f
push eax
call fcn.004e2e74
pop ecx
pop ecx
test al, al
je 0x472e82
push ebx
lea ecx, [ebp - 0x80]
call fcn.0044612f
push eax
mov ecx, edi
call fcn.0046fd57
inc esi
cmp esi, dword [ebp - 0x2d4]
jl 0x472e4a
lea ecx, [ebp - 0x2d8]
mov byte [ebp - 4], 8
call fcn.0040635a
lea ecx, [ebp - 0xdc]
call fcn.004e25e0
lea ecx, [ebp - 0x138]
call fcn.004e25e0
lea ecx, [ebp - 0x1f0]
call fcn.004e25e0
jmp 0x47305d
push 0x25
push esi
call fcn.004f5617
pop ecx
pop ecx
test eax, eax
je 0x472f02
push esi
call fcn.004e2cec
mov ebx, eax
pop ecx
test ebx, ebx
je 0x47305d
push 0
push ebx
call fcn.004e2e74
pop ecx
pop ecx
test al, al
je 0x472ef6
push ebx
push esi
mov ecx, edi
call fcn.0046fd57
push ebx
call fcn.004e1bea
pop ecx
jmp 0x47305d
push 0x5c
push esi
call fcn.004f5617
pop ecx
pop ecx
test eax, eax
jne 0x472f57
lea eax, [ebp - 0x194]
xor ebx, ebx
push eax
push ebx
push esi
push ebx
call fcn.004e3eec
add esp, 0x10
test eax, eax
je 0x472f3a
lea ecx, [ebp - 0x194]
call fcn.0044612f
push eax
push esi
jmp 0x473056
push ebx
push ebx
lea eax, [ebp - 0x80]
push eax
push esi
call fcn.004ee562
add esp, 0x10
test al, al
je 0x47305d
push ebx
jmp 0x47304d
push 1
push esi
call fcn.004e4a35
pop ecx
pop ecx
test al, al
je 0x472f77
push 0
push esi
call fcn.004e2e74
pop ecx
pop ecx
test al, al
je 0x472f77
push 0
jmp 0x472f34
xor ecx, ecx
test ebx, ebx
je 0x472fbf
cmp word [ebx], cx
je 0x472fbf
push ecx
push esi
push ebx
call fcn.004e5466
add esp, 0xc
mov dword [ebp - 0x2bc], eax
lea eax, [ebp - 0x2bc]
lea ecx, [ebp - 0x80]
push eax
call fcn.004e26da
xor eax, eax
lea ecx, [ebp - 0x80]
push eax
call fcn.0044612f
push eax
call fcn.004e2e74
pop ecx
pop ecx
test al, al
jne 0x47304a
xor ecx, ecx
push 0x3a
pop eax
mov word [ebp - 0x16], ax
xor eax, eax
push 0x43
mov word [ebp - 0x14], ax
pop eax
mov word [ebp - 0x18], ax
test ebx, ebx
je 0x472feb
cmp word [ebx], cx
je 0x472feb
push ebx
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x473036
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0x473036
xor eax, eax
push eax
lea eax, [ebp - 0x18]
push esi
push eax
call fcn.004e5466
add esp, 0xc
mov dword [ebp - 0x2b8], eax
lea eax, [ebp - 0x2b8]
lea ecx, [ebp - 0x80]
push eax
call fcn.004e26da
xor eax, eax
lea ecx, [ebp - 0x80]
push eax
call fcn.0044612f
push eax
call fcn.004e2e74
pop ecx
pop ecx
test al, al
jne 0x47304a
mov ax, word [ebp - 0x18]
inc ax
mov word [ebp - 0x18], ax
cmp ax, 0x5a
ja 0x47305d
xor ecx, ecx
jmp 0x472fd3
xor eax, eax
push eax
lea ecx, [ebp - 0x80]
call fcn.0044612f
push eax
mov ecx, edi
call fcn.0046fd57
mov esi, dword [edi + 4]
lea ecx, [ebp - 0x80]
call fcn.004e25e0
lea ecx, [ebp - 0x194]
call fcn.004e25e0
mov eax, esi
call fcn.004f418c
ret