Function at 0x42f550
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x11
push 0
push 0
dec ecx
jne 0x42f559
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 4]
call fcn.00404b4c
mov eax, dword [ebp - 8]
call fcn.00404b4c
mov eax, dword [ebp - 0xc]
call fcn.00404b4c
mov eax, dword [ebp + 0xc]
call fcn.00404b4c
xor eax, eax
push ebp
push 0x42fb14
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xd], 0
mov ecx, dword [ebp - 8]
mov dl, 1
mov eax, dword [0x4265dc]
call fcn.00426dc4
mov esi, eax
mov byte [ebp - 0x25], 1
mov eax, esi
call fcn.00427014
test al, al
je 0x42f5d3
push 5
mov eax, dword [0x437ff4]
mov eax, dword [eax]
push eax
call sub.user32.dll_ShowWindow
mov eax, esi
call fcn.004275f8
push eax
mov eax, esi
call fcn.00427580
push eax
lea eax, [ebp - 0x40]
push eax
mov ecx, 0x42fb30
mov edx, 0x42fb4c
mov eax, esi
call fcn.00427474
mov eax, dword [ebp - 0x40]
push eax
lea edx, [ebp - 0x44]
mov eax, esi
call fcn.00427678
mov ecx, dword [ebp - 0x44]
mov eax, dword [0x438168]
mov eax, dword [eax]
pop edx
call fcn.0042c56c
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0042eee8
test al, al
jne 0x42f636
call fcn.0042c89c
test al, al
je 0x42f636
lea eax, [ebp - 4]
call fcn.0042c7e0
mov eax, dword [0x438008]
mov edx, 0x42fb58
call fcn.00404d78
mov edx, ebx
call fcn.00403234
mov edx, 0x42fb78
call fcn.00404d78
call fcn.004032e4
test bl, bl
je 0x42f66f
mov ecx, esi
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0042ef8c
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x42fac2
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x42fb8c
mov edx, 0x42fbd4
mov eax, esi
call fcn.00427474
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x42fbe0
mov edx, 0x42fbe0
mov eax, esi
call fcn.00427474
lea eax, [ebp - 0x34]
push eax
mov ecx, 0x42fbf4
mov edx, 0x42fc2c
mov eax, esi
call fcn.00427474
mov eax, esi
call fcn.00427580
mov edi, eax
test bl, bl
je 0x42f6d4
push 5
mov eax, dword [0x437fd4]
mov eax, dword [eax]
push eax
call sub.user32.dll_ShowWindow
push 0
push 0x3e8
mov eax, 1
call fcn.0041673c
lea eax, [ebp - 0x26]
push eax
push fcn.00422f9c
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x34]
push eax
push edi
call fcn.0042ee18
push eax
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.0042bbc8
push 0
push 0x3e8
xor eax, eax
call fcn.0041673c
cmp dword [ebp - 0x18], 0
je 0x42fa50
call fcn.00426694
test al, al
jne 0x42fa50
cmp byte [ebp - 0x26], 0
je 0x42fa50
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
call fcn.00404734
mov edx, dword [ebp - 0x18]
mov eax, 0x42fc3c
call fcn.00404ca0
mov edi, eax
test edi, edi
jle 0x42f7d1
lea eax, [ebp - 0x48]
push eax
mov ecx, edi
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00404bbc
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x1c]
call fcn.00408110
push dword [ebp + 0xc]
push 0x42fc48
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x18]
call fcn.0040495c
mov ecx, eax
lea edx, [edi + 1]
mov eax, dword [ebp - 0x18]
call fcn.00404bbc
mov eax, dword [ebp - 0x58]
lea edx, [ebp - 0x54]
call fcn.00408110
push dword [ebp - 0x54]
lea eax, [ebp - 0x50]
mov edx, 3
call fcn.00404a1c
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x4c]
call fcn.00408110
mov edx, dword [ebp - 0x4c]
lea eax, [ebp + 0xc]
call fcn.00404734
lea ecx, [ebp - 0x5c]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00418a90
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
call fcn.004049a8
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x18]
call fcn.00404734
cmp dword [ebp + 0xc], 0
je 0x42f815
push dword [ebp - 0x14]
push 0x42fc48
push dword [ebp + 0xc]
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00404a1c
call sub.kernel32.dll_GetCurrentThreadId_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x60]
call fcn.00408298
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x38]
mov edx, 0x42fc54
call fcn.004049a8
push dword [ebp - 0x14]
push 0x42fc60
push dword [ebp - 0x38]
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00404a1c
mov edx, dword [ebp - 0x14]
mov eax, 0x42fc74
call fcn.00404ca0
test eax, eax
jne 0x42f886
push dword [ebp - 0x14]
push 0x42fc88
lea edx, [ebp - 0x64]
xor eax, eax
call fcn.00418b34
push dword [ebp - 0x64]
push 0x42fca0
lea eax, [ebp - 0x14]
mov edx, 4
call fcn.00404a1c
mov eax, dword [0x4380d8]
cmp byte [eax], 0
je 0x42f89d
lea eax, [ebp - 0x14]
mov edx, 0x42fcac
call fcn.00404964
lea eax, [ebp - 0x20]
call fcn.0042d09c
lea eax, [ebp - 0x24]
call fcn.0042d118
lea ecx, [ebp - 0x68]
mov edx, 0x42fcc8
mov eax, dword [ebp - 0x14]
call fcn.0042f4bc
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 0x14]
call fcn.00404734
lea ecx, [ebp - 0x6c]
mov edx, 0x42fcdc
mov eax, dword [ebp - 0x14]
call fcn.0042f4bc
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x14]
call fcn.00404734
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x438008]
call fcn.00405708
mov edx, 0x42fcf8
call fcn.00404d78
mov edx, dword [ebp - 0x14]
call fcn.00404d78
mov edx, 0x42fd20
call fcn.00404d78
call fcn.004032e4
lea eax, [ebp - 0x70]
mov ecx, dword [ebp - 0x38]
mov edx, 0x42fd2c
call fcn.004049a8
mov eax, dword [ebp - 0x70]
call fcn.00404b5c
mov edi, eax
push edi
call sub.kernel32.dll_GlobalAddAtomA
test bl, bl
je 0x42f95e
mov eax, dword [ebp - 0x14]
call fcn.00404b5c
mov edx, eax
lea eax, [ebp - 0x74]
call fcn.00404894
mov eax, dword [ebp - 0x74]
mov edx, 5
call fcn.0042f3f0
mov ebx, eax
jmp 0x42f97c
mov eax, dword [ebp - 0x14]
call fcn.00404b5c
mov edx, eax
lea eax, [ebp - 0x78]
call fcn.00404894
mov eax, dword [ebp - 0x78]
xor edx, edx
call fcn.0042f3f0
mov ebx, eax
push 0
mov eax, dword [0x437fd4]
mov eax, dword [eax]
push eax
call sub.user32.dll_ShowWindow
push 0
push 0x3e8
xor eax, eax
call fcn.0041673c
mov eax, ebx
call fcn.0042f48c
lea eax, [ebp - 0x3c]
push eax
push ebx
call sub.kernel32.dll_GetExitCodeProcess
mov eax, dword [0x437f6c]
mov edx, dword [ebp - 0x3c]
mov dword [eax], edx
lea eax, [ebp - 0x7c]
mov ecx, dword [ebp - 0x38]
mov edx, 0x42fd50
call fcn.004049a8
mov eax, dword [ebp - 0x7c]
call fcn.00404b5c
xor edx, edx
call fcn.0041d5cc
push 0
push 0x3e8
xor eax, eax
call fcn.0041673c
mov edx, 0x42fd2c
lea eax, [ebp - 0x80]
mov ecx, dword [ebp - 0x38]
call fcn.004049a8
push edi
call sub.kernel32.dll_GlobalFindAtomA
test ax, ax
sete byte [ebp - 0xd]
push eax
call sub.kernel32.dll_GlobalDeleteAtom
cmp byte [ebp - 0xd], 0
je 0x42fa50
call fcn.0042e864
test al, al
je 0x42fa2d
cmp dword [ebp - 0x20], 0
je 0x42fa2d
mov eax, dword [ebp - 0x20]
call fcn.0040868c
test al, al
je 0x42fa2d
mov eax, dword [ebp - 0x20]
call fcn.004088f4
call fcn.0042e924
test al, al
je 0x42fa50
cmp dword [ebp - 0x24], 0
je 0x42fa50
mov eax, dword [ebp - 0x24]
call fcn.0040868c
test al, al
je 0x42fa50
mov eax, dword [ebp - 0x24]
call fcn.004088f4
cmp byte [ebp - 0x26], 0
jne 0x42fac2
lea eax, [ebp - 0x84]
push eax
mov ecx, 0x42fbf4
mov edx, 0x42fc2c
mov eax, esi
call fcn.00427474
mov eax, dword [ebp - 0x84]
push eax
mov eax, esi
call fcn.00427580
push eax
lea eax, [ebp - 0x88]
push eax
mov ecx, 0x42fd70
mov edx, 0x42fd70
mov eax, esi
call fcn.00427474
mov eax, dword [ebp - 0x88]
push eax
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x42fd80
mov edx, 0x42fdd0
mov eax, esi
call fcn.00427474
mov edx, dword [ebp - 0x8c]
xor eax, eax
pop ecx
call fcn.00416b54
call fcn.0042caec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x42fb1b
lea eax, [ebp - 0x8c]
mov edx, 0x14
call fcn.004046c0
lea eax, [ebp - 0x38]
mov edx, 4
call fcn.004046c0
lea eax, [ebp - 0x24]
mov edx, 5
call fcn.004046c0
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.004046c0
lea eax, [ebp + 0xc]
call fcn.0040469c
ret