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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov esi, dword [edi + 0x14]
cmp dword [esi + 0x597dc], 3
jne 0x10035832
mov ebx, dword [esi + 0x59774]
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x64
mov dword [esp + 0x18], ebx
call ebp
push esi
call fcn.1001cc30
push 0x32
call ebp
push esi
call fcn.1001d100
xor ecx, ecx
cmp dword [esi + 0x5978c], ecx
ja 0x10035095
cmp dword [esi + 0x597a4], ecx
jbe 0x1003509d
cmp dword [esi + 0x1e0], ecx
je 0x1003511b
mov eax, dword [edi + 0x14]
cmp dword [eax + 0x4f4], ecx
jne 0x100350b0
cmp dword [eax + 0x500], ecx
je 0x100350bf
lea ecx, [eax + 0x18]
push ecx
mov ecx, dword [eax + 0x59774]
call fcn.1004cec0
mov edx, dword [edi + 0x14]
cmp dword [edx + 0x30], 2
jne 0x100350ec
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [edi + 0x40]
cmp eax, 0xc3500
jbe 0x100350ec
mov eax, dword [edi + 0x14]
add eax, 0x18
push eax
push ebx
call fcn.1004d530
call esi
mov dword [edi + 0x40], eax
mov edi, dword [edi + 0x14]
lea eax, [edi + 0x597e8]
lea ebx, [esp + 0x14]
mov dword [esp + 0x14], 3
call fcn.100053d0
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [edi + 0x14]
cmp dword [edx + 0x597e0], 3
je 0x1003514f
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], ecx
mov ecx, dword [0x1009a210]
mov dword [edi + 0x30], 2
mov eax, dword [ecx]
mov edx, dword [eax + 0x28]
call edx
xor eax, eax
mov dword [ebx + 0xfc], eax
mov dword [edi + 0x34], eax
mov dword [edi + 0x44], eax
cmp dword [ebx + 0xa4], 0
jne 0x100359e3
cmp dword [ebx + 0xa8], 0
jne 0x100359e3
cmp dword [edi + 0x34], 0
jne 0x10035175
push edi
call fcn.10035a00
mov eax, dword [edi + 0x34]
cmp eax, 1
jne 0x100356bb
mov eax, dword [edi + 0x14]
cmp dword [eax + 0x5978c], 0
je 0x100359ec
add eax, 0x59784
call fcn.100052e0
mov ebx, eax
mov esi, ebx
call fcn.1005a620
cmp dword [ebx + 0xa0], 0
jne 0x100356a5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x44]
cmp eax, 0x7d0
jae 0x100351ce
test dword [ebx + 0x74], 0x4000000
jne 0x100359ec
mov eax, dword [edi + 0x14]
add eax, 0x5d0
push eax
mov ecx, str.GroupCollect
call fcn.10003360
add esp, 4
test al, al
je 0x100351ff
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
mov eax, dword [edi + 0x14]
push ecx
push eax
call fcn.1001cb70
mov esi, edi
call fcn.10035c50
cmp dword [edi + 0x2c], 0
jne 0x10035234
fld dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
fstp dword [esp + 0x1c]
mov ecx, 3
fld dword [ebx + 8]
mov edx, 0x211
fstp dword [esp + 0x18]
lea eax, [esp + 0x18]
fld dword [ebx + 0x10]
fstp dword [esp + 0x20]
call fcn.1004a2f0
mov dword [edi + 0x2c], eax
mov eax, dword [edi + 0x2c]
test eax, eax
je 0x100359ec
cmp eax, 2
mov esi, dword [esp + 0x14]
jne 0x1003524e
push esi
call fcn.10004080
fld dword [esi + 0x24]
sub esp, 0x10
fstp dword [esp + 0x2c]
fld dword [esi + 0x20]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 0xc]
fld dword [esp + 0x2c]
fstp dword [esp + 8]
fld dword [ebx + 8]
fstp dword [esp + 4]
fld dword [ebx + 0xc]
fstp dword [esp]
call fcn.10017880
fstp dword [esp + 0x24]
add esp, 0x10
fld dword [esp + 0x14]
fcomp dword [0x1008b780]
fnstsw ax
test ah, 0x41
jne 0x100352af
mov dword [edi + 0x2c], 0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
push ecx
push eax
call fcn.1001cbe0
test eax, eax
je 0x10035329
mov edx, dword [edi + 0x14]
cmp dword [edx + 0x1e4], 0
je 0x10035329
fld dword [esp + 0x24]
fsub dword [esi + 0x2c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp dword [0x1008b828]
fnstsw ax
test ah, 5
jp 0x10035309
mov ecx, dword [0x1009a210]
mov edx, dword [ecx]
mov eax, dword [edx + 0xa8]
push 0x21
call eax
push 0x7d0
call ebp
add dword [edi + 0x28], 3
jmp 0x10035676
mov dword [edi + 0x28], 0
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
push edx
call fcn.1001cb70
mov esi, edi
call fcn.10035c50
jmp 0x10035676
mov eax, ebx
call fcn.1005a720
test eax, eax
je 0x10035431
call fcn.100659c0
test eax, eax
je 0x100353ec
call fcn.10066550
mov eax, dword [edi + 0x14]
xor ecx, ecx
cmp dword [eax + 0x1d0], ecx
jne 0x1003539c
cmp dword [eax + 0x1d4], ecx
jne 0x1003539c
cmp dword [eax + 0x1d8], ecx
jne 0x1003539c
mov dword [edi + 0x28], ecx
call fcn.10025340
push 0x64
call ebp
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
mov ecx, dword [edi + 0x14]
push ecx
call fcn.1001cb70
mov esi, edi
call fcn.10035c50
push edi
call fcn.10035cc0
add dword [0x1009a220], 1
jmp 0x10035676
mov dword [edi + 0x30], 3
mov dword [edi + 0x48], ecx
mov dword [edi + 0x28], ecx
call fcn.10025340
push 0x5dc
call ebp
mov eax, dword [edi + 0x14]
mov edx, dword [esi]
add eax, 0x18
push eax
mov eax, dword [edx + 0x20]
mov ecx, esi
call eax
test eax, eax
je 0x100353e0
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
mov ecx, dword [edi + 0x14]
push ecx
call fcn.1001cb70
mov esi, edi
call fcn.10035c50
add dword [0x1009a220], 1
jmp 0x10035676
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [edi + 0x48]
cmp eax, 0x3e8
jbe 0x10035676
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push 0x12c
mov dword [0x10099e08], ecx
mov dword [0x10099e0c], eax
mov dword [0x1009a584], 1
call ebp
add dword [edi + 0x28], 1
call esi
mov dword [edi + 0x48], eax
jmp 0x10035676
mov edx, dword [edi + 0x14]
cmp dword [edx + 0x1d0], 0
je 0x100354a5
test dword [ebx + 0x74], 0x4000000
je 0x100354a5
mov eax, dword [ebx]
push ecx
push eax
call fcn.10064f90
add esp, 8
test eax, eax
jne 0x100354a5
call fcn.100659c0
test eax, eax
je 0x10035487
call fcn.10066550
xor esi, esi
push 0x64
mov dword [edi + 0x30], 3
mov dword [edi + 0x48], esi
call ebp
mov dword [edi + 0x28], esi
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
mov eax, dword [edi + 0x14]
push ecx
push eax
jmp 0x100353d4
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [edi + 0x48]
cmp eax, 0xbb8
jae 0x10035518
mov dword [edi + 0x30], 2
jmp 0x10035676
mov ecx, dword [edi + 0x14]
cmp dword [ecx + 0x1d4], 0
je 0x10035547
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
call fcn.10064f90
add esp, 8
cmp eax, 1
jne 0x10035547
call fcn.100659c0
test eax, eax
je 0x100354fa
call fcn.10066550
xor esi, esi
push 0x64
mov dword [edi + 0x30], 3
mov dword [edi + 0x48], esi
call ebp
mov edx, dword [edi + 0x14]
mov dword [edi + 0x28], esi
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
push edx
jmp 0x100353d4
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [edi + 0x48]
cmp eax, 0x7d0
jae 0x10035518
mov dword [edi + 0x30], 2
jmp 0x10035676
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push 0x2bc
mov dword [0x10099e08], ecx
mov dword [0x10099e0c], eax
mov dword [0x1009a584], 1
call ebp
call esi
add dword [edi + 0x28], 3
mov dword [edi + 0x48], eax
jmp 0x10035676
mov eax, dword [edi + 0x14]
cmp dword [eax + 0x1d8], 0
je 0x100355de
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
call fcn.10064f90
add esp, 8
cmp eax, 2
jne 0x100355de
call fcn.100659c0
test eax, eax
je 0x10035591
call fcn.10066550
xor esi, esi
push 0x64
mov dword [edi + 0x30], 3
mov dword [edi + 0x48], esi
call ebp
mov dword [edi + 0x28], esi
jmp 0x100353c9
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [edi + 0x48]
cmp eax, 0x7d0
jae 0x100355af
mov dword [edi + 0x30], 2
jmp 0x10035676
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push 0x1f4
mov dword [0x10099e08], ecx
mov dword [0x10099e0c], eax
mov dword [0x1009a584], 1
call ebp
call esi
add dword [edi + 0x28], 3
mov dword [edi + 0x48], eax
jmp 0x10035676
mov eax, ebx
call fcn.1005a720
test eax, eax
jne 0x10035676
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
call fcn.10064f90
add esp, 8
cmp eax, 1
jne 0x1003560d
mov edx, dword [edi + 0x14]
cmp dword [edx + 0x1d4], 0
jne 0x1003564b
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
call fcn.10064f90
add esp, 8
cmp eax, 2
jne 0x1003562d
mov eax, dword [edi + 0x14]
cmp dword [eax + 0x1d8], 0
jne 0x1003564b
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
call fcn.10064f90
add esp, 8
test eax, eax
jne 0x10035651
mov ecx, dword [edi + 0x14]
cmp dword [ecx + 0x1d0], eax
je 0x10035651
add dword [edi + 0x28], 3
jmp 0x10035676
mov edx, dword [edi + 0x14]
mov dword [edi + 0x28], 0
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
push edx
call fcn.1001cb70
mov esi, edi
call fcn.10035c50
mov dword [edi + 0x28], 0
cmp dword [edi + 0x30], 5
je 0x100359ec
push 0x64
call ebp
cmp dword [edi + 0x28], 0xc
jbe 0x100359ec
mov dword [edi + 0x30], 3
mov eax, dword [ebx + 4]
mov ebx, dword [ebx]
push eax
mov eax, dword [edi + 0x14]
push ebx
push eax
call fcn.1001cb70
mov esi, edi
call fcn.10035c50
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 2
jne 0x100359ec
mov eax, dword [edi + 0x14]
cmp dword [eax + 0x597a4], 0
je 0x100359ec
mov ecx, dword [eax + 0x597a0]
mov ebx, dword [ecx]
cmp ebx, ecx
jne 0x100356e5
call fcn.10067664
add ebx, 8
call fcn.1002f0f0
cmp dword [ebx + 0x34], 0
je 0x1003571a
mov esi, edi
call fcn.10035c50
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
mov edx, dword [edi + 0x14]
push ebx
push eax
push edx
call fcn.1001cb70
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [edi + 0x2c], 0
jne 0x1003576e
mov eax, dword [ebx + 8]
and eax, 0xfffff
cmp eax, 0x2cf64
mov esi, 2
je 0x1003573d
call fcn.100177a0
test eax, eax
je 0x10035742
mov esi, 6
fld dword [ebx + 0x10]
mov ecx, esi
mov esi, dword [esp + 0x14]
fstp dword [esp + 0x1c]
fld dword [ebx + 0xc]
mov edx, 0x211
fstp dword [esp + 0x18]
lea eax, [esp + 0x18]
fld dword [ebx + 0x14]
fstp dword [esp + 0x20]
call fcn.1004a2f0
mov dword [edi + 0x2c], eax
mov eax, dword [edi + 0x2c]
test eax, eax
je 0x100359ec
cmp eax, 2
jne 0x10035788
mov eax, dword [esp + 0x14]
push eax
call fcn.10004080
cmp dword [edi + 0x30], 0
jne 0x100357b3
mov ecx, dword [esp + 0x14]
fld dword [ecx + 0x2c]
push ecx
fadd qword [0x1008b848]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.10022bd0
push 0xc8
call ebp
call fcn.100659c0
test eax, eax
je 0x100357f1
call fcn.10066550
xor esi, esi
push 0x64
mov dword [edi + 0x30], 3
mov dword [edi + 0x48], esi
call ebp
mov edx, dword [edi + 0x14]
mov dword [edi + 0x28], esi
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
push ecx
push eax
push edx
call fcn.1001cb70
mov esi, edi
call fcn.10035c50
jmp 0x10035880
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x48]
cmp eax, 0xbb8
jae 0x1003580a
mov dword [edi + 0x30], 2
jmp 0x10035880
mov esi, dword [ebx + 8]
mov eax, esi
and eax, 0xfffff
call fcn.100177f0
test eax, eax
je 0x1003585d
call fcn.10065b20
test eax, eax
je 0x1003583e
call fcn.1002f190
push 0x3e8
call ebp
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
push ecx
push eax
call fcn.10066370
add esp, 8
test eax, eax
je 0x10035880
mov ecx, dword [ebx + 8]
mov dword [0x10099e0c], ecx
jmp 0x10035863
mov dword [0x10099e0c], esi
mov eax, dword [ebx + 4]
mov esi, 1
push 0x3e8
mov dword [0x10099e08], eax
mov dword [0x1009a584], esi
call ebp
add dword [edi + 0x28], esi
mov eax, dword [ebx + 8]
and eax, 0xfffff
call fcn.100177d0
test eax, eax
je 0x100358b6
cmp dword [edi + 0x28], 1
jbe 0x100358b6
mov dword [edi + 0x28], 0
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
push ecx
push eax
mov eax, dword [edi + 0x14]
push eax
call fcn.1001cb70
mov esi, edi
call fcn.10035c50
mov esi, dword [ebx + 8]
mov eax, esi
and eax, 0xfffff
call fcn.100177f0
test eax, eax
je 0x100358f5
mov eax, dword [ebx + 4]
push esi
push eax
call fcn.10066370
add esp, 8
test eax, eax
jne 0x100358f5
mov dword [edi + 0x28], eax
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
push ecx
mov ecx, dword [edi + 0x14]
push eax
push ecx
call fcn.1001cb70
mov esi, edi
call fcn.10035c50
mov eax, dword [ebx + 8]
mov edx, eax
and edx, 0xfffff
cmp edx, 0x2cf64
jne 0x1003590e
cmp dword [edi + 0x28], 1
ja 0x1003591f
mov ecx, dword [ebx + 4]
push eax
push ecx
call fcn.10066370
add esp, 8
test eax, eax
jne 0x1003594b
mov dword [edi + 0x28], 0
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
push ecx
push eax
mov eax, dword [edi + 0x14]
push eax
call fcn.1001cb70
mov esi, edi
call fcn.10035c50
mov ecx, dword [edi + 0x14]
mov dword [ecx + 0xb2994], 1
mov esi, dword [ebx + 8]
mov eax, esi
and eax, 0xfffff
call fcn.100177a0
test eax, eax
je 0x10035964
cmp dword [edi + 0x28], 1
ja 0x10035975
mov eax, dword [ebx + 4]
push esi
push eax
call fcn.10066370
add esp, 8
test eax, eax
jne 0x100359a1
mov edx, dword [edi + 0x14]
mov dword [edi + 0x28], 0
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
push ecx
push eax
push edx
call fcn.1001cb70
mov esi, edi
call fcn.10035c50
mov eax, dword [edi + 0x14]
mov dword [eax + 0xb2990], 1
cmp dword [edi + 0x28], 8
jbe 0x100359cd
mov ecx, dword [edi + 0x14]
mov dword [edi + 0x28], 0
mov dword [edi + 0x30], 3
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
push ebx
push eax
push ecx
call fcn.1001cb70
mov esi, edi
call fcn.10035c50
mov dword [edi + 0x34], 0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x38], eax
pop edi
mov eax, 1
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 4