Function at 0x420550
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov eax, dword [0x4e6418]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor edi, edi
cmp dword [ebp + 0x1c], 0
je 0x420581
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045901d
mov eax, edi
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret 0x18
mov esi, ecx
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
cmp eax, 0x10f
jle 0x4205de
cmp eax, 0x138
je 0x420640
cmp eax, 0x113
je 0x42067c
cmp eax, 0x110
jne 0x4206c7
xor edi, edi
inc edi
mov dword [esi + 0x24], edi
sub esp, 8
mov ecx, esi
call fcn.0041f2b0
mov eax, dword [ebp + 0x18]
mov dword [eax], edi
cmp dword [esi + 0x24], 0
jne 0x42056b
xor edi, edi
jmp 0x42056b
xor edi, edi
inc edi
mov dword [esi + 0x24], edi
jmp 0x4205c7
cmp eax, 0x10
je 0x42061e
cmp eax, 0x14
je 0x4205d6
cmp eax, 0x84
jne 0x4206c7
xorps xmm0, xmm0
lea edi, [ebp - 0x20]
movups xmmword [edi], xmm0
push edi
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetWindowRect]
shr ebx, 0x10
mov eax, dword [edi + 4]
add eax, 0x37
mov ecx, dword [ebp + 0x18]
mov dword [ecx], 2
cmp ebx, eax
jge 0x4205d2
jmp 0x420638
mov dword [esi + 0x24], 1
xor edi, edi
push edi
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov eax, dword [ebp + 0x18]
mov dword [eax], edi
cmp dword [esi + 0x24], edi
je 0x4205d2
xor edi, edi
inc edi
jmp 0x42056b
mov dword [ebp - 0x28], esp
xor edi, edi
inc edi
mov dword [esi + 0x24], edi
mov eax, dword [esi + 0x268]
mov dword [ebp - 0x24], eax
push edi
push edx
call dword [sym.imp.GDI32.dll_SetBkMode]
cmp dword [ebp - 0x24], ebx
je 0x420674
push 0
call dword [sym.imp.GDI32.dll_GetStockObject]
mov esp, dword [ebp - 0x28]
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
jmp 0x4205cc
mov eax, dword [esi + 0x30c]
jmp 0x420667
mov dword [esi + 0x24], 1
cmp edx, 0x64
jne 0x4206b2
mov eax, dword [esi + 0x36c]
cmp eax, 0x63
jg 0x4206b2
cmp eax, dword [esi + 0x368]
jge 0x4206b2
inc eax
mov dword [esi + 0x36c], eax
mov edi, ecx
lea ecx, [esi + 0x330]
push eax
call fcn.00415fe0
mov ecx, edi
mov dword [ecx], 0
cmp dword [esi + 0x24], 0
jne 0x420638
jmp 0x4205d2
movzx ecx, dx
cmp eax, 0x111
jne 0x4206f1
cmp ecx, 0x8ce
jne 0x4206f1
sub esp, 8
xor edi, edi
mov ecx, esi
push edi
push edi
call fcn.00420140
mov eax, dword [ebp + 0x18]
mov dword [eax], edi
jmp 0x420638
cmp eax, 0x111
jne 0x420718
cmp ecx, 0x8cc
jne 0x420718
sub esp, 8
xor eax, eax
mov ecx, esi
push eax
push eax
call fcn.00420260
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
jmp 0x420638
cmp eax, 0x111
jne 0x420740
cmp ecx, 0x8cd
jne 0x420740
push 6
push dword [esi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
jmp 0x420638
cmp eax, 0x900
jle 0x420781
cmp eax, 0x901
je 0x4207e4
cmp eax, 0xb00
jne 0x42056b
sub esp, 0x10
mov ecx, esi
call fcn.004200d0
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x420638
sub esp, 0x10
mov ecx, esi
call fcn.0041fd70
jmp 0x420767
cmp eax, 0xf
je 0x420775
cmp eax, 0x900
jne 0x42056b
xor eax, eax
cmp dword [esi + 0x380], 1
mov ecx, dword [ebp + 0x18]
je 0x420711
cmp byte [0x4edc40], 0
jne 0x4207ca
mov byte [0x4edc40], 1
push 0
push 0x1e
push 0x64
push dword [esi + 4]
mov edi, ecx
mov ebx, edx
call dword [sym.imp.USER32.dll_SetTimer]
mov edx, ebx
mov ecx, edi
xor eax, eax
inc eax
cmp dword [esi + 0x368], edx
jge 0x420711
mov dword [esi + 0x368], edx
jmp 0x420711
mov edi, 0x64
push edi
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
lea ecx, [esi + 0x330]
push edi
call fcn.00415fe0
xor edi, edi
mov ebx, dword [sym.imp.USER32.dll_EnableWindow]
push edi
push dword [esi + 0x2c]
call ebx
push edi
push dword [esi + 0xac]
call ebx
jmp 0x420767