Function at 0x4084c0
Capabilities:
Accept command line arguments
Get hostname

Disassembly:
sub esp, 0x240
push ebx
push ebp
push esi
push edi
xor bl, bl
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov ebp, dword [esp + 0x25c]
cmp eax, 0x80000000
setb al
push 0x41e9b0
push ebp
mov byte [0x42d8e4], al
call fcn.00410d00
add esp, 8
test eax, eax
je 0x40850c
call fcn.00407db0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x240
ret 0x10
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov esi, eax
cmp byte [esi], 0x22
jne 0x40851c
inc esi
mov bl, 1
mov al, byte [esi]
xor edi, edi
test al, al
je 0x408566
test bl, bl
jne 0x408553
cmp dword [0x41f7fc], 1
jle 0x408541
movsx ecx, al
push 8
push ecx
call fcn.004110a1
add esp, 8
jmp 0x40854f
movsx edx, al
mov eax, dword [0x41f5f0]
mov al, byte [eax + edx*2]
and eax, 8
test eax, eax
jne 0x408566
mov al, byte [esi]
cmp al, 0x22
je 0x408566
mov byte [esp + edi + 0x48], al
mov al, byte [esi + 1]
inc edi
inc esi
test al, al
jne 0x408524
lea ecx, [esp + 0x40]
lea edx, [esp + 0x48]
push ecx
push 0x431500
push 0x104
push edx
mov byte [esp + edi + 0x58], 0
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x408590
mov byte [eax], 0
push 0x41e9ac
push ebp
call fcn.00410d00
add esp, 8
test eax, eax
jne 0x408939
push 0x41e9a8
push ebp
call fcn.00410d00
add esp, 8
test eax, eax
jne 0x408939
call fcn.00401c10
lea eax, [esp + 0x14c]
push eax
push ebp
call fcn.00407dd0
add esp, 8
test al, al
je 0x40894c
mov ebp, dword [esp + 0x254]
push ebp
call fcn.00408290
add esp, 4
test eax, eax
je 0x40894c
push 0
push str.dbgviewClass
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x408634
mov eax, dword [0x43688c]
mov byte [0x41d54c], 0
test eax, eax
je 0x408634
mov edx, dword [0x436888]
mov ecx, dword [0x436884]
mov eax, 0x14
add edx, eax
add ecx, eax
mov dword [0x436888], edx
mov dword [0x436884], ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], 0x101
push ecx
push 0x4313e0
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
xor eax, eax
push eax
mov ecx, 0x370
mov edi, 0x431620
push eax
push 1
push eax
rep stosd dword es:[edi], eax
call esi
push 0
push 0
push 0
push 0
mov dword [0x42d8ec], eax
call esi
push str.ProcessIdToSessionId
push str.Kernel32.DLL
mov dword [0x4313a4], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x4086b9
lea edx, [esp + 0x3c]
push edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call esi
test eax, eax
je 0x4086b9
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4086b9
mov byte [0x4247cc], 1
mov eax, dword [esp + 0x260]
push eax
push ebp
call fcn.00408340
mov ebx, eax
add esp, 8
test ebx, ebx
mov dword [esp + 0x38], ebx
je 0x40894c
mov al, byte [esp + 0x14c]
test al, al
je 0x4086fd
mov edx, dword [0x431624]
lea ecx, [esp + 0x14c]
push ecx
push edx
push 0
push ebx
call fcn.0040f910
add esp, 0x10
push str.ACCELERATORS
push ebp
call dword [sym.imp.USER32.dll_LoadAcceleratorsA]
push str.commdlg_FindReplace
mov dword [esp + 0x14], eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
mov dword [0x4357f8], eax
mov al, byte [0x42d8e4]
test al, al
je 0x4088a5
mov ebp, dword [sym.imp.USER32.dll_PeekMessageA]
mov edi, dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
push 1
push 0
push 0
lea eax, [esp + 0x28]
push 0
push eax
call ebp
test eax, eax
je 0x4087e4
cmp dword [esp + 0x20], 0x12
je 0x408893
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
push ecx
push edx
push ebx
call dword [sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
jne 0x4087cd
mov eax, dword [0x4247c0]
mov esi, dword [sym.imp.USER32.dll_IsWindow]
push eax
call esi
test eax, eax
je 0x408795
mov edx, dword [0x4247c0]
lea ecx, [esp + 0x1c]
push ecx
push edx
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x4087cd
mov eax, dword [0x4247c4]
push eax
call esi
test eax, eax
je 0x4087b7
mov edx, dword [0x4247c4]
lea ecx, [esp + 0x1c]
push ecx
push edx
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x4087cd
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 1
push 0
push 0
lea edx, [esp + 0x28]
push 0
push edx
call ebp
test eax, eax
jne 0x40874d
mov al, byte [0x41d54c]
test al, al
je 0x40887c
mov al, byte [0x431742]
mov cl, byte [0x431743]
test al, al
jne 0x408804
test cl, cl
je 0x40887c
xor esi, esi
test al, al
je 0x408818
mov eax, dword [0x4313b8]
mov esi, 1
mov dword [esp + 0x14], eax
test cl, cl
je 0x408827
mov ecx, dword [0x4313bc]
mov dword [esp + esi*4 + 0x14], ecx
inc esi
push 0xff
push 0xffffffffffffffff
lea edx, [esp + 0x1c]
push 0
push edx
push esi
call edi
test eax, eax
jne 0x40885a
mov esi, dword [0x4313b8]
push eax
mov eax, dword [esp + 0x18]
cmp eax, esi
setne cl
push ecx
call fcn.00402c30
add esp, 8
jmp 0x408736
cmp esi, 2
jne 0x408736
cmp eax, 1
jne 0x408736
push 0
push eax
call fcn.00402c30
add esp, 8
jmp 0x408736
push 0x1ff
push 0xffffffffffffffff
lea edx, [esp + 0x1c]
push 0
push edx
push 0
call edi
jmp 0x408736
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x240
ret 0x10
mov ebx, dword [sym.imp.USER32.dll_GetMessageA]
push 0
push 0
lea eax, [esp + 0x24]
push 0
push eax
call ebx
test eax, eax
je 0x408928
mov esi, dword [sym.imp.USER32.dll_TranslateAcceleratorA]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebp, dword [sym.imp.USER32.dll_DispatchMessageA]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x1c]
push ecx
push edx
push eax
call esi
test eax, eax
jne 0x408917
mov ecx, dword [0x4247c0]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x408909
mov eax, dword [0x4247c0]
lea edx, [esp + 0x1c]
push edx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x408917
lea ecx, [esp + 0x1c]
push ecx
call edi
lea edx, [esp + 0x1c]
push edx
call ebp
push 0
push 0
lea eax, [esp + 0x24]
push 0
push eax
call ebx
test eax, eax
jne 0x4088ce
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x240
ret 0x10
mov ecx, dword [esp + 0x254]
push 5
push ebp
push ecx
call fcn.00409d30
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x240
ret 0x10