Function at 0x1000ad60
Capabilities:
Check for time delay via gettickcount
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10021ec8
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x1002d018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, fcn.100026d0
push 0x2d
mov dword [0x10030674], edi
call fcn.100026d0
cwde
shr eax, 0x10
test eax, eax
je 0x1000add3
cmp byte [0x10031680], 0
je 0x1000adc5
cmp dword [0x10031684], 0
je 0x1000adda
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x10031684], eax
ja 0x1000adda
mov byte [0x10031680], 1
mov eax, 1
jmp 0x1000addc
mov byte [0x10031680], 0
xor eax, eax
test al, 1
je 0x1000adf1
xor ecx, ecx
cmp dword [0x1002d238], ecx
sete cl
mov dword [0x1002d238], ecx
cmp dword [0x1002d238], 0
je 0x1000b1c6
cmp dword [0x10032ec4], 0
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
je 0x1000aee8
push 0x11
mov dword [0x10030674], edi
call fcn.100026d0
movsx edx, ax
shr edx, 0x10
test edx, edx
je 0x1000b072
cmp byte [0x100315a0], 0
je 0x1000ae54
cmp dword [0x100315a4], 0
je 0x1000aee8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x100315a4], eax
ja 0x1000aee8
mov ecx, dword [0x10032c4c]
lea eax, [ebp - 0x24]
mov byte [0x100315a0], 1
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x40]
push str.AddressFF
call eax
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
push 1
push 0x10027564
push 0x100266e4
call esi
push eax
call ebx
push eax
call fcn.10019d10
add esp, 0x10
lea ecx, [ebp - 0x24]
push ecx
push str.GetForegroundWindow
push 0x100266e4
call esi
push eax
call ebx
mov ecx, dword [0x10032c4c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x40]
push str.AddressFF
call eax
push eax
push 2
push str.ScreenToClient
push 0x100266e4
call esi
push eax
call ebx
push eax
call fcn.10019d10
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
add esp, 0x14
add edx, 2
mov dword [0x1002d248], ecx
mov dword [0x1002d244], edx
cmp dword [0x10032df0], 0
je 0x1000b02f
mov edi, str.F_LxFUFWA
sub edi, 0x1e7b41dd
lea esi, [ebp - 0x1c]
call fcn.1001a230
mov dword [ebp - 4], 0
mov ecx, dword [0x10032c4c]
push eax
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
push 0
push str.AddressFF
call edx
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
push 2
push str.FindWindowA
push 0x100266e4
call esi
push eax
call ebx
push eax
call fcn.10019d10
mov edi, eax
mov ecx, 0x1002752c
add esp, 0x14
sub ecx, 0x6fad512a
lea eax, [ebp - 0x1c]
call fcn.1001a5b0
mov dword [ebp - 4], 1
mov ecx, dword [0x10032c4c]
push eax
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
push 0
push str.AddressFF
call edx
push eax
push 2
push str.FindWindowA
push 0x100266e4
call esi
push eax
call ebx
push eax
call fcn.10019d10
mov dword [ebp - 0x20], eax
mov ecx, str._b_2_b__
add esp, 0x14
sub ecx, 0x16440e0f
lea eax, [ebp - 0x18]
call fcn.1001a640
mov dword [ebp - 4], 2
mov ecx, dword [0x10032c4c]
push eax
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
push 0
push str.AddressFF
call edx
push eax
push 2
push str.FindWindowA
push 0x100266e4
call esi
push eax
call ebx
push eax
call fcn.10019d10
xor ecx, ecx
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
cmp edi, ecx
jne 0x1000affa
cmp dword [ebp - 0x20], ecx
jne 0x1000affa
cmp eax, ecx
je 0x1000b02a
mov dword [0x1002d238], ecx
mov dword [0x10032ef0], ecx
mov dword [0x10032eec], ecx
mov dword [0x10032ed8], ecx
mov dword [0x10032efc], ecx
mov dword [0x10032f08], ecx
mov dword [0x10032f04], ecx
mov dword [0x10032da8], ecx
mov edi, fcn.100026d0
push 0x26
mov dword [0x10030674], edi
call fcn.100026d0
cwde
shr eax, 0x10
test eax, eax
je 0x1000b07e
cmp byte [0x10031648], 0
je 0x1000b064
cmp dword [0x1003164c], 0
je 0x1000b085
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x1003164c], eax
ja 0x1000b085
mov byte [0x10031648], 1
mov eax, 1
jmp 0x1000b087
mov byte [0x100315a0], 0
jmp 0x1000aee8
mov byte [0x10031648], 0
xor eax, eax
test al, 1
je 0x1000b0b3
mov ecx, dword [0x10032f18]
mov eax, dword [0x10032f14]
dec eax
jns 0x1000b09c
lea eax, [ecx - 1]
lea edx, [eax + eax*4]
cmp dword [edx*4 + 0x1002fe98], 2
je 0x1000b096
mov dword [0x10032f14], eax
jmp 0x1000b1c6
push 0x28
mov dword [0x10030674], edi
call fcn.100026d0
cwde
shr eax, 0x10
test eax, eax
je 0x1000b0f6
cmp byte [0x10031658], 0
je 0x1000b0e8
cmp dword [0x1003165c], 0
je 0x1000b0fd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x1003165c], eax
ja 0x1000b0fd
mov byte [0x10031658], 1
mov eax, 1
jmp 0x1000b0ff
mov byte [0x10031658], 0
xor eax, eax
test al, 1
mov eax, dword [0x10032f14]
je 0x1000b12e
mov ecx, dword [0x10032f18]
mov edi, edi
inc eax
cmp eax, ecx
jne 0x1000b117
xor eax, eax
lea edx, [eax + eax*4]
cmp dword [edx*4 + 0x1002fe98], 2
je 0x1000b110
mov dword [0x10032f14], eax
jmp 0x1000b1c6
lea eax, [eax + eax*4]
cmp dword [eax*4 + 0x1002fe90], 0
je 0x1000b1c6
xor ebx, ebx
xor edi, edi
lea esi, [ebx + 0x25]
call fcn.100026e0
test al, 1
je 0x1000b165
mov eax, dword [0x10032f14]
lea ecx, [eax + eax*4]
mov edx, dword [ecx*4 + 0x1002fe90]
cmp dword [edx], ebx
jle 0x1000b165
or ebx, 0xffffffff
xor edi, edi
lea esi, [edi + 0x27]
call fcn.100026e0
test al, 1
mov eax, dword [0x10032f14]
je 0x1000b196
lea ecx, [eax + eax*4]
add ecx, ecx
mov edx, dword [ecx + ecx + 0x1002fe94]
add ecx, ecx
mov ecx, dword [ecx + 0x1002fe90]
dec edx
cmp dword [ecx], edx
jge 0x1000b196
lea ebx, [edi + 1]
jmp 0x1000b19a
test ebx, ebx
je 0x1000b1c6
lea eax, [eax + eax*4]
add eax, eax
mov ecx, dword [eax + eax + 0x1002fe90]
add dword [ecx], ebx
add eax, eax
mov eax, dword [eax + 0x1002fe98]
cmp eax, 1
jne 0x1000b1bb
mov dword [0x10032f18], edi
cmp eax, 4
jne 0x1000b1c6
mov dword [0x10032f18], edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001fd05
mov esp, ebp
pop ebp
ret