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

Disassembly:
push ebp
lea ebp, [esp - 0x2c]
sub esp, 0x2c
push 0xfffffffffffffffe
push 0x10118928
push 0x100aaa10
mov eax, dword fs:[0]
push eax
sub esp, 0x1d0
push ebx
push esi
push edi
mov eax, dword [0x10132f1c]
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 edi, edi
xor eax, eax
mov dword [ebp + 0x24], eax
mov bl, bl
mov dword [ebp + 0x28], eax
mov dl, dl
call fcn.1006ff00
mov ebp, ebp
call fcn.100704a0
push ebx
pop ebx
test edi, edi
jne 0x10073c69
xchg ebx, eax
xchg ebx, eax
jmp 0x10074473
mov eax, dword [ebx]
lea ecx, [ebp + 0x24]
push ecx
push 0x100eedc0
push ebx
mov edx, dword [eax]
call edx
mov ch, ch
mov eax, dword [edi]
lea ecx, [ebp + 0x28]
push ecx
push 0x100eedc0
push edi
mov edx, dword [eax]
call edx
mov eax, eax
cmp dword [ebp + 0x28], 0
je 0x10074471
cmp dword [ebp + 0x24], 0
je 0x10074471
xchg ebx, eax
xchg ebx, eax
mov edi, 0x7c
push edi
push 0
lea eax, [ebp - 0x110]
push eax
call fcn.100aacb0
add esp, 0xc
push eax
pop eax
push edi
push 0
lea ecx, [ebp - 0x94]
push ecx
call fcn.100aacb0
add esp, 0xc
xchg ebx, eax
xchg ebx, eax
mov dword [ebp - 0x110], edi
push edx
pop edx
mov dword [ebp - 0x94], edi
mov edx, 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
mov eax, eax
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 esi, esi
test dword [ebp - 0xa8], 0x200
je 0x10074473
test esi, esi
jne 0x10073d24
mov ebx, dword [ebp - 0x104]
jmp 0x10073d29
mov ebx, dword [esi + 8]
sub ebx, dword [esi]
mov dword [ebp - 0x1c4], ebx
mov ch, ch
test esi, esi
jne 0x10073d3d
mov edi, dword [ebp - 0x108]
jmp 0x10073d43
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 4]
mov dword [ebp - 0x1bc], edi
mov cl, cl
mov edx, dword [ebp + 0x38]
test edx, edx
jne 0x10073d5a
mov ecx, dword [ebp - 0x88]
jmp 0x10073d5f
mov ecx, dword [edx + 8]
sub ecx, dword [edx]
mov dword [ebp - 0x1c0], ecx
mov cl, cl
test edx, edx
jne 0x10073d73
mov eax, dword [ebp - 0x8c]
jmp 0x10073d79
mov eax, dword [edx + 0xc]
sub eax, dword [edx + 4]
mov dword [ebp - 0x1c8], eax
xchg ebx, eax
xchg ebx, eax
cmp ebx, ecx
je 0x10073d8c
mov ecx, ecx
jmp 0x10074473
cmp edi, eax
je 0x10073d97
mov ebx, ebx
jmp 0x10074473
mov edi, edi
test byte [ebp - 0x48], 0x40
jne 0x10073da6
mov edi, edi
jmp 0x10074473
mov eax, dword [ebp - 0x40]
cmp eax, 0x20
je 0x10073dba
cmp eax, 0x10
je 0x10073dba
push ecx
pop ecx
jmp 0x10074473
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push ebx
pop ebx
mov bh, bh
mov dl, dl
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [0x10248564]
jg 0x10074473
test esi, esi
jne 0x10073dee
mov dword [ebp - 0x114], esi
jmp 0x10073df6
mov edx, dword [esi]
mov dword [ebp - 0x114], edx
mov bl, bl
test esi, esi
jne 0x10073e00
xor ebx, ebx
jmp 0x10073e03
mov ebx, dword [esi + 4]
mov ebp, ebp
mov eax, dword [ebp - 0x11c]
push eax
call fcn.1006fd80
add esp, 4
mov edi, eax
mov dword [ebp - 0x118], edi
mov cl, cl
test edi, edi
jne 0x10073e2d
push edx
pop edx
add dword [ebp - 0x11c], 1
jmp 0x10073dd0
push 0
push 0
push 0
push 6
push edi
call fcn.1005f470
mov esi, eax
mov dword [ebp - 0x1cc], esi
mov edi, edi
test esi, esi
jne 0x10073e61
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, esi
mov esi, dword [ebp + 0x34]
add dword [ebp - 0x11c], 1
jmp 0x10073dd0
mov al, al
xor eax, eax
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x20], eax
mov bl, bl
mov dword [ebp - 4], eax
mov edi, dword [esi + 0xc]
mov bh, bh
lea ecx, [ebp + 0x1c]
push ecx
push edi
call dword [sym.imp.USER32.dll_ClientToScreen]
push eax
pop eax
push eax
pop eax
lea edx, [ebp - 0x134]
push edx
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
mov esi, esi
push edi
call fcn.100262e0
add esp, 4
push edx
pop edx
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x10073ef7
mov eax, dword [ebp - 0x12c]
cmp eax, dword [esi + 0x14]
jne 0x10073ec0
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [esi + 0x18]
je 0x10073ef7
mov eax, dword [0x10248f1c]
xor edi, edi
cmp eax, edi
je 0x10073edf
mov esi, esi
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ah, ah
mov dword [0x10248f1c], edi
mov ecx, ecx
mov ecx, dword [ebp - 0x12c]
mov dword [esi + 0x14], ecx
mov eax, eax
mov edx, dword [ebp - 0x128]
mov dword [esi + 0x18], edx
mov ecx, ecx
jmp 0x10073ef9
xor edi, edi
mov dword [ebp - 4], 0xfffffffe
cmp dword [0x10248f1c], edi
jne 0x10074088
mov esi, esi
push 0x7c
push edi
lea eax, [ebp - 0x1b8]
push eax
call fcn.100aacb0
add esp, 0xc
mov ch, ch
mov dword [ebp - 0x1b8], 0x7c
mov dh, dh
mov dword [ebp - 0x1b4], 7
mov bl, bl
mov eax, dword [esi + 0x14]
cmp dword [ebp - 0x1c4], eax
ja 0x10073f4f
mov dword [ebp - 0x1ac], eax
mov bl, bl
jmp 0x10073f5a
lea ecx, [eax + eax]
mov dword [ebp - 0x1ac], ecx
push ecx
pop ecx
mov eax, dword [esi + 0x18]
cmp dword [ebp - 0x1bc], eax
ja 0x10073f6f
mov dword [ebp - 0x1b0], eax
mov ah, ah
jmp 0x10073f7a
lea edx, [eax + eax]
mov dword [ebp - 0x1b0], edx
mov esi, esi
mov ebp, ebp
mov dword [ebp - 0x150], 0x840
xchg ebx, eax
xchg ebx, eax
cmp dword [0x10248f20], edi
je 0x10073fa5
test dword [ebp - 0x2c], 0x4000
je 0x10073fa5
mov dword [ebp - 0x150], 0x4040
mov ch, ch
mov dword [ebp + 0x14], edi
mov edi, edi
mov dword [ebp + 0x18], edi
push ecx
pop ecx
mov dword [ebp + 0x10], edi
mov bl, bl
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 ebx, ebx
cmp eax, edi
jge 0x10073fea
mov bl, bl
push esi
call fcn.1005f4a0
mov edi, edi
mov ecx, dword [ebp - 0x118]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, esi
jmp 0x10074473
mov eax, dword [ebp + 0x14]
mov edx, dword [eax]
lea ecx, [ebp + 0x18]
push ecx
push 0x100eed70
push eax
mov edx, dword [edx]
call edx
mov bl, bl
cmp eax, edi
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
jge 0x1007402e
call edx
push ebx
pop ebx
push esi
call fcn.1005f4a0
mov ecx, ecx
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
pop edx
push edx
pop edx
jmp 0x10074473
call edx
push edx
pop edx
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 dh, dh
cmp eax, edi
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
jge 0x1007407a
call edx
mov ah, ah
push esi
call fcn.1005f4a0
mov edi, edi
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov cl, cl
push eax
pop eax
jmp 0x10074473
call edx
mov ch, ch
mov eax, dword [ebp + 0x10]
mov dword [0x10248f1c], eax
mov dl, dl
mov eax, dword [ebp - 0x114]
cmp eax, edi
jne 0x10074097
mov eax, dword [ebp + 0x1c]
push ebx
pop ebx
cmp ebx, edi
jne 0x100740a0
mov ebx, dword [ebp + 0x20]
mov dh, dh
mov dl, dl
sub eax, dword [ebp + 0x1c]
mov dword [ebp], eax
mov bh, bh
sub ebx, dword [ebp + 0x20]
mov dword [ebp + 4], ebx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [ebp]
mov edx, dword [ebp - 0x1c0]
add ecx, edx
mov dword [ebp + 8], ecx
mov ch, ch
mov eax, dword [ebp + 4]
mov ecx, dword [ebp - 0x1c8]
add eax, ecx
mov dword [ebp + 0xc], eax
mov edx, edx
mov eax, dword [0x10248f1c]
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 bl, bl
cmp eax, edi
jge 0x10074115
push esi
call fcn.1005f4a0
mov ebp, ebp
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov bl, bl
push eax
pop eax
jmp 0x10074473
mov eax, dword [0x10248d98]
mov dword [ebp - 0x114], eax
mov dh, dh
push eax
mov ecx, dword [ebp - 0x11c]
push ecx
call fcn.1006fbb0
add esp, 8
mov edi, eax
mov dword [ebp - 0x1dc], edi
mov edx, edx
test edi, edi
je 0x1007440f
mov ebx, dword [0x10248f1c]
mov dword [ebp - 0x1d8], ebx
push ebx
pop ebx
mov ch, ch
push 0x7c
push 0
lea edx, [ebp - 0x1b8]
push edx
call fcn.100aacb0
add esp, 0xc
xchg ebx, eax
xchg ebx, eax
mov dword [ebp - 0x1b8], 0x7c
mov dl, dl
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
mov ecx, ecx
test eax, eax
jne 0x10074404
mov eax, dword [ebp - 0x114]
push eax
push edi
call fcn.1006fd20
add esp, 8
test eax, eax
je 0x100743f3
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x124], ecx
mov ebx, ebx
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1e0], edx
xchg ebx, eax
xchg ebx, eax
lea eax, [esi + 0x24]
mov dword [ebp - 0x120], eax
mov ch, ch
mov eax, dword [esi + 0x14]
add eax, eax
add eax, eax
mov dword [ebp - 0x1d4], eax
mov edx, edx
nop
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov bh, bh
mov ecx, ecx
mov dl, dl
mov bh, bh
mov eax, dword [esi + 0x18]
nop
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0x13c], ecx
mov ah, ah
mov ebx, ebx
xor ecx, ecx
mov dword [esi + 0x20], ecx
push ebx
pop ebx
cmp dword [ebp - 0x164], 0x10
jne 0x1007421b
mov dword [esi + 0x20], 1
mov eax, eax
cmp dword [ebp - 0x114], ecx
jne 0x10074227
mov dword [esi + 0x20], ecx
nop
cmp eax, ecx
jbe 0x100743bc
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x164], 0x10
jne 0x10074370
cmp dword [ebp - 0x114], 0
jne 0x10074349
push ebx
pop ebx
xor edi, edi
cmp dword [ebp - 0x13c], edi
jbe 0x10074393
nop
mov edx, dword [ebp - 0x124]
movzx eax, word [edx + edi*2]
mov esi, esi
movzx eax, ax
mov ecx, eax
shr ecx, 8
and ecx, 0xf8
xchg ebx, eax
xchg ebx, eax
mov ebx, eax
shr ebx, 3
and ebx, 0xfc
mov esi, esi
and eax, 0x1f
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x138], eax
mov bl, bl
mov eax, 0x8421085
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
add ecx, eax
mov ecx, ecx
mov eax, 0x4104105
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
add ebx, eax
mov bh, bh
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 esi, esi
cmp ecx, 0xff
jbe 0x100742f7
mov ecx, 0xff
push ecx
pop ecx
cmp ebx, 0xff
jbe 0x10074306
mov ebx, 0xff
mov ebx, ebx
cmp eax, 0xff
jbe 0x1007431f
mov dword [ebp - 0x138], 0xff
mov eax, eax
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 dh, dh
add edi, 1
cmp edi, dword [ebp - 0x13c]
jb 0x10074260
jmp 0x10074393
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.100abe40
add esp, 0xc
push ebx
pop ebx
jmp 0x10074393
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.100abe40
add esp, 0xc
mov ch, ch
mov eax, dword [ebp - 0x1e0]
add dword [ebp - 0x124], eax
mov cl, cl
mov ecx, dword [ebp - 0x1d4]
add dword [ebp - 0x120], ecx
xchg ebx, eax
xchg ebx, eax
sub dword [ebp - 0x1d0], 1
jne 0x10074235
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push ebx
pop ebx
mov al, al
mov esi, dword [ebp - 0x1cc]
mov dword [esi + 0x1c], 1
mov ah, ah
mov edx, dword [ebp - 0x114]
push edx
mov edi, dword [ebp - 0x1dc]
push edi
call fcn.1006fd50
add esp, 8
mov esi, esi
mov ebx, dword [ebp - 0x1d8]
mov eax, dword [ebx]
push 0
push ebx
mov ecx, dword [eax + 0x80]
call ecx
xchg ebx, eax
xchg ebx, eax
jmp 0x10074406
push eax
pop eax
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebp, ebp
push esi
call fcn.1005f4a0
mov dl, dl
mov edx, dword [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dh, dh
mov esi, dword [ebp + 0x34]
add dword [ebp - 0x11c], 1
jmp 0x10073dd0
mov ah, ah
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x10074484
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov bl, bl
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x10074495
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
push ecx
pop ecx
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