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

Disassembly:
push ebp
mov ebp, esp
lea esp, [esp - 0x18]
push esi
push edi
mov dword [ebp - 0xc], eax
mov byte [ebp - 4], dl
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
mov edi, dword [ebp + 0x10]
inc edi
mov ecx, edi
cmp edi, 0x1000
jb 0x431942
sub esp, 0xffc
push edi
sub edi, 0x1000
jmp 0x43192b
sub esp, edi
and esp, 0xfffffff4
mov edi, esp
mov esi, eax
rep movsb byte es:[edi], byte [esi]
mov eax, esp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
call fcn.00408b90
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
xor eax, eax
push fcn.004318f0
push ebp
push 0x414a60
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x10], 0
cmp byte [ebp - 4], 0
jne 0x43198d
jmp 0x431ac2
mov eax, dword [ebp - 8]
cmp byte [eax], 0
jne 0x431997
jmp 0x4319a4
mov eax, dword [ebp - 0x10]
lea eax, [eax + 0x2000]
mov dword [ebp - 0x10], eax
nop
mov eax, dword [ebp - 8]
cmp byte [eax + 1], 0
jne 0x4319af
jmp 0x4319bc
mov eax, dword [ebp - 0x10]
lea eax, [eax + 0x1000]
mov dword [ebp - 0x10], eax
nop
mov eax, dword [ebp - 8]
cmp byte [eax + 2], 0
jne 0x4319c7
jmp 0x4319d4
mov eax, dword [ebp - 0x10]
lea eax, [eax + 0x800]
mov dword [ebp - 0x10], eax
nop
mov eax, dword [ebp - 8]
cmp byte [eax + 3], 0
jne 0x4319df
jmp 0x4319ec
mov eax, dword [ebp - 0x10]
lea eax, [eax + 0x400]
mov dword [ebp - 0x10], eax
nop
mov eax, dword [ebp - 8]
cmp byte [eax + 4], 0
jne 0x4319f7
jmp 0x431a04
mov eax, dword [ebp - 0x10]
lea eax, [eax + 0x200]
mov dword [ebp - 0x10], eax
nop
mov eax, dword [ebp - 8]
cmp byte [eax + 5], 0
jne 0x431a0f
jmp 0x431a1c
mov eax, dword [ebp - 0x10]
lea eax, [eax + 0x100]
mov dword [ebp - 0x10], eax
nop
mov eax, dword [ebp - 8]
cmp byte [eax + 6], 0
jne 0x431a27
jmp 0x431a34
mov eax, dword [ebp - 0x10]
lea eax, [eax + 0x80]
mov dword [ebp - 0x10], eax
nop
mov eax, dword [ebp - 8]
cmp byte [eax + 7], 0
jne 0x431a3f
jmp 0x431a48
mov eax, dword [ebp - 0x10]
lea eax, [eax + 0x40]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 8], 0
jne 0x431a53
jmp 0x431a5c
mov eax, dword [ebp - 0x10]
lea eax, [eax + 0x20]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 9], 0
jne 0x431a67
jmp 0x431a70
mov eax, dword [ebp - 0x10]
lea eax, [eax + 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0xa], 0
jne 0x431a7b
jmp 0x431a84
mov eax, dword [ebp - 0x10]
lea eax, [eax + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0xb], 0
jne 0x431a8f
jmp 0x431a98
mov eax, dword [ebp - 0x10]
lea eax, [eax + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0xc], 0
jne 0x431aa3
jmp 0x431aac
mov eax, dword [ebp - 0x10]
lea eax, [eax + 2]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0xd], 0
jne 0x431ab7
jmp 0x431ac0
mov eax, dword [ebp - 0x10]
lea eax, [eax + 1]
mov dword [ebp - 0x10], eax
jmp 0x431aca
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [0x721850]
call fcn.0040cf30
mov ecx, eax
mov edx, dword [0x721850]
mov eax, 0x747e58
call fcn.004268c0
push 0
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
call fcn.00430f90
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
call fcn.00408cc0
xor eax, eax
pop edx
add esp, 0xc
mov dword fs:[eax], edx
mov eax, ebp
call fcn.004318f0
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
mov esp, ebp
pop ebp
ret 0xc