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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffea8
inc dword [0x46fa90]
lea ecx, [ebp - 8]
push ebx
push esi
push edi
add esp, 0xfffffff8
mov eax, dword [ebp + 0xc]
lea edi, [ebp - 0x28]
lea esi, [ebp - 0x10]
mov dword [esp], eax
mov edx, dword [ebp + 0x10]
mov dword [esp + 4], edx
push 0x46fa24
push ecx
call fcn.004266ec
lea eax, [ebp + 0xc]
push eax
call fcn.0041844c
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00416620
mov ebx, eax
push esi
call fcn.004262c0
add esp, 0xfffffff8
push 0xf4240
lea eax, [esp + 4]
push eax
call fcn.004262cc
add esp, 0xfffffff8
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 4], ecx
call fcn.004267cc
test al, al
je 0x415ebb
add esp, 0xfffffff8
add esp, 0xfffffff8
push ebx
lea eax, [esp + 4]
push eax
call fcn.004262cc
add esp, 0xfffffff8
add esp, 0xfffffff8
push 0x64
lea edx, [esp + 4]
push edx
call fcn.004262cc
add esp, 0xfffffff8
mov ecx, dword [ebp + 0xc]
mov dword [esp], ecx
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
lea edx, [esp + 0x10]
push edx
call fcn.004263b8
lea ecx, [esp + 0x10]
push ecx
call fcn.00426500
push esi
lea eax, [ebp - 0x18]
push eax
call fcn.004262f8
jmp 0x415f0c
add esp, 0xfffffff8
add esp, 0xfffffff8
push 0x64
lea edx, [esp + 4]
push edx
call fcn.004262cc
add esp, 0xfffffff8
add esp, 0xfffffff8
push ebx
lea ecx, [esp + 4]
push ecx
call fcn.004262cc
add esp, 0xfffffff8
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov edx, dword [ebp + 0x10]
mov dword [esp + 4], edx
lea ecx, [esp + 0x10]
push ecx
call fcn.00426500
lea eax, [esp + 0x10]
push eax
call fcn.004263b8
push esi
lea edx, [ebp - 0x20]
push edx
call fcn.004262f8
add esp, 0xfffffff8
push 0xa
lea ecx, [esp + 4]
push ecx
call fcn.004262cc
add esp, 0xfffffff8
add esp, 0xfffffff8
mov eax, dword [0x46fa8c]
push eax
lea edx, [esp + 4]
push edx
call fcn.004262cc
add esp, 0xfffffff8
mov ecx, dword [ebp + 0xc]
mov dword [esp], ecx
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
lea edx, [esp + 0x10]
push edx
call fcn.004263b8
push edi
call fcn.00426694
cmp ebx, 0x1e
jge 0x416157
add esp, 0xfffffff8
push 0x70
add esp, 0xfffffff8
mov ecx, dword [esi]
mov dword [esp], ecx
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
lea edx, [esp + 0xc]
push edx
call fcn.00416d6c
push 0x46fa2c
lea ecx, [ebp - 0x30]
push ecx
call fcn.004266ec
add esp, 0xfffffff8
push 0x23
add esp, 0xfffffff8
mov eax, dword [edi]
mov dword [esp], eax
mov edx, dword [edi + 4]
mov dword [esp + 4], edx
lea ecx, [esp + 0xc]
push ecx
call fcn.00416d6c
push 0x46fa5c
lea eax, [ebp - 0x38]
push eax
call fcn.004266ec
add esp, 0xfffffff8
push 0x6a
add esp, 0xfffffff8
mov edx, dword [esi]
mov dword [esp], edx
mov ecx, dword [esi + 4]
mov dword [esp + 4], ecx
lea eax, [esp + 0xc]
push eax
call fcn.00416d6c
push 0x46fa34
lea edx, [ebp - 0x40]
push edx
call fcn.004266ec
add esp, 0xfffffff8
push 0x32
add esp, 0xfffffff8
mov ecx, dword [edi]
mov dword [esp], ecx
mov eax, dword [edi + 4]
mov dword [esp + 4], eax
lea edx, [esp + 0xc]
push edx
call fcn.00416d6c
push 0x46fa64
lea ecx, [ebp - 0x48]
push ecx
call fcn.004266ec
add esp, 0xfffffff8
push 0x69
add esp, 0xfffffff8
mov eax, dword [esi]
mov dword [esp], eax
mov edx, dword [esi + 4]
mov dword [esp + 4], edx
lea ecx, [esp + 0xc]
push ecx
call fcn.00416d6c
push 0x46fa3c
lea eax, [ebp - 0x50]
push eax
call fcn.004266ec
add esp, 0xfffffff8
push 0x69
add esp, 0xfffffff8
mov edx, dword [edi]
mov dword [esp], edx
mov ecx, dword [edi + 4]
mov dword [esp + 4], ecx
lea eax, [esp + 0xc]
push eax
call fcn.00416d6c
push 0x46fa6c
lea edx, [ebp - 0x58]
push edx
call fcn.004266ec
add esp, 0xfffffff8
push 0x68
add esp, 0xfffffff8
mov ecx, dword [esi]
mov dword [esp], ecx
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
lea edx, [esp + 0xc]
push edx
call fcn.00416d6c
push 0x46fa44
lea ecx, [ebp - 0x60]
push ecx
call fcn.004266ec
add esp, 0xfffffff8
push 0x46
add esp, 0xfffffff8
mov eax, dword [edi]
mov dword [esp], eax
mov edx, dword [edi + 4]
mov dword [esp + 4], edx
lea ecx, [esp + 0xc]
push ecx
call fcn.00416d6c
push 0x46fa74
lea eax, [ebp - 0x68]
push eax
call fcn.004266ec
add esp, 0xfffffff8
mov edx, dword [esi]
lea eax, [ebp - 0x70]
mov dword [esp], edx
mov ecx, dword [esi + 4]
mov dword [esp + 4], ecx
push 0x46fa4c
push eax
call fcn.004266ec
add esp, 0xfffffff8
mov edx, dword [edi]
lea eax, [ebp - 0x78]
mov dword [esp], edx
mov ecx, dword [edi + 4]
mov dword [esp + 4], ecx
push 0x46fa7c
push eax
call fcn.004266ec
add esp, 0xfffffff8
push 0x60
add esp, 0xfffffff8
mov edx, dword [esi]
mov dword [esp], edx
mov ecx, dword [esi + 4]
mov dword [esp + 4], ecx
lea eax, [esp + 0xc]
push eax
call fcn.00416d6c
push 0x46fa54
lea edx, [ebp - 0x80]
push edx
call fcn.004266ec
add esp, 0xfffffff8
push 0xfa
add esp, 0xfffffff8
mov ecx, dword [edi]
mov dword [esp], ecx
mov eax, dword [edi + 4]
mov dword [esp + 4], eax
lea edx, [esp + 0xc]
push edx
call fcn.00416d6c
push 0x46fa84
lea ecx, [ebp - 0x88]
push ecx
call fcn.004266ec
jmp 0x4165f8
cmp ebx, 0x4b
jge 0x41637e
add esp, 0xfffffff8
push 0x6e
add esp, 0xfffffff8
mov eax, dword [esi]
mov dword [esp], eax
mov edx, dword [esi + 4]
mov dword [esp + 4], edx
lea ecx, [esp + 0xc]
push ecx
call fcn.00416d6c
push 0x46fa2c
lea eax, [ebp - 0x90]
push eax
call fcn.004266ec
add esp, 0xfffffff8
push 0x28
add esp, 0xfffffff8
mov edx, dword [edi]
mov dword [esp], edx
mov ecx, dword [edi + 4]
mov dword [esp + 4], ecx
lea eax, [esp + 0xc]
push eax
call fcn.00416d6c
push 0x46fa5c
lea edx, [ebp - 0x98]
push edx
call fcn.004266ec
add esp, 0xfffffff8
push 0x69
add esp, 0xfffffff8
mov ecx, dword [esi]
mov dword [esp], ecx
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
lea edx, [esp + 0xc]
push edx
call fcn.00416d6c
push 0x46fa34
lea ecx, [ebp - 0xa0]
push ecx
call fcn.004266ec
add esp, 0xfffffff8
push 0x37
add esp, 0xfffffff8
mov eax, dword [edi]
mov dword [esp], eax
mov edx, dword [edi + 4]
mov dword [esp + 4], edx
lea ecx, [esp + 0xc]
push ecx
call fcn.00416d6c
push 0x46fa64
lea eax, [ebp - 0xa8]
push eax
call fcn.004266ec
add esp, 0xfffffff8
push 0x68
add esp, 0xfffffff8
mov edx, dword [esi]
mov dword [esp], edx
mov ecx, dword [esi + 4]
mov dword [esp + 4], ecx
lea eax, [esp + 0xc]
push eax
call fcn.00416d6c
push 0x46fa3c
lea edx, [ebp - 0xb0]
push edx
call fcn.004266ec
add esp, 0xfffffff8
push 0x6e
add esp, 0xfffffff8
mov ecx, dword [edi]
mov dword [esp], ecx
mov eax, dword [edi + 4]
mov dword [esp + 4], eax
lea edx, [esp + 0xc]
push edx
call fcn.00416d6c
push 0x46fa6c
lea ecx, [ebp - 0xb8]
push ecx
call fcn.004266ec
add esp, 0xfffffff8
push 0x66
add esp, 0xfffffff8
mov eax, dword [esi]
mov dword [esp], eax
mov edx, dword [esi + 4]
mov dword [esp + 4], edx
lea ecx, [esp + 0xc]
push ecx
call fcn.00416d6c
push 0x46fa44
lea eax, [ebp - 0xc0]
push eax
call fcn.004266ec
add esp, 0xfffffff8
push 0x50
add esp, 0xfffffff8
mov edx, dword [edi]
mov dword [esp], edx
mov ecx, dword [edi + 4]
mov dword [esp + 4], ecx
lea eax, [esp + 0xc]
push eax
call fcn.00416d6c
push 0x46fa74
lea edx, [ebp - 0xc8]
push edx
call fcn.004266ec
add esp, 0xfffffff8
mov ecx, dword [esi]
lea edx, [ebp - 0xd0]
mov dword [esp], ecx
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
push 0x46fa4c
push edx
call fcn.004266ec
add esp, 0xfffffff8
mov ecx, dword [edi]
lea edx, [ebp - 0xd8]
mov dword [esp], ecx
mov eax, dword [edi + 4]
mov dword [esp + 4], eax
push 0x46fa7c
push edx
call fcn.004266ec
add esp, 0xfffffff8
push 0x62
add esp, 0xfffffff8
mov ecx, dword [esi]
mov dword [esp], ecx
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
lea edx, [esp + 0xc]
push edx
call fcn.00416d6c
push 0x46fa54
lea ecx, [ebp - 0xe0]
push ecx
call fcn.004266ec
add esp, 0xfffffff8
push 0xd2
add esp, 0xfffffff8
mov eax, dword [edi]
mov dword [esp], eax
mov edx, dword [edi + 4]
mov dword [esp + 4], edx
lea ecx, [esp + 0xc]
push ecx
call fcn.00416d6c
push 0x46fa84
lea eax, [ebp - 0xe8]
push eax
call fcn.004266ec
jmp 0x4165f8
cmp ebx, 0x5a
jge 0x4165a2
add esp, 0xfffffff8
push 0x6a
add esp, 0xfffffff8
mov edx, dword [esi]
mov dword [esp], edx
mov ecx, dword [esi + 4]
mov dword [esp + 4], ecx
lea eax, [esp + 0xc]
push eax
call fcn.00416d6c
push 0x46fa2c
lea edx, [ebp - 0xf0]
push edx
call fcn.004266ec
add esp, 0xfffffff8
push 0x32
add esp, 0xfffffff8
mov ecx, dword [edi]
mov dword [esp], ecx
mov eax, dword [edi + 4]
mov dword [esp + 4], eax
lea edx, [esp + 0xc]
push edx
call fcn.00416d6c
push 0x46fa5c
lea ecx, [ebp - 0xf8]
push ecx
call fcn.004266ec
add esp, 0xfffffff8
push 0x67
add esp, 0xfffffff8
mov eax, dword [esi]
mov dword [esp], eax
mov edx, dword [esi + 4]
mov dword [esp + 4], edx
lea ecx, [esp + 0xc]
push ecx
call fcn.00416d6c
push 0x46fa34
lea eax, [ebp - 0x100]
push eax
call fcn.004266ec
add esp, 0xfffffff8
push 0x4b
add esp, 0xfffffff8
mov edx, dword [edi]
mov dword [esp], edx
mov ecx, dword [edi + 4]
mov dword [esp + 4], ecx
lea eax, [esp + 0xc]
push eax
call fcn.00416d6c
push 0x46fa64
lea edx, [ebp - 0x108]
push edx
call fcn.004266ec
add esp, 0xfffffff8
push 0x66
add esp, 0xfffffff8
mov ecx, dword [esi]
mov dword [esp], ecx
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
lea edx, [esp + 0xc]
push edx
call fcn.00416d6c
push 0x46fa3c
lea ecx, [ebp - 0x110]
push ecx
call fcn.004266ec
add esp, 0xfffffff8
push 0x69
add esp, 0xfffffff8
mov eax, dword [edi]
mov dword [esp], eax
mov edx, dword [edi + 4]
mov dword [esp + 4], edx
lea ecx, [esp + 0xc]
push ecx
call fcn.00416d6c
push 0x46fa6c
lea eax, [ebp - 0x118]
push eax
call fcn.004266ec
add esp, 0xfffffff8
push 0x65
add esp, 0xfffffff8
mov edx, dword [esi]
mov dword [esp], edx
mov ecx, dword [esi + 4]
mov dword [esp + 4], ecx
lea eax, [esp + 0xc]
push eax
call fcn.00416d6c
push 0x46fa44
lea edx, [ebp - 0x120]
push edx
call fcn.004266ec
add esp, 0xfffffff8
push 0x55
add esp, 0xfffffff8
mov ecx, dword [edi]
mov dword [esp], ecx
mov eax, dword [edi + 4]
mov dword [esp + 4], eax
lea edx, [esp + 0xc]
push edx
call fcn.00416d6c
push 0x46fa74
lea ecx, [ebp - 0x128]
push ecx
call fcn.004266ec
add esp, 0xfffffff8
mov eax, dword [esi]
lea ecx, [ebp - 0x130]
mov dword [esp], eax
mov edx, dword [esi + 4]
mov dword [esp + 4], edx
push 0x46fa4c
push ecx
call fcn.004266ec
add esp, 0xfffffff8
mov eax, dword [edi]
lea ecx, [ebp - 0x138]
mov dword [esp], eax
mov edx, dword [edi + 4]
mov dword [esp + 4], edx
push 0x46fa7c
push ecx
call fcn.004266ec
add esp, 0xfffffff8
push 0x63
add esp, 0xfffffff8
mov eax, dword [esi]
mov dword [esp], eax
mov edx, dword [esi + 4]
mov dword [esp + 4], edx
lea ecx, [esp + 0xc]
push ecx
call fcn.00416d6c
push 0x46fa54
lea eax, [ebp - 0x140]
push eax
call fcn.004266ec
add esp, 0xfffffff8
push 0x82
add esp, 0xfffffff8
mov edx, dword [edi]
mov dword [esp], edx
mov ecx, dword [edi + 4]
mov dword [esp + 4], ecx
lea eax, [esp + 0xc]
push eax
call fcn.00416d6c
push 0x46fa84
lea edx, [ebp - 0x148]
push edx
call fcn.004266ec
jmp 0x4165f8
xor ebx, ebx
add esp, 0xfffffff8
mov eax, dword [esi]
mov ecx, ebx
shl ecx, 3
mov dword [esp], eax
mov edx, dword [esi + 4]
add ecx, 0x46fa2c
mov dword [esp + 4], edx
push ecx
lea eax, [ebp - 0x150]
push eax
call fcn.004266ec
add esp, 0xfffffff8
mov edx, dword [edi]
mov eax, ebx
shl eax, 3
mov dword [esp], edx
mov ecx, dword [edi + 4]
add eax, 0x46fa5c
mov dword [esp + 4], ecx
push eax
lea edx, [ebp - 0x158]
push edx
call fcn.004266ec
inc ebx
cmp ebx, 6
jl 0x4165a4
call fcn.0045c2ec
mov ecx, eax
sub ecx, dword [0x45db60]
cmp ecx, 0x1f4
jle 0x416617
mov dword [0x45db60], eax
call fcn.00416acc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc