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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe40
mov eax, dword [0x100ae8c8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [0x1011aed4]
push esi
push edi
mov dword [ebp - 0xe1c], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
xor esi, esi
test ebx, ebx
jle 0x1005be41
call edi
sub eax, dword [esi*4 + 0x10119d40]
cmp eax, 0x7d0
jbe 0x1005be36
mov eax, dword [esi*4 + 0x10119570]
push eax
call fcn.100376a0
add esp, 4
test al, al
je 0x1005be68
mov ebx, dword [0x1011aed4]
inc esi
cmp esi, ebx
jl 0x1005be12
mov ecx, dword [0x362e260]
mov eax, dword [0x362e25c]
mov edi, dword [0x361f6dc]
mov dword [ebp - 0xe3c], edi
mov dword [ebp - 0xe40], ecx
cmp eax, ecx
je 0x1005c52a
jmp 0x1005bed8
mov ebx, dword [0x1011aed4]
mov ecx, ebx
sub ecx, esi
dec ecx
xor edi, edi
test ecx, ecx
jle 0x1005bec6
lea ecx, [esi + 0x1011a510]
lea eax, [esi*4 + 0x10119570]
jmp 0x1005be90
mov edx, dword [eax + 4]
mov dword [eax], edx
mov edx, dword [eax + 0x7d4]
mov dword [eax + 0x7d0], edx
mov dl, byte [ecx + 1]
mov byte [ecx], dl
mov edx, dword [eax + 0x1198]
mov dword [eax + 0x1194], edx
mov ebx, dword [0x1011aed4]
mov edx, ebx
sub edx, esi
inc edi
dec edx
add eax, 4
inc ecx
cmp edi, edx
jl 0x1005be90
dec ebx
mov dword [0x1011aed4], ebx
jmp 0x1005be06
mov edi, dword [ebp - 0xe3c]
mov esi, dword [eax]
fld dword [esi]
add eax, 4
mov dword [ebp - 0xe38], eax
mov eax, dword [esi + 0x20]
mov ebx, 1
mov dword [ebp - 0xe2c], esi
mov dword [ebp - 0xe34], eax
call fcn.10085e30
fld dword [esi + 8]
mov dword [ebp - 0xe20], eax
call fcn.10085e30
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0xe24], eax
mov dword [ebp - 0xe28], ecx
cmp dword [0x101956dc], ebx
jne 0x1005bf66
fild dword [0x1012d3c4]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x1012d3c0]
fstp dword [esp + 8]
fild dword [ebp - 0xe24]
fstp dword [esp + 4]
fild dword [ebp - 0xe20]
fstp dword [esp]
call fcn.100081f0
fcomp dword [0x100a00a0]
add esp, 0x10
fnstsw ax
test ah, 5
jnp 0x1005c512
fild dword [ebp - 0xe24]
sub esp, 0x10
fstp dword [ebp - 0xe18]
fild dword [ebp - 0xe20]
fstp dword [ebp - 0xe30]
fild dword [0x100ae390]
fstp dword [esp + 0xc]
fild dword [0x100ae38c]
fstp dword [esp + 8]
fld dword [ebp - 0xe18]
fstp dword [esp + 4]
fld dword [ebp - 0xe30]
fstp dword [esp]
call fcn.100081f0
fcomp dword [0x100a00a0]
add esp, 0x10
fnstsw ax
test ah, 5
jnp 0x1005c512
fld dword [ebp - 0xe18]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [ebp - 0xe30]
fstp dword [esp + 8]
fld dword [edi + 0x1f6c]
fstp dword [esp + 4]
fld dword [edi + 0x1f64]
fstp dword [esp]
call fcn.100081f0
add esp, 0x10
call fcn.10085e30
mov dword [ebp - 0xe18], eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1005c512
lea edx, [ebp - 0xcc]
push edx
push eax
call fcn.1004a950
add esp, 8
cmp dword [0x1019588c], ebx
jne 0x1005c3fc
mov ecx, 0x10094454
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c050
test dl, dl
je 0x1005c04c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c050
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c030
xor eax, eax
jmp 0x1005c055
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c3b6
mov ecx, 0x1009444c
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c088
test dl, dl
je 0x1005c084
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c088
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c068
xor eax, eax
jmp 0x1005c08d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c3b6
mov ecx, 0x10094440
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c0c0
test dl, dl
je 0x1005c0bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c0c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c0a0
xor eax, eax
jmp 0x1005c0c5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c3b6
mov ecx, 0x10094434
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c0f8
test dl, dl
je 0x1005c0f4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c0f8
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c0d8
xor eax, eax
jmp 0x1005c0fd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c3b6
mov ecx, 0x10097be0
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c130
test dl, dl
je 0x1005c12c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c130
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c110
xor eax, eax
jmp 0x1005c135
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c3b6
mov ecx, 0x10097bd8
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c168
test dl, dl
je 0x1005c164
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c168
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c148
xor eax, eax
jmp 0x1005c16d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c3b6
mov ecx, 0x10094420
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c1a0
test dl, dl
je 0x1005c19c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c1a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c180
xor eax, eax
jmp 0x1005c1a5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c3b6
mov ecx, 0x10094414
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c1d8
test dl, dl
je 0x1005c1d4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c1d8
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c1b8
xor eax, eax
jmp 0x1005c1dd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c3b6
mov ecx, 0x10097bc4
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c210
test dl, dl
je 0x1005c20c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c210
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c1f0
xor eax, eax
jmp 0x1005c215
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c3b6
mov ecx, 0x10097bb8
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c248
test dl, dl
je 0x1005c244
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c248
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c228
xor eax, eax
jmp 0x1005c24d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c3b6
mov ecx, 0x10094400
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c280
test dl, dl
je 0x1005c27c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c280
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c260
xor eax, eax
jmp 0x1005c285
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c3b6
mov ecx, 0x100943f4
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c2b8
test dl, dl
je 0x1005c2b4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c2b8
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c298
xor eax, eax
jmp 0x1005c2bd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c3b6
mov ecx, 0x1009e2dc
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c2f0
test dl, dl
je 0x1005c2ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c2f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c2d0
xor eax, eax
jmp 0x1005c2f5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c39e
mov ecx, 0x1009e2d0
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c328
test dl, dl
je 0x1005c324
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c328
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c308
xor eax, eax
jmp 0x1005c32d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005c39e
mov ecx, 0x10097bd0
lea eax, [ebp - 0xcc]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c360
test dl, dl
je 0x1005c35c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c360
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c340
xor eax, eax
jmp 0x1005c365
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1005c3fc
mov ecx, dword [ebp - 0xe28]
mov eax, 0x14f8b589
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x186a0
sub ecx, eax
push ecx
call fcn.100360a0
add esp, 4
test al, al
jne 0x1005c3fc
jmp 0x1005c512
mov ecx, dword [ebp - 0xe28]
push ecx
lea edx, [ebp - 0xcc]
push edx
call fcn.10049d20
add esp, 8
jmp 0x1005c3f4
mov ecx, dword [ebp - 0xe28]
mov eax, 0x14f8b589
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
push ecx
lea ecx, [ebp - 0xcc]
push ecx
call fcn.10036000
add esp, 0xc
test al, al
je 0x1005c512
xor ebx, ebx
xor edi, edi
xor esi, esi
cmp dword [0x1011aed4], ebx
jle 0x1005c470
lea ebx, [ebx]
mov edx, dword [ebp - 0xe34]
cmp dword [esi*4 + 0x10119570], edx
jne 0x1005c459
cmp dword [esi*4 + 0x1011a704], 2
jge 0x1005c46b
cmp byte [esi + 0x1011a510], bl
jne 0x1005c445
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi*4 + 0x10119d40]
cmp eax, 0x1388
jae 0x1005c464
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi*4 + 0x10119d40]
cmp eax, 0xea60
jb 0x1005c46b
inc esi
cmp esi, dword [0x1011aed4]
jl 0x1005c410
jmp 0x1005c470
xor ebx, ebx
lea edi, [ebx + 1]
jmp 0x1005c470
mov ebx, 1
mov eax, dword [ebp + 8]
cmp dword [ebp - 0xe18], eax
jge 0x1005c512
test ebx, ebx
jne 0x1005c512
cmp dword [0x101956c4], 1
jne 0x1005c4d8
lea ecx, [ebp - 0xcc]
push ecx
call fcn.10036b30
add esp, 4
cmp al, 1
je 0x1005c512
mov eax, dword [ebp - 0xe1c]
mov edx, dword [ebp - 0xe2c]
mov ecx, dword [ebp - 0xe18]
cmp edi, 1
mov dword [ebp + eax*4 - 0x4b4], edx
sete dl
mov dword [ebp + eax*4 - 0x7d4], ecx
mov ecx, dword [ebp - 0xe24]
mov byte [ebp + eax - 0x194], dl
jmp 0x1005c50b
mov eax, dword [ebp - 0xe1c]
mov ecx, dword [ebp - 0xe2c]
mov edx, dword [ebp - 0xe18]
mov dword [ebp + eax*4 - 0x4b4], ecx
mov ecx, dword [ebp - 0xe20]
cmp edi, 1
sete cl
mov dword [ebp + eax*4 - 0x7d4], edx
mov byte [ebp + eax - 0x194], cl
inc eax
mov dword [ebp - 0xe1c], eax
mov eax, dword [ebp - 0xe38]
cmp eax, dword [ebp - 0xe40]
jne 0x1005bed2
mov ebx, dword [0x1011aed4]
mov edi, dword [ebp - 0xe1c]
xor eax, eax
test edi, edi
jle 0x1005c553
mov cl, byte [ebp + edi - 0x194]
lea ecx, [ecx]
test cl, cl
je 0x1005c54b
inc eax
cmp eax, edi
jl 0x1005c540
jmp 0x1005c553
mov eax, edi
lea ecx, [ecx]
dec eax
jne 0x1005c550
xor esi, esi
xor eax, eax
mov edx, 0x1869f
test edi, edi
jle 0x1005c5d6
mov ecx, dword [ebp + eax*4 - 0x7d4]
cmp ecx, edx
jge 0x1005c574
mov esi, dword [ebp + eax*4 - 0x4b4]
mov edx, ecx
inc eax
cmp eax, edi
jl 0x1005c560
test esi, esi
jle 0x1005c5d4
xor eax, eax
test ebx, ebx
jle 0x1005c594
mov ecx, dword [esi + 0x20]
cmp dword [eax*4 + 0x10119570], ecx
je 0x1005c5e7
inc eax
cmp eax, ebx
jl 0x1005c586
mov edx, dword [esi + 0x20]
mov dword [ebx*4 + 0x10119570], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x1011aed4]
mov dword [ecx*4 + 0x10119d40], eax
mov edx, dword [0x1011aed4]
mov byte [edx + 0x1011a510], 1
mov eax, dword [0x1011aed4]
mov dword [eax*4 + 0x1011a704], 0
inc dword [0x1011aed4]
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10085dc6
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
mov byte [eax + 0x1011a510], 1
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.10085dc6
mov esp, ebp
pop ebp
ret