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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
mov eax, dword [0x444380]
xor eax, ebp
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x4c], 0
mov byte [ebp - 0x48], 0
push 0x31
push 0
lea eax, [ebp - 0x47]
push eax
call fcn.00415190
add esp, 0xc
mov dword [ebp - 8], 0xffffffff
movzx ecx, word [0x46d14c]
sub ecx, 1
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 1
mov word [ebp - 0xbc], 0
jmp 0x40b0b6
mov dx, word [ebp - 0xbc]
add dx, 1
mov word [ebp - 0xbc], dx
movzx eax, word [ebp - 0xbc]
movzx ecx, word [0x46d14c]
cmp eax, ecx
jge 0x40b390
call dword [sym.imp.KERNEL32.dll_GetTickCount]
movzx ecx, word [0x46d14c]
movzx edx, word [ebp - 0xbc]
sub ecx, edx
xor edx, edx
div ecx
mov dword [ebp - 0x4c], edx
movzx eax, word [ebp - 0xbc]
cmp eax, dword [ebp - 0x4c]
je 0x40b38b
movzx ecx, word [ebp - 0xbc]
imul ecx, ecx, 0x32
add ecx, 0x45a568
push ecx
lea edx, [ebp - 0x48]
push edx
call fcn.00414b50
add esp, 8
mov eax, dword [ebp - 0x4c]
imul eax, eax, 0x32
add eax, 0x45a568
push eax
movzx ecx, word [ebp - 0xbc]
imul ecx, ecx, 0x32
add ecx, 0x45a568
push ecx
call fcn.00414b50
add esp, 8
lea edx, [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x4c]
imul eax, eax, 0x32
add eax, 0x45a568
push eax
call fcn.00414b50
add esp, 8
movzx ecx, word [ebp - 0xbc]
imul ecx, ecx, 0x64
add ecx, 0x459f20
push ecx
lea edx, [ebp - 0xb8]
push edx
call fcn.00414b50
add esp, 8
mov eax, dword [ebp - 0x4c]
imul eax, eax, 0x64
add eax, 0x459f20
push eax
movzx ecx, word [ebp - 0xbc]
imul ecx, ecx, 0x64
add ecx, 0x459f20
push ecx
call fcn.00414b50
add esp, 8
lea edx, [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0x4c]
imul eax, eax, 0x64
add eax, 0x459f20
push eax
call fcn.00414b50
add esp, 8
movzx ecx, word [ebp - 0xbc]
mov edx, dword [ecx*4 + 0x46d1d8]
mov dword [ebp - 0xc], edx
movzx eax, word [ebp - 0xbc]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx*4 + 0x46d1d8]
mov dword [eax*4 + 0x46d1d8], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc]
mov dword [eax*4 + 0x46d1d8], ecx
mov word [ebp - 0xc0], 0
jmp 0x40b206
mov dx, word [ebp - 0xc0]
add dx, 1
mov word [ebp - 0xc0], dx
movzx eax, word [ebp - 0xc0]
movzx ecx, word [ebp - 0xbc]
movzx edx, word [ecx*2 + 0x46ec40]
cmp eax, edx
je 0x40b38b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
movzx ecx, word [ebp - 0xbc]
movzx ecx, word [ecx*2 + 0x46ec40]
movzx edx, word [ebp - 0xc0]
sub ecx, edx
xor edx, edx
div ecx
mov dword [ebp - 0xc4], edx
movzx eax, word [ebp - 0xbc]
imul eax, eax, 0x9c4
movzx ecx, word [ebp - 0xc0]
imul ecx, ecx, 0x32
lea edx, [eax + ecx + 0x462978]
push edx
lea eax, [ebp - 0x48]
push eax
call fcn.00414b50
add esp, 8
movzx ecx, word [ebp - 0xbc]
imul ecx, ecx, 0x9c4
mov edx, dword [ebp - 0xc4]
imul edx, edx, 0x32
lea eax, [ecx + edx + 0x462978]
push eax
movzx ecx, word [ebp - 0xbc]
imul ecx, ecx, 0x9c4
movzx edx, word [ebp - 0xc0]
imul edx, edx, 0x32
lea eax, [ecx + edx + 0x462978]
push eax
call fcn.00414b50
add esp, 8
lea ecx, [ebp - 0x48]
push ecx
movzx edx, word [ebp - 0xbc]
imul edx, edx, 0x9c4
mov eax, dword [ebp - 0xc4]
imul eax, eax, 0x32
lea ecx, [edx + eax + 0x462978]
push ecx
call fcn.00414b50
add esp, 8
movzx edx, word [ebp - 0xbc]
imul edx, edx, 0x1388
movzx eax, word [ebp - 0xc0]
imul eax, eax, 0x64
lea ecx, [edx + eax + 0x445e80]
push ecx
lea edx, [ebp - 0xb8]
push edx
call fcn.00414b50
add esp, 8
movzx eax, word [ebp - 0xbc]
imul eax, eax, 0x1388
mov ecx, dword [ebp - 0xc4]
imul ecx, ecx, 0x64
lea edx, [eax + ecx + 0x445e80]
push edx
movzx eax, word [ebp - 0xbc]
imul eax, eax, 0x1388
movzx ecx, word [ebp - 0xc0]
imul ecx, ecx, 0x64
lea edx, [eax + ecx + 0x445e80]
push edx
call fcn.00414b50
add esp, 8
lea eax, [ebp - 0xb8]
push eax
movzx ecx, word [ebp - 0xbc]
imul ecx, ecx, 0x1388
mov edx, dword [ebp - 0xc4]
imul edx, edx, 0x64
lea eax, [ecx + edx + 0x445e80]
push eax
call fcn.00414b50
add esp, 8
jmp 0x40b1f4
jmp 0x40b0a4
mov dword [ebp - 0xc8], 0
jmp 0x40b3ab
mov ecx, dword [ebp - 0xc8]
add ecx, 1
mov dword [ebp - 0xc8], ecx
movzx edx, word [0x46d14c]
cmp dword [ebp - 0xc8], edx
jge 0x40b3d5
mov eax, dword [ebp - 0xc8]
cmp dword [eax*4 + 0x46d1d8], 0
jne 0x40b3d3
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 8], ecx
jmp 0x40b39c
cmp dword [ebp - 8], 0
jb 0x40b4c3
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x10]
jae 0x40b4c3
mov eax, dword [ebp - 8]
imul eax, eax, 0x32
add eax, 0x45a568
push eax
lea ecx, [ebp - 0x48]
push ecx
call fcn.00414b50
add esp, 8
mov edx, dword [ebp - 0x10]
imul edx, edx, 0x32
add edx, 0x45a568
push edx
mov eax, dword [ebp - 8]
imul eax, eax, 0x32
add eax, 0x45a568
push eax
call fcn.00414b50
add esp, 8
lea ecx, [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x10]
imul edx, edx, 0x32
add edx, 0x45a568
push edx
call fcn.00414b50
add esp, 8
mov eax, dword [ebp - 8]
imul eax, eax, 0x64
add eax, 0x459f20
push eax
lea ecx, [ebp - 0xb8]
push ecx
call fcn.00414b50
add esp, 8
mov edx, dword [ebp - 0x10]
imul edx, edx, 0x64
add edx, 0x459f20
push edx
mov eax, dword [ebp - 8]
imul eax, eax, 0x64
add eax, 0x459f20
push eax
call fcn.00414b50
add esp, 8
lea ecx, [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0x10]
imul edx, edx, 0x64
add edx, 0x459f20
push edx
call fcn.00414b50
add esp, 8
mov eax, dword [ebp - 8]
mov ecx, dword [eax*4 + 0x46d1d8]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax*4 + 0x46d1d8]
mov dword [edx*4 + 0x46d1d8], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov dword [edx*4 + 0x46d1d8], eax
xor ecx, ecx
jne 0x40b092
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004148bb
mov esp, ebp
pop ebp
ret