Function at 0x4fd760
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa8
push ebx
push esi
push edi
mov dword [ebp - 4], eax
cmp byte [0x66bf30], 0
jne 0x4fde97
mov eax, dword [0x669168]
mov eax, dword [eax]
cmp byte [eax + 0x16d], 0
jne 0x4fde97
mov eax, dword [0x66980c]
cmp byte [eax], 0
jne 0x4fde97
cmp byte [0x66be91], 0
jne 0x4fde97
call fcn.005336e0
test eax, eax
je 0x4fd7c3
call fcn.005336e0
cmp byte [eax + 0x464], 0
jne 0x4fde97
mov byte [0x66bf30], 1
mov byte [0x66be90], 0
call fcn.005336e0
call fcn.004d4378
call fcn.005336e0
test eax, eax
je 0x4fd7f7
call fcn.005336e0
mov byte [eax + 0x453], 0
mov dl, 0xff
call fcn.005dee60
mov eax, dword [ebp - 4]
call fcn.006416e0
xor edx, edx
push ebp
push 0x4fde10
push dword fs:[edx]
mov dword fs:[edx], esp
call fcn.004d812c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x1f0]
call fcn.004f0fc4
call fcn.004d812c
call fcn.004f161c
call fcn.004d812c
call fcn.004f172c
call fcn.004d812c
call fcn.004f1810
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1f0]
call fcn.00646604
call fcn.005336e0
call fcn.0047a3f4
mov eax, dword [0x6698c8]
cmp byte [eax + 8], 1
jne 0x4fd875
cmp byte [0x66becc], 0
je 0x4fd88b
mov eax, dword [0x6698c8]
test byte [eax + 0x2b], 2
jne 0x4fd88b
mov eax, dword [ebp - 4]
call fcn.004fb8e4
test al, al
jne 0x4fd88b
mov eax, dword [0x6696a0]
cmp byte [eax], 0
je 0x4fd8fa
push ebp
call fcn.004fbb20
pop ecx
mov eax, dword [ebp - 4]
call fcn.004fb8e4
test al, al
je 0x4fd8c8
mov eax, dword [ebp - 4]
call fcn.004fb928
test al, al
je 0x4fd8c8
mov eax, dword [0x66beb8]
call fcn.006400c0
push 0
mov eax, dword [0x66beb8]
call fcn.00643a28
push eax
call sub.user32.dll_ShowWindow
jmp 0x4fd91f
mov eax, dword [0x66beb8]
call fcn.0060b5f4
mov eax, dword [0x66beb8]
call fcn.006400c8
cmp byte [0x66beab], 0
je 0x4fd91f
mov byte [0x66beab], 0
xor edx, edx
mov eax, dword [0x66beb8]
call fcn.0060aed0
jmp 0x4fd91f
cmp dword [0x66beb8], 0
je 0x4fd91f
mov eax, dword [0x66beb8]
call fcn.006400c0
push 0
mov eax, dword [0x66beb8]
call fcn.00643a28
push eax
call sub.user32.dll_ShowWindow
cmp dword [0x66beb8], 0
je 0x4fda8a
mov eax, dword [ebp - 4]
call fcn.004fb8e4
test al, al
je 0x4fd978
xor edx, edx
mov eax, dword [0x66beb8]
call fcn.0063f820
xor edi, edi
call fcn.0047a440
cmp al, 2
jne 0x4fd960
mov eax, dword [ebp - 4]
call fcn.0063fa34
mov edi, eax
call fcn.00495ed0
sub edi, eax
mov edx, edi
mov eax, dword [0x66beb8]
call fcn.0063f978
mov eax, dword [0x66beb8]
call fcn.00643988
jmp 0x4fd99b
call fcn.0047a440
sub al, 1
jb 0x4fd985
je 0x4fd989
jmp 0x4fd98d
mov al, 1
jmp 0x4fd98f
mov al, 3
jmp 0x4fd98f
mov al, 4
mov edx, eax
mov eax, dword [0x66beb8]
call fcn.0063f820
mov eax, dword [0x66beb8]
cmp byte [eax + 0x3a], 0
je 0x4fda8a
call fcn.0047a440
sub al, 1
jb 0x4fd9b7
je 0x4fd9d7
jmp 0x4fd9e1
mov eax, dword [ebp - 4]
call fcn.004fb8e4
test al, al
je 0x4fd9cd
mov al, byte [0x4fdea0]
mov byte [ebp - 5], al
jmp 0x4fd9e9
mov al, byte [0x4fdea4]
mov byte [ebp - 5], al
jmp 0x4fd9e9
mov al, byte [0x4fdea8]
mov byte [ebp - 5], al
jmp 0x4fd9e9
mov al, byte [0x4fdeac]
mov byte [ebp - 5], al
mov eax, dword [0x66beb8]
mov eax, dword [eax + 0x124]
mov edi, dword [eax + 0x18]
dec edi
cmp edi, 0
jl 0x4fda8a
mov eax, dword [0x66beb8]
mov eax, dword [eax + 0x124]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + edi*4]
mov bl, byte [ebp - 5]
cmp edi, 0x1e
jne 0x4fda41
call fcn.0047a440
test al, al
je 0x4fda41
mov eax, dword [0x66beb8]
mov eax, dword [eax + 0x128]
and eax, dword [0x4fdeb0]
mov edx, dword [0x4fdeb4]
cmp edx, eax
jne 0x4fda41
and bl, 0xf7
mov eax, ebx
cmp al, byte [esi + 0x157]
je 0x4fda80
mov al, byte [esi + 0x157]
and al, byte [0x4fdeb8]
push eax
mov al, byte [0x4fdeb8]
and al, bl
pop edx
cmp al, dl
jne 0x4fda73
mov byte [esi + 0x157], bl
mov eax, esi
call fcn.00609198
jmp 0x4fda80
mov byte [esi + 0x157], bl
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x38]
dec edi
cmp edi, 0xffffffff
jne 0x4fda01
mov byte [0x66beac], 0
call fcn.005336e0
test eax, eax
je 0x4fdac3
mov bl, 1
mov esi, 0x66bebc
mov eax, dword [esi]
test eax, eax
je 0x4fdab2
mov eax, dword [eax + 0x1a0]
call fcn.00609f94
add esi, 4
dec bl
jne 0x4fdaa1
call fcn.0044f3a0
call fcn.0044cb28
push ebp
call fcn.004fc148
pop ecx
push ebp
call fcn.004fc34c
pop ecx
call fcn.004fd5a4
mov eax, dword [0x669b78]
cmp dword [eax], 0
je 0x4fdaf9
mov eax, dword [0x669b78]
mov eax, dword [eax]
cmp byte [eax + 0x3a], 0
je 0x4fdaf9
mov eax, dword [0x669b78]
mov eax, dword [eax]
call fcn.004c336c
cmp dword [0x66bec0], 0
je 0x4fdc6a
mov eax, dword [0x66bec0]
cmp byte [eax + 0x3a], 0
je 0x4fdc6a
mov eax, dword [0x66bec0]
and word [eax + 0xbc], 0xfbff
mov eax, dword [0x6698c8]
test byte [eax + 2], 1
jne 0x4fdb46
call fcn.00535308
dec eax
sub al, 2
jae 0x4fdb46
mov eax, dword [0x66bec0]
or word [eax + 0xbc], 0x400
cmp dword [0x66beb8], 0
je 0x4fdc11
mov eax, dword [0x66beb8]
cmp byte [eax + 0x3a], 0
je 0x4fdc11
mov eax, dword [ebp - 4]
call fcn.004fb8e4
test al, al
jne 0x4fdc11
lea edx, [ebp - 0x28]
mov eax, dword [0x66beb8]
call fcn.0063f9d8
call fcn.00535308
cmp al, 1
jne 0x4fdbad
call fcn.0047a440
test al, al
jne 0x4fdbad
mov eax, dword [0x66bec0]
mov eax, dword [eax + 0x2c]
cmp eax, dword [ebp - 0x1c]
jge 0x4fdbad
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x66bec0]
call fcn.0063f990
jmp 0x4fdc11
call fcn.00535308
cmp al, 3
jne 0x4fdbdb
call fcn.0047a440
cmp al, 1
jne 0x4fdbdb
mov eax, dword [0x66bec0]
mov eax, dword [eax + 0x28]
cmp eax, dword [ebp - 0x20]
jge 0x4fdbdb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x66bec0]
call fcn.0063f978
jmp 0x4fdc11
call fcn.00535308
cmp al, 4
jne 0x4fdc11
call fcn.0047a440
cmp al, 2
jne 0x4fdc11
mov eax, dword [0x66bec0]
call fcn.0063f884
cmp eax, dword [ebp - 0x28]
jle 0x4fdc11
mov eax, dword [0x66bec0]
mov edx, dword [ebp - 0x28]
sub edx, dword [eax + 0x30]
mov eax, dword [0x66bec0]
call fcn.0063f978
cmp dword [0x66bec4], 0
je 0x4fdc6a
mov eax, dword [0x66bec4]
cmp byte [eax + 0x3a], 0
je 0x4fdc6a
call fcn.00535308
cmp al, 2
jne 0x4fdc6a
mov eax, dword [0x66bec0]
call fcn.0063f890
mov edx, dword [0x66bec4]
cmp eax, dword [edx + 0x2c]
jle 0x4fdc6a
mov eax, dword [0x66bec0]
mov eax, dword [eax + 0x34]
mov edx, 1
call fcn.00652c5c
mov edx, dword [0x66bec4]
mov edx, dword [edx + 0x2c]
sub edx, eax
mov eax, dword [0x66bec0]
call fcn.0063f990
call fcn.0050c1f0
test eax, eax
je 0x4fddac
call fcn.0050c1f0
cmp byte [eax + 0x3a], 0
je 0x4fddac
mov eax, dword [0x6698c8]
mov al, byte [eax + 0x1b]
sub al, 1
jb 0x4fdc96
je 0x4fdca1
jmp 0x4fdcac
call fcn.0050c1f0
mov esi, eax
xor ebx, ebx
jmp 0x4fdcba
xor esi, esi
call fcn.0050c1f0
mov ebx, eax
jmp 0x4fdcba
call fcn.0050c1f0
mov esi, eax
call fcn.0050c1f8
mov ebx, eax
cmp dword [0x66beb8], 0
je 0x4fdd2c
mov eax, dword [0x66beb8]
cmp byte [eax + 0x3a], 0
je 0x4fdd2c
mov eax, dword [ebp - 4]
call fcn.004fb8e4
test al, al
jne 0x4fdd2c
lea edx, [ebp - 0x38]
mov eax, dword [0x66beb8]
call fcn.0063f9d8
test esi, esi
je 0x4fdd06
call fcn.0047a440
cmp al, 1
jne 0x4fdd06
mov eax, dword [esi + 0x28]
cmp eax, dword [ebp - 0x30]
jge 0x4fdd06
mov edx, dword [ebp - 0x30]
mov eax, esi
call fcn.0063f978
test ebx, ebx
je 0x4fdd2c
call fcn.0047a440
cmp al, 2
jne 0x4fdd2c
mov eax, ebx
call fcn.0063f884
cmp eax, dword [ebp - 0x38]
jle 0x4fdd2c
mov edx, dword [ebp - 0x38]
sub edx, dword [ebx + 0x30]
mov eax, ebx
call fcn.0063f978
cmp dword [0x66bec0], 0
je 0x4fdd92
mov eax, dword [0x66bec0]
cmp byte [eax + 0x3a], 0
je 0x4fdd92
lea edx, [ebp - 0x48]
mov eax, dword [0x66bec0]
call fcn.0063f9d8
test esi, esi
je 0x4fdd6c
call fcn.00535308
cmp al, 3
jne 0x4fdd6c
mov eax, dword [esi + 0x28]
cmp eax, dword [ebp - 0x40]
jge 0x4fdd6c
mov edx, dword [ebp - 0x40]
mov eax, esi
call fcn.0063f978
test ebx, ebx
je 0x4fdd92
call fcn.00535308
cmp al, 4
jne 0x4fdd92
mov eax, ebx
call fcn.0063f884
cmp eax, dword [ebp - 0x48]
jle 0x4fdd92
mov edx, dword [ebp - 0x48]
sub edx, dword [ebx + 0x30]
mov eax, ebx
call fcn.0063f978
test esi, esi
je 0x4fdd9f
mov dl, 3
mov eax, esi
call fcn.0063f820
test ebx, ebx
je 0x4fddac
mov dl, 4
mov eax, ebx
call fcn.0063f820
mov eax, dword [0x66bec4]
cmp byte [eax + 0x3a], 0
je 0x4fde06
mov eax, dword [0x66bec4]
and word [eax + 0xbc], 0xfbff
mov eax, dword [0x6698c8]
test byte [eax + 2], 2
jne 0x4fde06
mov eax, dword [0x6698c8]
test byte [eax + 2], 1
je 0x4fddf8
cmp dword [0x66bec0], 0
je 0x4fddf8
call fcn.00535308
cmp al, 2
jne 0x4fddf8
mov eax, dword [0x66bec0]
cmp byte [eax + 0x3a], 0
jne 0x4fde06
mov eax, dword [0x66bec4]
or word [eax + 0xbc], 0x400
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4fde1a
cmp dword [0x66beb8], 0
je 0x4fde30
lea edx, [ebp - 0x18]
mov eax, dword [0x66beb8]
call fcn.0063f9d8
mov eax, dword [ebp - 4]
call fcn.006416e8
cmp dword [0x66beb8], 0
je 0x4fde76
mov eax, dword [0x66beb8]
cmp byte [eax + 0x3a], 0
je 0x4fde76
lea eax, [ebp - 0x18]
push eax
lea edx, [ebp - 0x58]
mov eax, dword [0x66beb8]
call fcn.0063f9d8
lea eax, [ebp - 0x58]
push eax
call sub.user32.dll_EqualRect
test eax, eax
jne 0x4fde76
xor edx, edx
mov eax, dword [0x66beb8]
call fcn.0060aed0
call fcn.005336e0
test eax, eax
je 0x4fde8b
call fcn.005336e0
mov byte [eax + 0x453], 0
call fcn.004d4394
mov byte [0x66bf30], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret