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

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esi + 0x800]
push edi
call fcn.0041d270
mov eax, dword [esi + 0x838]
mov ecx, dword [esi + 0x830]
mov ebp, dword [esi + 0x83c]
mov edx, dword [esi + 0x834]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x808]
xor ebx, ebx
add eax, 0x1a0
cmp ecx, ebx
mov dword [esp + 0x10], ebp
jge 0x47b480
call fcn.004fd76e
mov ebp, dword [esp + 0x10]
mov edi, edi
cmp ecx, dword [eax + 8]
jge 0x47b475
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx*4]
mov edi, dword [esi + 0x808]
mov eax, dword [edi + 0x2b4]
cmp eax, dword [ecx + 0x14]
jl 0x47b527
mov ecx, dword [edi + 0x1a8]
xor eax, eax
cmp ecx, ebx
jle 0x47b4ef
lea esp, [esp]
cmp eax, ebx
jl 0x47b475
cmp eax, dword [edi + 0x1a8]
jge 0x47b475
mov ecx, dword [edi + 0x1a4]
mov edx, dword [ecx + eax*4]
cmp dword [edx + 0x14], ebx
jg 0x47b4dd
mov ecx, dword [esi + 0x808]
mov edx, dword [ecx + 0x1a8]
inc eax
cmp eax, edx
jl 0x47b4b0
jmp 0x47b4ef
mov dword [edi + 0x2b0], eax
mov edx, dword [esi + 0x808]
mov dword [edx + 0x2b4], ebx
mov eax, dword [esi + 0x838]
mov ecx, dword [esi + 0x830]
mov edx, dword [esi + 0x834]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x83c]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x808]
add eax, 0x1a0
cmp ecx, ebx
jge 0x47b47a
jmp 0x47b475
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x47b5e4
mov ecx, dword [esi + 0x848]
mov edx, dword [esi + 0x84c]
mov edi, dword [esi + 0x808]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
lea ecx, [ecx]
mov ecx, dword [esi + 0x844]
mov eax, dword [esi + 0x840]
xor edx, edx
test ecx, ecx
setl dl
dec edx
and edx, ecx
test eax, eax
jl 0x47b475
cmp eax, dword [edi + 0x20c]
jge 0x47b475
mov ecx, dword [edi + 0x208]
mov ecx, dword [ecx + eax*4]
cmp edx, dword [ecx + 0x14]
jl 0x47b5e0
mov ecx, dword [edi + 0x20c]
xor eax, eax
test ecx, ecx
jle 0x47b550
test eax, eax
jl 0x47b475
cmp eax, dword [edi + 0x20c]
jge 0x47b475
mov edx, dword [edi + 0x208]
mov ecx, dword [edx + eax*4]
mov edx, dword [ecx + 0x14]
test edx, edx
jg 0x47b5cb
mov edx, dword [esi + 0x808]
mov ecx, dword [edx + 0x20c]
inc eax
cmp eax, ecx
jl 0x47b594
jmp 0x47b550
mov dword [esi + 0x840], eax
mov dword [esi + 0x844], 0
jmp 0x47b550
mov ebp, dword [esp + 0x10]
test edx, edx
jge 0x47b5f2
xor edx, edx
test edx, edx
jl 0x47b475
cmp edx, dword [ecx + 0x14]
jge 0x47b475
cmp edx, dword [ecx + 0x28]
jge 0x47b475
mov eax, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x10]
mov edi, dword [eax + edx*4]
mov ecx, dword [ecx + edx*4]
mov eax, dword [esi + 0x800]
mov dword [eax + 0x178], ecx
mov ecx, dword [esi + 0x800]
push edi
call fcn.0041d210
mov ecx, dword [esi + 0x800]
push edi
call fcn.00425940
mov ecx, dword [esi + 0x800]
push 0xfffff
push edi
call fcn.0041f4f0
mov ecx, dword [esi + 0x800]
push 0x3f800000
call fcn.0041c510
mov edx, dword [esi + 0x800]
mov dword [edx + 0x60], ebx
mov eax, dword [esi + 0x800]
mov ecx, dword [eax + 0x68]
test ecx, ecx
je 0x47b757
mov ebp, dword [sym.imp.kernel32.dll_GetTickCount]
call ebp
mov ecx, dword [esi + 0x800]
mov dword [ecx + 0x200], eax
mov ecx, dword [esi + 0x800]
mov eax, dword [ecx + 0x200]
push eax
push eax
push eax
call fcn.0041d1d0
mov edx, dword [esi + 0x800]
mov eax, dword [edx + 0x184]
xor ebx, ebx
test eax, eax
jle 0x47b834
lea ecx, [ecx]
test ebx, ebx
mov eax, dword [esi + 0x800]
jl 0x47b475
cmp ebx, dword [eax + 0x184]
jge 0x47b475
mov ecx, dword [eax + 0x180]
mov eax, dword [eax + 0x200]
mov edi, dword [ecx + ebx*4]
push eax
push eax
call ebp
push eax
mov ecx, edi
call fcn.00431a40
mov ecx, dword [edi + 0x24]
xor eax, eax
test ecx, ecx
jle 0x47b73d
mov edi, edi
test eax, eax
jl 0x47b475
cmp eax, dword [edi + 0x24]
jge 0x47b475
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + eax*4]
mov edx, dword [esp + 0x14]
cmp edx, 0xffffffff
mov dword [ecx + 0x104], 1
je 0x47b71e
cmp edx, ebx
jne 0x47b72b
mov edx, dword [esp + 0x10]
cmp edx, 0xffffffff
je 0x47b735
cmp edx, eax
je 0x47b735
mov dword [ecx + 0x104], 0
mov ecx, dword [edi + 0x24]
inc eax
cmp eax, ecx
jl 0x47b6f0
mov eax, dword [esi + 0x800]
mov ecx, dword [eax + 0x184]
inc ebx
cmp ebx, ecx
jl 0x47b6b0
jmp 0x47b834
cmp ebp, 0xffffffff
je 0x47b7d7
mov ecx, dword [esi + 0x81c]
test ecx, ecx
jne 0x47b7d7
test ebp, ebp
mov ecx, dword [eax + 0x178]
jl 0x47b475
cmp ebp, dword [ecx + 0x24]
jge 0x47b475
mov edx, dword [ecx + 0x20]
mov edi, dword [edx + ebp*4]
mov edx, dword [ecx + 0x24]
xor eax, eax
test edx, edx
jle 0x47b834
mov ecx, dword [esi + 0x800]
mov ecx, dword [ecx + 0x178]
add ecx, 0x1c
test eax, eax
jl 0x47b475
cmp eax, dword [ecx + 8]
jge 0x47b475
mov edx, dword [ecx + 4]
mov ecx, dword [edx + eax*4]
xor edx, edx
cmp ecx, edi
sete dl
inc eax
mov dword [ecx + 0x104], edx
mov ecx, dword [esi + 0x800]
mov edx, dword [ecx + 0x178]
cmp eax, dword [edx + 0x24]
jl 0x47b790
jmp 0x47b834
mov eax, dword [eax + 0x178]
mov edx, dword [eax + 0x24]
xor ecx, ecx
test edx, edx
jle 0x47b834
jmp 0x47b7f0
mov edx, dword [esi + 0x800]
mov eax, dword [edx + 0x178]
add eax, 0x1c
test ecx, ecx
jl 0x47b475
cmp ecx, dword [eax + 8]
jge 0x47b475
mov eax, dword [eax + 4]
mov edx, dword [eax + ecx*4]
mov dword [edx + 0x104], 1
mov eax, dword [esi + 0x800]
mov edx, dword [eax + 0x178]
mov eax, dword [edx + 0x24]
inc ecx
cmp ecx, eax
jl 0x47b7f0
mov ecx, dword [esi + 0x800]
call fcn.0041f300
mov ecx, dword [esi + 0x800]
call fcn.0041f3c0
mov ecx, dword [esi + 0x800]
mov eax, dword [ecx + 0x68]
test eax, eax
je 0x47b85c
call fcn.0041f460
mov ecx, dword [esi + 0x800]
push 0
call fcn.0041bcc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4