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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x36e8
call fcn.10084190
mov eax, dword [0x100a609c]
xor eax, ebp
mov dword [ebp - 8], eax
cmp dword [0x3052d08], 0xa7f9
push ebx
push esi
push edi
jne 0x10038f89
mov dword [ebp + 8], 0x3e8
xor ebx, ebx
mov dword [ebp - 0x36c8], ebx
xor esi, esi
cmp dword [0x101108ac], esi
jle 0x10038fc9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi*4 + 0x1010f718]
cmp eax, 0x7d0
jbe 0x10038fc0
push dword [esi*4 + 0x1010ef48]
call fcn.10038f31
pop ecx
test al, al
je 0x10038ff0
inc esi
cmp esi, dword [0x101108ac]
jl 0x10038f9b
mov ecx, dword [0x37bb4d0]
mov eax, dword [0x37bb4cc]
mov edi, dword [0x307809c]
mov dword [ebp - 0x36e4], edi
mov dword [ebp - 0x36d8], ecx
cmp eax, ecx
je 0x10039465
jmp 0x10039050
mov eax, dword [0x101108ac]
sub eax, esi
xor edi, edi
dec eax
test eax, eax
jle 0x1003903f
lea ecx, [esi + 0x1010fee8]
lea eax, [esi*4 + 0x1010ef48]
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 [0x101108ac]
inc edi
add eax, 4
sub edx, esi
inc ecx
dec edx
cmp edi, edx
jl 0x1003900b
dec dword [0x101108ac]
jmp 0x10038f91
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.100840a0
fld dword [esi + 8]
mov dword [ebp - 0x36d0], eax
call fcn.100840a0
cmp dword [0x103c88c4], 1
mov ebx, dword [esi + 0x30]
mov dword [ebp - 0x36cc], eax
jne 0x100390ce
fild dword [0x1035fedc]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x1035fed8]
fstp dword [esp + 8]
fild dword [ebp - 0x36cc]
fstp dword [esp + 4]
fild dword [ebp - 0x36d0]
fstp dword [esp]
call fcn.100063eb
fcomp dword [0x1009ee3c]
add esp, 0x10
fnstsw ax
test ah, 5
jnp 0x1003944d
fild dword [ebp - 0x36cc]
sub esp, 0x10
fstp dword [ebp - 0x36c4]
fild dword [ebp - 0x36d0]
fstp dword [ebp - 0x36c0]
fild dword [0x100a629c]
fstp dword [esp + 0xc]
fild dword [0x100a6298]
fstp dword [esp + 8]
fld dword [ebp - 0x36c4]
fstp dword [esp + 4]
fld dword [ebp - 0x36c0]
fstp dword [esp]
call fcn.100063eb
fcomp dword [0x1009ee3c]
add esp, 0x10
fnstsw ax
test ah, 5
jnp 0x1003944d
fld dword [ebp - 0x36c4]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [ebp - 0x36c0]
fstp dword [esp + 8]
fld dword [edi + 0x1f74]
fstp dword [esp + 4]
fld dword [edi + 0x1f6c]
fstp dword [esp]
call fcn.100063eb
add esp, 0x10
call fcn.100840a0
mov dword [ebp - 0x36d4], eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1003944d
lea ecx, [ebp - 0xd4]
push ecx
call fcn.1003ff51
cmp dword [0x103c8a74], 1
pop ecx
jne 0x1003930e
mov edi, dword [sym.imp.MSVCR100.dll_strcmp]
lea eax, [ebp - 0xd4]
push 0x1008c160
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x100393ac
lea eax, [ebp - 0xd4]
push 0x1008c168
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x100393ac
lea eax, [ebp - 0xd4]
push 0x1008c170
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x100393ac
lea eax, [ebp - 0xd4]
push 0x1008c17c
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x100393ac
lea eax, [ebp - 0xd4]
push 0x1008fdc4
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x100393ac
lea eax, [ebp - 0xd4]
push 0x1008fdcc
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x100393ac
lea eax, [ebp - 0xd4]
push 0x1008c190
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x100393ac
lea eax, [ebp - 0xd4]
push 0x1008c19c
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x100393ac
lea eax, [ebp - 0xd4]
push 0x1008fddc
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x100393ac
lea eax, [ebp - 0xd4]
push 0x1008fde8
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x100393ac
lea eax, [ebp - 0xd4]
push 0x1008c1b0
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x100393ac
lea eax, [ebp - 0xd4]
push 0x1008c1bc
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x100393ac
lea eax, [ebp - 0xd4]
push 0x100986f4
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10039399
lea eax, [ebp - 0xd4]
push 0x100955a0
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10039399
lea eax, [ebp - 0xd4]
push 0x1008fdd4
push eax
call edi
pop ecx
pop ecx
test eax, eax
jne 0x1003930e
mov eax, ebx
cdq
mov ecx, 0x186a0
idiv ecx
push edx
call fcn.10036f0b
pop ecx
test al, al
je 0x1003944d
xor ebx, ebx
mov dword [ebp - 0x36c0], ebx
mov dword [ebp - 0x36c4], ebx
cmp dword [0x101108ac], ebx
jle 0x100393f1
mov eax, dword [ebp - 0x36dc]
mov edi, ebx
cmp dword [edi*4 + 0x1010ef48], eax
jne 0x1003938e
cmp dword [edi*4 + 0x101100dc], 2
jge 0x100393e7
mov eax, 0x3052d08
cmp dword [eax], 0xa7f9
jne 0x1003935d
cmp byte [ebx + 0x1010fee8], 0
je 0x100393d4
cmp byte [ebx + 0x1010fee8], 0
jne 0x1003937a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi*4 + 0x1010f718]
cmp eax, 0x1388
jae 0x100393d4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi*4 + 0x1010f718]
cmp eax, 0xea60
jb 0x100393e7
inc ebx
cmp ebx, dword [0x101108ac]
jl 0x10039328
jmp 0x100393f1
lea eax, [ebp - 0xd4]
push ebx
push eax
call fcn.10036e02
pop ecx
jmp 0x10039305
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.10036dad
add esp, 0xc
jmp 0x10039306
and dword [ebp - 0x36c0], 0
mov dword [ebp - 0x36c4], 1
jmp 0x100393f1
mov dword [ebp - 0x36c0], 1
mov edi, dword [ebp - 0x36d4]
cmp edi, dword [ebp + 8]
jge 0x1003944d
cmp dword [ebp - 0x36c0], 0
jne 0x1003944d
cmp dword [0x103c88ac], 1
jne 0x1003941f
lea eax, [ebp - 0xd4]
push eax
call fcn.10037535
pop ecx
cmp al, 1
je 0x1003944d
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 0x1003904a
mov ebx, dword [ebp - 0x36c8]
xor ecx, ecx
test ebx, ebx
jle 0x10039482
mov al, byte [ebp + ebx - 0x4bc]
test al, al
je 0x1003947d
inc ecx
cmp ecx, ebx
jl 0x10039472
jmp 0x10039482
mov eax, ebx
dec eax
jne 0x1003947f
xor esi, esi
xor ecx, ecx
mov edx, 0x1869f
test ebx, ebx
jle 0x10039505
mov eax, dword [ebp + ecx*4 - 0x36bc]
cmp eax, edx
jge 0x100394a3
mov esi, dword [ebp + ecx*4 - 0x177c]
mov edx, eax
inc ecx
cmp ecx, ebx
jl 0x1003948f
test esi, esi
jle 0x10039505
mov edx, dword [0x101108ac]
xor eax, eax
test edx, edx
jle 0x100394c9
mov ecx, dword [esi + 0x20]
cmp dword [eax*4 + 0x1010ef48], ecx
je 0x10039516
inc eax
cmp eax, edx
jl 0x100394bb
mov eax, dword [esi + 0x20]
mov dword [edx*4 + 0x1010ef48], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x101108ac]
mov dword [ecx*4 + 0x1010f718], eax
mov eax, dword [0x101108ac]
mov byte [eax + 0x1010fee8], 1
mov eax, dword [0x101108ac]
and dword [eax*4 + 0x101100dc], 0
inc dword [0x101108ac]
mov ecx, dword [ebp - 8]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.1008344f
leave
ret
mov byte [eax + 0x1010fee8], 1
jmp 0x10039505