Function at 0x416330
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0xc
mov eax, dword [0x4350b8]
push esi
mov dword [esp + 4], eax
mov eax, dword [0x43b3b8]
cmp eax, 3
mov esi, ecx
mov dword [esp + 8], 0
jne 0x41650d
mov al, byte [0x439c24]
test al, al
je 0x41650d
push ebx
push ebp
push edi
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
push 0x3f6
push ecx
call fcn.00422b30
mov ecx, dword [esp + 0x1c]
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, eax
add esp, 0xc
mov eax, dword [edi]
cmp ecx, eax
je 0x4163cb
mov edx, dword [ecx - 0xc]
test edx, edx
jge 0x41639f
mov edx, dword [0x4350bc]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x4163a6
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x4163b6
mov edx, dword [eax - 8]
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.00401f40
jmp 0x4163cb
lea ecx, [esp + 0x10]
call fcn.00401e30
mov edi, dword [edi]
mov dword [esp + 0x10], edi
add edi, 0xfffffff4
push edi
call ebp
mov eax, dword [esp + 0x18]
mov edx, dword [0x4350bc]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4163fa
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4163fa
mov edx, dword [esp + 0x18]
add edx, 0xfffffff4
push edx
call fcn.00426ac0
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x3c]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
push 0
push 0x14a
push ecx
call edi
mov edx, dword [esi + 0x3c]
push 3
push eax
push 0x151
push edx
mov dword [esp + 0x24], eax
call edi
push 0xffffffffffffffff
lea eax, [esp + 0x1c]
push 0x585
push eax
call fcn.00422b30
mov ecx, dword [esp + 0x1c]
mov ebx, eax
add esp, 0xc
mov eax, dword [ebx]
cmp ecx, eax
je 0x416484
mov edx, dword [ecx - 0xc]
test edx, edx
jge 0x416458
mov edx, dword [0x4350bc]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x41645f
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x41646f
mov ecx, dword [eax - 8]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00401f40
jmp 0x416484
lea ecx, [esp + 0x10]
call fcn.00401e30
mov ebx, dword [ebx]
mov dword [esp + 0x10], ebx
add ebx, 0xfffffff4
push ebx
call ebp
mov eax, dword [esp + 0x18]
mov ecx, dword [0x4350bc]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4164b3
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4164b3
mov eax, dword [esp + 0x18]
add eax, 0xfffffff4
push eax
call fcn.00426ac0
add esp, 4
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x3c]
push ecx
push 0
push 0x14a
push edx
call edi
push 1
mov dword [esp + 0x18], eax
push eax
mov eax, dword [esi + 0x3c]
push 0x151
push eax
call edi
mov ecx, dword [esi + 0x3c]
push 0
push 0
push 0x14e
push ecx
call edi
lea edx, [esp + 0x14]
mov ecx, esi
push edx
push 0
push 0
push 0
call fcn.00417820
push 1
push 1
push 0xffff0000
mov ecx, esi
call fcn.00417610
pop edi
pop ebp
pop ebx
jmp 0x416519
mov eax, dword [esi + 0x3c]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esp + 4]
mov edx, dword [0x4350bc]
pop esi
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x416549
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x416549
mov edx, dword [esp]
add edx, 0xfffffff4
push edx
call fcn.00426ac0
add esp, 4
add esp, 0xc
ret