Function at 0x442603
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
push ebx
push esi
push edi
mov esi, ecx
lea ecx, [esp + 0x38]
push 2
call fcn.004016e3
xor ebx, ebx
mov dword [esp + 0x14], 0x7a5b7d8c
mov dword [esp + 0x14], ebx
jmp 0x44263f
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov dword [eax + ecx*4], 0xd4e06482
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x44262c
mov eax, dword [esp + 0x38]
push 0xfffffffffffffffb
pop edi
mov dword [eax], 0xffffffe2
mov dword [esp + 0x14], ebx
jmp 0x442675
mov dword [esp + 0x24], 0x13fe662d
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], 0xe9646b8d
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xffffffee
jl 0x442659
lea ecx, [esp + 0x38]
call fcn.004017b5
mov dword [esp + 0x14], 0xad313dd3
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], ebx
jmp 0x4426c3
mov dword [esp + 0x24], edi
xor edx, edx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
cmp eax, ecx
setle dl
mov dword [esp + 0x24], edx
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x4426bf
push ebx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x1c
jl 0x442697
push ebx
lea eax, [esp + 0x30]
push eax
push 0x7777
push 0xf4b
push esi
call fcn.004433fd
add esp, 0x14
mov dword [esp + 0x14], 0xac64a684
lea eax, [esp + 0x60]
xorps xmm0, xmm0
lea ecx, [esp + 0x30]
movdqu xmmword [esp + 0x50], xmm0
push eax
lea eax, [esp + 0x54]
push eax
call fcn.004017d4
push ecx
lea ecx, [esp + 0x48]
push dword [eax + 4]
push dword [eax]
call fcn.0040178f
mov dword [esp + 0x24], 8
mov dword [esp + 0x28], 0xe708bee
mov dword [esp + 0x20], 6
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x44274d
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetBkColor]
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], 0xfffffff7
je 0x442823
xor edi, edi
inc edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], ebx
jmp 0x442775
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x1c], ebx
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jl 0x442769
mov dword [esp + 0x1c], 3
cmp dword [esp + 0x1c], ebx
jl 0x442814
push edi
lea ecx, [esp + 0x48]
call fcn.004012f8
mov esi, eax
mov dword [esp + 0x20], ebx
jmp 0x4427af
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x18], 0xf17e2f9d
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jl 0x44279f
cmp dword [esi], ebx
je 0x4427c1
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x14], ebx
jne 0x4427d3
mov ecx, ebx
cmp dword [esp + 0x18], ebx
je 0x4427d5
mov ecx, edi
mov eax, dword [esp + 0x1c]
xor edx, edx
add eax, ecx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
cmp eax, ecx
mov eax, dword [esp + 0x24]
setne dl
sub eax, edx
je 0x4427fa
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
sub ecx, eax
mov eax, dword [esp + 0x28]
add eax, ecx
mov dword [esp + 0x24], eax
dec dword [esp + 0x1c]
jns 0x442799
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffff7
jne 0x44275f
lea ecx, [esp + 0x44]
call fcn.004017b5
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret