Function at 0x417600
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0xc
mov eax, dword [0x437348]
push esi
mov dword [esp + 4], eax
mov eax, dword [0x43d848]
cmp eax, 3
mov esi, ecx
mov dword [esp + 8], 0
jne 0x4177dd
mov al, byte [0x43c084]
test al, al
je 0x4177dd
push ebx
push ebp
push edi
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
push 0x3f6
push ecx
call fcn.004249d0
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 0x41769b
mov edx, dword [ecx - 0xc]
test edx, edx
jge 0x41766f
mov edx, dword [0x43734c]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x417676
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x417686
mov edx, dword [eax - 8]
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.00402510
jmp 0x41769b
lea ecx, [esp + 0x10]
call fcn.00402400
mov edi, dword [edi]
mov dword [esp + 0x10], edi
add edi, 0xfffffff4
push edi
call ebp
mov eax, dword [esp + 0x18]
mov edx, dword [0x43734c]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4176ca
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4176ca
mov edx, dword [esp + 0x18]
add edx, 0xfffffff4
push edx
call fcn.004292c0
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.004249d0
mov ecx, dword [esp + 0x1c]
mov ebx, eax
add esp, 0xc
mov eax, dword [ebx]
cmp ecx, eax
je 0x417754
mov edx, dword [ecx - 0xc]
test edx, edx
jge 0x417728
mov edx, dword [0x43734c]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x41772f
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x41773f
mov ecx, dword [eax - 8]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00402510
jmp 0x417754
lea ecx, [esp + 0x10]
call fcn.00402400
mov ebx, dword [ebx]
mov dword [esp + 0x10], ebx
add ebx, 0xfffffff4
push ebx
call ebp
mov eax, dword [esp + 0x18]
mov ecx, dword [0x43734c]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x417783
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x417783
mov eax, dword [esp + 0x18]
add eax, 0xfffffff4
push eax
call fcn.004292c0
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.00418b90
push 1
push 1
push 0xffff0000
mov ecx, esi
call fcn.00418980
pop edi
pop ebp
pop ebx
jmp 0x4177e9
mov eax, dword [esi + 0x3c]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esp + 4]
mov edx, dword [0x43734c]
pop esi
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x417819
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x417819
mov edx, dword [esp]
add edx, 0xfffffff4
push edx
call fcn.004292c0
add esp, 4
add esp, 0xc
ret