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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x36dc
call fcn.10083de0
mov eax, dword [0x100a69a0]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x35ed708], 0xa7f9
jne 0x1005996a
mov dword [ebp + 8], 0x3e8
push esi
push edi
xor edi, edi
xor esi, esi
cmp dword [0x10110464], esi
jle 0x100599a6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi*4 + 0x1010f2d0]
cmp eax, 0x7d0
jbe 0x1005999d
push dword [esi*4 + 0x1010eb00]
call fcn.10037d43
pop ecx
test al, al
je 0x100599cd
inc esi
cmp esi, dword [0x10110464]
jl 0x10059978
mov eax, dword [0x36208e4]
mov ecx, dword [0x362f468]
mov dword [ebp - 0x36d8], eax
mov eax, dword [0x362f464]
mov dword [ebp - 0x36dc], ecx
cmp eax, ecx
je 0x10059e83
push ebx
jmp 0x10059a3a
mov eax, dword [0x10110464]
and dword [ebp - 0x36b8], edi
sub eax, esi
dec eax
test eax, eax
jle 0x10059a29
lea ecx, [esi + 0x1010faa0]
lea eax, [esi*4 + 0x1010eb00]
mov edx, dword [eax + 4]
inc dword [ebp - 0x36b8]
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 edx, dword [0x10110464]
add eax, 4
sub edx, esi
inc ecx
dec edx
cmp dword [ebp - 0x36b8], edx
jl 0x100599ec
dec dword [0x10110464]
jmp 0x1005996e
mov eax, dword [ebp - 0x36c8]
mov esi, dword [eax]
fld dword [esi]
add eax, 4
mov dword [ebp - 0x36c8], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x36d0], eax
call fcn.10083ba0
fld dword [esi + 8]
mov dword [ebp - 0x36c0], eax
call fcn.10083ba0
cmp dword [0x103acdac], 1
mov ebx, dword [esi + 0x30]
mov dword [ebp - 0x36c4], eax
jne 0x10059ab8
fild dword [0x10342a30]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x10342a2c]
fstp dword [esp + 8]
fild dword [ebp - 0x36c4]
fstp dword [esp + 4]
fild dword [ebp - 0x36c0]
fstp dword [esp]
call fcn.10006f13
fcomp dword [0x1009a964]
add esp, 0x10
fnstsw ax
test ah, 5
jnp 0x10059e70
fild dword [ebp - 0x36c4]
sub esp, 0x10
fstp dword [ebp - 0x36b8]
fild dword [ebp - 0x36c0]
fstp dword [ebp - 0x36bc]
fild dword [0x100a6384]
fstp dword [esp + 0xc]
fild dword [0x100a6380]
fstp dword [esp + 8]
fld dword [ebp - 0x36b8]
fstp dword [esp + 4]
fld dword [ebp - 0x36bc]
fstp dword [esp]
call fcn.10006f13
fcomp dword [0x1009a964]
add esp, 0x10
fnstsw ax
test ah, 5
jnp 0x10059e70
fld dword [ebp - 0x36b8]
mov eax, dword [ebp - 0x36d8]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [ebp - 0x36bc]
fstp dword [esp + 8]
fld dword [eax + 0x1f6c]
fstp dword [esp + 4]
fld dword [eax + 0x1f64]
fstp dword [esp]
call fcn.10006f13
add esp, 0x10
call fcn.10083ba0
mov dword [ebp - 0x36d4], eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10059e70
lea ecx, [ebp - 0xcc]
push ecx
push eax
call fcn.10049348
cmp dword [0x103acf5c], 1
pop ecx
pop ecx
jne 0x10059d27
lea eax, [ebp - 0xcc]
push 0x1008c55c
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059ddb
lea eax, [ebp - 0xcc]
push 0x1008c554
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059ddb
lea eax, [ebp - 0xcc]
push 0x1008c548
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059ddb
lea eax, [ebp - 0xcc]
push 0x1008c53c
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059ddb
lea eax, [ebp - 0xcc]
push 0x1008fe58
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059ddb
lea eax, [ebp - 0xcc]
push 0x1008fe50
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059ddb
lea eax, [ebp - 0xcc]
push 0x1008c528
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059ddb
lea eax, [ebp - 0xcc]
push 0x1008c51c
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059ddb
lea eax, [ebp - 0xcc]
push 0x1008fe3c
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059ddb
lea eax, [ebp - 0xcc]
push 0x1008fe30
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059ddb
lea eax, [ebp - 0xcc]
push 0x1008c508
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059ddb
lea eax, [ebp - 0xcc]
push 0x1008c4fc
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059ddb
lea eax, [ebp - 0xcc]
push 0x100984fc
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059dc8
lea eax, [ebp - 0xcc]
push 0x100960e8
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10059dc8
lea eax, [ebp - 0xcc]
push 0x1008fe48
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x10059d27
mov eax, ebx
cdq
mov ecx, 0x186a0
idiv ecx
push edx
call fcn.10037045
pop ecx
test al, al
je 0x10059e70
xor eax, eax
mov dword [ebp - 0x36bc], eax
mov dword [ebp - 0x36b8], eax
mov dword [ebp - 0x36cc], eax
cmp dword [0x10110464], eax
jle 0x10059e20
mov ecx, dword [ebp - 0x36d0]
mov ebx, eax
cmp dword [ebx*4 + 0x1010eb00], ecx
jne 0x10059db7
cmp dword [ebx*4 + 0x1010fc94], 2
jge 0x10059e16
mov ecx, 0x35ed708
cmp dword [ecx], 0xa7f9
jne 0x10059d80
cmp byte [eax + 0x1010faa0], 0
je 0x10059e03
cmp byte [eax + 0x1010faa0], 0
jne 0x10059d9d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx*4 + 0x1010f2d0]
cmp eax, 0x1388
jae 0x10059e03
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx*4 + 0x1010f2d0]
cmp eax, 0xea60
jb 0x10059e16
mov eax, dword [ebp - 0x36cc]
inc eax
mov dword [ebp - 0x36cc], eax
cmp eax, dword [0x10110464]
jl 0x10059d47
jmp 0x10059e20
lea eax, [ebp - 0xcc]
push ebx
push eax
call fcn.100484e3
pop ecx
jmp 0x10059d1e
mov eax, ebx
cdq
mov ecx, 0x186a0
idiv ecx
push eax
push 0x64
mov eax, ebx
cdq
pop ecx
idiv ecx
lea eax, [ebp - 0xcc]
push edx
push eax
call fcn.10036fe4
add esp, 0xc
jmp 0x10059d1f
and dword [ebp - 0x36bc], 0
mov dword [ebp - 0x36b8], 1
jmp 0x10059e20
mov dword [ebp - 0x36bc], 1
mov ebx, dword [ebp - 0x36d4]
cmp ebx, dword [ebp + 8]
jge 0x10059e70
cmp dword [ebp - 0x36bc], 0
jne 0x10059e70
cmp dword [0x103acd94], 1
jne 0x10059e4e
lea eax, [ebp - 0xcc]
push eax
call fcn.10037462
pop ecx
cmp al, 1
je 0x10059e70
cmp dword [ebp - 0x36b8], 1
mov eax, edi
mov dword [ebp + eax*4 - 0x36b4], esi
mov dword [ebp + eax*4 - 0x2714], ebx
sete al
mov byte [ebp + edi - 0x4b4], al
inc edi
mov eax, dword [ebp - 0x36dc]
cmp dword [ebp - 0x36c8], eax
jne 0x10059a34
pop ebx
xor ecx, ecx
test edi, edi
jle 0x10059ea0
mov al, byte [ebp + edi - 0x4b4]
test al, al
je 0x10059e9b
inc ecx
cmp ecx, edi
jl 0x10059e90
jmp 0x10059ea0
mov eax, edi
dec eax
jne 0x10059e9d
xor esi, esi
xor ecx, ecx
mov edx, 0x1869f
test edi, edi
jle 0x10059f23
mov eax, dword [ebp + ecx*4 - 0x2714]
cmp eax, edx
jge 0x10059ec1
mov esi, dword [ebp + ecx*4 - 0x36b4]
mov edx, eax
inc ecx
cmp ecx, edi
jl 0x10059ead
test esi, esi
jle 0x10059f23
mov edx, dword [0x10110464]
xor eax, eax
test edx, edx
jle 0x10059ee7
mov ecx, dword [esi + 0x20]
cmp dword [eax*4 + 0x1010eb00], ecx
je 0x10059f33
inc eax
cmp eax, edx
jl 0x10059ed9
mov eax, dword [esi + 0x20]
mov dword [edx*4 + 0x1010eb00], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x10110464]
mov dword [ecx*4 + 0x1010f2d0], eax
mov eax, dword [0x10110464]
mov byte [eax + 0x1010faa0], 1
mov eax, dword [0x10110464]
and dword [eax*4 + 0x1010fc94], 0
inc dword [0x10110464]
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
xor ecx, ebp
pop esi
call fcn.10083a34
leave
ret
mov byte [eax + 0x1010faa0], 1
jmp 0x10059f23