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

Disassembly:
push ebp
lea ebp, [esp - 0x2c]
sub esp, 0x2c
push 0xfffffffffffffffe
push 0x101b0e28
push 0x101184d0
mov eax, dword fs:[0]
push eax
sub esp, 0x1d0
push ebx
push esi
push edi
mov eax, dword [0x101ce00c]
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 ebx, ebx
xor eax, eax
mov dword [ebp + 0x24], eax
test edx, edx
mov dword [ebp + 0x28], eax
test ah, ah
call fcn.100d7e90
push edx
pop edx
call fcn.100d83b0
test bl, bl
test edi, edi
jne 0x100dbae9
test al, al
jmp 0x100dc329
mov eax, dword [ebx]
lea ecx, [ebp + 0x24]
push ecx
push 0x101823f8
push ebx
mov edx, dword [eax]
call edx
test eax, 0x59cd
mov eax, dword [edi]
lea ecx, [ebp + 0x28]
push ecx
push 0x101823f8
push edi
mov edx, dword [eax]
call edx
test edi, edi
cmp dword [ebp + 0x28], 0
je 0x100dc324
cmp dword [ebp + 0x24], 0
je 0x100dc324
mov cl, cl
mov edi, 0x7c
push edi
push 0
lea eax, [ebp - 0x110]
push eax
call fcn.10118770
add esp, 0xc
mov ebp, ebp
push edi
push 0
lea ecx, [ebp - 0x94]
push ecx
call fcn.10118770
add esp, 0xc
test esi, esi
mov dword [ebp - 0x110], edi
xchg ebx, eax
xchg ebx, eax
mov dword [ebp - 0x94], edi
test eax, 0x1c13
mov eax, dword [ebp + 0x24]
mov edx, dword [eax]
lea ecx, [ebp - 0x110]
push ecx
push eax
mov edx, dword [edx + 0x58]
call edx
mov edx, edx
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax]
lea edx, [ebp - 0x94]
push edx
push eax
mov eax, dword [ecx + 0x58]
call eax
test edi, edi
test dword [ebp - 0xa8], 0x200
je 0x100dc329
test esi, esi
jne 0x100dbbaa
mov ebx, dword [ebp - 0x104]
jmp 0x100dbbaf
mov ebx, dword [esi + 8]
sub ebx, dword [esi]
mov dword [ebp - 0x1c4], ebx
mov edi, edi
test esi, esi
jne 0x100dbbc3
mov edi, dword [ebp - 0x108]
jmp 0x100dbbc9
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 4]
mov dword [ebp - 0x1bc], edi
push ebx
pop ebx
mov edx, dword [ebp + 0x38]
test edx, edx
jne 0x100dbbe0
mov ecx, dword [ebp - 0x88]
jmp 0x100dbbe5
mov ecx, dword [edx + 8]
sub ecx, dword [edx]
mov dword [ebp - 0x1c0], ecx
test esi, esi
test edx, edx
jne 0x100dbbf9
mov eax, dword [ebp - 0x8c]
jmp 0x100dbbff
mov eax, dword [edx + 0xc]
sub eax, dword [edx + 4]
mov dword [ebp - 0x1c8], eax
test ah, ah
cmp ebx, ecx
je 0x100dbc12
push edx
pop edx
jmp 0x100dc329
cmp edi, eax
je 0x100dbc1d
mov al, al
jmp 0x100dc329
mov bl, bl
test byte [ebp - 0x48], 0x40
jne 0x100dbc2c
test esi, esi
jmp 0x100dc329
mov eax, dword [ebp - 0x40]
cmp eax, 0x20
je 0x100dbc40
cmp eax, 0x10
je 0x100dbc40
push edx
pop edx
jmp 0x100dc329
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, esi
test eax, 0x2c85
test dh, dh
mov dword [ebp - 0x11c], 0
lea esp, [esp]
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [0x101e37dc]
jg 0x100dc329
test esi, esi
jne 0x100dbc7e
mov dword [ebp - 0x114], esi
jmp 0x100dbc86
mov edx, dword [esi]
mov dword [ebp - 0x114], edx
mov cl, cl
test esi, esi
jne 0x100dbc90
xor ebx, ebx
jmp 0x100dbc93
mov ebx, dword [esi + 4]
test edi, edi
mov eax, dword [ebp - 0x11c]
push eax
call fcn.100d7d00
add esp, 4
mov edi, eax
mov dword [ebp - 0x118], edi
mov ebx, ebx
test edi, edi
jne 0x100dbcbd
test bh, bh
add dword [ebp - 0x11c], 1
jmp 0x100dbc60
push 0
push 0
push 0
push 6
push edi
call fcn.100c4ce0
mov esi, eax
mov dword [ebp - 0x1cc], esi
test ch, ch
test esi, esi
jne 0x100dbcf1
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test bl, bl
mov esi, dword [ebp + 0x34]
add dword [ebp - 0x11c], 1
jmp 0x100dbc60
mov ebp, ebp
xor eax, eax
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x20], eax
mov al, al
mov dword [ebp - 4], eax
mov edi, dword [esi + 0xc]
test eax, 0x373e
lea ecx, [ebp + 0x1c]
push ecx
push edi
call dword [sym.imp.USER32.dll_ClientToScreen]
push ecx
pop ecx
test ah, ah
lea edx, [ebp - 0x134]
push edx
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
test bh, bh
push edi
call fcn.10053690
add esp, 4
test al, al
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x100dbd8d
mov eax, dword [ebp - 0x12c]
cmp eax, dword [esi + 0x14]
jne 0x100dbd53
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [esi + 0x18]
je 0x100dbd8d
mov eax, dword [0x101e4190]
xor edi, edi
cmp eax, edi
je 0x100dbd72
mov esi, esi
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ebp, ebp
mov dword [0x101e4190], edi
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [ebp - 0x12c]
mov dword [esi + 0x14], ecx
test eax, 0x3fd7
mov edx, dword [ebp - 0x128]
mov dword [esi + 0x18], edx
mov ah, ah
jmp 0x100dbd8f
xor edi, edi
mov dword [ebp - 4], 0xfffffffe
cmp dword [0x101e4190], edi
jne 0x100dbf2d
mov eax, eax
push 0x7c
push edi
lea eax, [ebp - 0x1b8]
push eax
call fcn.10118770
add esp, 0xc
mov esi, esi
mov dword [ebp - 0x1b8], 0x7c
test eax, 0x5d7e
mov dword [ebp - 0x1b4], 7
mov dl, dl
mov eax, dword [esi + 0x14]
cmp dword [ebp - 0x1c4], eax
ja 0x100dbdeb
mov dword [ebp - 0x1ac], eax
test eax, 0x7f0e
jmp 0x100dbdf6
lea ecx, [eax + eax]
mov dword [ebp - 0x1ac], ecx
mov ebp, ebp
mov eax, dword [esi + 0x18]
cmp dword [ebp - 0x1bc], eax
ja 0x100dbe0b
mov dword [ebp - 0x1b0], eax
test edi, edi
jmp 0x100dbe19
lea edx, [eax + eax]
mov dword [ebp - 0x1b0], edx
test eax, 0x16c9
test ebx, ebx
mov dword [ebp - 0x150], 0x840
test eax, 0x1f22
cmp dword [0x101e4194], edi
je 0x100dbe47
test dword [ebp - 0x2c], 0x4000
je 0x100dbe47
mov dword [ebp - 0x150], 0x4040
mov al, al
mov dword [ebp + 0x14], edi
mov eax, eax
mov dword [ebp + 0x18], edi
mov ebp, ebp
mov dword [ebp + 0x10], edi
test cl, cl
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 edi, edi
cmp eax, edi
jge 0x100dbe8c
mov edi, edi
push esi
call fcn.100c4d10
mov dl, dl
mov ecx, dword [ebp - 0x118]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jmp 0x100dc329
mov eax, dword [ebp + 0x14]
mov edx, dword [eax]
lea ecx, [ebp + 0x18]
push ecx
push 0x101823a8
push eax
mov edx, dword [edx]
call edx
test edi, edi
cmp eax, edi
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
jge 0x100dbed0
call edx
test ch, ch
push esi
call fcn.100c4d10
mov ch, ch
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, al
mov dl, dl
jmp 0x100dc329
call edx
mov esi, esi
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
mov edx, edx
cmp eax, edi
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
jge 0x100dbf1c
call edx
mov dh, dh
push esi
call fcn.100c4d10
test bh, bh
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test bl, bl
push ebx
pop ebx
jmp 0x100dc329
call edx
mov edx, edx
mov eax, dword [ebp + 0x10]
mov dword [0x101e4190], eax
test eax, 0x3a03
mov eax, dword [ebp - 0x114]
cmp eax, edi
jne 0x100dbf3c
mov eax, dword [ebp + 0x1c]
mov ebp, ebp
cmp ebx, edi
jne 0x100dbf45
mov ebx, dword [ebp + 0x20]
push eax
pop eax
mov ebp, ebp
sub eax, dword [ebp + 0x1c]
mov dword [ebp], eax
test eax, 0xef8
sub ebx, dword [ebp + 0x20]
mov dword [ebp + 4], ebx
mov edi, edi
mov ecx, dword [ebp]
mov edx, dword [ebp - 0x1c0]
add ecx, edx
mov dword [ebp + 8], ecx
push ebx
pop ebx
mov eax, dword [ebp + 4]
mov ecx, dword [ebp - 0x1c8]
add eax, ecx
mov dword [ebp + 0xc], eax
nop
mov eax, dword [0x101e4190]
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
test eax, 0x78d6
cmp eax, edi
jge 0x100dbfbf
push esi
call fcn.100c4d10
test eax, eax
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
pop edx
mov edx, edx
jmp 0x100dc329
mov eax, dword [0x101e4010]
mov dword [ebp - 0x114], eax
push eax
pop eax
push eax
mov ecx, dword [ebp - 0x11c]
push ecx
call fcn.100d7b30
add esp, 8
mov edi, eax
mov dword [ebp - 0x1dc], edi
test ecx, ecx
test edi, edi
je 0x100dc2c2
mov ebx, dword [0x101e4190]
mov dword [ebp - 0x1d8], ebx
mov cl, cl
mov ecx, ecx
push 0x7c
push 0
lea edx, [ebp - 0x1b8]
push edx
call fcn.10118770
add esp, 0xc
mov eax, eax
mov dword [ebp - 0x1b8], 0x7c
mov bh, bh
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 eax, eax
test eax, eax
jne 0x100dc2b7
mov eax, dword [ebp - 0x114]
push eax
push edi
call fcn.100d7ca0
add esp, 8
test eax, eax
je 0x100dc2a6
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x124], ecx
push edx
pop edx
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1e0], edx
test eax, 0x487d
lea eax, [esi + 0x24]
mov dword [ebp - 0x120], eax
test bl, bl
mov eax, dword [esi + 0x14]
add eax, eax
add eax, eax
mov dword [ebp - 0x1d4], eax
test dl, dl
test dh, dh
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, esi
mov edx, edx
test ecx, ecx
mov ch, ch
mov eax, dword [esi + 0x18]
mov ecx, ecx
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0x13c], ecx
mov al, al
mov edi, edi
xor ecx, ecx
mov dword [esi + 0x20], ecx
mov eax, eax
cmp dword [ebp - 0x164], 0x10
jne 0x100dc0ca
mov dword [esi + 0x20], 1
push ebx
pop ebx
cmp dword [ebp - 0x114], ecx
jne 0x100dc0d7
mov dword [esi + 0x20], ecx
mov ebx, ebx
cmp eax, ecx
jbe 0x100dc26c
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x164], 0x10
jne 0x100dc220
cmp dword [ebp - 0x114], 0
jne 0x100dc1f9
push eax
pop eax
xor edi, edi
cmp dword [ebp - 0x13c], edi
jbe 0x100dc243
nop
mov edx, dword [ebp - 0x124]
movzx eax, word [edx + edi*2]
test ecx, ecx
movzx eax, ax
mov ecx, eax
shr ecx, 8
and ecx, 0xf8
mov cl, cl
mov ebx, eax
shr ebx, 3
and ebx, 0xfc
mov bh, bh
and eax, 0x1f
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x138], eax
test eax, eax
mov eax, 0x8421085
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
add ecx, eax
mov bh, bh
mov eax, 0x4104105
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
add ebx, eax
test dh, dh
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
mov al, al
cmp ecx, 0xff
jbe 0x100dc1a7
mov ecx, 0xff
mov cl, cl
cmp ebx, 0xff
jbe 0x100dc1b6
mov ebx, 0xff
test bl, bl
cmp eax, 0xff
jbe 0x100dc1cf
mov dword [ebp - 0x138], 0xff
push ebx
pop ebx
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
test ebx, ebx
add edi, 1
cmp edi, dword [ebp - 0x13c]
jb 0x100dc110
jmp 0x100dc243
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.10119900
add esp, 0xc
mov al, al
jmp 0x100dc243
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.10119900
add esp, 0xc
mov esi, esi
mov eax, dword [ebp - 0x1e0]
add dword [ebp - 0x124], eax
mov ch, ch
mov ecx, dword [ebp - 0x1d4]
add dword [ebp - 0x120], ecx
test esi, esi
sub dword [ebp - 0x1d0], 1
jne 0x100dc0e5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
test eax, 0x2bc2
test bh, bh
mov esi, dword [ebp - 0x1cc]
mov dword [esi + 0x1c], 1
test bl, bl
mov edx, dword [ebp - 0x114]
push edx
mov edi, dword [ebp - 0x1dc]
push edi
call fcn.100d7cd0
add esp, 8
test eax, eax
mov ebx, dword [ebp - 0x1d8]
mov eax, dword [ebx]
push 0
push ebx
mov ecx, dword [eax + 0x80]
call ecx
push ebx
pop ebx
jmp 0x100dc2b9
test bh, bh
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
push esi
call fcn.100c4d10
test ah, ah
mov edx, dword [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test bl, bl
mov esi, dword [ebp + 0x34]
add dword [ebp - 0x11c], 1
jmp 0x100dbc60
test eax, 0x2b19
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x100dc33a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov edi, edi
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x100dc34a
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
nop
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