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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x36e8
call fcn.100830e0
mov eax, dword [0x100a509c]
xor eax, ebp
mov dword [ebp - 8], eax
cmp dword [0x2f92a08], 0xa7f9
push ebx
push esi
push edi
jne 0x100387d2
mov dword [ebp + 8], 0x3e8
xor ebx, ebx
mov dword [ebp - 0x36c8], ebx
xor esi, esi
cmp dword [0x1010f8ac], esi
jle 0x10038812
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi*4 + 0x1010e718]
cmp eax, 0x7d0
jbe 0x10038809
push dword [esi*4 + 0x1010df48]
call fcn.1003877c
pop ecx
test al, al
je 0x10038839
inc esi
cmp esi, dword [0x1010f8ac]
jl 0x100387e4
mov ecx, dword [0x36fade0]
mov eax, dword [0x36faddc]
mov edi, dword [0x2fb7ac4]
mov dword [ebp - 0x36e4], edi
mov dword [ebp - 0x36d8], ecx
cmp eax, ecx
je 0x10038cae
jmp 0x10038899
mov eax, dword [0x1010f8ac]
sub eax, esi
xor edi, edi
dec eax
test eax, eax
jle 0x10038888
lea ecx, [esi + 0x1010eee8]
lea eax, [esi*4 + 0x1010df48]
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 edx, dword [0x1010f8ac]
inc edi
add eax, 4
sub edx, esi
inc ecx
dec edx
cmp edi, edx
jl 0x10038854
dec dword [0x1010f8ac]
jmp 0x100387da
mov edi, dword [ebp - 0x36e4]
mov esi, dword [eax]
fld dword [esi]
add eax, 4
mov dword [ebp - 0x36e0], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x36dc], eax
call fcn.10082ff0
fld dword [esi + 8]
mov dword [ebp - 0x36d0], eax
call fcn.10082ff0
cmp dword [0x103c783c], 1
mov ebx, dword [esi + 0x30]
mov dword [ebp - 0x36cc], eax
jne 0x10038917
fild dword [0x1035eedc]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x1035eed8]
fstp dword [esp + 8]
fild dword [ebp - 0x36cc]
fstp dword [esp + 4]
fild dword [ebp - 0x36d0]
fstp dword [esp]
call fcn.1000640b
fcomp dword [0x1009da34]
add esp, 0x10
fnstsw ax
test ah, 5
jnp 0x10038c96
fild dword [ebp - 0x36cc]
sub esp, 0x10
fstp dword [ebp - 0x36c4]
fild dword [ebp - 0x36d0]
fstp dword [ebp - 0x36c0]
fild dword [0x100a529c]
fstp dword [esp + 0xc]
fild dword [0x100a5298]
fstp dword [esp + 8]
fld dword [ebp - 0x36c4]
fstp dword [esp + 4]
fld dword [ebp - 0x36c0]
fstp dword [esp]
call fcn.1000640b
fcomp dword [0x1009da34]
add esp, 0x10
fnstsw ax
test ah, 5
jnp 0x10038c96
fld dword [ebp - 0x36c4]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [ebp - 0x36c0]
fstp dword [esp + 8]
fld dword [edi + 0x1f68]
fstp dword [esp + 4]
fld dword [edi + 0x1f60]
fstp dword [esp]
call fcn.1000640b
add esp, 0x10
call fcn.10082ff0
mov dword [ebp - 0x36d4], eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10038c96
lea ecx, [ebp - 0xd4]
push ecx
call fcn.1003f6c1
cmp dword [0x103c79ec], 1
pop ecx
jne 0x10038b57
mov edi, dword [sym.imp.MSVCR100.dll_strcmp]
lea eax, [ebp - 0xd4]
push 0x1008b170
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038bf5
lea eax, [ebp - 0xd4]
push 0x1008b178
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038bf5
lea eax, [ebp - 0xd4]
push 0x1008b180
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038bf5
lea eax, [ebp - 0xd4]
push 0x1008b18c
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038bf5
lea eax, [ebp - 0xd4]
push 0x1008edb4
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038bf5
lea eax, [ebp - 0xd4]
push 0x1008edbc
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038bf5
lea eax, [ebp - 0xd4]
push 0x1008b1a0
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038bf5
lea eax, [ebp - 0xd4]
push 0x1008b1ac
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038bf5
lea eax, [ebp - 0xd4]
push 0x1008edcc
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038bf5
lea eax, [ebp - 0xd4]
push 0x1008edd8
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038bf5
lea eax, [ebp - 0xd4]
push 0x1008b1c0
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038bf5
lea eax, [ebp - 0xd4]
push 0x1008b1cc
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038bf5
lea eax, [ebp - 0xd4]
push 0x100973c8
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038be2
lea eax, [ebp - 0xd4]
push 0x10094530
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10038be2
lea eax, [ebp - 0xd4]
push 0x1008edc4
push eax
call edi
pop ecx
pop ecx
test eax, eax
jne 0x10038b57
mov eax, ebx
cdq
mov ecx, 0x186a0
idiv ecx
push edx
call fcn.10036754
pop ecx
test al, al
je 0x10038c96
xor ebx, ebx
mov dword [ebp - 0x36c0], ebx
mov dword [ebp - 0x36c4], ebx
cmp dword [0x1010f8ac], ebx
jle 0x10038c3a
mov eax, dword [ebp - 0x36dc]
mov edi, ebx
cmp dword [edi*4 + 0x1010df48], eax
jne 0x10038bd7
cmp dword [edi*4 + 0x1010f0dc], 2
jge 0x10038c30
mov eax, 0x2f92a08
cmp dword [eax], 0xa7f9
jne 0x10038ba6
cmp byte [ebx + 0x1010eee8], 0
je 0x10038c1d
cmp byte [ebx + 0x1010eee8], 0
jne 0x10038bc3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi*4 + 0x1010e718]
cmp eax, 0x1388
jae 0x10038c1d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi*4 + 0x1010e718]
cmp eax, 0xea60
jb 0x10038c30
inc ebx
cmp ebx, dword [0x1010f8ac]
jl 0x10038b71
jmp 0x10038c3a
lea eax, [ebp - 0xd4]
push ebx
push eax
call fcn.1003664b
pop ecx
jmp 0x10038b4e
mov eax, ebx
cdq
mov ecx, 0x186a0
idiv ecx
push eax
push 0x64
mov eax, ebx
cdq
pop ecx
idiv ecx
lea eax, [ebp - 0xd4]
push edx
push eax
call fcn.100365f6
add esp, 0xc
jmp 0x10038b4f
and dword [ebp - 0x36c0], 0
mov dword [ebp - 0x36c4], 1
jmp 0x10038c3a
mov dword [ebp - 0x36c0], 1
mov edi, dword [ebp - 0x36d4]
cmp edi, dword [ebp + 8]
jge 0x10038c96
cmp dword [ebp - 0x36c0], 0
jne 0x10038c96
cmp dword [0x103c7824], 1
jne 0x10038c68
lea eax, [ebp - 0xd4]
push eax
call fcn.10036d7e
pop ecx
cmp al, 1
je 0x10038c96
mov ecx, dword [ebp - 0x36c8]
cmp dword [ebp - 0x36c4], 1
mov eax, ecx
mov dword [ebp + eax*4 - 0x177c], esi
mov dword [ebp + eax*4 - 0x36bc], edi
sete al
mov byte [ebp + ecx - 0x4bc], al
inc ecx
mov dword [ebp - 0x36c8], ecx
mov eax, dword [ebp - 0x36e0]
cmp eax, dword [ebp - 0x36d8]
jne 0x10038893
mov ebx, dword [ebp - 0x36c8]
xor ecx, ecx
test ebx, ebx
jle 0x10038ccb
mov al, byte [ebp + ebx - 0x4bc]
test al, al
je 0x10038cc6
inc ecx
cmp ecx, ebx
jl 0x10038cbb
jmp 0x10038ccb
mov eax, ebx
dec eax
jne 0x10038cc8
xor esi, esi
xor ecx, ecx
mov edx, 0x1869f
test ebx, ebx
jle 0x10038d4e
mov eax, dword [ebp + ecx*4 - 0x36bc]
cmp eax, edx
jge 0x10038cec
mov esi, dword [ebp + ecx*4 - 0x177c]
mov edx, eax
inc ecx
cmp ecx, ebx
jl 0x10038cd8
test esi, esi
jle 0x10038d4e
mov edx, dword [0x1010f8ac]
xor eax, eax
test edx, edx
jle 0x10038d12
mov ecx, dword [esi + 0x20]
cmp dword [eax*4 + 0x1010df48], ecx
je 0x10038d5f
inc eax
cmp eax, edx
jl 0x10038d04
mov eax, dword [esi + 0x20]
mov dword [edx*4 + 0x1010df48], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x1010f8ac]
mov dword [ecx*4 + 0x1010e718], eax
mov eax, dword [0x1010f8ac]
mov byte [eax + 0x1010eee8], 1
mov eax, dword [0x1010f8ac]
and dword [eax*4 + 0x1010f0dc], 0
inc dword [0x1010f8ac]
mov ecx, dword [ebp - 8]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.10082395
leave
ret
mov byte [eax + 0x1010eee8], 1
jmp 0x10038d4e