Function at 0x42a3c0
Capabilities:
Get disk information
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53bddb
mov eax, dword fs:[0]
push eax
sub esp, 0x254
mov eax, dword [0x58d224]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18c], ecx
mov ecx, dword [ebp - 0x18c]
call fcn.0042ab00
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x18c]
mov dword [eax], vtable.CMainWnd.0
mov ecx, dword [ebp - 0x18c]
mov dword [ecx + 0x10], vtable.CMainWnd.1.0
mov edx, dword [ebp - 0x18c]
mov dword [edx + 0x20], vtable.CMainWnd.2.0
mov eax, dword [ebp - 0x18c]
mov dword [eax + 0x24], vtable.CMainWnd.3.0
mov ecx, dword [ebp - 0x18c]
mov dword [ecx + 0x28], vtable.CMainWnd.4.0
mov edx, dword [ebp - 0x18c]
mov dword [edx + 0x2c], vtable.CMainWnd.5.0
mov ecx, dword [ebp - 0x18c]
add ecx, 0x798
call fcn.00482d43
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x18c]
add ecx, 0xc58
call fcn.00411a60
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x18c]
mov byte [eax + 0xc5c], 0
mov ecx, dword [ebp - 0x18c]
add ecx, 0xc60
call fcn.00422a80
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x18c]
mov dword [ecx + 0xcb0], 2
mov edx, dword [ebp - 0x18c]
mov dword [edx + 0xcb4], 0
mov ecx, dword [ebp - 0x18c]
add ecx, 0xcc0
call fcn.004178a0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x18c]
add ecx, 0xcc8
call fcn.00407b20
mov byte [ebp - 4], 5
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x18c]
add ecx, 0xc60
call fcn.0042c240
mov ecx, dword [ebp + 8]
call fcn.0040bae0
push eax
mov ecx, dword [ebp - 0x18c]
add ecx, 0x798
call fcn.00482ec3
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x5918bc], eax
mov dword [ebp - 0x1f4], 0x68
push 0x68
push 0
lea ecx, [ebp - 0x188]
push ecx
call fcn.0050eb70
add esp, 0xc
lea edx, [ebp - 0x188]
push edx
push 0x68
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
mov dword [ebp - 0x1a8], 0
lea eax, [ebp - 0x188]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x1f8], 0x1b
lea ecx, [ebp - 0x188]
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 0x1a0]
add edx, 2
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 0x1a0]
mov cx, word [eax]
mov word [ebp - 0x1b2], cx
add dword [ebp - 0x1a0], 2
cmp word [ebp - 0x1b2], 0
jne 0x42a587
mov edx, dword [ebp - 0x1a0]
sub edx, dword [ebp - 0x1ec]
sar edx, 1
mov dword [ebp - 0x1e8], edx
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0
je 0x42a6b8
mov ecx, dword [ebp - 0x194]
push ecx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
je 0x42a60c
cmp dword [ebp - 0x1a4], 1
je 0x42a60c
cmp dword [ebp - 0x1a4], 5
je 0x42a60c
cmp dword [ebp - 0x1a4], 6
jne 0x42a60e
jmp 0x42a648
mov edx, 2
imul eax, edx, 0
mov ecx, dword [ebp - 0x194]
mov dx, word [ecx + eax]
mov word [ebp - 0x1b8], dx
mov eax, dword [ebp - 0x1a8]
mov cx, word [ebp - 0x1b8]
mov word [ebp + eax*2 - 0x48], cx
mov edx, dword [ebp - 0x1a8]
add edx, 1
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x194]
add eax, 8
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x198]
add edx, 2
mov dword [ebp - 0x1f0], edx
mov eax, dword [ebp - 0x198]
mov cx, word [eax]
mov word [ebp - 0x1ba], cx
add dword [ebp - 0x198], 2
cmp word [ebp - 0x1ba], 0
jne 0x42a672
mov edx, dword [ebp - 0x198]
sub edx, dword [ebp - 0x1f0]
sar edx, 1
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x1c8], eax
jmp 0x42a5c8
mov ecx, dword [ebp - 0x1a8]
shl ecx, 1
mov dword [ebp - 0x1cc], ecx
cmp dword [ebp - 0x1cc], 0x36
jae 0x42a6d1
jmp 0x42a6d6
call fcn.004d57a4
xor edx, edx
mov eax, dword [ebp - 0x1cc]
mov word [ebp + eax - 0x48], dx
push 0
mov ecx, dword [ebp - 0x18c]
add ecx, 0xc58
call fcn.00420db0
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x1c0], ecx
lea edx, [ebp - 0xb8]
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x1c0]
mov dx, word [ecx]
mov word [ebp - 0x19a], dx
mov eax, dword [ebp - 0x1ac]
mov cx, word [ebp - 0x19a]
mov word [eax], cx
mov edx, dword [ebp - 0x1c0]
add edx, 2
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x1ac]
add eax, 2
mov dword [ebp - 0x1ac], eax
cmp word [ebp - 0x19a], 0
jne 0x42a717
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x1c4], ecx
lea edx, [ebp - 0x80]
mov dword [ebp - 0x1b0], edx
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x1c4]
mov dx, word [ecx]
mov word [ebp - 0x18e], dx
mov eax, dword [ebp - 0x1b0]
mov cx, word [ebp - 0x18e]
mov word [eax], cx
mov edx, dword [ebp - 0x1c4]
add edx, 2
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0x1b0]
add eax, 2
mov dword [ebp - 0x1b0], eax
cmp word [ebp - 0x18e], 0
jne 0x42a77d
lea ecx, [ebp - 0xb8]
push ecx
call fcn.00517348
add esp, 4
push eax
lea edx, [ebp - 0x80]
push edx
call fcn.0051756b
add esp, 4
push eax
push str.__s_s_:___1__:_________1__:__________
mov eax, dword [ebp - 0x18c]
add eax, 0x81c
push eax
call fcn.00428e80
add esp, 0x10
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [ebp - 0x18c]
mov dword [ecx + 0xcb8], eax
mov edx, dword [ebp - 0x18c]
mov dword [edx + 0xcbc], 0
mov ecx, dword [ebp + 8]
add ecx, 0x34
call fcn.0040bcd0
movzx eax, al
test eax, eax
jne 0x42a992
push 0x7d0
mov ecx, dword [ebp + 8]
add ecx, 0x34
call fcn.0040bae0
push eax
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
je 0x42a919
push 0
push 0x40000000
push 3
push 0
push 0
push 0xc0000000
mov ecx, dword [ebp + 8]
add ecx, 0x34
call fcn.0040bae0
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ecx, dword [ebp - 0x18c]
mov dword [ecx + 0xcbc], eax
mov edx, dword [ebp - 0x18c]
cmp dword [edx + 0xcbc], 0
je 0x42a8d9
mov eax, dword [ebp + 8]
add eax, 0x34
push eax
push str.__install_pipename_suc
lea ecx, [ebp - 0x218]
push ecx
call fcn.00405970
add esp, 0xc
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d4]
call fcn.0040bae0
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x218]
call fcn.00407e30
jmp 0x42a917
mov edx, dword [ebp + 8]
add edx, 0x34
push edx
push str.__install_pipename_failed
lea eax, [ebp - 0x230]
push eax
call fcn.00405970
add esp, 0xc
mov dword [ebp - 0x1d8], eax
mov ecx, dword [ebp - 0x1d8]
call fcn.0040bae0
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x230]
call fcn.00407e30
jmp 0x42a992
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x260]
push ecx
call fcn.0040c7f0
add esp, 8
mov dword [ebp - 0x1dc], eax
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1e0], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1e0]
push eax
push str.__install_WaitNamedPipe_failed
lea ecx, [ebp - 0x248]
push ecx
call fcn.00405930
add esp, 0xc
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp - 0x1e4]
call fcn.0040bae0
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x248]
call fcn.00407e30
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x260]
call fcn.00407e30
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004d4e68
mov esp, ebp
pop ebp
ret 4