Function at 0x10050a60
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
lea ebp, [esp - 0x2c]
sub esp, 0x2c
push 0xfffffffffffffffe
push 0x100c2570
push 0x10075170
mov eax, dword fs:[0]
push eax
sub esp, 0x1d0
push ebx
push esi
push edi
mov eax, dword [0x100dbd3c]
xor dword [ebp - 8], eax
xor eax, ebp
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov edi, ecx
mov esi, dword [ebp + 0x34]
mov ebx, edx
mov ecx, ecx
xor eax, eax
mov dword [ebp + 0x24], eax
mov eax, eax
mov dword [ebp + 0x28], eax
mov ebx, ebx
call fcn.1004d340
push edx
pop edx
call fcn.1004d590
mov ch, ch
test edi, edi
jne 0x10050ac9
mov esi, esi
jmp 0x10051308
mov eax, dword [ebx]
lea ecx, [ebp + 0x24]
push ecx
push 0x1009ba40
push ebx
mov edx, dword [eax]
call edx
test cl, cl
mov eax, dword [edi]
lea ecx, [ebp + 0x28]
push ecx
push 0x1009ba40
push edi
mov edx, dword [eax]
call edx
xchg ebx, eax
xchg ebx, eax
cmp dword [ebp + 0x28], 0
je 0x10051303
cmp dword [ebp + 0x24], 0
je 0x10051303
test bh, bh
mov edi, 0x7c
push edi
push 0
lea eax, [ebp - 0x110]
push eax
call fcn.10075a40
add esp, 0xc
test bl, bl
push edi
push 0
lea ecx, [ebp - 0x94]
push ecx
call fcn.10075a40
add esp, 0xc
test esi, esi
mov dword [ebp - 0x110], edi
test dh, dh
mov dword [ebp - 0x94], edi
push edx
pop edx
mov eax, dword [ebp + 0x24]
mov edx, dword [eax]
lea ecx, [ebp - 0x110]
push ecx
push eax
mov edx, dword [edx + 0x58]
call edx
test bl, bl
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax]
lea edx, [ebp - 0x94]
push edx
push eax
mov eax, dword [ecx + 0x58]
call eax
mov eax, eax
test dword [ebp - 0xa8], 0x200
je 0x10051308
test esi, esi
jne 0x10050b84
mov ebx, dword [ebp - 0x104]
jmp 0x10050b89
mov ebx, dword [esi + 8]
sub ebx, dword [esi]
mov dword [ebp - 0x1c4], ebx
mov dh, dh
test esi, esi
jne 0x10050b9d
mov edi, dword [ebp - 0x108]
jmp 0x10050ba3
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 4]
mov dword [ebp - 0x1bc], edi
mov eax, eax
mov edx, dword [ebp + 0x38]
test edx, edx
jne 0x10050bba
mov ecx, dword [ebp - 0x88]
jmp 0x10050bbf
mov ecx, dword [edx + 8]
sub ecx, dword [edx]
mov dword [ebp - 0x1c0], ecx
mov esi, esi
test edx, edx
jne 0x10050bd3
mov eax, dword [ebp - 0x8c]
jmp 0x10050bd9
mov eax, dword [edx + 0xc]
sub eax, dword [edx + 4]
mov dword [ebp - 0x1c8], eax
push edx
pop edx
cmp ebx, ecx
je 0x10050bef
test eax, 0x2b17
jmp 0x10051308
cmp edi, eax
je 0x10050bfa
test cl, cl
jmp 0x10051308
mov dl, dl
test byte [ebp - 0x48], 0x40
jne 0x10050c09
push eax
pop eax
jmp 0x10051308
mov eax, dword [ebp - 0x40]
cmp eax, 0x20
je 0x10050c1d
cmp eax, 0x10
je 0x10050c1d
test ch, ch
jmp 0x10051308
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ch, ch
push ecx
pop ecx
test eax, 0x4742
mov dword [ebp - 0x11c], 0
jmp 0x10050c40
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [0x100f2714]
jg 0x10051308
test esi, esi
jne 0x10050c5e
mov dword [ebp - 0x114], esi
jmp 0x10050c66
mov edx, dword [esi]
mov dword [ebp - 0x114], edx
mov esi, esi
test esi, esi
jne 0x10050c70
xor ebx, ebx
jmp 0x10050c73
mov ebx, dword [esi + 4]
test ecx, ecx
mov eax, dword [ebp - 0x11c]
push eax
call fcn.1004d1c0
add esp, 4
mov edi, eax
mov dword [ebp - 0x118], edi
mov dh, dh
test edi, edi
jne 0x10050c9d
test bl, bl
add dword [ebp - 0x11c], 1
jmp 0x10050c40
push 0
push 0
push 0
push 6
push edi
call fcn.100441a0
mov esi, eax
mov dword [ebp - 0x1cc], esi
test esi, esi
test esi, esi
jne 0x10050cd1
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, edx
mov esi, dword [ebp + 0x34]
add dword [ebp - 0x11c], 1
jmp 0x10050c40
test eax, 0x5e18
xor eax, eax
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x20], eax
test ch, ch
mov dword [ebp - 4], eax
mov edi, dword [esi + 0xc]
test edx, edx
lea ecx, [ebp + 0x1c]
push ecx
push edi
call dword [sym.imp.USER32.dll_ClientToScreen]
xchg ebx, eax
xchg ebx, eax
mov ebp, ebp
lea edx, [ebp - 0x134]
push edx
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
test ecx, ecx
push edi
call fcn.10038fe0
add esp, 4
mov bl, bl
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x10050d6a
mov eax, dword [ebp - 0x12c]
cmp eax, dword [esi + 0x14]
jne 0x10050d33
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [esi + 0x18]
je 0x10050d6a
mov eax, dword [0x100f30c8]
xor edi, edi
cmp eax, edi
je 0x10050d52
test dh, dh
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test ch, ch
mov dword [0x100f30c8], edi
test ch, ch
mov ecx, dword [ebp - 0x12c]
mov dword [esi + 0x14], ecx
mov ebx, ebx
mov edx, dword [ebp - 0x128]
mov dword [esi + 0x18], edx
test edi, edi
jmp 0x10050d6c
xor edi, edi
mov dword [ebp - 4], 0xfffffffe
cmp dword [0x100f30c8], edi
jne 0x10050f04
push eax
pop eax
push 0x7c
push edi
lea eax, [ebp - 0x1b8]
push eax
call fcn.10075a40
add esp, 0xc
test eax, 0x5371
mov dword [ebp - 0x1b8], 0x7c
xchg ebx, eax
xchg ebx, eax
mov dword [ebp - 0x1b4], 7
test eax, 0x3c19
mov eax, dword [esi + 0x14]
cmp dword [ebp - 0x1c4], eax
ja 0x10050dc8
mov dword [ebp - 0x1ac], eax
push eax
pop eax
jmp 0x10050dd3
lea ecx, [eax + eax]
mov dword [ebp - 0x1ac], ecx
test ah, ah
mov eax, dword [esi + 0x18]
cmp dword [ebp - 0x1bc], eax
ja 0x10050de8
mov dword [ebp - 0x1b0], eax
test eax, eax
jmp 0x10050df3
lea edx, [eax + eax]
mov dword [ebp - 0x1b0], edx
test bl, bl
test ecx, ecx
mov dword [ebp - 0x150], 0x840
test al, al
cmp dword [0x100f30cc], edi
je 0x10050e1e
test dword [ebp - 0x2c], 0x4000
je 0x10050e1e
mov dword [ebp - 0x150], 0x4040
test bl, bl
mov dword [ebp + 0x14], edi
test ah, ah
mov dword [ebp + 0x18], edi
test al, al
mov dword [ebp + 0x10], edi
test edi, edi
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
push eax
mov eax, dword [ecx + 0x90]
call eax
mov dl, dl
cmp eax, edi
jge 0x10050e66
xchg ebx, eax
xchg ebx, eax
push esi
call fcn.100441d0
test eax, 0x5cbc
mov ecx, dword [ebp - 0x118]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
jmp 0x10051308
mov eax, dword [ebp + 0x14]
mov edx, dword [eax]
lea ecx, [ebp + 0x18]
push ecx
push 0x1009b9f0
push eax
mov edx, dword [edx]
call edx
test dl, dl
cmp eax, edi
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
jge 0x10050eaa
call edx
test edi, edi
push esi
call fcn.100441d0
mov ah, ah
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, al
mov dh, dh
jmp 0x10051308
call edx
mov ch, ch
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
push edi
lea edx, [ebp + 0x10]
push edx
lea edx, [ebp - 0x1b8]
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
xchg ebx, eax
xchg ebx, eax
cmp eax, edi
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
jge 0x10050ef6
call edx
test edi, edi
push esi
call fcn.100441d0
test ah, ah
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov bl, bl
test bh, bh
jmp 0x10051308
call edx
mov edx, edx
mov eax, dword [ebp + 0x10]
mov dword [0x100f30c8], eax
mov al, al
mov eax, dword [ebp - 0x114]
cmp eax, edi
jne 0x10050f13
mov eax, dword [ebp + 0x1c]
mov bl, bl
cmp ebx, edi
jne 0x10050f1c
mov ebx, dword [ebp + 0x20]
push edx
pop edx
test dl, dl
sub eax, dword [ebp + 0x1c]
mov dword [ebp], eax
test al, al
sub ebx, dword [ebp + 0x20]
mov dword [ebp + 4], ebx
test eax, eax
mov ecx, dword [ebp]
mov edx, dword [ebp - 0x1c0]
add ecx, edx
mov dword [ebp + 8], ecx
mov cl, cl
mov eax, dword [ebp + 4]
mov ecx, dword [ebp - 0x1c8]
add eax, ecx
mov dword [ebp + 0xc], eax
test eax, 0x6685
mov eax, dword [0x100f30c8]
mov edx, dword [eax]
push edi
push 0x1000000
mov ecx, dword [ebp + 0x38]
push ecx
mov ecx, dword [ebp + 0x28]
push ecx
lea ecx, [ebp]
push ecx
push eax
mov edx, dword [edx + 0x14]
call edx
mov edi, edi
cmp eax, edi
jge 0x10050f94
push esi
call fcn.100441d0
test cl, cl
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebp, ebp
mov dl, dl
jmp 0x10051308
mov eax, dword [0x100f2f48]
mov dword [ebp - 0x114], eax
push ebx
pop ebx
push eax
mov ecx, dword [ebp - 0x11c]
push ecx
call fcn.1004d010
add esp, 8
mov edi, eax
mov dword [ebp - 0x1dc], edi
test al, al
test edi, edi
je 0x100512a1
mov ebx, dword [0x100f30c8]
mov dword [ebp - 0x1d8], ebx
mov bl, bl
push ebx
pop ebx
push 0x7c
push 0
lea edx, [ebp - 0x1b8]
push edx
call fcn.10075a40
add esp, 0xc
test edx, edx
mov dword [ebp - 0x1b8], 0x7c
push ebx
pop ebx
mov eax, dword [ebx]
push 0
push 1
lea ecx, [ebp - 0x1b8]
push ecx
push 0
push ebx
mov edx, dword [eax + 0x64]
call edx
test esi, esi
test eax, eax
jne 0x10051296
mov eax, dword [ebp - 0x114]
push eax
push edi
call fcn.1004d160
add esp, 8
test eax, eax
je 0x10051285
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x124], ecx
mov ebp, ebp
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1e0], edx
mov dh, dh
lea eax, [esi + 0x24]
mov dword [ebp - 0x120], eax
mov ah, ah
mov eax, dword [esi + 0x14]
add eax, eax
add eax, eax
mov dword [ebp - 0x1d4], eax
mov ebp, ebp
mov edi, edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, edi
test eax, 0x65c1
test esi, esi
test eax, eax
mov eax, dword [esi + 0x18]
mov ah, ah
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0x13c], ecx
test ebx, ebx
push ecx
pop ecx
xor ecx, ecx
mov dword [esi + 0x20], ecx
test ch, ch
cmp dword [ebp - 0x164], 0x10
jne 0x100510a2
mov dword [esi + 0x20], 1
test eax, 0x45a9
cmp dword [ebp - 0x114], ecx
jne 0x100510b2
mov dword [esi + 0x20], ecx
test eax, 0xa62
cmp eax, ecx
jbe 0x1005124e
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x164], 0x10
jne 0x10051203
cmp dword [ebp - 0x114], 0
jne 0x100511dc
mov eax, eax
xor edi, edi
cmp dword [ebp - 0x13c], edi
jbe 0x10051225
lea ebx, [ebx]
mov edx, dword [ebp - 0x124]
movzx eax, word [edx + edi*2]
xchg ebx, eax
xchg ebx, eax
movzx eax, ax
mov ecx, eax
shr ecx, 8
and ecx, 0xf8
test edx, edx
mov ebx, eax
shr ebx, 3
and ebx, 0xfc
test edx, edx
and eax, 0x1f
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x138], eax
test dl, dl
mov eax, 0x8421085
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
add ecx, eax
test ah, ah
mov eax, 0x4104105
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
add ebx, eax
push eax
pop eax
mov eax, 0x8421085
mul dword [ebp - 0x138]
mov esi, edx
mov eax, dword [ebp - 0x138]
mov edx, eax
sub edx, esi
shr edx, 1
add edx, esi
shr edx, 4
add eax, edx
test esi, esi
cmp ecx, 0xff
jbe 0x10051187
mov ecx, 0xff
mov edi, edi
cmp ebx, 0xff
jbe 0x10051196
mov ebx, 0xff
test edx, edx
cmp eax, 0xff
jbe 0x100511b2
mov dword [ebp - 0x138], 0xff
test eax, 0x3ec2
mov eax, dword [ebp - 0x138]
xor edx, edx
mov dh, cl
mov dl, bl
shl edx, 8
movzx eax, al
or edx, eax
mov ecx, dword [ebp - 0x120]
mov dword [ecx + edi*4], edx
mov al, al
add edi, 1
cmp edi, dword [ebp - 0x13c]
jb 0x100510f0
jmp 0x10051225
mov eax, dword [ebp - 0x13c]
add eax, eax
add eax, eax
shr eax, 1
push eax
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp - 0x120]
push eax
call fcn.100756d0
add esp, 0xc
mov ecx, ecx
jmp 0x10051225
mov eax, dword [ebp - 0x13c]
add eax, eax
add eax, eax
push eax
mov ecx, dword [ebp - 0x124]
push ecx
mov edx, dword [ebp - 0x120]
push edx
call fcn.100756d0
add esp, 0xc
nop
mov eax, dword [ebp - 0x1e0]
add dword [ebp - 0x124], eax
test ebx, ebx
mov ecx, dword [ebp - 0x1d4]
add dword [ebp - 0x120], ecx
push eax
pop eax
sub dword [ebp - 0x1d0], 1
jne 0x100510c0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
test ch, ch
test eax, eax
mov esi, dword [ebp - 0x1cc]
mov dword [esi + 0x1c], 1
mov bl, bl
mov edx, dword [ebp - 0x114]
push edx
mov edi, dword [ebp - 0x1dc]
push edi
call fcn.1004d190
add esp, 8
mov ah, ah
mov ebx, dword [ebp - 0x1d8]
mov eax, dword [ebx]
push 0
push ebx
mov ecx, dword [eax + 0x80]
call ecx
push eax
pop eax
jmp 0x10051298
test edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, ebx
push esi
call fcn.100441d0
test edx, edx
mov edx, dword [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ch, ch
mov esi, dword [ebp + 0x34]
add dword [ebp - 0x11c], 1
jmp 0x10050c40
test eax, 0x4f71
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x1005131c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test eax, 0x554e
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x1005132d
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
push eax
pop eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add ebp, 0x2c
mov esp, ebp
pop ebp
ret