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

Disassembly:
sub esp, 0x14
push edi
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [edi + 0x4e8]
add ecx, 0x12c
cmp eax, ecx
jb 0x465a6e
mov eax, dword [edi + 0x56c]
test eax, eax
jne 0x465492
mov eax, dword [edi + 0x5f8]
test eax, eax
jne 0x465492
mov eax, dword [edi + 0x470]
test eax, eax
je 0x465a6e
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4654b7
mov eax, dword [edi + 0x280]
test eax, eax
je 0x465a6e
mov ecx, edi
call fcn.0045ed30
test eax, eax
je 0x465a6e
mov eax, dword [edi + 0x6a0]
test eax, eax
jle 0x4654e0
cmp dword [edi + 0x6a4], 0xffffffff
jae 0x4654e0
mov eax, dword [0x6613c0]
inc dword [eax + 0x14]
mov ecx, edi
call fcn.00464bb0
pop edi
add esp, 0x14
ret 4
mov edx, dword [0x6613bc]
mov eax, dword [edx + 0x4cc]
test eax, eax
push ebx
push ebp
push esi
je 0x465568
mov eax, dword [edi + 0xe0]
and eax, dword [edi + 0xe4]
cmp eax, 0xffffffff
jne 0x465568
mov eax, dword [edi + 0x5f8]
test eax, eax
je 0x465568
mov ecx, dword [edi + 0x280]
mov esi, dword [edi + 0x5fc]
or eax, 0xffffffff
xor edx, edx
test ecx, ecx
mov dword [esp + 0x28], eax
jne 0x4655ec
jmp 0x465530
xor eax, eax
test esi, esi
jbe 0x465562
jmp 0x465540
mov ecx, dword [edi + 0x5f8]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je 0x465555
inc eax
cmp eax, esi
jb 0x465540
jmp 0x465562
cmp eax, 0xffffffff
mov dword [esp + 0x28], eax
jne 0x465754
inc edx
cmp edx, 2
jl 0x465530
push 5
mov ecx, edi
call fcn.00463c20
test eax, eax
jne 0x465a5c
mov ecx, dword [0x6613bc]
mov eax, dword [ecx + 0x4c8]
test eax, eax
je 0x465a6b
mov eax, dword [edi + 0x56c]
test eax, eax
je 0x465a6b
mov ecx, dword [edi + 0x280]
mov esi, dword [edi + 0x570]
or eax, 0xffffffff
xor edx, edx
test ecx, ecx
mov dword [esp + 0x28], eax
jne 0x4657bc
jmp 0x4655c0
xor eax, eax
test esi, esi
jbe 0x4657ad
lea ebx, [ebx]
mov ecx, dword [edi + 0x56c]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je 0x4657a0
inc eax
cmp eax, esi
jb 0x4655d0
jmp 0x4657ad
mov ebp, dword [ecx + 0x34]
mov dword [esp + 0x10], eax
xor eax, eax
test ebp, ebp
je 0x4656ad
lea ecx, [ecx]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov ecx, ebx
sub ecx, eax
sbb esi, edx
mov dword [esp + 0x20], esi
jne 0x46561a
cmp ecx, 0x40000
jb 0x465692
add eax, 0x3ffff
adc edx, 0
mov esi, eax
shrd esi, edx, 0x12
shr edx, 0x12
xor eax, eax
push 0
mov edx, esi
add edx, 1
push 0x40000
adc eax, eax
push eax
push edx
call fcn.0057a620
mov ecx, dword [ebp + 0xc]
cmp edx, ecx
mov dword [esp + 0x14], ebx
ja 0x46568b
jb 0x465653
cmp eax, ebx
ja 0x46568b
mov ebx, dword [edi + 0x5f8]
mov bl, byte [esi + ebx]
test bl, bl
je 0x465687
cmp bl, 1
jne 0x465670
cmp dword [esp + 0x10], 0xffffffff
jne 0x465670
mov dword [esp + 0x10], esi
inc esi
add eax, 0x40000
adc edx, 0
cmp edx, ecx
jb 0x465653
ja 0x46568b
cmp eax, dword [esp + 0x14]
jbe 0x465653
jmp 0x46568b
mov dword [esp + 0x28], esi
cmp dword [esp + 0x28], 0xffffffff
jne 0x4656ad
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov ebp, dword [ebp + 4]
add eax, ebx
adc edx, esi
test ebp, ebp
jne 0x465600
mov esi, dword [edi + 0x24]
cmp esi, edx
mov ebx, dword [edi + 0x20]
jb 0x465728
ja 0x4656bd
cmp ebx, eax
jbe 0x465728
cmp dword [esp + 0x28], 0xffffffff
jne 0x465754
add eax, 0x3ffff
adc edx, 0
mov ecx, eax
shrd ecx, edx, 0x12
shr edx, 0x12
mov eax, ecx
mov edx, 0x40000
mul edx
cmp edx, esi
ja 0x465735
jb 0x4656ec
cmp eax, ebx
jae 0x465735
mov ebp, dword [esp + 0x10]
mov esi, dword [edi + 0x5f8]
mov bl, byte [ecx + esi]
test bl, bl
je 0x465722
cmp bl, 1
jne 0x465709
cmp ebp, 0xffffffff
jne 0x465709
mov ebp, ecx
mov esi, dword [edi + 0x24]
add eax, 0x40000
adc edx, 0
inc ecx
cmp edx, esi
jb 0x4656f0
ja 0x465739
cmp eax, dword [edi + 0x20]
jb 0x4656f0
jmp 0x465739
mov dword [esp + 0x28], ecx
jmp 0x46572c
mov ebp, dword [esp + 0x10]
cmp dword [esp + 0x28], 0xffffffff
jne 0x465754
jmp 0x465739
mov ebp, dword [esp + 0x10]
mov eax, dword [edi + 0x694]
test eax, eax
jne 0x465568
cmp ebp, 0xffffffff
mov dword [esp + 0x28], ebp
je 0x465568
mov eax, dword [esp + 0x28]
mov dword [edi + 0x6a4], eax
mov ecx, 0x40000
mul ecx
mov ecx, dword [edi + 0x24]
mov dword [edi + 0x6a8], eax
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x6a8]
sbb ecx, edx
mov dword [edi + 0x6a0], 4
mov dword [edi + 0x6ac], edx
ja 0x465796
cmp eax, 0x40000
jbe 0x4659a7
mov eax, 0x40000
jmp 0x4659a5
cmp eax, 0xffffffff
mov dword [esp + 0x28], eax
jne 0x46593e
inc edx
cmp edx, 2
jl 0x4655c0
jmp 0x46593e
mov ebp, dword [ecx + 0x34]
mov dword [esp + 0x10], eax
xor eax, eax
test ebp, ebp
je 0x46588a
lea ecx, [ecx]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov ecx, ebx
sub ecx, eax
sbb esi, edx
mov dword [esp + 0x20], esi
jne 0x4657ee
cmp ecx, 0x947000
jb 0x46586f
push 0
add eax, 0x946fff
push 0x947000
adc edx, 0
push edx
push eax
call fcn.0057ac50
mov esi, eax
xor eax, eax
push 0
mov edx, esi
add edx, 1
push 0x947000
adc eax, eax
push eax
push edx
call fcn.0057a620
mov ecx, dword [ebp + 0xc]
cmp edx, ecx
mov dword [esp + 0x14], ebx
ja 0x465868
jb 0x465830
cmp eax, ebx
ja 0x465868
mov edi, edi
mov ebx, dword [edi + 0x56c]
mov bl, byte [esi + ebx]
test bl, bl
je 0x465864
cmp bl, 1
jne 0x46584d
cmp dword [esp + 0x10], 0xffffffff
jne 0x46584d
mov dword [esp + 0x10], esi
inc esi
add eax, 0x947000
adc edx, 0
cmp edx, ecx
jb 0x465830
ja 0x465868
cmp eax, dword [esp + 0x14]
jbe 0x465830
jmp 0x465868
mov dword [esp + 0x28], esi
cmp dword [esp + 0x28], 0xffffffff
jne 0x46588a
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov ebp, dword [ebp + 4]
add eax, ebx
adc edx, esi
test ebp, ebp
jne 0x4657d0
mov esi, dword [edi + 0x24]
cmp esi, edx
mov ebx, dword [edi + 0x20]
jb 0x46590a
ja 0x46589a
cmp ebx, eax
jbe 0x46590a
cmp dword [esp + 0x28], 0xffffffff
jne 0x46593e
push 0
add eax, 0x946fff
push 0x947000
adc edx, 0
push edx
push eax
call fcn.0057ac50
mov edx, 0x947000
mov ecx, eax
mul edx
cmp edx, esi
ja 0x465917
jb 0x4658ce
cmp eax, ebx
jae 0x465917
mov ebp, dword [esp + 0x10]
mov esi, dword [edi + 0x56c]
mov bl, byte [ecx + esi]
test bl, bl
je 0x465904
cmp bl, 1
jne 0x4658eb
cmp ebp, 0xffffffff
jne 0x4658eb
mov ebp, ecx
mov esi, dword [edi + 0x24]
add eax, 0x947000
adc edx, 0
inc ecx
cmp edx, esi
jb 0x4658d2
ja 0x46591b
cmp eax, dword [edi + 0x20]
jb 0x4658d2
jmp 0x46591b
mov dword [esp + 0x28], ecx
jmp 0x46590e
mov ebp, dword [esp + 0x10]
cmp dword [esp + 0x28], 0xffffffff
jne 0x46593e
jmp 0x46591b
mov ebp, dword [esp + 0x10]
mov eax, dword [edi + 0x694]
test eax, eax
jne 0x46593e
mov eax, dword [edi + 0x62c]
test eax, eax
je 0x46593a
mov ecx, edi
call fcn.0045dbc0
or eax, edx
jne 0x46593e
mov dword [esp + 0x28], ebp
cmp dword [edi + 0x62c], 2
jne 0x465959
mov eax, dword [edi + 0x624]
mov dword [edi + 0x694], 1
jmp 0x46595d
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
je 0x465a6b
mov dword [edi + 0x6a4], eax
mov ecx, 0x947000
mul ecx
mov ecx, dword [edi + 0x24]
mov dword [edi + 0x6a8], eax
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x6a8]
sbb ecx, edx
mov dword [edi + 0x6a0], 6
mov dword [edi + 0x6ac], edx
ja 0x4659a0
cmp eax, 0x947000
jbe 0x4659a7
mov eax, 0x947000
xor ecx, ecx
mov dword [edi + 0x6b4], ecx
mov dword [edi + 0x6b0], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x6b8], eax
mov eax, dword [edi + 0x694]
xor esi, esi
cmp eax, esi
jne 0x465a0f
mov eax, dword [edi + 0x6a0]
cmp eax, 6
jne 0x4659e7
mov edx, dword [edi + 0x4ec]
lea ecx, [edi + 0x4ec]
call dword [edx + 0x20]
jmp 0x465a5c
cmp eax, 4
jne 0x4659fd
mov eax, dword [edi + 0x578]
lea ecx, [edi + 0x578]
call dword [eax + 0x20]
jmp 0x465a5c
cmp eax, 5
jne 0x465a5c
lea ecx, [edi + 0x298]
call fcn.0040cdc0
jmp 0x465a5c
lea ecx, [edi + 0x630]
call fcn.004b9af0
mov ecx, dword [edi + 0x6b0]
mov edx, dword [edi + 0x6b4]
push esi
add ecx, 0x2cfff
push 0x2d000
adc edx, esi
push edx
push ecx
mov dword [edi + 0x68c], esi
call fcn.0057ac50
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.005abeeb
add esp, 4
mov dword [edi + 0x608], eax
mov dword [edi + 0x690], esi
mov eax, dword [0x6613c0]
inc dword [eax + 0x14]
mov ecx, edi
call fcn.00464bb0
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x14
ret 4