Function at 0x5c8418
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov esi, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0xe0]
test byte [ebx + 0x1c], 8
jne 0x5c8441
call fcn.005afb8c
cmp ebx, eax
jne 0x5c849a
cmp esi, 2
jne 0x5c8c1c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4d], 0
jne 0x5c8c1c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x127], 0
je 0x5c8474
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x114]
mov eax, dword [ebp - 4]
call fcn.005cd4bc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x126], 0
je 0x5c8c1c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc8]
mov eax, dword [ebp - 4]
call fcn.005ceb0c
jmp 0x5c8c1c
mov eax, esi
cmp eax, 0x46
jg 0x5c84e3
je 0x5c8c06
cmp eax, 0x1a
jg 0x5c84cc
je 0x5c8a00
dec eax
je 0x5c86e7
sub eax, 5
je 0x5c8520
sub eax, 0xf
je 0x5c8a2c
jmp 0x5c8c1c
sub eax, 0x1c
je 0x5c8641
sub eax, 6
je 0x5c86d5
jmp 0x5c8c1c
cmp eax, 0x7e
jg 0x5c8505
je 0x5c87fb
sub eax, 0x47
je 0x5c8ba6
sub eax, 0xc
je 0x5c8808
jmp 0x5c8c1c
sub eax, 0x112
je 0x5c8ab2
sub eax, 0x110
je 0x5c89cd
jmp 0x5c8c1c
mov bx, word [ebp - 8]
test bx, bx
jne 0x5c855a
mov eax, dword [ebp + 8]
call fcn.0046d270
mov edx, dword [0x5b9950]
call fcn.00403b34
test al, al
je 0x5c855a
mov eax, dword [ebp + 8]
call fcn.0046d270
mov edi, eax
mov eax, edi
call fcn.005d7474
cmp eax, dword [ebp - 4]
je 0x5c8c1c
test bx, bx
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0xe4], al
push ebp
mov ecx, dword [ebp + 8]
xor edx, edx
call fcn.005c83f4
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe0]
call fcn.0048a65c
test eax, eax
je 0x5c85bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe0]
call fcn.0048a65c
call fcn.005bde3c
test eax, eax
je 0x5c85bf
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe0]
call fcn.0048a65c
call fcn.005bde3c
mov ecx, dword [ebp - 8]
mov edx, esi
call fcn.005c8418
mov eax, dword [ebp - 4]
cmp byte [eax + 0x140], 0
jne 0x5c8c1c
mov eax, dword [ebp - 4]
cmp byte [eax + 0xe4], 0
je 0x5c8c1c
call fcn.005afb8c
test eax, eax
je 0x5c8c1c
mov eax, dword [ebp - 4]
cmp byte [eax + 0xcd], 0
je 0x5c8c1c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe0]
call fcn.00476d64
push eax
call sub.USER32.DLL_IsWindowEnabled
test eax, eax
jne 0x5c8c1c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe0]
call fcn.00476d64
push eax
mov eax, dword [ebp - 8]
push eax
push esi
call fcn.005afb8c
call fcn.00476d64
push eax
call sub.USER32.DLL_SendMessageA
jmp 0x5c8c1c
cmp dword [ebp - 8], 0
jne 0x5c8c1c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe0]
call fcn.0048a65c
test eax, eax
je 0x5c8695
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe0]
call fcn.0048a65c
call fcn.005bde3c
test eax, eax
je 0x5c8695
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe0]
call fcn.0048a65c
call fcn.005bde3c
mov ecx, dword [ebp - 8]
mov edx, esi
call fcn.005c8418
push ebp
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.005c83f4
pop ecx
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x11c]
test ebx, ebx
je 0x5c86c6
push 0
push 0
push 0x2a3
mov eax, dword [ebx + 0x20]
call fcn.00476d64
push eax
call sub.USER32.DLL_SendMessageA
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.005c6c6c
jmp 0x5c8c1c
push ebp
xor ecx, ecx
xor edx, edx
mov al, 1
call fcn.005c83f4
pop ecx
jmp 0x5c8c1c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x130], 0
je 0x5c8c1c
mov eax, dword [ebp - 4]
mov byte [eax + 0xce], 1
xor edx, edx
push ebp
push 0x5c87f4
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
call fcn.005c6078
mov edi, eax
dec edi
test edi, edi
jl 0x5c8747
inc edi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.005c6064
call fcn.0054bafc
test al, al
je 0x5c8743
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.005c6064
call fcn.00476d40
inc ebx
dec edi
jne 0x5c8721
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x130]
mov ebx, dword [eax + 8]
dec ebx
cmp ebx, 0
jl 0x5c87bd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x130]
mov edx, ebx
call fcn.0041f5d0
call fcn.005cf5e0
test eax, eax
je 0x5c8790
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x130]
mov edx, ebx
call fcn.0041f5d0
call fcn.005cf5e0
call fcn.00477068
test al, al
je 0x5c87b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x130]
mov edx, ebx
call fcn.0041f5d0
mov dl, 1
call fcn.005cff2c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x130]
mov edx, ebx
call fcn.0041f470
dec ebx
cmp ebx, 0xffffffff
jne 0x5c8759
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5c8c1c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x130]
cmp dword [eax + 8], 0
jne 0x5c87e9
call fcn.0040399c
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x130], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0xce], 0
ret
mov eax, dword [ebp - 4]
call fcn.005c92a0
jmp 0x5c8c1c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4d], 0
jne 0x5c8c1c
mov edi, dword [ebp + 8]
cmp dword [edi + 4], 1
jne 0x5c8c1c
xor esi, esi
call fcn.005bde28
test eax, eax
je 0x5c88e1
call fcn.005bde28
mov ebx, eax
mov esi, dword [ebx + 0x25c]
test esi, esi
je 0x5c886e
mov eax, esi
call fcn.005e6eac
cmp dword [eax + 0x5c], 0
jne 0x5c8925
jmp 0x5c886e
mov esi, dword [edi + 0x2c4]
mov ebx, dword [ebx + 0x254]
mov eax, esi
call fcn.005e6eac
cmp dword [eax + 0x5c], 0
jne 0x5c8879
mov edi, ebx
cmp dword [edi + 0x254], 0
jne 0x5c8855
test esi, esi
je 0x5c888e
mov eax, esi
call fcn.005e6eac
cmp dword [eax + 0x5c], 0
jne 0x5c8925
mov eax, dword [ebp - 4]
call fcn.005cc28c
mov ebx, dword [ebx + 0x158]
test ebx, ebx
je 0x5c8c1c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe0]
test byte [eax + 0x228], 8
je 0x5c88ce
mov eax, dword [0x73e390]
mov eax, dword [eax]
mov ecx, ebx
mov edx, 8
call fcn.00490f00
jmp 0x5c8c1c
mov eax, dword [0x73e390]
mov eax, dword [eax]
mov edx, ebx
call fcn.00490e78
jmp 0x5c8c1c
mov eax, dword [edi + 0xc]
call fcn.0046d270
mov ebx, eax
mov eax, ebx
mov edx, dword [0x5b9950]
call fcn.00403b34
test al, al
je 0x5c8925
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x10]
push eax
mov eax, ebx
call fcn.00476d64
push eax
call sub.USER32.DLL_ScreenToClient
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.005d9018
mov esi, eax
test esi, esi
je 0x5c8c1c
mov eax, dword [esi + 0x18]
lea edi, [eax + 0x1c]
mov eax, dword [edi]
add eax, dword [edi + 8]
sar eax, 1
jns 0x5c893f
adc eax, 0
lea ecx, [ebp - 0x10]
mov edx, dword [edi + 0xc]
call fcn.0041ddec
lea eax, [ebp - 0x10]
push eax
mov eax, ebx
call fcn.00476d64
push eax
call sub.USER32.DLL_ClientToScreen
mov eax, esi
call fcn.005e6eac
mov ebx, dword [eax + 0x5c]
mov eax, dword [ebp - 4]
call fcn.005cc28c
test ebx, ebx
je 0x5c8c1c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe0]
test byte [eax + 0x228], 8
je 0x5c89ba
lea eax, [ebp - 0x10]
call fcn.00408298
mov ecx, eax
mov eax, dword [0x73e390]
mov eax, dword [eax]
mov edx, 0xd
call fcn.00490f00
mov eax, dword [0x73e390]
mov eax, dword [eax]
mov ecx, ebx
mov edx, 8
call fcn.00490f00
jmp 0x5c8c1c
mov eax, dword [0x73e390]
mov eax, dword [eax]
mov edx, ebx
call fcn.00490e78
jmp 0x5c8c1c
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0xe0]
cmp byte [ebx + 0x22f], 1
jne 0x5c8c1c
push ebp
mov eax, ebx
call fcn.00476d64
cmp eax, dword [ebp + 8]
sete al
xor ecx, ecx
xor edx, edx
call fcn.005c83f4
pop ecx
jmp 0x5c8c1c
mov eax, dword [ebp - 8]
sub eax, 0x2a
je 0x5c8a12
sub eax, 5
je 0x5c8a1f
jmp 0x5c8c1c
mov eax, dword [ebp - 4]
call fcn.005c9eb4
jmp 0x5c8c1c
mov eax, dword [ebp - 4]
call fcn.005c92a0
jmp 0x5c8c1c
call fcn.005be51c
call fcn.005be56c
mov eax, dword [ebp - 4]
call fcn.005c9c4c
mov eax, dword [ebp - 4]
call fcn.005c9c6c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe0]
cmp byte [eax + 0x22f], 2
jne 0x5c8c1c
mov eax, dword [0x744d24]
call fcn.005cf31c
mov edi, eax
dec edi
test edi, edi
jl 0x5c8c1c
inc edi
xor ebx, ebx
mov edx, ebx
mov eax, dword [0x744d24]
call fcn.005cf2f0
mov eax, dword [eax + 0xe0]
cmp byte [eax + 0x22f], 1
jne 0x5c8aa9
mov eax, dword [ebp + 8]
push eax
mov edx, ebx
mov eax, dword [0x744d24]
call fcn.005cf2f0
mov ecx, dword [ebp - 8]
mov edx, esi
call fcn.005c8418
inc ebx
dec edi
jne 0x5c8a74
jmp 0x5c8c1c
cmp dword [ebp - 8], 0xf060
jne 0x5c8ae9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4d], 0
je 0x5c8ae9
call fcn.005bde28
test eax, eax
je 0x5c8ae9
call fcn.005bde28
call fcn.005d7474
cmp eax, dword [ebp - 4]
jne 0x5c8ae9
call fcn.005bde28
mov edx, dword [eax]
call dword [edx + 0x178]
cmp dword [ebp - 8], 0xf020
je 0x5c8b11
cmp dword [ebp - 8], 0xf030
je 0x5c8b11
cmp dword [ebp - 8], 0xf120
je 0x5c8b11
cmp dword [ebp - 8], 0xf060
jne 0x5c8c1c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
call fcn.00420cac
mov edi, eax
dec edi
test edi, edi
jl 0x5c8c1c
inc edi
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.005d0ddc
mov esi, eax
cmp byte [esi + 0x85], 0
je 0x5c8ba0
mov eax, esi
call fcn.005cf5b0
test eax, eax
je 0x5c8ba0
mov eax, esi
call fcn.005cf5cc
test al, al
jne 0x5c8ba0
mov eax, esi
call fcn.005cf5b0
mov esi, eax
cmp dword [ebp - 8], 0xf020
je 0x5c8b73
cmp dword [ebp - 8], 0xf060
jne 0x5c8b84
push 0
mov eax, esi
call fcn.00476d64
push eax
call sub.USER32.DLL_ShowWindow
jmp 0x5c8ba0
push 4
mov eax, esi
call fcn.00476d64
push eax
call sub.USER32.DLL_ShowWindow
mov eax, esi
call fcn.00476d64
push eax
call sub.USER32.DLL_UpdateWindow
inc ebx
dec edi
jne 0x5c8b2a
jmp 0x5c8c1c
mov eax, dword [ebp - 4]
cmp byte [eax + 0xcd], 0
je 0x5c8c1c
call fcn.005afb8c
test eax, eax
je 0x5c8c1c
call fcn.005afb8c
mov ebx, dword [ebp + 8]
mov edx, ebx
call fcn.005b46e4
call fcn.005ad39c
test eax, eax
je 0x5c8c1c
mov eax, dword [ebx + 0x18]
test al, 0x40
je 0x5c8bee
push 8
call fcn.005ad39c
call fcn.00476d64
push eax
call sub.USER32.DLL_ShowWindow
jmp 0x5c8c1c
test al, 0x80
je 0x5c8c1c
push 0
call fcn.005ad39c
call fcn.00476d64
push eax
call sub.USER32.DLL_ShowWindow
jmp 0x5c8c1c
mov eax, dword [ebp + 8]
test byte [eax + 0x18], 0x80
je 0x5c8c1c
push ebp
xor ecx, ecx
mov dl, 1
xor eax, eax
call fcn.005c83f4
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4