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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbd4
mov eax, 0x52d44c
push ebx
push esi
push edi
call fcn.0049b3b8
mov word [ebp - 0x278], 8
lea edx, [ebp - 0x264]
push edx
call fcn.004039cc
pop ecx
inc dword [ebp - 0x26c]
mov word [ebp - 0x278], 0x14
xor ebx, ebx
mov byte [0x53a93c], 1
cmp byte [ebp + 0x14], 0
je 0x416186
push 4
push 0
lea eax, [ebp - 0x28c]
push eax
call fcn.0049af44
mov byte [ebp - 0x28c], 0xee
mov dl, byte [ebp + 0x18]
add esp, 0xc
mov byte [ebp - 0x28b], dl
cmp dword [ebp + 0x18], 0xfa0
jne 0x416080
mov byte [ebp - 0x28c], 0xee
mov byte [ebp - 0x28b], 0xa
xor esi, esi
push 0
push 0
push 1
push 0x3e8
push 0
push 0
push 0
lea eax, [ebp - 0x28c]
push 0
push eax
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00408160
add esp, 0x30
mov ebx, eax
test ebx, ebx
je 0x4160c1
cmp ebx, 0x64
je 0x4160c1
inc esi
cmp esi, 2
jl 0x416082
test ebx, ebx
je 0x4160d3
mov word [ebp - 0x278], 0x14
jmp 0x4167e7
call fcn.004a2ec0
cmp dword [ebp + 0x18], 0xfa0
mov esi, eax
jne 0x4160ff
jmp 0x4160f1
push 1
call sub.KERNEL32.DLL_Sleep
call fcn.00403fd0
call fcn.004a2ec0
sub eax, esi
cmp eax, 0x1f4
jl 0x4160e5
push 4
push 0
lea eax, [ebp - 0x28c]
push eax
call fcn.0049af44
mov byte [ebp - 0x28c], 0xc4
mov byte [ebp - 0x28b], 0
add esp, 0xc
xor esi, esi
mov byte [ebp - 0x28a], 0
push 0
push 0
push 1
push 0x1f4
push 0
push 0
push 0
lea eax, [ebp - 0x28c]
push 0
push eax
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00408160
add esp, 0x30
mov ebx, eax
test ebx, ebx
je 0x416163
inc esi
cmp esi, 2
jl 0x416129
call fcn.004a2ec0
mov esi, eax
jmp 0x416178
push 1
call sub.KERNEL32.DLL_Sleep
call fcn.00403fd0
call fcn.004a2ec0
sub eax, esi
cmp eax, 0x3e8
jl 0x41616c
cmp byte [0x53a2f0], 0x40
jne 0x41631d
lea eax, [ebp - 0x264]
push eax
call fcn.00403a24
pop ecx
push 0
push 0
lea edx, [ebp - 0x264]
push edx
call fcn.00403a78
add esp, 0xc
push 0xa
xor ecx, ecx
mov cl, byte [ebp + 0x1d]
push ecx
lea eax, [ebp - 0x264]
push eax
call fcn.00403a98
add esp, 0xc
push 9
xor edx, edx
mov dl, byte [ebp + 0x1c]
push edx
lea ecx, [ebp - 0x264]
push ecx
call fcn.00403a98
add esp, 0xc
cmp dword [ebp + 0x80], 1
jne 0x4161ff
push 5
push 0x16
lea eax, [ebp - 0x264]
push eax
call fcn.00403a78
add esp, 0xc
jmp 0x416212
push 0xa
push 0x16
lea edx, [ebp - 0x264]
push edx
call fcn.00403a78
add esp, 0xc
cmp dword [ebp + 0x88], 0
je 0x41628c
mov ecx, dword [ebp + 0x88]
mov al, byte [ecx]
test al, al
jbe 0x416253
push 0x13
push 3
cmp byte [ebp + 0x84], 0
jne 0x41623b
mov edx, 1
jmp 0x41623d
xor edx, edx
push edx
and eax, 0xff
push eax
lea ecx, [ebp - 0x264]
push ecx
call fcn.00403ea4
add esp, 0x14
mov eax, dword [ebp + 0x88]
mov al, byte [eax + 1]
test al, al
jbe 0x41628c
push 0x14
push 3
cmp byte [ebp + 0x84], 0
jne 0x416274
mov edx, 1
jmp 0x416276
xor edx, edx
push edx
and eax, 0xff
push eax
lea ecx, [ebp - 0x264]
push ecx
call fcn.00403ea4
add esp, 0x14
lea eax, [ebp - 0x264]
push eax
call fcn.00403f38
pop ecx
push 4
push 0
lea edx, [ebp - 0x28c]
push edx
call fcn.0049af44
mov byte [ebp - 0x28c], 0x92
mov cl, byte [ebp - 0x6c]
add esp, 0xc
and cl, 0xff
xor esi, esi
mov byte [ebp - 0x28b], cl
push 0
push 0
push 1
push 0x3e8
push 0
push 0
mov eax, dword [ebp - 0x6c]
push eax
lea edx, [ebp - 0x263]
push edx
lea ecx, [ebp - 0x28c]
push ecx
mov eax, dword [ebp + 0x10]
push eax
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00408160
add esp, 0x30
mov ebx, eax
test ebx, ebx
je 0x416307
cmp ebx, 0x64
je 0x416307
inc esi
cmp esi, 2
jl 0x4162c1
test ebx, ebx
je 0x41653e
mov word [ebp - 0x278], 0x14
jmp 0x4167e7
mov al, byte [0x53a2f0]
cmp al, 0x38
je 0x416332
cmp al, 0x30
je 0x416332
cmp al, 0x50
jne 0x41653e
xor edx, edx
lea eax, [ebp - 0x3c8]
mov byte [eax], 0
inc edx
inc eax
cmp edx, 0x64
jl 0x41633a
xor edx, edx
lea eax, [ebp - 0x2a4]
mov byte [eax], 0
inc edx
inc eax
cmp edx, 0xa
jl 0x41634c
xor edx, edx
lea eax, [ebp - 0x2a8]
mov byte [eax], 0
inc edx
inc eax
cmp edx, 4
jl 0x41635e
mov byte [ebp - 0x2a4], 0x1f
mov byte [ebp - 0x2a3], 0
mov dl, byte [ebp + 0x1d]
mov byte [ebp - 0x2a2], dl
mov cl, byte [ebp + 0x1c]
mov byte [ebp - 0x2a1], cl
mov byte [ebp - 0x2a0], 0x1f
cmp dword [ebp + 0x80], 1
jne 0x4163a1
mov byte [ebp - 0x29f], 5
jmp 0x4163a8
mov byte [ebp - 0x29f], 0xa
mov byte [ebp - 0x29c], 0
cmp dword [ebp + 0x88], 0
je 0x41643d
mov byte [ebp - 0x2a8], 0xaa
mov eax, dword [ebp + 0x88]
mov al, byte [eax]
test al, al
jbe 0x4163fc
mov byte [ebp - 0x2a2], al
cmp byte [ebp + 0x84], 0
jne 0x4163ee
or byte [ebp - 0x2a5], 2
mov byte [ebp - 0x2a7], 3
jmp 0x4163fc
or byte [ebp - 0x2a5], 1
mov byte [ebp - 0x2a7], 1
mov edx, dword [ebp + 0x88]
cmp byte [edx + 1], 0
jbe 0x41643d
mov ecx, dword [ebp + 0x88]
mov al, byte [ecx]
mov byte [ebp - 0x2a1], al
cmp byte [ebp + 0x84], 0
jne 0x41642f
or byte [ebp - 0x2a5], 8
mov byte [ebp - 0x2a6], 3
jmp 0x41643d
or byte [ebp - 0x2a5], 4
mov byte [ebp - 0x2a6], 1
lea eax, [ebp - 0x2a4]
xor esi, esi
mov dword [ebp - 0x2b8], eax
lea eax, [ebp - 0x3c8]
xor edx, edx
cmp edx, 6
jl 0x41645d
cmp edx, 7
jle 0x416470
mov ecx, edx
inc esi
inc ecx
inc esi
mov byte [eax], cl
inc eax
mov ecx, dword [ebp - 0x2b8]
mov cl, byte [ecx]
mov byte [eax], cl
inc eax
inc edx
inc dword [ebp - 0x2b8]
cmp edx, 9
jl 0x416453
cmp dword [ebp + 0x88], 0
je 0x4164b2
lea ecx, [ebp - 0x2a8]
xor edx, edx
mov dword [ebp - 0x2b8], ecx
lea eax, [ebp + esi - 0x3c8]
mov ecx, dword [ebp - 0x2b8]
inc esi
inc edx
mov cl, byte [ecx]
mov byte [eax], cl
inc eax
inc dword [ebp - 0x2b8]
cmp edx, 4
jl 0x41649a
mov dword [ebp - 0x298], esi
push 4
push 0
lea eax, [ebp - 0x2ac]
push eax
call fcn.0049af44
mov byte [ebp - 0x2ac], 0x92
mov dl, byte [ebp - 0x298]
add esp, 0xc
and dl, 0xff
xor esi, esi
mov byte [ebp - 0x2ab], dl
push 0
push 0
push 1
push 0x3e8
push 0
push 0
mov eax, dword [ebp - 0x298]
push eax
lea edx, [ebp - 0x3c8]
push edx
lea ecx, [ebp - 0x2ac]
push ecx
mov eax, dword [ebp + 0x10]
push eax
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00408160
add esp, 0x30
mov edi, eax
test edi, edi
je 0x41652c
cmp edi, 0x64
je 0x41652c
inc esi
cmp esi, 2
jl 0x4164e3
test edi, edi
je 0x41653e
mov word [ebp - 0x278], 0x14
jmp 0x4167e7
push 0x14
push 0
lea eax, [ebp - 0x31c]
push eax
call fcn.0049af44
add esp, 0xc
cmp byte [ebp + 0x7e], 0
jbe 0x41667d
xor esi, esi
lea eax, [ebp - 0x2b4]
mov byte [eax], 0xff
inc esi
inc eax
cmp esi, 6
jl 0x416563
xor edx, edx
mov dl, byte [ebp + 0x7e]
test edx, 2
jle 0x4165bc
xor esi, esi
lea eax, [ebp + 0x4e]
cmp byte [eax], 0
je 0x4165b5
mov edx, esi
and edx, 0x80000007
jns 0x416593
dec edx
or edx, 0xfffffff8
inc edx
mov ecx, 7
sub ecx, edx
mov dl, 1
shl dl, cl
mov cl, 0xff
sub cl, dl
mov edx, esi
test edx, edx
jns 0x4165ab
add edx, 7
sar edx, 3
and byte [ebp + edx - 0x2b4], cl
inc esi
inc eax
cmp esi, 0x18
jl 0x41657f
xor eax, eax
mov al, byte [ebp + 0x7e]
test eax, 1
jle 0x41660b
xor esi, esi
lea eax, [ebp + 0x66]
cmp byte [eax], 0
je 0x416604
mov edx, esi
and edx, 0x80000007
jns 0x4165e2
dec edx
or edx, 0xfffffff8
inc edx
mov ecx, 7
sub ecx, edx
mov dl, 1
shl dl, cl
mov cl, 0xff
sub cl, dl
mov edx, esi
test edx, edx
jns 0x4165fa
add edx, 7
sar edx, 3
and byte [ebp + edx - 0x2b1], cl
inc esi
inc eax
cmp esi, 0x18
jl 0x4165ce
push 4
push 0
lea eax, [ebp - 0x28c]
push eax
call fcn.0049af44
add esp, 0xc
xor esi, esi
mov byte [ebp - 0x28c], 0xb8
push 0
push 0
push 1
push 0x3e8
push 0
push 0
push 6
lea eax, [ebp - 0x2b4]
push eax
lea edx, [ebp - 0x28c]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00408160
add esp, 0x30
mov ebx, eax
test ebx, ebx
je 0x41666b
cmp ebx, 0x64
je 0x41666b
inc esi
cmp esi, 2
jl 0x416627
test ebx, ebx
je 0x41667d
mov word [ebp - 0x278], 0x14
jmp 0x4167e7
lea eax, [ebp - 0x34c]
xor esi, esi
mov dword [ebp - 0x2b8], eax
lea eax, [ebp - 0x334]
lea edx, [ebp - 0x364]
mov byte [eax], 0
inc eax
mov ecx, dword [ebp - 0x2b8]
inc esi
mov byte [ecx], 0
mov byte [edx], 0
inc dword [ebp - 0x2b8]
inc edx
cmp esi, 0x18
jl 0x416697
xor edx, edx
xor eax, eax
mov dword [ebp - 0x290], edx
mov dword [ebp - 0x294], eax
lea edx, [ebp - 0x34c]
lea eax, [ebp - 0x334]
mov dword [ebp - 0x2b8], edx
lea edx, [ebp + 0x36]
xor esi, esi
cmp byte [edx], 1
jne 0x4166f7
mov edi, dword [ebp - 0x2b8]
mov ecx, esi
inc ecx
mov byte [edi], cl
inc dword [ebp - 0x294]
inc dword [ebp - 0x2b8]
cmp byte [edx - 0x18], 1
jne 0x416709
mov ecx, esi
inc ecx
mov byte [eax], cl
inc dword [ebp - 0x290]
inc eax
inc esi
inc edx
cmp esi, 0x18
jl 0x4166db
push 1
mov eax, dword [ebp - 0x294]
push eax
lea edx, [ebp - 0x34c]
push edx
lea eax, [ebp - 0x31c]
push eax
call fcn.00405028
add esp, 0x10
lea ecx, [ebp - 0x334]
lea eax, [ebp - 0x31c]
push 2
mov edx, dword [ebp - 0x290]
push edx
push ecx
push eax
call fcn.00405028
add esp, 0x10
lea edx, [ebp - 0x28c]
push 4
push 0
push edx
call fcn.0049af44
add esp, 0xc
xor esi, esi
mov byte [ebp - 0x28c], 0x91
push 0
push 0
push 1
push 0x3e8
push 0
push 0
push 8
lea eax, [ebp - 0x31c]
push eax
lea edx, [ebp - 0x28c]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00408160
add esp, 0x30
mov ebx, eax
test ebx, ebx
je 0x4167ae
cmp ebx, 0x64
je 0x4167ae
inc esi
cmp esi, 2
jl 0x41676a
test ebx, ebx
je 0x4167bd
mov word [ebp - 0x278], 0x14
jmp 0x4167e7
xor eax, eax
lea edx, [ebp - 0x264]
push eax
dec dword [ebp - 0x26c]
push 2
push edx
call fcn.00403a08
add esp, 8
pop eax
mov edx, dword [ebp - 0x288]
mov dword fs:[0], edx
jmp 0x41680f
mov eax, ebx
lea edx, [ebp - 0x264]
push eax
dec dword [ebp - 0x26c]
push 2
push edx
call fcn.00403a08
add esp, 8
pop eax
mov edx, dword [ebp - 0x288]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret