Function at 0x43087d
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf8
movzx eax, byte [ebp + 8]
test eax, eax
je 0x4308b3
lea eax, [ebp + 0x10]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax]
test eax, eax
je 0x4308a8
push 0
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x4308ae
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
jmp 0x430c58
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x60], eax
mov dword [ebp - 4], 0x34fda0e6
mov dword [ebp - 0x9c], 1
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x90], 1
lea ecx, [ebp - 0x1e]
call fcn.00416fa4
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xd4]
call fcn.00416fa7
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x74]
call fcn.00416f6a
mov dword [ebp - 0x68], 0xfffffffe
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x10], 0xe5878ed7
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x18], 0xfffffffb
mov byte [ebp - 0x11], 0
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x430956
push 0x6c5
push 0x25e3
call dword [sym.imp.GDI32.dll_SetTextAlign]
mov eax, dword [ebp - 4]
cmp dword [ebp - 4], eax
jne 0x430967
mov dword [ebp - 0x28], 1
jmp 0x43096b
and dword [ebp - 0x28], 0
cmp dword [ebp - 4], 0
jne 0x430a63
cmp dword [ebp - 4], 0xfffffff6
jne 0x430987
cmp dword [ebp - 4], 0
jne 0x430987
and dword [ebp - 0x44], 0
jmp 0x43098e
mov dword [ebp - 0x44], 1
mov eax, dword [ebp - 4]
imul eax, dword [ebp - 0x44]
imul eax, dword [ebp - 4]
cmp eax, dword [ebp - 4]
jl 0x4309a7
mov dword [ebp - 0x30], 1
jmp 0x4309ab
and dword [ebp - 0x30], 0
xor eax, eax
inc eax
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x48], eax
push 3
lea ecx, [ebp - 0x74]
call fcn.00416f95
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x68], eax
push 3
lea ecx, [ebp - 0x74]
call fcn.00416f95
mov eax, dword [eax]
add eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 4]
cmp eax, 0xd940
jge 0x4309fa
cmp dword [ebp - 0x24], 0
je 0x4309fa
mov dword [ebp - 0x38], 1
jmp 0x4309fe
and dword [ebp - 0x38], 0
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x24]
je 0x430a12
mov dword [ebp - 0x58], 1
jmp 0x430a16
and dword [ebp - 0x58], 0
cmp dword [ebp - 0x58], 0x59f451db
jge 0x430a28
mov dword [ebp - 0x40], 1
jmp 0x430a2c
and dword [ebp - 0x40], 0
cmp dword [ebp - 0x40], 0xdd79
jge 0x430a3e
mov dword [ebp - 0x50], 1
jmp 0x430a42
and dword [ebp - 0x50], 0
cmp dword [ebp - 0x50], 0xffffffff
je 0x430a51
mov dword [ebp - 0x34], 1
jmp 0x430a55
and dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x34], eax
jl 0x430a63
and dword [ebp - 0x3c], 0
jmp 0x430a6a
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x3c], eax
jne 0x430a7b
mov dword [ebp - 0x4c], 1
jmp 0x430a7f
and dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x4c]
jg 0x430c16
mov dword [ebp - 0xa8], 0xffffffff
mov dword [ebp - 0xb8], 4
mov dword [ebp - 0xa4], 0xfffffffe
mov dword [ebp - 0x88], 0x81c37f5e
mov dword [ebp - 0x84], 0x81c37f5e
mov dword [ebp - 0x80], 0x81c37f5e
mov dword [ebp - 0x7c], 0x81c37f5e
lea ecx, [ebp - 0x1d]
call fcn.00416fa4
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00416fa7
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0xcc]
call fcn.00416f6a
mov dword [ebp - 0x1c], 0
jmp 0x430b0a
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x430b20
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf8], 5
jmp 0x430b03
mov dword [ebp - 0x10], 0
jmp 0x430b30
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x430b49
push dword [ebp - 0x10]
lea ecx, [ebp - 0x74]
call fcn.00416f95
mov dword [eax], 0xfffffff8
jmp 0x430b29
mov dword [ebp - 4], 0
jmp 0x430b59
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 3
jg 0x430c09
mov dword [ebp - 0xbc], 2
mov dword [ebp - 0x54], 0
mov dword [ebp - 0xa0], 0xe0cd1ad7
mov dword [ebp - 0xc0], 0xffffffff
push 3
lea ecx, [ebp - 0xb4]
call fcn.00416ef7
mov dword [ebp - 0x5c], 0xa2c9
mov dword [ebp - 8], 0
jmp 0x430bac
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 3
jge 0x430bc5
push dword [ebp - 8]
lea ecx, [ebp - 0xb4]
call fcn.00416f95
or dword [eax], 0xffffffff
jmp 0x430ba5
mov dword [ebp - 8], 0
jmp 0x430bd5
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 3
jge 0x430beb
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xe8], 0
jmp 0x430bce
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0xb4]
call fcn.00416f90
jmp 0x430b52
lea ecx, [ebp - 0xcc]
call fcn.00416f90
jmp 0x430c44
mov dword [ebp - 0x18], 0xfffffff5
jmp 0x430c26
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffe4
jl 0x430c44
mov byte [ebp - 9], 0
movzx eax, byte [ebp - 9]
test eax, eax
je 0x430c42
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCommState]
jmp 0x430c1f
lea ecx, [ebp - 0x74]
call fcn.00416f90
push 0
push dword [ebp - 0x60]
call fcn.0041e10b
pop ecx
pop ecx
mov esp, ebp
pop ebp
ret