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

Disassembly:
push 0xffffffffffffffff
push 0x10053578
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [0x10067060]
xor eax, esp
mov dword [esp + 0x88], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10067060]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
mov eax, dword [esp + 0xb0]
push eax
mov dword [esp + 0x20], eax
call fcn.10005cd0
mov ecx, eax
xor ebp, ebp
add esp, 4
mov dword [esp + 0x30], ecx
cmp ecx, ebp
je 0x1000732c
mov eax, dword [ecx + 0x90]
mov ebx, dword [eax]
mov esi, dword [ecx + 0x7c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], esi
mov edi, dword [ecx + 0x90]
mov eax, dword [ecx + 0x7c]
cmp esi, ebp
je 0x10006fb3
cmp esi, eax
je 0x10006fb8
call fcn.10038059
cmp ebx, edi
je 0x1000732c
cmp esi, ebp
jne 0x10007023
call fcn.10038059
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x10006fd5
call fcn.10038059
mov eax, dword [ebx + 8]
mov cl, byte [esp + 0xb4]
cmp byte [eax + 4], cl
jne 0x100072f4
cmp esi, ebp
jne 0x10007027
call fcn.10038059
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x10006ffd
call fcn.10038059
mov ecx, dword [ebx + 8]
mov edi, dword [ecx + 0x2c]
add ecx, 0x18
mov eax, edi
cmp eax, edi
jae 0x1000700c
mov eax, edi
cmp edi, 4
jb 0x10007018
mov eax, 4
cmp dword [ecx + 0x18], 0x10
jb 0x1000702b
mov edx, dword [ecx + 4]
jmp 0x1000702e
mov eax, dword [esi]
jmp 0x10006fcb
mov eax, dword [esi]
jmp 0x10006ff3
lea edx, [ecx + 4]
mov ecx, str.text
call fcn.10001050
cmp eax, ebp
jne 0x100071d7
cmp edi, 4
jb 0x100071d7
xor eax, eax
cmp edi, 4
setne al
cmp eax, ebp
jne 0x100071d7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, ebp
jne 0x100071b4
call fcn.10038059
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x10007078
call fcn.10038059
mov edi, dword [ebx + 8]
lea edx, [esp + 0x44]
add edi, 0x34
push edx
call fcn.100038f0
mov dword [esp + 0xa8], ebp
movzx ecx, byte [esp + 0x98]
imul ecx, dword [0x1006910c]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [esp + 0x98], al
cmp esi, ebp
jne 0x100071bb
call fcn.10038059
mov al, byte [esp + 0x98]
xor ecx, ecx
cmp ebx, dword [ecx + 0x14]
jne 0x100070dd
call fcn.10038059
mov al, byte [esp + 0x98]
mov ecx, dword [ebx + 8]
mov byte [ecx + 0x88], al
cmp esi, ebp
jne 0x100071c2
call fcn.10038059
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x100070ff
call fcn.10038059
cmp esi, ebp
jne 0x100071c9
call fcn.10038059
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x10007118
call fcn.10038059
cmp esi, ebp
jne 0x100071d0
call fcn.10038059
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x10007131
call fcn.10038059
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x90]
mov ecx, edx
mov ecx, dword [ecx + 0x8c]
push eax
push ecx
mov ecx, dword [esp + 0x24]
add edx, 0x34
call fcn.1001de20
mov edi, 8
add esp, 8
mov dword [esp + 0xa8], 0xffffffff
cmp dword [esp + 0x94], edi
jb 0x1000717c
mov edx, dword [esp + 0x80]
push edx
call fcn.10038093
add esp, 4
xor eax, eax
mov dword [esp + 0x94], 7
mov dword [esp + 0x90], ebp
mov word [esp + 0x80], ax
cmp dword [esp + 0x68], edi
jb 0x100072f4
mov ecx, dword [esp + 0x54]
push ecx
call fcn.10038093
add esp, 4
jmp 0x100072f4
mov eax, dword [esi]
jmp 0x1000706e
mov ecx, dword [esi]
jmp 0x100070cc
mov eax, dword [esi]
jmp 0x100070f5
mov eax, dword [esi]
jmp 0x1000710e
mov eax, dword [esi]
jmp 0x10007127
cmp esi, ebp
jne 0x1000731a
call fcn.10038059
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x100071f0
call fcn.10038059
mov eax, dword [ebx + 8]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov edi, dword [eax + 0x10]
mov ebp, dword [eax + 0x14]
add eax, 8
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
test esi, esi
jne 0x10007321
call fcn.10038059
cmp ebx, dword [esi + 0x14]
jne 0x10007221
call fcn.10038059
mov ecx, dword [esp + 0x1c]
mov edx, dword [ebx + 8]
mov esi, dword [edx]
lea eax, [esp + 0x20]
push eax
push ecx
mov dword [esp + 0x28], 0
call sub.gdiplus.dll_GdipCreateFromHDC
mov ebx, dword [esp + 0x20]
push 2
push ebx
call sub.gdiplus.dll_GdipSetPageUnit
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, dword [esi + 4]
lea edx, [esp + 0x2c]
push edx
push 0
push eax
mov dword [esp + 0x38], 0
call sub.gdiplus.dll_GdipCreateTexture
fild dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
push 0
fstp dword [esp + 0x1c]
sub esp, 8
fild dword [esp + 0x40]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [esp + 0x20]
fstp dword [esp]
push esi
call sub.gdiplus.dll_GdipTranslateTextureTransform
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
sub ebp, ecx
push ebp
sub edi, eax
push edi
push ecx
push eax
push esi
push ebx
call sub.gdiplus.dll_GdipFillRectangleI
fld dword [esp + 0x18]
fldz
push 0
fld st(0)
sub esp, 8
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fsub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push esi
call sub.gdiplus.dll_GdipTranslateTextureTransform
push esi
call sub.gdiplus.dll_GdipDeleteBrush
push ebx
call sub.gdiplus.dll_GdipDeleteGraphics
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
xor ebp, ebp
cmp esi, ebp
jne 0x10007328
call fcn.10038059
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x10007309
call fcn.10038059
mov ecx, dword [ebx]
mov dword [esp + 0x28], ecx
mov ebx, ecx
mov ecx, dword [esp + 0x30]
jmp 0x10006fa2
mov eax, dword [esi]
jmp 0x100071e6
mov esi, dword [esi]
jmp 0x10007217
mov eax, dword [esi]
jmp 0x100072ff
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x88]
xor ecx, esp
call fcn.10037693
add esp, 0x98
ret