Function at 0x413072
Capabilities:
Get disk information

Disassembly:
push ebp
sub esp, 0x800
lea ebp, [esp - 4]
mov eax, dword [0x5ff740]
xor eax, ebp
mov dword [ebp + 0x800], eax
push 0x24
mov eax, 0x509334
call fcn.004e3d33
xor ebx, ebx
mov dword [ebp - 4], ebx
mov esi, ecx
cmp word [0x60b328], bx
jne 0x4130d3
push 0x60b328
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
xor edx, edx
cmp edx, eax
jae 0x4130d3
lea ecx, [edx*2 + 0x60b328]
xor edi, edi
cmp di, word [ecx]
jne 0x4130d0
push 0x23
pop edi
mov word [ecx], di
inc edx
jmp 0x4130b8
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040253b
lea edi, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.004078bd
xor eax, eax
push 0x7fe
mov word [ebp], ax
lea eax, [ebp + 2]
push ebx
push eax
mov dword [ebp - 0x24], 0x23
call fcn.004e38a0
add esp, 0xc
mov edx, 0x60b328
lea eax, [ebp]
movzx ecx, word [edx]
inc edx
mov word [eax], cx
inc edx
inc eax
inc eax
cmp cx, bx
jne 0x41310f
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp]
push eax
call fcn.004df121
mov dword [ebp - 0x2c], ebx
pop ecx
mov esi, eax
pop ecx
cmp esi, ebx
je 0x4132eb
push esi
xor ecx, ecx
lea esi, [ebp - 0x1c]
call fcn.0040788c
cmp eax, 0xffffffff
jne 0x413156
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.004df121
jmp 0x41312e
or dword [ebp - 0x2c], 0xffffffff
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004078e3
push ecx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 2
call fcn.00402305
call fcn.0040e478
xor esi, esi
inc esi
cmp eax, esi
jne 0x4131a3
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.0040285b
mov eax, esi
jmp 0x4132fb
cmp eax, ebx
jne 0x4131ab
xor esi, esi
jmp 0x413186
mov eax, dword [ebp - 0x14]
mov edi, dword [eax - 0xc]
cmp edi, ebx
jle 0x41323b
push edi
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x14]
call fcn.00407984
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.00402305
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.0040285b
push ecx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
call fcn.00402305
call fcn.0040e478
push ecx
mov esi, eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
call fcn.00402305
call fcn.00412eee
pop ecx
cmp al, bl
jne 0x413226
cmp esi, 1
jne 0x413226
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0040285b
jmp 0x413186
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0040285b
dec edi
jmp 0x4131b1
push 0x5af644
xor ecx, ecx
lea esi, [ebp - 0x14]
call fcn.0040788c
cmp eax, 0xffffffff
je 0x4131a7
push eax
push 3
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.00407906
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x20]
mov edi, dword [eax - 0xc]
xor esi, esi
cmp esi, edi
jge 0x4132be
mov ecx, esi
lea eax, [ebp - 0x20]
call fcn.00402bd5
movzx eax, ax
movzx eax, ax
cmp ax, 0x1f
jbe 0x4132ae
cmp ax, 0x2a
je 0x4132ae
cmp ax, 0x3f
je 0x4132ae
cmp ax, 0x3e
je 0x4132ae
cmp ax, 0x3c
je 0x4132ae
cmp ax, 0x3a
je 0x4132ae
cmp ax, 0x7c
je 0x4132ae
inc esi
jmp 0x41326d
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.0040285b
jmp 0x4131a7
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.004df121
pop ecx
pop ecx
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov esi, eax
call fcn.0040285b
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0040285b
jmp 0x413132
mov esi, dword [ebp - 0x2c]
jmp 0x413191
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x800]
xor ecx, ebp
call fcn.004de422
add ebp, 0x804
leave
ret