Function at 0x425b70
Capabilities:
Check for time delay via gettickcount
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [ebp + 8]
push ebx
push esi
xor bl, bl
push edi
mov byte [ebp - 1], bl
jmp 0x425b8b
inc byte [ebp - 1]
inc eax
inc eax
mov dword [ebp + 8], eax
cmp word [eax], 0x2a
je 0x425b83
lea eax, [ebp + 8]
push eax
call fcn.0040459d
mov al, byte [ebp - 1]
mov edi, dword [ebp + 8]
mov byte [0x4ace49], al
lea eax, [ebp - 2]
push eax
lea eax, [ebp - 3]
push eax
lea eax, [ebp - 5]
push eax
lea eax, [ebp - 6]
push eax
lea eax, [ebp - 4]
mov byte [ebp - 4], bl
mov byte [ebp - 2], bl
push eax
lea ebx, [ebp + 8]
mov dword [ebp - 0x18], edi
mov byte [ebp - 3], 0x2a
call fcn.00418ac9
mov eax, dword [ebp + 8]
xor ebx, ebx
add esp, 0x18
cmp word [eax], bx
je 0x425d20
mov esi, 0x4ad684
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
cmp byte [ebp - 1], bl
je 0x425c04
cmp dword [0x4acdfc], ebx
je 0x425c04
push esi
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
jmp 0x425d6b
mov eax, dword [ebp + 8]
movsx ecx, byte [ebp - 3]
mov byte [0x4ab281], 0xff
movzx edx, word [eax]
cmp ecx, edx
mov byte [0x4ace3d], 1
jne 0x425c2e
movzx eax, word [eax + 2]
cmp ecx, eax
jne 0x425c2e
mov byte [0x4ab281], bl
push 0x4acb70
push 0x10000
push edi
push 0x42399c
push 0x100000
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateThread]
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push esi
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov esi, dword [sym.imp.KERNEL32.DLL_GetTickCount]
call esi
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
cmp word [eax], bx
jne 0x425c77
cmp byte [0x4ace3d], bl
je 0x425d6b
call esi
sub eax, dword [ebp - 0x14]
cmp eax, 0x7d0
jae 0x425d6b
mov dword [ebp - 0xc], ebx
call esi
mov edi, eax
add edi, 0x14
call esi
mov ecx, edi
sub ecx, eax
cmp ecx, ebx
jle 0x425c63
cmp byte [0x4ab290], bl
jle 0x425c63
cmp ecx, ebx
jbe 0x425d10
cmp ecx, 0x7d0
jbe 0x425cb6
mov ecx, 0x3e8
jmp 0x425cbe
cmp ecx, 0x64
jbe 0x425cbe
push 0x64
pop ecx
push 0x4bf
push ecx
push ebx
lea eax, [ebp - 0x20]
push eax
push ebx
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
jmp 0x425d10
cmp dword [ebp - 0xc], ebx
jg 0x425ce1
call esi
mov ecx, edi
sub ecx, eax
test ecx, ecx
jle 0x425d18
push 3
push ebx
push ebx
push ebx
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x425d18
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp dword [ebp - 0xc], ebx
jle 0x425d10
dec dword [ebp - 0xc]
cmp byte [0x4ab290], bl
jg 0x425cd2
mov dword [ebp - 0xc], ebx
jmp 0x425c91
lea eax, [ebp - 0x14]
mov dword [ebp - 0x10], eax
movsx eax, byte [ebp - 2]
push eax
movsx eax, byte [ebp - 4]
push eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0xbb8
call fcn.0040ee2f
mov esi, dword [sym.imp.KERNEL32.DLL_GetTickCount]
add esp, 0xc
call esi
cmp byte [ebp - 2], bl
mov dword [ebp - 0x1c], eax
je 0x425d64
mov dword [ebp - 0x10], 0x4acdfc
mov dword [ebp - 0x18], 0xfa0
mov eax, dword [ebp - 0x10]
cmp dword [eax], ebx
jne 0x425d72
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret
call esi
sub eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x18]
jae 0x425d6b
mov dword [ebp - 0xc], ebx
call esi
mov edi, eax
add edi, 0xa
call esi
mov ecx, edi
sub ecx, eax
cmp ecx, ebx
jle 0x425d64
cmp byte [0x4ab290], bl
jle 0x425d64
cmp ecx, ebx
jbe 0x425e05
cmp ecx, 0x7d0
jbe 0x425dab
mov ecx, 0x3e8
jmp 0x425db3
cmp ecx, 0x64
jbe 0x425db3
push 0x64
pop ecx
push 0x4bf
push ecx
push ebx
lea eax, [ebp - 0x28]
push eax
push ebx
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
jmp 0x425e05
cmp dword [ebp - 0xc], ebx
jg 0x425dd6
call esi
mov ecx, edi
sub ecx, eax
test ecx, ecx
jle 0x425e0d
push 3
push ebx
push ebx
push ebx
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x425e0d
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp dword [ebp - 0xc], ebx
jle 0x425e05
dec dword [ebp - 0xc]
cmp byte [0x4ab290], bl
jg 0x425dc7
mov dword [ebp - 0xc], ebx
jmp 0x425d86