Function at 0x413857
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 0x413879
mov eax, dword [ecx]
mov dword [ebp - 0x1c], eax
jmp 0x41387c
mov dword [ebp - 0x1c], esi
cmp ecx, esi
je 0x413885
mov eax, dword [ecx + 4]
jmp 0x413887
xor eax, eax
mov ebx, eax
movzx eax, ax
shr ebx, 0x10
cmp ecx, esi
mov dword [ebp - 8], eax
je 0x41389e
add ecx, 8
mov dword [ebp + 0x10], ecx
jmp 0x4138a4
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 0x4138c2
mov dword [ebp - 0x10], 0x989680
cmp dword [ebp - 0x10], 0x4e20
jl 0x4138d3
push 1
call fcn.00439473
pop ecx
cmp byte [ebp + 0xb], 0
jne 0x4138f1
cmp dword [ebp - 0x10], esi
jg 0x4138f1
cmp dword [ebp + 0xc], esi
jg 0x4138f1
push esi
call dword [sym.imp.KERNEL32.DLL_Sleep]
xor eax, eax
jmp 0x413b0d
and ebx, 1
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], esi
je 0x413997
push 0x18
lea ecx, [ebp - 0x14]
call fcn.0043d373
push dword [ebp - 0x14]
call fcn.00437932
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 0x43c791
push edi
or eax, 5
push 0
mov dword [esi + 0x10], eax
call ebx
test eax, eax
mov dword [ebp - 0xc], eax
jne 0x413975
push eax
call dword [sym.imp.KERNEL32.DLL_Sleep]
push 0x4bdbcc
push edi
push esi
push 0x43c791
push edi
push 0
call ebx
test eax, eax
mov dword [ebp - 0xc], eax
je 0x41398a
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.00437960
mov edi, dword [ebp - 0x20]
xor esi, esi
cmp dword [ebp - 0x18], esi
mov dword [ebp - 4], esi
je 0x4139a5
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
mov ebx, 0x3e8
cmp byte [ebp + 0xb], 0
jne 0x4139ca
cmp dword [ebp + 0xc], esi
jg 0x4139ca
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov ecx, edi
sub ecx, eax
cmp ecx, esi
mov dword [ebp - 0x10], ecx
jle 0x413ae4
cmp byte [0x4bc2c0], 0
jle 0x413ae4
mov ecx, dword [ebp - 0x10]
cmp ecx, esi
jle 0x413aaf
cmp dword [ebp - 0x18], esi
je 0x413a02
push 0x64
pop eax
cmp ecx, eax
jg 0x4139f0
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 0x413a26
cmp ecx, ebx
jle 0x413a0a
mov eax, ebx
jmp 0x413a13
push 0x64
pop eax
cmp ecx, eax
jg 0x413a13
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 0x413a3f
cmp dword [ebp - 8], esi
jne 0x413ad2
push 1
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jae 0x413aaf
cmp dword [ebp - 0xc], esi
je 0x413b0a
lea eax, [ebp - 4]
push eax
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.DLL_GetExitCodeThread]
jmp 0x413afc
cmp byte [ebp + 0xb], 0
jne 0x413a7e
cmp dword [ebp + 0xc], esi
jg 0x413a7e
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov ecx, edi
sub ecx, eax
cmp ecx, esi
mov dword [ebp - 0x10], ecx
jle 0x413abd
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 0x413aba
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 0x413aaf
dec dword [ebp + 0xc]
cmp byte [0x4bc2c0], 0
jg 0x413a62
jmp 0x413abd
mov dword [ebp + 0xc], esi
cmp dword [ebp - 4], 0x102
jne 0x4139aa
mov dword [ebp + 0xc], esi
jmp 0x4139aa
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, esi
jne 0x413adf
xor eax, eax
inc eax
mov dword [ebp - 4], eax
jmp 0x413afc
mov eax, dword [ebp - 8]
cmp eax, esi
jne 0x413af0
mov dword [ebp - 4], esi
jmp 0x413afc
cmp dword [ebp - 4], eax
jne 0x413afc
mov dword [ebp - 4], 0x102
cmp dword [ebp - 0xc], esi
je 0x413b0a
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