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

Disassembly:
push 0x2c
push 0x100a3700
call fcn.10083bf0
wait
xor edi, edi
mov dword [ebp - 4], edi
mov dword [0x1010ef10], edi
mov eax, dword [0x307809c]
mov eax, dword [eax + 0x1d20]
mov dword [ebp - 0x2c], eax
cmp dword [ebp + 8], edi
je 0x10038511
cmp dword [ebp + 8], 3
jne 0x1003863a
cmp dword [0x103c3de0], edi
jne 0x1003862e
xor ebx, ebx
mov dword [ebp - 0x38], ebx
mov eax, dword [0x103d71bc]
mov dword [ebp - 0x34], eax
cmp ebx, eax
jge 0x1003862e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x103d71a8]
mov ecx, dword [ecx + ebx*4]
sub eax, dword [ecx]
cmp eax, 0xbb8
jae 0x10038626
mov dword [ebp - 0x1c], 0x3086b20
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x20]
cmp eax, dword [0x3078050]
jge 0x10038626
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
add dword [ebp - 0x1c], 4
cmp dword [esi], 0xe23bd4
jne 0x1003861e
mov edi, dword [esi + 0x10a8]
test edi, edi
je 0x1003861e
cmp dword [esi + 0x3c0], 1
je 0x1003861e
cmp dword [esi + 0x3b0], 0x270f
jle 0x1003861e
mov eax, dword [0x103d71b4]
mov eax, dword [eax + ebx*4]
mov ecx, dword [esi + 0x14]
cmp ecx, dword [eax]
jne 0x1003861e
fld dword [edi + 0x280]
call fcn.100840a0
mov dword [ebp - 0x34], eax
fld dword [edi + 0x288]
call fcn.100840a0
mov dword [ebp - 0x30], eax
sub esp, 0x10
fld dword [0x1035fdc8]
fstp dword [esp + 0xc]
fld dword [0x1035fdc4]
fstp dword [esp + 8]
fild dword [ebp - 0x30]
fstp dword [esp + 4]
fild dword [ebp - 0x34]
fstp dword [esp]
call fcn.100063eb
add esp, 0x10
fild dword [0x1035fde8]
fcompp
fnstsw ax
test ah, 1
jne 0x10038626
mov esi, dword [esi + 0xc]
cmp dword [0x101127c4], 4
je 0x10038985
jmp 0x1003897e
inc dword [ebp - 0x20]
jmp 0x10038558
inc ebx
xor edi, edi
jmp 0x1003851f
cmp dword [ebp + 8], 3
jne 0x1003863a
wait
jmp 0x100389bb
cmp dword [ebp + 8], 2
jne 0x10038658
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax*4 + 0x30780a0]
fld dword [eax + 0x35c]
call fcn.100840a0
mov dword [ebp - 0x30], eax
xor ebx, ebx
inc ebx
cmp dword [0x103c3d10], ebx
jne 0x1003866f
cmp dword [ebp + 8], ebx
jne 0x1003866f
mov dword [ebp + 8], 4
mov dword [0x1035fdec], 0xffff
mov dword [ebp - 0x24], 0x3086b20
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x28]
cmp eax, dword [0x3078050]
jge 0x100388e3
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
add dword [ebp - 0x24], 4
cmp esi, edi
je 0x100388d6
cmp dword [esi], 0xe23bd4
jne 0x100388d6
cmp dword [esi + 0x10a8], edi
je 0x100388d6
cmp dword [esi + 0x3c0], ebx
je 0x100388d6
cmp dword [esi + 0x3b0], 0x270f
jle 0x100388d6
mov edi, dword [esi + 0xc]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x1035fd3c]
cmp eax, 0x1388
jae 0x100386f9
cmp dword [0x1035fed4], edi
je 0x100388d6
cmp dword [esi + 0x3b0], 0x3e7
jl 0x100388d6
cmp dword [ebp - 0x2c], edi
je 0x100388d6
cmp dword [ebp + 8], 2
jne 0x1003872e
fild dword [ebp - 0x30]
fld dword [esi + 0x35c]
fcompp
fnstsw ax
test ah, 0x41
je 0x100388d6
cmp dword [0x103c3de4], 1
jne 0x10038778
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103c0bb8]
jge 0x10038756
cmp dword [eax*4 + 0x103c0a28], edi
je 0x100388d6
inc eax
jmp 0x1003873b
cmp ecx, 1
je 0x100388d6
fld dword [esi + 0x35c]
fild dword [0x103c429c]
fcompp
fnstsw ax
test ah, 1
je 0x100388d6
mov ebx, dword [esi + 0x10a8]
cmp dword [0x103c3dd0], 1
jne 0x10038799
mov eax, dword [esi + 0x5f4]
cmp eax, dword [esi + 0x614]
jne 0x100388d6
cmp dword [ebp + 8], 4
jne 0x100387bb
cmp byte [ebx + 0x1d1], 0
jne 0x100387bb
fld dword [esi + 0x1078]
call fcn.100840a0
fld dword [esi + 0x1080]
jmp 0x100387cc
fld dword [ebx + 0x280]
call fcn.100840a0
fld dword [ebx + 0x288]
mov edi, eax
call fcn.100840a0
mov ebx, eax
test edi, edi
jne 0x100387e1
test ebx, ebx
je 0x100388d6
cmp dword [0x3052d08], 0xa7f9
jne 0x10038845
lea eax, [esi + 0x360]
push 0x100988a8
push eax
call dword [sym.imp.MSVCR100.dll_strstr]
pop ecx
pop ecx
test eax, eax
jne 0x10038811
cmp dword [esi + 0x5f4], eax
je 0x100388d6
push 0x100988b8
lea eax, [esi + 0x360]
push eax
call dword [sym.imp.MSVCR100.dll_strstr]
pop ecx
pop ecx
test eax, eax
jne 0x10038845
push 0x100988a8
lea eax, [esi + 0x360]
push eax
call dword [sym.imp.MSVCR100.dll_strstr]
pop ecx
pop ecx
test eax, eax
je 0x100388d6
cmp dword [0x103c407c], 3
jne 0x10038862
mov eax, dword [esi + 0x3b0]
cmp eax, 0x2af9
jl 0x10038862
cmp eax, 0x2b35
jle 0x100388d6
mov ecx, dword [0x1010ef10]
mov eax, dword [esi + 0x5f4]
mov dword [ecx*4 + 0x1010c800], eax
mov ecx, dword [0x1010ef10]
mov eax, dword [esi + 0x614]
mov dword [ecx*4 + 0x1010cfd0], eax
mov eax, dword [0x1010ef10]
mov dword [eax*4 + 0x1010df70], edi
mov eax, dword [0x1010ef10]
mov dword [eax*4 + 0x1010e740], ebx
lea eax, [esi + 0x360]
push eax
mov eax, dword [0x1010ef10]
imul eax, eax, 0xc8
add eax, 0x100f4160
push eax
call dword [sym.imp.MSVCR100.dll_strcpy]
pop ecx
pop ecx
mov ecx, dword [0x1010ef10]
mov eax, dword [esi + 0xc]
mov dword [ecx*4 + 0x1010d7a0], eax
inc dword [0x1010ef10]
inc dword [ebp - 0x28]
xor edi, edi
xor ebx, ebx
inc ebx
jmp 0x10038683
cmp dword [0x103c3d0c], ebx
jne 0x100388ff
cmp dword [0x1035ff74], ebx
jne 0x100388ff
push dword [0x1035fde8]
call fcn.1004902b
pop ecx
mov eax, dword [0x103c407c]
cmp eax, ebx
je 0x1003890d
cmp eax, 2
jne 0x10038914
push ebx
call fcn.100389ca
pop ecx
cmp dword [0x103c407c], 3
jle 0x10038924
push edi
call fcn.100389ca
pop ecx
call fcn.10038383
call fcn.1003814c
mov esi, eax
cmp esi, edi
jne 0x10038948
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov dword [0x1035fd30], eax
cmp dword [ebp + 8], 2
jne 0x1003860c
test esi, esi
je 0x10038634
fild dword [ebp - 0x30]
mov eax, dword [esi*4 + 0x30780a0]
fld dword [eax + 0x35c]
fcompp
fnstsw ax
test ah, 5
jp 0x10038985
push 0x100988c4
call fcn.100060db
pop ecx
mov ecx, esi
call fcn.10038bb1
wait
mov dword [ebp - 4], 0xfffffffe
mov eax, esi
jmp 0x100389c4
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
call fcn.10083c35
ret