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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x1007fec7
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 0x1002a863
xor eax, eax
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x80], eax
jmp 0x1002bb73
mov ebx, dword [eax + 0x59774]
push eax
call fcn.1001be00
push ebp
call fcn.10004230
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x597b0]
test eax, eax
ja 0x1002a8bd
mov ecx, dword [0x1009a210]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
mov dword [ebx + 0xfc], 0
mov eax, dword [ebp + 0x14]
add eax, 0x597e8
lea ebx, [esp + 0x38]
mov dword [esp + 0x38], 2
call fcn.100053d0
mov dword [eax], 0
jmp 0x1002bb67
mov eax, ebp
call fcn.10001990
cmp dword [ebx + 0xa4], 0
jne 0x1002bb6e
cmp dword [ebx + 0xa8], 0
jne 0x1002bb6e
mov eax, dword [ebp + 0x14]
add eax, 0x597a8
cmp dword [eax + 8], 0
mov dword [esp + 0x30], eax
jne 0x1002a8fb
push ebx
call fcn.10004080
jmp 0x1002bb6e
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 [ebx + 0x24]
fstp dword [esp + 0x4c]
fld dword [ebx + 0x20]
fstp dword [esp + 0x48]
fld dword [ebx + 0x28]
fstp dword [esp + 0x50]
fld dword [ebx + 0x2c]
fstp dword [esp + 0x54]
call fcn.10023f00
fst qword [esp + 0x3c]
fcomp qword [0x1008b750]
fnstsw ax
test ah, 5
jp 0x1002a9f7
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 + 0x48]
add esp, 4
fld dword [0x1008b71c]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.10022b80
add esp, 0xc
test eax, eax
jne 0x1002a9c3
push ebx
call fcn.10004080
fld dword [esp + 0x38]
push ecx
fstp dword [esp]
call fcn.10022bd0
mov edi, esi
call fcn.10004d90
test eax, eax
jne 0x1002a9f7
mov eax, edi
call fcn.10004040
cmp eax, 0x64
jne 0x1002bb6e
mov eax, dword [esp + 0x30]
call fcn.10005300
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, edi
call fcn.1001ca30
jmp 0x1002bb6e
call fcn.10064a60
test eax, eax
je 0x1002aa29
mov eax, esi
call fcn.10003fe0
test eax, eax
jne 0x1002aa29
mov al, 0
mov ecx, dword [0x1009a43c]
mov byte [ecx], al
mov edx, dword [ebp + 0x14]
push edx
mov eax, esi
call fcn.1001ca30
mov eax, dword [esp + 0x30]
call fcn.10005300
call fcn.10065520
test eax, eax
mov edx, 1
je 0x1002aa44
mov al, 0
mov ecx, dword [0x1009a43c]
mov byte [ecx], al
add dword [ebp + 0x78], edx
cmp dword [ebp + 0x78], edx
jle 0x1002aa55
call fcn.1002a700
mov dword [ebp + 0x78], 0
cmp dword [ebp + 0x38], 0
mov edi, 0x211
jne 0x1002aa7c
fld dword [ebx + 0x24]
fstp dword [ebp + 0x28]
fld dword [ebx + 0x20]
fstp dword [ebp + 0x24]
fld dword [ebx + 0x28]
fstp dword [ebp + 0x2c]
mov dword [ebp + 0x34], edi
mov dword [ebp + 0x38], 1
mov ecx, dword [esi + 0x64]
mov eax, dword [esi + 0x60]
push ecx
push eax
mov eax, ebx
call fcn.100040c0
test eax, eax
je 0x1002ab8d
fld qword [0x1008b758]
fld qword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1002aaed
fld dword [esp + 0x60]
mov dword [ebp + 0x34], edi
fld dword [esp + 0x4c]
mov dword [ebp + 0x38], 1
fsubr st(1)
fld qword [0x1008b818]
fmul st(1), st(0)
fxch st(1)
fdiv st(3)
fsubp st(2)
fxch st(1)
fstp dword [ebp + 0x28]
fld dword [esp + 0x5c]
fld dword [esp + 0x48]
fsubr st(1)
fmulp st(2)
fxch st(1)
fdivrp st(2)
fsubrp st(1)
fstp dword [ebp + 0x24]
fld dword [esp + 0x64]
fstp dword [ebp + 0x2c]
jmp 0x1002aaef
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 + 0x48]
add esp, 4
fld dword [0x1008b7e8]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.10022b80
add esp, 0xc
test eax, eax
jne 0x1002ab4d
push ebx
call fcn.10004080
fld dword [esp + 0x38]
push ecx
fstp dword [esp]
call fcn.10022bd0
mov edx, dword [ebp + 0x34]
lea eax, [ebp + 0x24]
mov ecx, 2
mov esi, ebx
call fcn.1004a2f0
cmp eax, 2
jne 0x1002ab7f
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x38]
call fcn.1001ca30
mov eax, dword [esp + 0x30]
call fcn.10005300
jmp 0x1002ac14
cmp eax, 1
jne 0x1002ac1b
jmp 0x1002ac14
fld dword [esi + 0xc]
fstp dword [esp + 0x74]
mov edx, dword [esp + 0x74]
fld dword [esi + 8]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x80]
fstp dword [esp + 0x70]
fld dword [esi + 0x10]
mov ecx, dword [esp + 0x70]
fstp dword [esp + 0x78]
mov eax, dword [esp + 0x78]
fld dword [esi + 0x14]
mov dword [esp + 0x5c], ecx
fstp dword [esp + 0x7c]
mov ecx, dword [esp + 0x7c]
fld dword [ebx + 0x24]
mov dword [esp + 0x64], eax
fstp dword [esp + 0x4c]
mov dword [esp + 0x68], ecx
fld dword [ebx + 0x20]
lea eax, [esp + 0x48]
fstp dword [esp + 0x48]
lea ecx, [esp + 0x5c]
fld dword [ebx + 0x28]
mov dword [esp + 0x6c], edx
fstp dword [esp + 0x50]
fld dword [ebx + 0x2c]
fstp dword [esp + 0x54]
call fcn.10023f00
fcomp qword [0x1008b758]
fnstsw ax
test ah, 0x41
jp 0x1002bb00
push ebx
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 + 0x48]
add esp, 4
fld dword [0x1008b71c]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.10022b80
add esp, 0xc
test eax, eax
jne 0x1002ac73
fld dword [esp + 0x38]
push ecx
fstp dword [esp]
call fcn.10022bd0
push 0x11
call fcn.1004b2a0
test eax, eax
je 0x1002acae
mov eax, dword [ebp + 0x14]
mov edx, dword [ebx]
add eax, 0x18
push eax
mov eax, dword [edx + 0x38]
mov ecx, ebx
call eax
test eax, eax
je 0x1002acae
mov edx, dword [ebx]
mov eax, dword [edx + 0x4c]
mov ecx, ebx
call eax
test eax, eax
jle 0x1002acae
cmp byte [ebp + 0x74], 0
jne 0x1002acae
mov edx, dword [ebx]
mov eax, dword [edx + 0x58]
mov ecx, ebx
call eax
push 0x12
call fcn.1004b2a0
test eax, eax
je 0x1002ace9
mov eax, dword [ebp + 0x14]
mov edx, dword [ebx]
add eax, 0x18
push eax
mov eax, dword [edx + 0x3c]
mov ecx, ebx
call eax
test eax, eax
je 0x1002ace9
mov edx, dword [ebx]
mov eax, dword [edx + 0x50]
mov ecx, ebx
call eax
test eax, eax
jle 0x1002ace9
cmp byte [ebp + 0x74], 0
jne 0x1002ace9
mov edx, dword [ebx]
mov eax, dword [edx + 0x5c]
mov ecx, ebx
call eax
push 0x19
call fcn.1004b2a0
test eax, eax
je 0x1002ad14
mov edx, dword [ebx]
mov eax, dword [edx + 0x54]
push 0x19
mov ecx, ebx
call eax
test eax, eax
jle 0x1002ad14
cmp byte [ebp + 0x74], 0
jne 0x1002ad14
mov edx, dword [ebx]
mov eax, dword [edx + 0x64]
push 0x19
mov ecx, ebx
call eax
push 0x1a
call fcn.1004b2a0
test eax, eax
je 0x1002ad3f
mov edx, dword [ebx]
mov eax, dword [edx + 0x54]
push 0x1a
mov ecx, ebx
call eax
test eax, eax
jle 0x1002ad3f
cmp byte [ebp + 0x74], 0
jne 0x1002ad3f
mov edx, dword [ebx]
mov eax, dword [edx + 0x64]
push 0x1a
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 8]
mov ecx, ebx
call eax
fld qword [0x1008b750]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 1
jne 0x1002bb6e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x1f4
jbe 0x1002bb6e
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x100898d8
call fcn.10001a30
lea edx, [esp + 0x38]
lea edi, [ebp + 0x68]
push edx
mov ecx, edi
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 0x1002ae29
cmp dword [esi + 0x14], 0
jne 0x1002ae29
mov eax, esi
call fcn.1002a6c0
test eax, eax
jne 0x1002ae29
mov eax, esi
mov esi, dword [eax]
call fcn.10064990
test eax, eax
je 0x1002ae29
mov eax, ebx
call fcn.1002a730
cmp eax, 0x14
jbe 0x1002ae29
mov eax, ebx
call fcn.100040a0
cmp eax, 0x50
jae 0x1002ae29
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebx]
mov edx, dword [edx + 0x14]
mov ecx, ebx
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002bb6e
mov eax, ebx
call fcn.100040a0
cmp eax, 0x28
jae 0x1002af80
lea eax, [esp + 0x38]
push eax
mov ecx, 0x100898e4
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
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 esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1002aed6
cmp dword [esi + 0x14], 0
jne 0x1002aed6
mov eax, esi
call fcn.1002a6c0
test eax, eax
jne 0x1002aed6
mov edx, esi
mov esi, dword [edx]
call fcn.10064990
test eax, eax
je 0x1002aed6
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
push edx
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002bb6e
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x100898f0
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, edi
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 esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1002af80
cmp dword [esi + 0x14], 0
jne 0x1002af80
mov eax, esi
call fcn.1002a6c0
test eax, eax
jne 0x1002af80
mov esi, dword [esi]
call fcn.10064990
test eax, eax
je 0x1002af80
mov eax, ebx
call fcn.1002a730
cmp eax, 0x14
jbe 0x1002af80
mov eax, ebx
call fcn.100040a0
cmp eax, 0x28
jae 0x1002af80
mov eax, dword [esp + 0x30]
mov edi, dword [eax]
mov eax, ebx
call fcn.1004a950
test eax, eax
je 0x1002ae0b
lea eax, [esp + 0x38]
push eax
mov ecx, 0x100898f8
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
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 esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1002b012
cmp dword [esi + 0x14], 0
jne 0x1002b012
mov eax, esi
call fcn.1002a6c0
test eax, eax
jne 0x1002b012
mov esi, dword [esi]
call fcn.10064990
test eax, eax
je 0x1002b012
mov edi, 0x2043e
mov eax, ebx
call fcn.1004a950
test eax, eax
jne 0x1002ae0b
mov eax, ebx
call fcn.100040a0
cmp eax, 0x3c
jae 0x1002b0a3
lea eax, [esp + 0x38]
push eax
mov ecx, 0x10089904
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
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 0x1002b0a3
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002b0a3
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002b0a3
cmp dword [edi + 0x14], eax
jne 0x1002b0a3
mov eax, dword [edi]
push eax
jmp 0x1002ae12
mov eax, ebx
call fcn.100040a0
cmp eax, 0x50
ja 0x1002b1da
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008990c
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
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 0x1002b131
cmp dword [edi + 0x14], 0
jne 0x1002b131
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002b131
mov esi, dword [edi]
call fcn.10064990
test eax, eax
jne 0x1002b09b
lea eax, [esp + 0x38]
push eax
mov ecx, 0x10089914
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
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 edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1002b1da
cmp dword [edi + 0x14], 0
jne 0x1002b1da
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002b1da
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002b1da
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 0x1002bb6e
lea edx, [esp + 0x38]
push edx
mov ecx, 0x10089920
call fcn.10001a30
lea eax, [esp + 0x38]
push eax
lea ecx, [ebp + 0x68]
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 esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1002b293
cmp dword [esi + 0x14], 0
jne 0x1002b293
mov eax, esi
call fcn.1002a6c0
test eax, eax
jne 0x1002b293
mov ecx, esi
mov edi, dword [ecx]
mov eax, ebx
call fcn.1004a950
test eax, eax
jne 0x1002b293
mov edx, esi
mov esi, dword [edx]
call fcn.10064990
test eax, eax
je 0x1002b293
mov eax, ebx
call fcn.1002a730
cmp eax, 0x14
jae 0x1002b293
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
push edx
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002bb6e
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x10089928
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
lea ecx, [ebp + 0x68]
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 esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1002b34d
mov eax, esi
mov edi, dword [eax]
mov eax, dword [esp + 0x34]
call fcn.1005a6a0
test eax, eax
jne 0x1002b34d
mov ecx, esi
mov esi, dword [ecx]
call fcn.10064990
test eax, eax
je 0x1002b34d
mov eax, dword [esp + 0x30]
call fcn.1002a6c0
test eax, eax
jne 0x1002b34d
mov edx, dword [esp + 0x30]
cmp dword [edx + 0x14], eax
jne 0x1002b34d
mov eax, dword [esp + 0x34]
call fcn.10004040
cmp eax, 0x64
jne 0x1002b34d
mov eax, dword [esp + 0x34]
mov edi, 0x18fd3
call fcn.1005a6a0
test eax, eax
je 0x1002b275
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0x6c], 0
je 0x1002b3e5
lea edx, [esp + 0x38]
push edx
mov ecx, 0x10089934
call fcn.10001a30
lea eax, [esp + 0x38]
push eax
lea ecx, [ebp + 0x68]
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 0x1002b3e5
cmp dword [edi + 0x14], 0
jne 0x1002b3e5
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002b3e5
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002b3e5
mov eax, ebx
call fcn.1002a730
cmp eax, 0x1e
ja 0x1002b09b
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008993c
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea edi, [ebp + 0x68]
mov ecx, edi
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 esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1002b477
cmp dword [esi + 0x14], 0
jne 0x1002b477
mov eax, esi
call fcn.1002a6c0
test eax, eax
jne 0x1002b477
mov edx, esi
mov esi, dword [edx]
call fcn.10064990
test eax, eax
je 0x1002b477
mov eax, ebx
call fcn.1002a730
cmp eax, 0x1e
ja 0x1002b275
fld qword [0x1008b798]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 1
jne 0x1002b5aa
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x10089948
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, edi
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 esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1002b51b
cmp dword [esi + 0x14], 0
jne 0x1002b51b
mov eax, esi
call fcn.1002a6c0
test eax, eax
jne 0x1002b51b
mov eax, esi
mov esi, dword [eax]
call fcn.10064990
test eax, eax
je 0x1002b51b
mov eax, ebx
call fcn.1002a730
cmp eax, 0x32
ja 0x1002ae0b
lea eax, [esp + 0x38]
push eax
mov ecx, 0x10089954
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
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 esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1002b5aa
cmp dword [esi + 0x14], 0
jne 0x1002b5aa
mov eax, esi
call fcn.1002a6c0
test eax, eax
jne 0x1002b5aa
mov edx, esi
mov esi, dword [edx]
call fcn.10064990
test eax, eax
je 0x1002b5aa
mov eax, ebx
call fcn.1002a730
cmp eax, 0x1e
ja 0x1002b275
lea ecx, [esp + 0x38]
push ecx
mov ecx, str._bgkp_g
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, edi
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 0x1002b64a
cmp dword [esi + 0x14], 0
jne 0x1002b64a
mov eax, esi
call fcn.1002a6c0
test eax, eax
jne 0x1002b64a
mov esi, dword [esi]
call fcn.10064990
test eax, eax
je 0x1002b64a
mov eax, ebx
call fcn.1002a730
cmp eax, 0x14
jbe 0x1002b64a
mov eax, dword [esp + 0x30]
mov edi, dword [eax]
mov eax, dword [esp + 0x34]
call fcn.1005a6a0
test eax, eax
je 0x1002ae0b
lea eax, [esp + 0x38]
push eax
mov ecx, 0x10089964
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0xe
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 0x1002b6eb
cmp dword [esi + 0x14], 0
jne 0x1002b6eb
mov eax, esi
call fcn.1002a6c0
test eax, eax
jne 0x1002b6eb
mov esi, dword [esi]
call fcn.10064990
test eax, eax
je 0x1002b6eb
mov eax, ebx
call fcn.1002a730
cmp eax, 0x14
jbe 0x1002b6eb
mov edx, dword [esp + 0x30]
mov edi, dword [edx]
mov eax, dword [esp + 0x34]
call fcn.1005a6a0
test eax, eax
je 0x1002b275
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008996c
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
lea ecx, [ebp + 0x68]
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 0x1002b78b
cmp dword [edi + 0x14], 0
jne 0x1002b78b
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002b78b
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002b78b
mov eax, ebx
call fcn.1002a730
cmp eax, 0x1e
jbe 0x1002b78b
mov ecx, dword [edi]
mov eax, dword [ebx]
mov edx, dword [eax + 0x14]
push ecx
mov ecx, ebx
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002bb6e
mov edi, 0x16cd8
mov eax, ebx
call fcn.1004a950
test eax, eax
je 0x1002b829
lea eax, [esp + 0x38]
push eax
mov ecx, 0x10089978
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
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 0x1002b829
cmp dword [edi + 0x14], 0
jne 0x1002b829
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002b829
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002b829
mov eax, ebx
call fcn.1002a730
cmp eax, 0x1e
ja 0x1002b09b
mov eax, dword [ebx]
mov edx, dword [eax + 0x80]
mov ecx, ebx
call edx
mov cl, byte [ebp + 0x89]
cmp al, cl
mov byte [ebp + 0x88], al
jle 0x1002b851
mov dword [ebp + 0x84], 1
jmp 0x1002b870
jne 0x1002b866
xor eax, eax
cmp dword [ebp + 0x84], eax
sete al
mov dword [ebp + 0x84], eax
jmp 0x1002b870
mov dword [ebp + 0x84], 0
mov edi, 0xbd85
mov eax, ebx
call fcn.1004a950
test eax, eax
je 0x1002b88a
mov dword [ebp + 0x84], 0
mov edi, 0xbd86
mov eax, ebx
call fcn.1004a950
test eax, eax
je 0x1002b8a4
mov dword [ebp + 0x84], 1
mov cl, byte [ebp + 0x88]
lea edx, [esp + 0x38]
mov byte [ebp + 0x89], cl
push edx
mov ecx, 0x10089980
call fcn.10001a30
lea eax, [esp + 0x38]
push eax
lea ecx, [ebp + 0x68]
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 0x1002b942
cmp dword [edi + 0x14], 0
jne 0x1002b942
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002b942
cmp dword [ebp + 0x84], eax
je 0x1002b942
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002b942
mov eax, ebx
call fcn.1002a730
cmp eax, 0x14
ja 0x1002b09b
lea eax, [esp + 0x38]
push eax
mov ecx, 0x10089988
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
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 0x1002b9d4
cmp dword [edi + 0x14], 0
jne 0x1002b9d4
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002b9d4
cmp dword [ebp + 0x84], eax
jne 0x1002b9d4
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002b9d4
mov eax, ebx
call fcn.1002a730
cmp eax, 0x14
ja 0x1002b09b
lea eax, [esp + 0x38]
push eax
mov ecx, 0x10089988
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x13
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 0x1002ba5e
cmp dword [edi + 0x14], 0
jne 0x1002ba5e
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1002ba5e
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1002ba5e
mov eax, ebx
call fcn.1002a730
cmp eax, 0xa
ja 0x1002b09b
fld qword [0x1008b798]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 1
jne 0x1002bb6e
lea eax, [esp + 0x30]
push eax
mov ecx, str.R_e
call fcn.10001a30
lea ecx, [esp + 0x30]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x14
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 0x1002bb6e
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 0x1002bb6e
mov eax, esi
call fcn.1002a6e0
test eax, eax
jne 0x1002bb6e
mov eax, dword [esi]
push eax
jmp 0x1002ae12
fld dword [esp + 0x74]
lea eax, [ebp + 0x24]
fld dword [esp + 0x4c]
mov ecx, 1
fsubr st(1)
mov edx, edi
fld qword [esp + 0x3c]
mov esi, ebx
mov dword [ebp + 0x34], edi
fdiv st(1), st(0)
mov dword [ebp + 0x38], ecx
fxch st(2)
fsubrp 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 0x1002bb62
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x38]
call fcn.1001ca30
mov eax, dword [esp + 0x30]
call fcn.10005300
jmp 0x1002bb67
cmp eax, 1
jne 0x1002bb6e
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