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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x1007fdbc
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10097060]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov ebp, ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x597dc]
cmp ecx, 2
je 0x1002bc9a
xor eax, eax
jmp 0x1002cd88
mov edi, dword [eax + 0x59774]
push eax
mov dword [esp + 0x30], edi
call fcn.1001be00
push ebp
call fcn.10004230
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x597b0]
xor esi, esi
cmp eax, esi
ja 0x1002bcf5
mov ecx, dword [0x1009a210]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
mov dword [edi + 0xfc], esi
mov eax, dword [ebp + 0x14]
add eax, 0x597e8
lea ebx, [esp + 0x38]
mov dword [esp + 0x38], 2
call fcn.100053d0
mov dword [eax], esi
mov dword [ebp + 0x38], esi
jmp 0x1002cd83
mov eax, ebp
call fcn.10001990
cmp dword [edi + 0xa4], esi
jne 0x1002cd83
cmp dword [edi + 0xa8], esi
jne 0x1002cd83
mov ebx, dword [ebp + 0x14]
add ebx, 0x597a8
cmp dword [ebx + 8], esi
jne 0x1002bd2d
push edi
call fcn.10004080
jmp 0x1002cd83
mov eax, ebx
call fcn.100052e0
mov esi, eax
mov dword [esp + 0x34], esi
call fcn.1005a620
fld dword [esi + 0xc]
fstp dword [esp + 0x60]
lea eax, [esp + 0x48]
fld dword [esi + 8]
lea ecx, [esp + 0x5c]
fstp dword [esp + 0x5c]
fld dword [esi + 0x10]
fstp dword [esp + 0x64]
fld dword [esi + 0x14]
fstp dword [esp + 0x68]
fld dword [edi + 0x24]
fstp dword [esp + 0x4c]
fld dword [edi + 0x20]
fstp dword [esp + 0x48]
fld dword [edi + 0x28]
fstp dword [esp + 0x50]
fld dword [edi + 0x2c]
fstp dword [esp + 0x54]
call fcn.10023f00
fst qword [esp + 0x3c]
fcomp qword [0x1008b750]
fnstsw ax
test ah, 5
jp 0x1002be2b
fld dword [esp + 0x5c]
sub esp, 0x10
fsub dword [esp + 0x58]
fstp qword [esp + 8]
fld dword [esp + 0x70]
fsub dword [esp + 0x5c]
fstp qword [esp]
call fcn.10059120
fstp dword [esp + 0x40]
add esp, 4
fld dword [0x1008b71c]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x3c]
fstp dword [esp]
call fcn.10022b80
add esp, 0xc
test eax, eax
jne 0x1002bdf9
mov ecx, edi
push ecx
call fcn.10004080
fld dword [esp + 0x30]
push ecx
fstp dword [esp]
call fcn.10022bd0
mov edi, esi
call fcn.10004d90
test eax, eax
jne 0x1002be2b
mov eax, edi
call fcn.10004040
cmp eax, 0x64
jne 0x1002cd83
mov eax, ebx
call fcn.10005300
mov edx, dword [ebp + 0x14]
push edx
mov eax, edi
call fcn.1001ca30
jmp 0x1002cd83
call fcn.10064a60
test eax, eax
mov edi, esi
je 0x1002be5d
mov eax, edi
call fcn.10003fe0
test eax, eax
jne 0x1002be5d
mov al, 0
mov ecx, dword [0x1009a43c]
mov byte [ecx], al
mov eax, dword [ebp + 0x14]
push eax
mov eax, edi
call fcn.1001ca30
mov eax, ebx
call fcn.10005300
call fcn.10065520
test eax, eax
je 0x1002be70
mov al, 0
mov ecx, dword [0x1009a43c]
mov byte [ecx], al
cmp dword [ebp + 0x38], 0
mov esi, dword [esp + 0x2c]
jne 0x1002be9a
fld dword [esi + 0x24]
fstp dword [ebp + 0x28]
fld dword [esi + 0x20]
fstp dword [ebp + 0x24]
fld dword [esi + 0x28]
fstp dword [ebp + 0x2c]
mov dword [ebp + 0x34], 0x211
mov dword [ebp + 0x38], 1
mov ecx, dword [edi + 0x64]
mov eax, dword [edi + 0x60]
push ecx
push eax
mov eax, esi
call fcn.100040c0
test eax, eax
je 0x1002bf99
fld qword [0x1008b798]
fld qword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1002beff
fld dword [esp + 0x60]
mov dword [ebp + 0x34], 0x211
fld dword [esp + 0x4c]
mov dword [ebp + 0x38], 1
fsubr st(1)
fdiv st(2)
fsubp st(1)
fstp dword [ebp + 0x28]
fld dword [esp + 0x5c]
fld dword [esp + 0x48]
fsubr st(1)
fdivrp st(2)
fsubrp st(1)
fstp dword [ebp + 0x24]
fld dword [esp + 0x64]
fstp dword [ebp + 0x2c]
jmp 0x1002bf01
fstp st(0)
fld dword [esp + 0x5c]
sub esp, 0x10
fsub dword [esp + 0x58]
fstp qword [esp + 8]
fld dword [esp + 0x70]
fsub dword [esp + 0x5c]
fstp qword [esp]
call fcn.10059120
fstp dword [esp + 0x40]
add esp, 4
fld dword [0x1008b7e8]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x3c]
fstp dword [esp]
call fcn.10022b80
add esp, 0xc
test eax, eax
jne 0x1002bf5f
push esi
call fcn.10004080
fld dword [esp + 0x30]
push ecx
fstp dword [esp]
call fcn.10022bd0
mov edx, dword [ebp + 0x34]
lea eax, [ebp + 0x24]
mov ecx, 1
call fcn.1004a2f0
cmp eax, 2
jne 0x1002bf8b
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, edi
call fcn.1001ca30
mov eax, ebx
call fcn.10005300
jmp 0x1002c063
cmp eax, 1
jne 0x1002c06a
jmp 0x1002c063
fld dword [edi + 0xc]
fstp dword [esp + 0x74]
mov eax, dword [esp + 0x74]
fld dword [edi + 8]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x80]
fstp dword [esp + 0x70]
fld dword [edi + 0x10]
mov edx, dword [esp + 0x70]
fstp dword [esp + 0x78]
mov ecx, dword [esp + 0x78]
fld dword [edi + 0x14]
mov dword [esp + 0x5c], edx
fstp dword [esp + 0x7c]
mov edx, dword [esp + 0x7c]
fld dword [esi + 0x24]
mov dword [esp + 0x64], ecx
fstp dword [esp + 0x4c]
mov dword [esp + 0x68], edx
fld dword [esi + 0x20]
mov dword [esp + 0x6c], eax
fstp dword [esp + 0x48]
fld dword [esi + 0x28]
fstp dword [esp + 0x50]
fld dword [esi + 0x2c]
fstp dword [esp + 0x54]
call fcn.10065c10
test al, al
je 0x1002c014
lea eax, [esp + 0x48]
lea ecx, [esp + 0x5c]
call fcn.10023f00
jmp 0x1002c044
fld dword [esp + 0x48]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [esp + 0x5c]
fstp dword [esp + 8]
fld dword [esp + 0x80]
fstp dword [esp + 4]
fld dword [esp + 0x84]
fstp dword [esp]
call fcn.10017880
add esp, 0x10
fst qword [esp + 0x3c]
fld qword [0x1008b798]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1002cd1a
push esi
fstp st(0)
call fcn.10004080
mov dword [ebp + 0x38], 0
fld dword [esp + 0x5c]
sub esp, 0x10
fsub dword [esp + 0x58]
fstp qword [esp + 8]
fld dword [esp + 0x70]
fsub dword [esp + 0x5c]
fstp qword [esp]
call fcn.10059120
fstp dword [esp + 0x40]
add esp, 4
fld dword [0x1008b71c]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x3c]
fstp dword [esp]
call fcn.10022b80
add esp, 0xc
test eax, eax
jne 0x1002c0c2
fld dword [esp + 0x30]
push ecx
fstp dword [esp]
call fcn.10022bd0
push 0x19
call fcn.1004b2a0
test eax, eax
je 0x1002c0e7
mov edx, dword [esi]
mov eax, dword [edx + 0x54]
push 0x19
mov ecx, esi
call eax
test eax, eax
jle 0x1002c0e7
mov edx, dword [esi]
mov eax, dword [edx + 0x64]
push 0x19
mov ecx, esi
call eax
push 0x1a
call fcn.1004b2a0
test eax, eax
je 0x1002c10c
mov edx, dword [esi]
mov eax, dword [edx + 0x54]
push 0x1a
mov ecx, esi
call eax
test eax, eax
jle 0x1002c10c
mov edx, dword [esi]
mov eax, dword [edx + 0x64]
push 0x1a
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
fld qword [0x1008b758]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 1
jne 0x1002cd83
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x1f4
jbe 0x1002cd83
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008999c
call fcn.10001a30
lea edx, [esp + 0x38]
lea ebx, [ebp + 0x68]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 0
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1002c1ea
mov eax, esi
cmp dword [eax + 0x14], 0
jne 0x1002c1ea
mov ecx, esi
mov esi, dword [ecx]
call fcn.10064990
test eax, eax
je 0x1002c1ea
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov edi, dword [edx]
mov eax, esi
call fcn.1004a950
test eax, eax
jne 0x1002c1ea
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
push edx
mov ecx, esi
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002cd83
fld qword [0x1008b730]
fld qword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x1002c2a8
fcomp qword [0x1008b7f0]
fnstsw ax
test ah, 1
jne 0x1002c2aa
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x100899a4
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 1
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002c2aa
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002c2aa
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002c2aa
cmp dword [edi + 0x14], eax
jne 0x1002c2aa
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov edx, dword [edi]
mov eax, dword [eax + 0x14]
push edx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002cd83
fstp st(0)
mov eax, dword [esp + 0x2c]
call fcn.100040a0
cmp eax, 0x3c
jae 0x1002c444
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x10089904
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 2
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002c338
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002c338
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002c338
cmp dword [edi + 0x14], eax
je 0x1002c28c
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x100899b0
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 3
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002c3b4
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002c3b4
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002c3b4
cmp dword [edi + 0x14], eax
je 0x1002c28c
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x100899bc
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 4
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002c444
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002c444
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002c444
cmp dword [edi + 0x14], eax
jne 0x1002c444
mov ecx, dword [esp + 0x2c]
mov eax, 0xcccccccd
mul dword [ecx + 0x3c]
shr edx, 3
cmp edx, 0x3c
ja 0x1002c4d2
mov eax, dword [esp + 0x2c]
call fcn.100040a0
cmp eax, 0x1e
ja 0x1002c4ea
lea eax, [esp + 0x38]
push eax
mov ecx, str.LN_KQKN
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
mov ecx, ebx
mov dword [esp + 0xc4], 5
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002c4ea
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002c4ea
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002c4ea
cmp dword [edi + 0x14], eax
jne 0x1002c4ea
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [edi]
mov edx, dword [edx + 0x14]
push eax
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002cd83
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x428], 0
je 0x1002c5cf
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x10089928
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 6
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1002c5cf
mov eax, esi
mov edi, dword [eax]
mov eax, dword [esp + 0x34]
call fcn.1005a6a0
test eax, eax
jne 0x1002c5cf
mov ecx, esi
mov esi, dword [ecx]
call fcn.10064990
test eax, eax
je 0x1002c5cf
mov eax, dword [esp + 0x30]
call fcn.1002a6c0
test eax, eax
jne 0x1002c5cf
mov edx, dword [esp + 0x30]
cmp dword [edx + 0x14], eax
jne 0x1002c5cf
mov eax, dword [esp + 0x34]
call fcn.10004040
cmp eax, 0x64
jne 0x1002c5cf
mov eax, dword [esp + 0x34]
mov edi, 0x18fd3
call fcn.1005a6a0
test eax, eax
jne 0x1002c5cf
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov eax, dword [ecx]
mov edx, dword [edx]
mov eax, dword [eax + 0x14]
push edx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002cd83
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x10085f40
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 7
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002c64b
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002c64b
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002c64b
cmp dword [edi + 0x14], eax
je 0x1002c28c
fld qword [0x1008b798]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 1
jne 0x1002cd83
mov eax, dword [esp + 0x2c]
call fcn.100040a0
cmp eax, 0x50
jae 0x1002c797
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008990c
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 8
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002c6ef
cmp dword [edi + 0x14], 0
jne 0x1002c6ef
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002c6ef
mov esi, dword [edi]
call fcn.10064990
test eax, eax
jne 0x1002c28c
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x10089914
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 9
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002c797
cmp dword [edi + 0x14], 0
jne 0x1002c797
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002c797
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002c797
fld dword [esp + 0x50]
mov eax, dword [edi]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x54]
fstp dword [esp + 4]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.1004e720
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002cd83
mov eax, dword [esp + 0x34]
cmp dword [eax + 0x6c], 0
je 0x1002c81e
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x100899d4
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 0xa
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002c81e
cmp dword [edi + 0x14], 0
jne 0x1002c81e
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002c81e
mov esi, dword [edi]
call fcn.10064990
test eax, eax
jne 0x1002c28c
push 7
mov eax, ebp
call fcn.10004c90
cmp eax, 1
jle 0x1002ca4e
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x10089948
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 0xb
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002c8ad
cmp dword [edi + 0x14], 0
jne 0x1002c8ad
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002c8ad
mov esi, dword [edi]
call fcn.10064990
test eax, eax
jne 0x1002c28c
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x100899e0
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 0xc
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002c92a
cmp dword [edi + 0x14], 0
jne 0x1002c92a
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002c92a
mov esi, dword [edi]
call fcn.10064990
test eax, eax
jne 0x1002c28c
lea ecx, [esp + 0x38]
push ecx
mov ecx, str.jkb
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 0xd
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1002c9be
mov eax, esi
cmp dword [eax + 0x14], 0
jne 0x1002c9be
call fcn.1002a6c0
test eax, eax
jne 0x1002c9be
mov eax, dword [esp + 0x34]
mov ecx, esi
mov edi, dword [ecx]
call fcn.1005a6a0
test eax, eax
jne 0x1002c9be
mov edi, esi
mov esi, dword [edi]
call fcn.10064990
test eax, eax
jne 0x1002c4ce
lea eax, [esp + 0x38]
push eax
mov ecx, 0x100899f4
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
mov ecx, ebx
mov dword [esp + 0xc4], 0xe
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002ca4e
cmp dword [edi + 0x14], 0
jne 0x1002ca4e
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002ca4e
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002ca4e
mov ecx, dword [esp + 0x2c]
mov edi, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push edi
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x100899fc
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 0xf
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002cade
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002cade
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002cade
cmp dword [edi + 0x14], eax
jne 0x1002cade
mov ecx, dword [esp + 0x2c]
mov eax, 0xcccccccd
mul dword [ecx + 0x3c]
shr edx, 3
cmp edx, 0x1e
jae 0x1002c290
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x10089a04
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 0x10
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002cb6e
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002cb6e
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002cb6e
cmp dword [edi + 0x14], eax
jne 0x1002cb6e
mov ecx, dword [esp + 0x2c]
mov eax, 0xcccccccd
mul dword [ecx + 0x3c]
shr edx, 3
cmp edx, 0x1e
jae 0x1002c290
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x10089a0c
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0xc4], 0x11
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002cbfd
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002cbfd
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002cbfd
cmp dword [edi + 0x14], eax
jne 0x1002cbfd
mov ecx, dword [esp + 0x2c]
mov edi, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push edi
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
lea eax, [esp + 0x38]
push eax
mov ecx, str.rR_O
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
mov ecx, ebx
mov dword [esp + 0xc4], 0x12
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002cc79
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002cc79
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002cc79
cmp dword [edi + 0x14], eax
je 0x1002c4ce
lea eax, [esp + 0x30]
push eax
mov ecx, str.R_e
call fcn.10001a30
lea ecx, [esp + 0x30]
push ecx
mov ecx, ebx
mov dword [esp + 0xc4], 0x13
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x30]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1002cd83
mov eax, dword [esi]
mov ecx, dword [0x1009a210]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x64]
call eax
test eax, eax
jne 0x1002cd83
mov eax, esi
call fcn.1002a6e0
test eax, eax
jne 0x1002cd83
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [esi]
mov edx, dword [edx + 0x14]
push eax
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002cd83
fld dword [esp + 0x74]
lea eax, [ebp + 0x24]
fld dword [esp + 0x4c]
mov ecx, 1
fsubr st(1)
mov edx, 0x211
mov dword [ebp + 0x34], 0x211
mov dword [ebp + 0x38], ecx
fdiv st(2)
fsubp st(1)
fstp dword [ebp + 0x28]
fld dword [esp + 0x70]
fld dword [esp + 0x48]
fsubr st(1)
fdivrp st(2)
fsubrp st(1)
fstp dword [eax]
fld dword [esp + 0x78]
fstp dword [ebp + 0x2c]
call fcn.1004a2f0
cmp eax, 2
jne 0x1002cd77
mov eax, dword [ebp + 0x14]
push eax
mov eax, edi
call fcn.1001ca30
mov eax, ebx
call fcn.10005300
jmp 0x1002cd7c
cmp eax, 1
jne 0x1002cd83
mov dword [ebp + 0x38], 0
mov eax, 1
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 4