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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
push ebx
push esi
xor esi, esi
cmp ecx, esi
push edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], esi
je 0x4137fd
mov eax, dword [ecx]
mov dword [ebp - 0x1c], eax
jmp 0x413800
mov dword [ebp - 0x1c], esi
cmp ecx, esi
je 0x413809
mov eax, dword [ecx + 4]
jmp 0x41380b
xor eax, eax
mov ebx, eax
movzx eax, ax
shr ebx, 0x10
cmp ecx, esi
mov dword [ebp - 8], eax
je 0x413822
add ecx, 8
mov dword [ebp + 0x10], ecx
jmp 0x413828
lea eax, [ebp - 0x28]
mov dword [ebp + 0x10], eax
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov edi, eax
add edi, dword [ebp + 8]
mov al, bl
and al, 2
mov dword [ebp - 0x20], edi
mov byte [ebp + 0xb], al
je 0x413846
mov dword [ebp - 0x10], 0x989680
cmp dword [ebp - 0x10], 0x4e20
jl 0x413857
push 1
call fcn.00439385
pop ecx
cmp byte [ebp + 0xb], 0
jne 0x413875
cmp dword [ebp - 0x10], esi
jg 0x413875
cmp dword [ebp + 0xc], esi
jg 0x413875
push esi
call dword [sym.imp.KERNEL32.DLL_Sleep]
xor eax, eax
jmp 0x413a91
and ebx, 1
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], esi
je 0x41391b
push 0x18
lea ecx, [ebp - 0x14]
call fcn.0043d29b
push dword [ebp - 0x14]
call fcn.00437856
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp + 0x10]
mov ebx, dword [sym.imp.KERNEL32.DLL_CreateThread]
and dword [esi], 0
mov dword [esp], 0x4bdbcc
mov dword [esi + 4], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0xc], edi
mov edi, 0x10000
push edi
push esi
mov dword [esi + 8], eax
movsx eax, byte [ebp + 0xb]
push 0x43c699
push edi
or eax, 5
push 0
mov dword [esi + 0x10], eax
call ebx
test eax, eax
mov dword [ebp - 0xc], eax
jne 0x4138f9
push eax
call dword [sym.imp.KERNEL32.DLL_Sleep]
push 0x4bdbcc
push edi
push esi
push 0x43c699
push edi
push 0
call ebx
test eax, eax
mov dword [ebp - 0xc], eax
je 0x41390e
and dword [ebp - 0x14], 0
and dword [ebp - 0x18], 0
lea eax, [ebp - 0xc]
mov dword [ebp + 0x10], eax
mov dword [ebp - 8], 1
lea ecx, [ebp - 0x14]
call fcn.00437884
mov edi, dword [ebp - 0x20]
xor esi, esi
cmp dword [ebp - 0x18], esi
mov dword [ebp - 4], esi
je 0x413929
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
mov ebx, 0x3e8
cmp byte [ebp + 0xb], 0
jne 0x41394e
cmp dword [ebp + 0xc], esi
jg 0x41394e
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov ecx, edi
sub ecx, eax
cmp ecx, esi
mov dword [ebp - 0x10], ecx
jle 0x413a68
cmp byte [0x4bc2c0], 0
jle 0x413a68
mov ecx, dword [ebp - 0x10]
cmp ecx, esi
jle 0x413a33
cmp dword [ebp - 0x18], esi
je 0x413986
push 0x64
pop eax
cmp ecx, eax
jg 0x413974
mov eax, ecx
push eax
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.DLL_WaitForMultipleObjects]
jmp 0x4139aa
cmp ecx, ebx
jle 0x41398e
mov eax, ebx
jmp 0x413997
push 0x64
pop eax
cmp ecx, eax
jg 0x413997
mov eax, ecx
push 0x4ff
push eax
push esi
push dword [ebp + 0x10]
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
cmp eax, 0xffffffff
mov dword [ebp - 4], eax
jne 0x4139c3
cmp dword [ebp - 8], esi
jne 0x413a56
push 1
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jae 0x413a33
cmp dword [ebp - 0xc], esi
je 0x413a8e
lea eax, [ebp - 4]
push eax
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.DLL_GetExitCodeThread]
jmp 0x413a80
cmp byte [ebp + 0xb], 0
jne 0x413a02
cmp dword [ebp + 0xc], esi
jg 0x413a02
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov ecx, edi
sub ecx, eax
cmp ecx, esi
mov dword [ebp - 0x10], ecx
jle 0x413a41
push 3
push esi
push esi
push dword [ebp - 0x1c]
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x413a3e
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], esi
jle 0x413a33
dec dword [ebp + 0xc]
cmp byte [0x4bc2c0], 0
jg 0x4139e6
jmp 0x413a41
mov dword [ebp + 0xc], esi
cmp dword [ebp - 4], 0x102
jne 0x41392e
mov dword [ebp + 0xc], esi
jmp 0x41392e
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, esi
jne 0x413a63
xor eax, eax
inc eax
mov dword [ebp - 4], eax
jmp 0x413a80
mov eax, dword [ebp - 8]
cmp eax, esi
jne 0x413a74
mov dword [ebp - 4], esi
jmp 0x413a80
cmp dword [ebp - 4], eax
jne 0x413a80
mov dword [ebp - 4], 0x102
cmp dword [ebp - 0xc], esi
je 0x413a8e
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 0xc