Function at 0x513200
Capabilities:
Check for time delay via gettickcount
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe90
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0xc], ecx
mov word [ebp - 0x5e], dx
mov dword [ebp - 0x5c], eax
xor eax, eax
push ebp
push 0x514afb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x5c]
call fcn.0044d9ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x514adc
mov eax, dword [ebp - 0x5c]
call fcn.0044d9ac
call fcn.0050f170
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x514adc
mov byte [0x59d228], 1
mov eax, dword [ebp - 0x5c]
mov edx, dword [0x45cb4c]
call fcn.00404050
test al, al
je 0x513297
push 0
mov eax, dword [ebp - 0x5c]
call fcn.0044d9ac
mov ecx, 0x40000
mov edx, 0xa100
call fcn.00515664
mov dword [ebp - 0x90], eax
jmp 0x51329f
xor eax, eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x5132c0
mov eax, dword [ebp - 0x90]
cmp dword [eax + 0x2bc], 0
je 0x5132c0
call fcn.004e3cd4
test al, al
jne 0x5132c4
xor eax, eax
jmp 0x5132c6
mov al, 1
mov byte [ebp - 0x9d], al
call fcn.004e3cd4
test al, al
je 0x513d69
mov eax, dword [ebp - 0x5c]
mov edx, dword [0x45cb4c]
call fcn.00404050
test al, al
je 0x513d69
cmp dword [ebp - 0x90], 0
je 0x513d69
mov eax, dword [ebp - 0x90]
cmp dword [eax + 0x2bc], 0
je 0x513365
mov eax, dword [ebp - 0x90]
cmp dword [eax + 0x130], 0
je 0x51333c
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x130]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x90]
xor edx, edx
mov dword [eax + 0x130], edx
jmp 0x513365
xor edx, edx
xor eax, eax
call fcn.004ee570
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x25c]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x90]
call fcn.005447c4
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x25c]
cmp dword [eax + 0x4c], 0
jne 0x51338e
mov byte [0x59d228], 0
jmp 0x514adc
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x25c]
mov eax, dword [eax + 0x4c]
call fcn.004ee624
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
call fcn.00429244
call fcn.00424544
push 0
mov eax, dword [ebp - 0x90]
push eax
push 1
xor ecx, ecx
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1c]
call fcn.0050f91c
cmp dword [ebp - 0x1c], 0
je 0x514adc
mov eax, dword [ebp - 0x90]
cmp dword [eax + 0x2bc], 0
jne 0x51343a
mov eax, dword [ebp - 0x90]
cmp byte [eax + 0x3c], 0
je 0x513417
push 0x1fffffff
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x90]
call fcn.005485a0
lea edx, [ebp - 0x154]
mov cl, 0xff
mov eax, dword [ebp - 0x1c]
call fcn.004fc238
jmp 0x51343a
push 0x1fffffff
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x1c]
call fcn.0051724c
lea edx, [ebp - 0x154]
mov cl, 0xff
mov eax, dword [ebp - 0x1c]
call fcn.004fc238
mov eax, dword [ebp - 0x1c]
call fcn.00429244
call fcn.00424924
movzx eax, word [ebp - 0x5e]
mov ecx, 0xc
xor edx, edx
div ecx
mov dword [ebp - 0x10], eax
mov ebx, 0x11b
lea edx, [ebp - 0x70]
mov eax, dword [ebp - 0x1c]
call fcn.0051731c
lea ecx, [ebp - 0x88]
xor edx, edx
xor eax, eax
call fcn.00517368
cmp dword [ebp - 0x10], 0
jle 0x513488
lea eax, [ebp - 0x54]
xor edx, edx
call fcn.00517a80
jmp 0x513493
mov dl, byte [ebp - 0xc]
lea eax, [ebp - 0x54]
call fcn.00517a80
mov eax, dword [ebp - 0x90]
cmp dword [eax + 0x2bc], 0
je 0x513a5e
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
cmp dword [eax + 0x28], 0
jne 0x5134c9
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
call fcn.0055ad44
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov edx, dword [eax + 0x28]
mov ecx, dword [eax + 0x30]
mov dword [edx + 0x38], ecx
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x3c], ecx
cmp dword [eax + 0x3c], 0
je 0x513516
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov eax, dword [eax + 0x3c]
push eax
push 0xfffffffffffffff8
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov eax, dword [eax + 0x28]
call fcn.0044d9ac
push eax
call sub.user32.dll_SetWindowLongA
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
call fcn.0055ad44
mov eax, dword [ebp - 0x90]
cmp byte [eax + 0xd5], 0
je 0x51356d
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x90]
call fcn.00549d48
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0xac], eax
jmp 0x513695
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x25c]
call fcn.00534b48
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x28c]
call fcn.0044d9ac
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x513630
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xf8]
cmp eax, dword [edx + 0x40]
je 0x513630
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x90]
call fcn.00549d48
mov esi, dword [ebp - 0x150]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
call fcn.0053c2ec
add esi, eax
xor edx, edx
mov eax, dword [ebp - 0x90]
call fcn.0053c238
sub esi, eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x28c]
call fcn.0044d9ac
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0x2bc]
xor ecx, ecx
call fcn.0053c140
sub esi, eax
mov eax, dword [ebp - 0xf8]
add esi, dword [eax + 0x40]
mov eax, dword [ebp - 0xf8]
sub esi, dword [eax + 0x44]
mov dword [ebp - 0xac], esi
jmp 0x513695
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x90]
call fcn.00549d48
mov esi, dword [ebp - 0x150]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
call fcn.0053c2ec
add esi, eax
xor edx, edx
mov eax, dword [ebp - 0x90]
call fcn.0053c238
sub esi, eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x28c]
call fcn.0044d9ac
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0x2bc]
xor ecx, ecx
call fcn.0053c140
sub esi, eax
mov dword [ebp - 0xac], esi
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x28c]
call fcn.0044d9ac
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0x2bc]
xor ecx, ecx
call fcn.0053c140
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
call fcn.0053c32c
mov esi, eax
pop eax
sub esi, eax
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x90]
call fcn.00549d48
add esi, dword [ebp - 0x154]
mov dword [ebp - 0xb0], esi
lea eax, [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x5c]
call fcn.0044d9ac
push eax
call sub.user32.dll_GetWindowRect
mov edx, dword [ebp - 0x10c]
sub edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov eax, dword [eax + 0x28]
call fcn.004468fc
mov edx, dword [ebp - 0x108]
sub edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov eax, dword [eax + 0x28]
call fcn.00446920
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov eax, dword [eax + 0x28]
mov edx, dword [ebp - 0x70]
call fcn.00446948
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov eax, dword [eax + 0x28]
mov edx, dword [ebp - 0x6c]
call fcn.0044696c
push 3
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x28c]
call fcn.0044d9ac
push eax
call sub.user32.dll_GetWindow
mov esi, eax
push ebx
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x108]
sub eax, dword [ebp - 0xac]
push eax
mov eax, dword [ebp - 0x10c]
sub eax, dword [ebp - 0xb0]
push eax
push esi
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov eax, dword [eax + 0x28]
call fcn.0044d9ac
push eax
call sub.user32.dll_SetWindowPos
push 0
call sub.user32.dll_GetDC
mov dword [ebp - 0x78], eax
push 2
lea eax, [ebp - 0x54]
push eax
push 0x1fffffff
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00429244
call fcn.00424a50
push eax
lea eax, [ebp - 0x70]
push eax
push 0
mov eax, dword [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov eax, dword [eax + 0x28]
call fcn.0044d9ac
push eax
call dword [0x59eed8]
push 4
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov eax, dword [eax + 0x28]
call fcn.0044d9ac
push eax
call sub.user32.dll_ShowWindow
lea eax, [ebp - 0x70]
call fcn.004ee618
mov dword [ebp - 0x58], eax
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x58]
call fcn.0051724c
lea eax, [ebp - 0x154]
push eax
mov eax, dword [ebp - 0x58]
call fcn.00429244
call fcn.00424a50
xor ecx, ecx
pop edx
call fcn.004e84c4
cmp dword [ebp - 0x10], 0
jle 0x513954
push ebp
call fcn.00512eb8
pop ecx
xor eax, eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x10]
jg 0x51394e
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x68], eax
push ebp
call fcn.00512fd4
pop ecx
push 2
lea eax, [ebp - 0x54]
push eax
push 0x1fffffff
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x58]
call fcn.00429244
call fcn.00424a50
push eax
lea eax, [ebp - 0x70]
push eax
push 0
mov eax, dword [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov eax, dword [eax + 0x28]
call fcn.0044d9ac
push eax
call dword [0x59eed8]
push 0
xor eax, eax
mov al, byte [ebp - 0x52]
mov edx, dword [ebp - 0xc]
sub edx, eax
lea edx, [edx + edx*2]
xor eax, eax
call fcn.0042b474
mov edx, eax
mov eax, 0xff
call fcn.0042b3b0
push eax
mov eax, dword [ebp - 0x8c]
call fcn.0044d9ac
mov edx, dword [ebp - 0xf4]
pop ecx
call fcn.0051632c
push ebp
call fcn.00513190
pop ecx
inc dword [ebp - 0xa4]
cmp dword [ebp - 0x10], 0
jle 0x51393f
mov edx, 0xc
mov eax, dword [ebp - 0x68]
call fcn.00517a34
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x10]
jle 0x513891
mov al, byte [ebp - 0xc]
mov byte [ebp - 0x52], al
mov eax, dword [ebp - 0x78]
push eax
push 0
call sub.user32.dll_ReleaseDC
mov byte [0x59d228], 0
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x28c]
cmp byte [eax + 0x2e0], 0
je 0x51398f
mov dl, byte [ebp - 0xc]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x28c]
call fcn.00464564
push 0
mov ecx, 1
mov edx, 0xb
mov eax, dword [ebp - 0x5c]
call fcn.00448364
push 0x585
push 0
push 0
mov eax, dword [ebp - 0x5c]
call fcn.0044d9ac
push eax
call sub.user32.dll_RedrawWindow
push 0
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
xor ecx, ecx
xor edx, edx
call fcn.0055ab0c
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov eax, dword [eax + 0x28]
call fcn.0044d9ac
push eax
call sub.user32.dll_SetWindowRgn
or ebx, 4
push ebx
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x108]
sub eax, dword [ebp - 0xac]
push eax
mov eax, dword [ebp - 0x10c]
sub eax, dword [ebp - 0xb0]
push eax
push 0
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov eax, dword [eax + 0x28]
call fcn.0044d9ac
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x2bc]
mov cl, 0xff
xor edx, edx
call fcn.00559894
lea eax, [ebp - 0xf4]
call fcn.0040f078
lea eax, [ebp - 0x8c]
call fcn.0040f078
jmp 0x513d54
lea eax, [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x5c]
call fcn.0044d9ac
push eax
call sub.user32.dll_GetWindowRect
push 0
xor ecx, ecx
mov dl, 1
mov eax, dword [0x482f48]
call fcn.0045fad8
mov dword [0x59d224], eax
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax + 0x40]
mov eax, dword [0x59d224]
call fcn.004468fc
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax + 0x44]
mov eax, dword [0x59d224]
call fcn.00446920
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax + 0x48]
mov eax, dword [0x59d224]
call fcn.00446948
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax + 0x4c]
mov eax, dword [0x59d224]
call fcn.0044696c
push 0xffffffffffffffec
mov eax, dword [ebp - 0x5c]
call fcn.0044d9ac
push eax
call sub.user32.dll_GetWindowLongA
test al, 8
je 0x513aed
mov dl, 3
mov eax, dword [0x59d224]
call fcn.004613e4
or esi, 0xffffffff
jmp 0x513b2c
mov eax, dword [ebp - 0x90]
cmp dword [eax + 0x2bc], 0
je 0x513b11
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x28c]
call fcn.0044d9ac
mov esi, eax
jmp 0x513b2c
push 3
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x28c]
call fcn.0044d9ac
push eax
call sub.user32.dll_GetWindow
mov esi, eax
and ebx, 0xfffffffd
push ebx
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x40]
push eax
push esi
mov eax, dword [0x59d224]
call fcn.0044d9ac
push eax
call sub.user32.dll_SetWindowPos
push 0
call sub.user32.dll_GetDC
mov dword [ebp - 0x78], eax
push 0xffffffffffffffec
mov eax, dword [0x59d224]
call fcn.0044d9ac
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x80000
or eax, 0x8000000
push eax
push 0xffffffffffffffec
mov eax, dword [0x59d224]
call fcn.0044d9ac
push eax
call sub.user32.dll_SetWindowLongA
push 2
lea eax, [ebp - 0x54]
push eax
push 0x1fffffff
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00429244
call fcn.00424a50
push eax
lea eax, [ebp - 0x70]
push eax
push 0
mov eax, dword [ebp - 0x78]
push eax
mov eax, dword [0x59d224]
call fcn.0044d9ac
push eax
call dword [0x59eed8]
mov eax, dword [ebp - 0x90]
call fcn.0053d234
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x90]
call fcn.0053d724
mov dword [ebp - 0x64], eax
push 0
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [0x59d224]
call fcn.0044d9ac
push eax
call sub.user32.dll_SetWindowRgn
push 4
mov eax, dword [0x59d224]
call fcn.0044d9ac
push eax
call sub.user32.dll_ShowWindow
lea eax, [ebp - 0x70]
call fcn.004ee618
mov dword [ebp - 0x58], eax
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x58]
call fcn.0051724c
lea eax, [ebp - 0x154]
push eax
mov eax, dword [ebp - 0x58]
call fcn.00429244
call fcn.00424a50
xor ecx, ecx
pop edx
call fcn.004e84c4
cmp dword [ebp - 0x10], 0
jle 0x513ce4
push ebp
call fcn.00512eb8
pop ecx
xor eax, eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x10]
jg 0x513cde
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x68], eax
push ebp
call fcn.00512fd4
pop ecx
push 2
lea eax, [ebp - 0x54]
push eax
push 0x1fffffff
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x58]
call fcn.00429244
call fcn.00424a50
push eax
lea eax, [ebp - 0x70]
push eax
push 0
mov eax, dword [ebp - 0x78]
push eax
mov eax, dword [0x59d224]
call fcn.0044d9ac
push eax
call dword [0x59eed8]
push ebp
call fcn.00513190
pop ecx
inc dword [ebp - 0xa4]
cmp dword [ebp - 0x10], 0
jle 0x513cd3
mov edx, 0xc
mov eax, dword [ebp - 0x68]
call fcn.00517a34
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x10]
jle 0x513c69
mov al, byte [ebp - 0xc]
mov byte [ebp - 0x52], al
mov eax, dword [ebp - 0x78]
push eax
push 0
call sub.user32.dll_ReleaseDC
mov byte [0x59d228], 0
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x28c]
cmp byte [eax + 0x2e0], 0
je 0x513d1f
mov dl, byte [ebp - 0xc]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x28c]
call fcn.00464564
push 0
mov ecx, 1
mov edx, 0xb
mov eax, dword [ebp - 0x5c]
call fcn.00448364
push 0x585
push 0
push 0
mov eax, dword [ebp - 0x5c]
call fcn.0044d9ac
push eax
call sub.user32.dll_RedrawWindow
mov eax, 0x59d224
call fcn.0040f078
lea eax, [ebp - 0x58]
call fcn.0040f078
lea eax, [ebp - 0x1c]
call fcn.0040f078
jmp 0x514adc
cmp dword [0x59d224], 0
jne 0x513d7c
xor edx, edx
mov eax, dword [ebp - 0x5c]
call fcn.005127ec
cmp dword [0x59d224], 0
je 0x514adc
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x59d224]
call fcn.0050fcfc
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x48]
call fcn.004ee570
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
call fcn.00429244
call fcn.00424544
mov eax, dword [ebp - 0x1c]
call fcn.00429244
call fcn.00424a50
push eax
call sub.gdi32.dll_SaveDC
mov dword [ebp - 0x74], eax
xor eax, eax
push ebp
push 0x513e30
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
push 1
xor ecx, ecx
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1c]
call fcn.0050f91c
cmp dword [ebp - 0x1c], 0
jne 0x513dfe
call fcn.00404704
jmp 0x514adc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x513e37
mov eax, dword [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00429244
call fcn.00424a50
push eax
call sub.gdi32.dll_RestoreDC
mov eax, dword [ebp - 0x1c]
call fcn.00429244
call fcn.00424924
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x514b02
lea eax, [ebp - 0x9c]
mov edx, dword [0x482f20]
call fcn.004061dc
ret