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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53bb3b
mov eax, dword fs:[0]
push eax
sub esp, 0x254
mov eax, dword [0x58d214]
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.0042a870
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.00482af2
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x18c]
add ecx, 0xc58
call fcn.004117c0
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.004227f0
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.00417600
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x18c]
add ecx, 0xcc8
call fcn.00407a20
mov byte [ebp - 4], 5
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x18c]
add ecx, 0xc60
call fcn.0042bfb0
mov ecx, dword [ebp + 8]
call fcn.0040b600
push eax
mov ecx, dword [ebp - 0x18c]
add ecx, 0x798
call fcn.00482c72
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x5918ac], eax
mov dword [ebp - 0x1f4], 0x68
push 0x68
push 0
lea ecx, [ebp - 0x188]
push ecx
call fcn.0050d990
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 0x42a2f7
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 0x42a428
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 0x42a37c
cmp dword [ebp - 0x1a4], 1
je 0x42a37c
cmp dword [ebp - 0x1a4], 5
je 0x42a37c
cmp dword [ebp - 0x1a4], 6
jne 0x42a37e
jmp 0x42a3b8
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 0x42a3e2
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 0x42a338
mov ecx, dword [ebp - 0x1a8]
shl ecx, 1
mov dword [ebp - 0x1cc], ecx
cmp dword [ebp - 0x1cc], 0x36
jae 0x42a441
jmp 0x42a446
call fcn.004d54b4
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.00420b20
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 0x42a487
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 0x42a4ed
lea ecx, [ebp - 0xb8]
push ecx
call fcn.005170d5
add esp, 4
push eax
lea edx, [ebp - 0x80]
push edx
call fcn.005172f8
add esp, 4
push eax
push str.__s_s_:___1__:_________1__:__________
mov eax, dword [ebp - 0x18c]
add eax, 0x81c
push eax
call fcn.00428bf0
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.0040b750
movzx eax, al
test eax, eax
jne 0x42a702
push 0x7d0
mov ecx, dword [ebp + 8]
add ecx, 0x34
call fcn.0040b600
push eax
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
je 0x42a689
push 0
push 0x40000000
push 3
push 0
push 0
push 0xc0000000
mov ecx, dword [ebp + 8]
add ecx, 0x34
call fcn.0040b600
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 0x42a649
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.0040b600
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x218]
call fcn.00407d30
jmp 0x42a687
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.0040b600
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x230]
call fcn.00407d30
jmp 0x42a702
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x260]
push ecx
call fcn.0040c200
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.0040b600
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x248]
call fcn.00407d30
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x260]
call fcn.00407d30
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.004d48f1
mov esp, ebp
pop ebp
ret 4