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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x100ae8c8]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
push esi
mov esi, dword [0x2fb7ac4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
cmp esi, eax
je 0x1005f845
push ebx
push edi
call fcn.10049d80
mov ebx, dword [esi + 0x1d20]
push 0xd71444
push ebx
mov dword [ebp - 0x38], ebx
call fcn.10006fa0
mov edi, eax
add esp, 8
test edi, edi
je 0x1005f40b
cmp dword [edi + 0x3b0], 0x270f
jg 0x1005f3cd
push 0xffff
call fcn.1006e730
add esp, 4
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100867e6
mov esp, ebp
pop ebp
ret 0x10
push edi
call fcn.1003da20
mov eax, dword [edi]
mov ecx, dword [edi + 0x3c0]
mov ebx, dword [edi + 0x10a4]
fld dword [ebx + 0x280]
add esp, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
call fcn.10086850
fld dword [ebx + 0x288]
mov dword [ebp - 0x28], eax
call fcn.10086850
mov ebx, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
jmp 0x1005f433
cmp dword [0x1019e5d8], 0
je 0x1005f433
cmp byte [0x1012d412], 1
jne 0x1005f433
push 0xd740a0
push ebx
call fcn.10006fa0
add esp, 8
test eax, eax
jne 0x1005f843
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x101b8d0c]
cmp eax, 0x7530
jb 0x1005f535
cmp dword [0x101956d0], 1
jne 0x1005f535
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x101956d4]
push edx
mov dword [0x101b8d0c], eax
call fcn.1005c5f0
add esp, 4
mov dword [0x101b8964], eax
test eax, eax
je 0x1005f535
mov eax, dword [0x101a46e8]
mov ecx, dword [0x100eaf2c]
add eax, 0x45
push eax
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
mov esi, dword [0x101b8964]
fld dword [esi]
call fcn.10086850
mov dword [0x101b8968], eax
fld dword [esi + 8]
call fcn.10086850
mov ecx, dword [0x100eaf2c]
mov dword [0x101b896c], eax
mov eax, dword [0x101a46e8]
mov edx, dword [esi + 0x20]
push fcn.1005ce30
push 0x12c
add eax, 0x46
push eax
push ecx
mov dword [0x101b8970], edx
call dword [sym.imp.USER32.dll_SetTimer]
push 0
push 0
push 0
push 0
mov dword [0x1011d1ac], 0
mov dword [0x1011cd2c], 1
mov byte [0x1012d40c], 0
mov byte [0x1012d40d], 0
mov dword [0x1011cd68], 4
call fcn.1005ce30
push 0x100a0670
call fcn.10008130
add esp, 4
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100867e6
mov esp, ebp
pop ebp
ret 0x10
cmp dword [0x101919ec], 1
mov dword [0x1012d3c8], 0xffffffff
jne 0x1005f61b
fld dword [0x1012d2ac]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [0x1012d2a8]
fstp dword [esp + 8]
fld dword [esi + 0x1f68]
fstp dword [esp + 4]
fld dword [esi + 0x1f60]
fstp dword [esp]
call fcn.10008290
fcomp qword [0x100a0668]
add esp, 0x10
fnstsw ax
test ah, 0x41
jne 0x1005f61b
mov dword [esi + 0x1d20], 0xffff
mov edx, dword [0x101a46e8]
mov eax, dword [0x100eaf2c]
add edx, 0x45
push edx
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, dword [0x101a46e8]
mov edx, dword [0x100eaf2c]
push 0x1003e8a0
push 0x12c
add ecx, 0x4d
push ecx
push edx
call dword [sym.imp.USER32.dll_SetTimer]
fld dword [0x1012d2ac]
sub esp, 0xc
fstp dword [esp + 8]
mov dword [0x1011d1ac], 0
fldz
mov dword [0x1011cd2c], 1
fstp dword [esp + 4]
fld dword [0x1012d2a8]
fstp dword [esp]
call fcn.10038220
add esp, 0xc
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100867e6
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [0x1012d264]
push eax
call fcn.1003e9b0
mov ecx, dword [0x101919e8]
inc ecx
add esp, 4
cmp eax, ecx
jge 0x1005f668
mov edx, dword [0x101a46e8]
mov eax, dword [0x100eaf2c]
add edx, 0x45
push edx
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, dword [0x101a46e8]
mov edx, dword [0x100eaf2c]
push 0x1005da50
push 0xa
add ecx, 0x46
push ecx
push edx
call dword [sym.imp.USER32.dll_SetTimer]
fild dword [ebp - 0x2c]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [ebp - 0x28]
fstp dword [esp + 8]
fld dword [esi + 0x1f68]
fstp dword [esp + 4]
fld dword [esi + 0x1f60]
fstp dword [esp]
call fcn.10008290
add esp, 0x10
call fcn.10086850
cmp dword [ebp - 0x30], 1
je 0x1005f77a
cmp ebx, 0xffff
je 0x1005f77a
cmp eax, 0x1e
jg 0x1005f77a
test edi, edi
je 0x1005f77a
mov esi, dword [esi + 0x2a50]
cmp esi, 8
je 0x1005f6d5
cmp esi, 9
je 0x1005f6d5
cmp esi, 0xb
jne 0x1005f743
mov ecx, 0x101a20fc
xor edi, edi
call fcn.10001240
test eax, eax
jle 0x1005f743
xor esi, esi
lea eax, [ebp - 0x24]
push eax
push esi
call fcn.10006c40
mov ecx, dword [0x101a20fc]
mov ecx, dword [ecx + edi*4]
add esp, 8
lea eax, [ebp - 0x24]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005f720
test dl, dl
je 0x1005f71c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005f720
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005f700
xor eax, eax
jmp 0x1005f725
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1005f72e
cmp dword [ebp - 0xc], eax
je 0x1005f764
inc esi
cmp esi, 0x14
jl 0x1005f6e7
mov ecx, 0x101a20fc
inc edi
call fcn.10001240
cmp edi, eax
jl 0x1005f6e5
mov edx, dword [0x10192e80]
dec edx
push 0
push edx
call fcn.10038420
add esp, 8
mov dword [0x100ae394], 0xffffffff
jmp 0x1005f81f
push 0xb
push esi
call fcn.10038420
add esp, 8
mov dword [0x100ae394], esi
jmp 0x1005f81f
xor ebx, ebx
lea esp, [esp]
mov eax, dword [ebx*4 + 0x1012d2d8]
test eax, eax
jle 0x1005f7f8
push 0xd71444
push eax
call fcn.10006fa0
add esp, 8
test eax, eax
je 0x1005f7f8
mov edi, dword [eax + 0x10a4]
fld dword [edi + 0x280]
call fcn.10086850
fld dword [edi + 0x288]
mov dword [ebp - 0x28], eax
call fcn.10086850
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x2c]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [ebp - 0x28]
fstp dword [esp + 8]
fld dword [esi + 0x1f68]
fstp dword [esp + 4]
fld dword [esi + 0x1f60]
fstp dword [esp]
call fcn.10008290
fcomp qword [0x100a0660]
add esp, 0x10
fnstsw ax
test ah, 5
jnp 0x1005f800
inc ebx
cmp ebx, 0x1e
jl 0x1005f780
jmp 0x1005f81f
mov eax, dword [ebx*4 + 0x1012d2d8]
push eax
call fcn.10038790
mov ecx, dword [0x10192e80]
dec ecx
push 0
push ecx
call fcn.10038420
add esp, 0xc
cmp dword [0x10191860], 1
jne 0x1005f843
cmp dword [ebp - 0x34], 0xd71444
jne 0x1005f843
mov byte [0x1012d401], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1012d268], eax
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.100867e6
mov esp, ebp
pop ebp
ret 0x10