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

Disassembly:
push 0x4e8
mov eax, 0x11b48e6
call fcn.010aa669
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x44c], eax
mov eax, ebx
shl eax, 5
cmp ebx, 0xb
lea edi, [eax + 0x11cf5a0]
mov dword [ebp - 0x454], edi
jl 0x108a47b
xor esi, esi
inc esi
push 0x3e8
mov ecx, 0x1233470
call fcn.010ab29a
mov eax, esi
jmp 0x108afa4
push 0x400
lea ecx, [ebp - 0x440]
call fcn.01081fbb
mov esi, dword [ebp - 0x438]
mov eax, dword [esi]
push dword [eax + 0xc]
and dword [ebp - 4], 0
push dword [edi]
lea eax, [ebp - 0x440]
push 0x1005758
push eax
call fcn.0108446c
mov eax, dword [ebp - 0x440]
add esp, 0x10
push dword [eax + 0xc]
lea eax, [ebx + 0x3e8]
push eax
call fcn.010a43df
mov eax, dword [esi]
push dword [eax + 0xc]
mov esi, 0x1002768
push dword [edi]
push 0x100573c
push 0x6ef
push esi
call fcn.010a38d3
or dword [ebp - 4], 0xffffffff
add esp, 0x14
lea ecx, [ebp - 0x440]
call fcn.0107d6e4
mov eax, ebx
call fcn.0108662e
test eax, eax
je 0x108a505
mov esi, eax
jmp 0x108a465
mov al, byte [edi + 0xa]
mov byte [ebp - 0x440], 0
test al, al
je 0x108a56a
cmp byte [0x12317d9], 0
jne 0x108a56a
push 0x1005710
push 0x701
push esi
mov byte [ebp - 0x440], 1
call fcn.010a38d3
add esp, 0xc
cmp byte [0x11cfa9c], 0
je 0x108a56a
push 0x2743
push 0x704
push esi
mov byte [0x11cfa9c], 0
call fcn.010b32d2
push eax
push 0x1235d38
call fcn.01084781
push eax
call fcn.010855f6
add esp, 0xc
lea eax, [ebx - 1]
push 9
pop ebx
cmp eax, ebx
ja case.default.0x108a57b
push 2
pop edi
jmp dword [eax*4 + 0x108afac]
push 0x2a8
call fcn.010a9635
pop ecx
mov dword [ebp - 0x444], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x108a7f1
movzx ecx, byte [0x1232bd9]
push ecx
movzx ecx, byte [0x1232bd8]
push ecx
push 0x1235ca8
push 0x1235b08
push 0x1231748
mov ecx, eax
call fcn.01083af5
jmp 0x108a7f3
push 0x148
call fcn.010a9635
pop ecx
mov dword [ebp - 0x444], eax
mov dword [ebp - 4], edi
test eax, eax
je 0x108a60d
movzx ecx, byte [0x1232bd9]
push ecx
movzx ecx, byte [0x1232bd8]
push ecx
push 0x1235ca8
push 0x1235b08
push 0x1231748
mov ecx, eax
call fcn.010cddfd
jmp 0x108a60f
xor eax, eax
mov edi, eax
add eax, 4
neg edi
sbb edi, edi
and edi, eax
jmp 0x108a7f5
push 0x10c8
call fcn.010a9635
pop ecx
mov dword [ebp - 0x444], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x108a7f1
movzx ecx, byte [0x1232bd9]
push ecx
movzx ecx, byte [0x1232bd8]
push ecx
push 0x1235ca8
push 0x1235b08
push 0x1231748
mov ecx, eax
call fcn.010829d9
jmp 0x108a7f3
push 0x110
call fcn.010a9635
pop ecx
mov dword [ebp - 0x444], eax
mov dword [ebp - 4], 4
test eax, eax
je 0x108a7f1
movzx ecx, byte [0x1232bd8]
push ecx
push 1
push 0x1235ca8
push 0x1235b08
push 0x1231748
mov ecx, eax
call fcn.010ef851
jmp 0x108a7f3
push 0x110
call fcn.010a9635
pop ecx
mov dword [ebp - 0x444], eax
mov dword [ebp - 4], 5
test eax, eax
je 0x108a7f1
movzx ecx, byte [0x1232bd8]
push ecx
push edi
jmp 0x108a694
push 0x110
call fcn.010a9635
pop ecx
mov dword [ebp - 0x444], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x108a7f1
movzx ecx, byte [0x1232bd9]
push ecx
movzx ecx, byte [0x1232bd8]
push ecx
push 0x1235ca8
push 0x1235b08
push 0x1231748
mov ecx, eax
call fcn.010da542
jmp 0x108a7f3
push 0x128
call fcn.010a9635
pop ecx
mov dword [ebp - 0x444], eax
mov dword [ebp - 4], 7
test eax, eax
je 0x108a7f1
movzx ecx, byte [0x1232bd9]
push ecx
movzx ecx, byte [0x1232bd8]
push ecx
push 0x1235ca8
push 0x1235b08
push 0x1231748
mov ecx, eax
call fcn.010e2131
jmp 0x108a7f3
push 0x138
call fcn.010a9635
pop ecx
mov dword [ebp - 0x444], eax
mov dword [ebp - 4], 8
test eax, eax
je 0x108a7f1
movzx ecx, byte [0x1232bd9]
push ecx
movzx ecx, byte [0x1232bd8]
push ecx
push 0x1235ca8
push 0x1235b08
push 0x1231748
mov ecx, eax
call fcn.010eac9d
jmp 0x108a7f3
push 0x38
call fcn.010a9635
pop ecx
mov dword [ebp - 0x444], eax
mov dword [ebp - 4], ebx
test eax, eax
je 0x108a7f1
movzx ecx, byte [0x1232bd9]
push ecx
movzx ecx, byte [0x1232bd8]
push ecx
push 0x1235ca8
push 0x1235b08
push 0x1231748
mov ecx, eax
call fcn.01082b75
jmp 0x108a7f3
xor eax, eax
mov edi, eax
xor ebx, ebx
mov byte [ebp - 0x439], 1
mov dword [ebp - 0x450], ebx
push ebx
push 1
lea ecx, [ebp - 0x450]
mov dword [ebp - 4], 0xa
call fcn.0107ae11
test al, al
jne 0x108a841
push 0x275a
push 0x730
push esi
call fcn.010b32d2
push eax
push 0x1235d38
call fcn.01084781
push eax
call fcn.010855f6
add esp, 0xc
or dword [ebp - 0x458], 0xffffffff
mov dword [ebp - 0x464], ebx
mov dword [ebp - 0x460], ebx
mov dword [ebp - 0x45c], ebx
push dword [ebp - 0x450]
lea ecx, [ebp - 0x468]
mov byte [ebp - 4], 0xb
call fcn.01083aba
push dword [0x1231b98]
lea ecx, [ebp - 0x468]
call fcn.01083aba
mov eax, dword [0x1232bec]
cmp eax, ebx
je 0x108a895
push eax
lea ecx, [ebp - 0x468]
call fcn.01083aba
mov eax, dword [edi]
push 0x100570c
push dword [ebp - 0x438]
mov ecx, edi
push 0x1005708
call dword [eax + 0x2c]
push eax
push 0x1003388
push 0x275d
push 0x73e
push esi
call fcn.010b32d2
push eax
push 0x1003b2c
mov ebx, 0x1235b98
push ebx
call fcn.01084781
pop ecx
pop ecx
push eax
call fcn.01084781
pop ecx
pop ecx
push eax
call fcn.01084781
pop ecx
pop ecx
push eax
call fcn.01084781
pop ecx
pop ecx
push eax
call fcn.010845db
pop ecx
pop ecx
push eax
call fcn.010848da
push eax
call fcn.010845db
push eax
call fcn.010855f6
add esp, 0xc
mov ecx, ebx
call fcn.01082cd6
mov ecx, 0x1235d38
call fcn.01082cd6
mov ecx, 0x12359f8
call fcn.01082cd6
mov ecx, 0x1235e08
call fcn.01082cd6
mov eax, dword [ebp - 0x44c]
mov ecx, dword [eax]
call fcn.01082cd6
lea ecx, [ebp - 0x228]
call fcn.0107fe1a
mov byte [ebp - 4], 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x438]
mov eax, dword [eax]
push dword [eax + 0xc]
lea ecx, [ebp - 0x438]
call fcn.0107f008
mov eax, dword [edi]
lea ecx, [ebp - 0x438]
push ecx
lea ecx, [ebp - 0x228]
push ecx
mov ecx, edi
mov byte [ebp - 4], 0xd
call dword [eax + 0xc]
lea ecx, [ebp - 0x438]
mov byte [ebp - 0x445], al
mov byte [ebp - 4], 0xc
call fcn.0107d6e4
mov ebx, 0x1233470
mov ecx, ebx
call fcn.010ab375
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
movzx eax, ax
push eax
push 0x759
push esi
call fcn.010b32d2
push eax
mov ecx, ebx
call fcn.010ab2ff
cmp byte [ebp - 0x445], 0
je 0x108aa3c
push 0x10056e4
push 0x762
xor ebx, ebx
push esi
inc ebx
call fcn.010a38d3
add esp, 0xc
mov edx, dword [ebp + 8]
push edi
call fcn.01083d7a
cmp byte [ebp - 0x439], 0
je 0x108aa05
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x24]
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
push 0x3e8
mov ecx, 0x1233470
call fcn.010ab29a
lea ecx, [ebp - 0x224]
call fcn.0107d6e4
lea ecx, [ebp - 0x468]
call fcn.010ee5f9
lea ecx, [ebp - 0x450]
call fcn.0107ade4
mov eax, ebx
jmp 0x108afa4
cmp byte [ebp - 0x440], 0
jne 0x108adfd
mov eax, dword [edi]
lea ecx, [ebp - 0x450]
push ecx
lea ecx, [ebp - 0x228]
push ecx
mov ecx, edi
call dword [eax + 0x14]
test al, al
je 0x108aa71
push 0x10056e4
push 0x769
jmp 0x108a9d8
mov ebx, dword [ebp - 0x454]
fld qword [ebx + 0x10]
push ecx
push ecx
fstp qword [esp]
push 1
call fcn.010a90ff
fld qword [ebx + 0x10]
push ecx
fadd st(0), st(0)
push ecx
fstp qword [esp]
push 0
call fcn.010a90ff
cmp byte [0x1232bdb], 0
je 0x108ab2d
xor eax, eax
push eax
lea ecx, [ebp - 0x438]
push ecx
push 0x10056c8
push eax
mov dword [ebp - 0x438], eax
call fcn.010aaf88
test eax, eax
jne 0x108ab2d
cmp dword [ebp - 0x438], 1
jne 0x108aaec
push 1
push 0x1005690
push 0x773
push esi
call fcn.010a38d3
fld1
pop ecx
pop ecx
fstp qword [esp]
push 1
call fcn.010a90ff
cmp dword [ebp - 0x438], 2
jne 0x108ab2d
push 2
push 0x1005660
push 0x777
push esi
call fcn.010a38d3
add esp, 0x10
push 1
call fcn.010a918e
fld qword [0x1005658]
push ecx
push ecx
fstp qword [esp]
push 0
call fcn.010a90ff
push 0xf
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x108ab23
push 1
lea ecx, [ebp - 0x468]
call fcn.0107da66
fldz
fld qword [0x1232bf8]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x108ab55
fstp st(0)
fld qword [0x1002528]
push ecx
push ecx
fstp qword [esp]
push 0
call fcn.010a90ff
push 1
call fcn.010a918e
lea ecx, [ebp - 0x468]
call fcn.0107c29c
cmp eax, dword [ebp - 0x450]
je 0x108adfd
mov ecx, dword [0x1231b98]
cmp eax, ecx
je 0x108ac7a
cmp eax, dword [0x1232bec]
je 0x108ac76
mov ecx, dword [ebp - 0x458]
cmp ecx, 0xffffffff
jne 0x108abea
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x434]
call fcn.0107b963
lea eax, [ebp - 0x434]
push eax
push 0x1235d38
call fcn.01084781
push eax
call fcn.010855f6
push 0x1005638
push 0x7c7
xor ebx, ebx
inc ebx
push esi
call fcn.010a38d3
add esp, 0x18
jmp 0x108a9e4
cmp ecx, 0x102
jne 0x108ac22
push 0x2761
push 0x7ca
push esi
call fcn.010b32d2
push eax
push 0x1235d38
call fcn.01084781
push eax
call fcn.010855f6
push 0xc
pop ebx
push 0x100561c
push 0x7cc
jmp 0x108abdc
xor eax, eax
cmp dword [ebp - 0x464], eax
je 0x108ac3b
mov eax, dword [ebp - 0x460]
sub eax, dword [ebp - 0x464]
sar eax, 2
add ecx, 0xffffff80
cmp ecx, eax
jae 0x108af89
push 0x2761
push 0x7cf
push esi
call fcn.010b32d2
push eax
push 0x1235d38
call fcn.01084781
push eax
call fcn.010855f6
push 0x1005600
push 0x7d1
jmp 0x108abd9
cmp eax, ecx
jne 0x108ac94
cmp byte [0x1232be0], 0
je 0x108ac94
push 1
push 0x793
mov ecx, 0x1233454
call fcn.010aaee2
mov eax, dword [edi]
lea ecx, [ebp - 0x228]
push ecx
mov ecx, edi
call dword [eax + 0x18]
test al, al
je 0x108acca
push 0x275f
push 0x797
push esi
call fcn.010b32d2
push eax
push 0x1235d38
call fcn.01084781
push eax
call fcn.010855f6
add esp, 0xc
fld qword [0x11cfaa8]
fmul qword [0x10026f0]
call sub.msvcrt.dll__ftol2
push dword [ebx]
mov dword [ebp - 0x44c], eax
push eax
push 0x10055cc
push 0x79c
push esi
call fcn.010a38d3
mov eax, dword [edi]
add esp, 0x14
push dword [ebp - 0x44c]
mov ecx, edi
call dword [eax + 0x1c]
mov byte [ebp - 0x439], 0
test eax, eax
je 0x108ada6
cmp eax, 0x80
je 0x108ad7d
cmp eax, 0x102
je 0x108ad5d
cmp eax, 0xffffffff
jne 0x108ade6
push dword [ebx]
push 0x1005530
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x7b7
push esi
call fcn.010a4cf0
push dword [ebx]
push 0x10054e8
push 0x7b8
push esi
call fcn.010a38d3
add esp, 0x24
jmp 0x108ade6
push dword [ebx]
push 0x1005470
push 0x7b2
push esi
call fcn.010a51b6
push dword [ebx]
push 0x100543c
push 0x7b3
jmp 0x108ad9b
push dword [ebx]
push 0x10053c0
push 0x7ad
push esi
call fcn.010a51b6
push dword [ebx]
push 0x1005380
push 0x7ae
push esi
call fcn.010a38d3
add esp, 0x20
jmp 0x108ade6
push dword [ebx]
push 0x1005358
push 0x7a6
push esi
call fcn.010a38d3
add esp, 0x10
push 0x2760
push 0x7a7
push esi
call fcn.010b32d2
push eax
push 0x1235b98
call fcn.01084781
push eax
call fcn.010855f6
add esp, 0xc
mov byte [ebp - 0x439], 1
call fcn.010a8fa2
movzx ebx, al
neg ebx
sbb ebx, ebx
and ebx, 9
add ebx, 3
jmp 0x108a9e4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
sub ebx, dword [ebp - 0x444]
cmp dword [ebp + 8], 5
jne 0x108aefa
cmp byte [ebp + 0x10], 0
je 0x108aefa
push 0x1000
lea ecx, [ebp - 0x438]
call fcn.01081fbb
push 1
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x4f4]
mov byte [ebp - 4], 0xe
call fcn.01087402
push 0
lea eax, [ebp - 0x4f4]
push eax
lea ecx, [ebp - 0x478]
mov byte [ebp - 4], 0xf
call fcn.01084cc5
push dword [ebp - 0x440]
mov ecx, edi
push ebx
lea ebx, [ebp - 0x478]
call fcn.0108a246
lea ecx, [ebp - 0x4f4]
mov dword [ebp - 0x440], eax
call fcn.01082cd6
lea eax, [ebp - 0x438]
push eax
call fcn.0109e103
test eax, eax
jge 0x108aea0
push 0x100532c
push 0x7f3
jmp 0x108aeaa
push 0x1005300
push 0x7f5
push esi
call fcn.010a38d3
add esp, 0xc
push ecx
lea eax, [ebp - 0x438]
mov ecx, esp
mov dword [ebp - 0x444], esp
push eax
mov byte [0x123173f], 1
call fcn.0107df5e
mov ecx, dword [ebp - 0x44c]
call fcn.01088c2a
lea ecx, [ebp - 0x4f4]
mov byte [ebp - 4], 0xe
call fcn.010878ec
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xc
call fcn.0107d6e4
jmp 0x108af14
push dword [ebp - 0x440]
mov ecx, edi
push ebx
mov ebx, dword [ebp - 0x44c]
call fcn.0108a246
mov dword [ebp - 0x440], eax
cmp dword [ebp - 0x440], 0
jge 0x108af89
cmp dword [ebp - 0x440], 0x80040002
mov eax, dword [ebp - 0x454]
jne 0x108af4c
push 2
pop ebx
push dword [eax]
push 0x10052d0
push 0x803
push esi
call fcn.010a38d3
add esp, 0x10
jmp 0x108a9e4
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x440], 0x80040001
jne 0x108af69
push dword [eax]
push 0x10052a8
push 0x808
jmp 0x108af3e
push dword [ebp - 0x440]
push dword [eax]
push 0x1005280
push 0x80c
push esi
call fcn.010a38d3
add esp, 0x14
jmp 0x108a9e4
mov eax, dword [ebp + 8]
call fcn.0108662e
mov ebx, eax
jmp 0x108a9f6
call fcn.0108677a
xor eax, eax
jmp 0x108afa4
xor eax, eax
inc eax
call fcn.010aa6fb
ret 0x10