Function at 0x423378
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
mov ecx, 8
push 0
push 0
dec ecx
jne 0x423380
push ebx
xor eax, eax
push ebp
push 0x42367a
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004084f4
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1c]
call fcn.0040cb84
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov edx, 0x423690
call fcn.00404478
mov eax, dword [ebp - 0x18]
push eax
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x427db8]
call fcn.00404d84
pop edx
call fcn.00404848
call fcn.004030b0
call fcn.0041cc94
test al, al
je 0x423652
mov al, 1
call fcn.004213a4
xor ebx, ebx
mov eax, 1
call fcn.0041cd3c
mov edx, 1
mov eax, 0x28
call fcn.004145e8
lea eax, [ebp - 0xc]
push eax
lea edx, [ebp - 0x20]
mov eax, dword [0x427df4]
mov eax, dword [eax]
call fcn.00415a14
mov eax, dword [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
call fcn.0041becc
mov edx, dword [ebp - 0x24]
mov cl, 1
pop eax
call fcn.004215d0
mov byte [ebp - 1], al
mov edx, 2
mov eax, 0x28
call fcn.004145e8
call fcn.00419b3c
push edx
push eax
call fcn.0041b900
lea ecx, [ebp - 0x10]
lea edx, [ebp - 0x14]
mov al, byte [ebp - 1]
call fcn.004230e8
test al, al
je 0x4234df
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x427db8]
call fcn.00404d84
mov edx, 0x4236a0
call fcn.00404848
call fcn.004030b0
mov bl, 1
call fcn.00419b3c
push edx
push eax
call fcn.0041ba7c
call fcn.0041c6f4
call fcn.0041bbf0
call fcn.0041c978
test al, al
je 0x4234af
call fcn.00421d70
jmp 0x4234bd
call fcn.004220e0
test al, al
je 0x4234bd
call fcn.00422f28
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x427db8]
call fcn.00404d84
mov edx, 0x4236c4
call fcn.00404848
call fcn.004030b0
mov eax, dword [0x427e84]
cmp dword [eax], 1
jne 0x423652
xor edx, edx
mov eax, 0x3e8
call fcn.0040c12c
push 0
mov eax, dword [0x427d8c]
mov eax, dword [eax]
push eax
call sub.user32.dll_ShowWindow
test bl, bl
jne 0x423652
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x427db8]
call fcn.00404d84
mov edx, 0x4236e8
call fcn.00404848
mov edx, dword [0x427db0]
mov dl, byte [edx]
call fcn.00403000
mov edx, 0x4236fc
call fcn.00404848
push eax
call fcn.0041d1e0
mov edx, eax
pop eax
call fcn.00403000
call fcn.004030b0
mov eax, dword [0x427db0]
cmp byte [eax], 0
jne 0x4235a5
call fcn.0041d1e0
test al, al
jne 0x4235a5
lea ecx, [ebp - 8]
xor edx, edx
mov eax, 0x423718
call fcn.0041b7dc
lea eax, [ebp - 0x28]
call fcn.0041b440
mov eax, dword [ebp - 0x28]
push eax
call fcn.0041b65c
push eax
lea eax, [ebp - 0x2c]
call fcn.0041b4f0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 8]
xor eax, eax
call fcn.0040c50c
jmp 0x423652
mov eax, dword [0x427db0]
cmp byte [eax], 0
jne 0x4235de
cmp dword [ebp - 0xc], 0
je 0x4235de
lea eax, [ebp - 0x30]
call fcn.0041b440
mov eax, dword [ebp - 0x30]
push eax
call fcn.0041b65c
push eax
lea eax, [ebp - 0x34]
call fcn.0041b4f0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0xc]
xor eax, eax
call fcn.0040c50c
jmp 0x423652
lea ecx, [ebp - 8]
xor edx, edx
mov eax, 0x423724
call fcn.0041b7dc
call fcn.0040d798
test al, al
je 0x423626
push dword [ebp - 8]
push 0x423730
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x14]
call fcn.00406c48
push dword [ebp - 0x38]
push 0x423740
push dword [ebp - 0x10]
push 0x42374c
lea eax, [ebp - 8]
mov edx, 6
call fcn.004044ec
lea eax, [ebp - 0x3c]
call fcn.0041b440
mov eax, dword [ebp - 0x3c]
push eax
call fcn.0041b65c
push eax
push 0
lea eax, [ebp - 0x40]
call fcn.0041b5e0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 8]
mov eax, 1
call fcn.0040c59c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x423681
lea eax, [ebp - 0x40]
mov edx, 0xb
call fcn.004041ac
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004041ac
ret