Function at 0x401000
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [esp + 0xc]
sub esp, 0x420
mov dword [0x40bed0], eax
push ebx
mov ebx, dword [esp + 0x428]
push ebp
push esi
push edi
push str._nogui
push eax
mov dword [0x40bed4], ebx
call fcn.00404410
add esp, 8
mov ebp, 1
test eax, eax
jne 0x40103d
mov dword [0x40bedc], ebp
mov dl, byte [0x40bee4]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x12d]
mov byte [esp + 0x12c], dl
mov byte [esp + 0x2c], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x2d]
push 0x104
rep stosd dword es:[edi], eax
mov ecx, dword [0x40bed4]
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x130]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x2c]
lea eax, [esp + 0x12c]
push edx
push 0x40be50
push 0x40bc50
push 0
push eax
call fcn.00404290
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
push str.ModemDel.exe
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x40be50
mov esi, edi
mov edx, ecx
mov edi, 0x40be50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00404410
add esp, 0x1c
test eax, eax
jne 0x4010f3
mov dword [0x40bee0], ebp
jmp 0x4010fc
mov eax, dword [0x40bee0]
test eax, eax
je 0x401113
mov eax, dword [0x40bed4]
push 0x200
push 0x40ba50
push 0x3ea
push eax
jmp 0x401125
mov ecx, dword [0x40bed4]
push 0x200
push 0x40ba50
push ebp
push ecx
call fcn.004030c0
add esp, 0x10
call fcn.00403510
test eax, eax
jne 0x40120c
call fcn.00403580
test eax, eax
jne 0x40120c
mov eax, dword [0x40bedc]
test eax, eax
je 0x40115f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x420
ret 0x10
call fcn.00403540
test eax, eax
je 0x401171
mov eax, dword [0x40bee0]
test eax, eax
jne 0x4011be
push str.8255xdel.exe
push 0x40be50
call fcn.00404410
neg eax
sbb eax, eax
lea edx, [esp + 0x238]
neg eax
add eax, 0x96
push 0x200
push edx
push eax
mov eax, dword [0x40bed4]
push eax
call fcn.004030c0
add esp, 0x18
test eax, eax
jle 0x4011be
push 0x30
push 0x40ba50
lea ecx, [esp + 0x238]
jmp 0x40128e
call fcn.004035c0
test eax, eax
jne 0x40120c
call fcn.00403540
test eax, eax
je 0x40120c
mov eax, dword [0x40bee0]
test eax, eax
je 0x40120c
mov eax, dword [0x40bed4]
lea edx, [esp + 0x230]
push 0x200
push edx
push 0x238
push eax
call fcn.004030c0
add esp, 0x10
lea ecx, [esp + 0x230]
push 0x30
push 0x40ba50
jmp 0x40128e
call fcn.00403580
test eax, eax
je 0x40124e
call fcn.004035c0
test eax, eax
jne 0x40124e
mov eax, dword [0x40bed4]
lea edx, [esp + 0x230]
push 0x200
push edx
push 0x238
push eax
call fcn.004030c0
add esp, 0x10
lea ecx, [esp + 0x230]
push 0x30
push 0x40ba50
jmp 0x40128e
mov eax, dword [0x40bee0]
test eax, eax
jne 0x4012b1
call fcn.00403580
test eax, eax
jne 0x4012b1
mov eax, dword [0x40bed4]
lea edx, [esp + 0x230]
push 0x200
push edx
push 0x97
push eax
call fcn.004030c0
add esp, 0x10
lea ecx, [esp + 0x230]
push 0x30
push 0x40ba50
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x420
ret 0x10
push 0x401380
push 0
push 0x67
push ebx
call fcn.004031e0
add esp, 0x10
mov dword [0x40bed8], eax
test eax, eax
jne 0x4012d9
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x420
ret 0x10
mov ecx, dword [0x40bedc]
test ecx, ecx
je 0x401303
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [0x40bed8]
push 0
push ebp
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x401316
call fcn.00401b70
mov eax, dword [0x40bed8]
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push 0
push 0
lea ecx, [esp + 0x18]
push 0
push ecx
call esi
test eax, eax
je 0x40136f
mov ebp, dword [sym.imp.USER32.dll_IsDialogMessageA]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
mov eax, dword [0x40bed8]
lea edx, [esp + 0x10]
push edx
push eax
call ebp
test eax, eax
jne 0x40135e
lea ecx, [esp + 0x10]
push ecx
call edi
lea edx, [esp + 0x10]
push edx
call ebx
push 0
push 0
lea eax, [esp + 0x18]
push 0
push eax
call esi
test eax, eax
jne 0x40133f
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x420
ret 0x10