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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
or byte [ebp - 0xd], 0xff
call fcn.1005103e
mov edx, dword [0x1005d84f]
sub eax, dword [edx]
cmp eax, 0x7d0
ja 0x10033142
cmp byte [0x100534f9], 0
je 0x10033142
cmp byte [0x10053520], 0
je 0x1003337b
mov eax, dword [0x1005d7bb]
mov eax, dword [eax]
test byte [eax + 0x1f], 4
jne 0x1003337b
call fcn.1005103e
mov edx, dword [0x1005d84f]
mov dword [edx], eax
push dword [ebp + 8]
call fcn.10030cee
or eax, eax
je 0x1003319c
movzx edx, byte [eax + 0x18]
mov dword [ebp - 8], edx
movzx edx, byte [eax + 0x17]
mov dword [ebp - 0xc], edx
movzx edx, byte [eax + 0x1a]
movzx eax, byte [eax + 0x3c]
add edx, eax
mov eax, dword [0x1005d7bb]
mov eax, dword [eax]
movzx eax, word [eax + 0x3e]
cmp eax, edx
jge 0x10033197
xor eax, eax
jmp 0x1003319c
mov eax, 1
or eax, eax
jne 0x100331ac
call fcn.100339ce
mov al, byte [ebp - 0xd]
leave
ret 8
mov eax, dword [0x1005d7f3]
mov eax, dword [eax]
cmp byte [eax + 0x420], 0
jne 0x1003337b
cmp byte [0x100534f0], 0
je 0x100331df
push ebx
movzx ebx, byte [ebp + 8]
call fcn.10030fd9
pop ebx
or eax, eax
je 0x100331df
mov al, byte [ebp - 0xd]
leave
ret 8
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov word [ebp - 0x13], dx
shr edx, 0x10
mov word [ebp - 0xf], dx
mov dx, word [eax + 8]
mov word [ebp - 0x19], dx
mov word [eax + 0x208], dx
mov dx, word [eax + 0xa]
mov word [ebp - 0x17], dx
mov word [eax + 0x20c], dx
mov dl, byte [eax + 0xc]
mov byte [eax + 0x210], dl
mov word [ebp - 0x15], 0xbc9
mov dx, word [ebp + 8]
mov word [ebp - 0x11], dx
lea eax, [ebp - 0x19]
lea edx, [ebp - 4]
mov dword [edx], 0
call dword [0x1005d3e5]
mov edx, dword [ebp - 4]
mov eax, dword [0x1005d7f3]
mov eax, dword [eax]
call dword [0x1005d3e9]
lea eax, [ebp - 4]
call dword [0x1005d3ed]
call fcn.1005103e
mov edx, dword [0x1005d92f]
mov dword [edx], eax
cmp byte [0x100534f9], 0
je 0x10033271
cmp byte [0x10053520], 0
jne 0x10033271
jmp 0x10033286
mov edx, dword [0x1005d7f3]
mov edx, dword [edx]
mov dword [edx + 0x3d8], eax
mov byte [edx + 0x420], 1
mov byte [ebp - 0xd], 0
cmp dword [ebp - 0xc], 0
je 0x100332e9
cmp dword [ebp - 0xc], 4
je 0x100332e9
push dword [ebp - 8]
mov eax, dword [0x1005d7bb]
mov eax, dword [eax]
movzx ecx, word [eax + 8]
push ecx
movzx ecx, word [eax + 0xa]
push ecx
mov eax, dword [ebp + 0xc]
movzx ecx, word [eax + 8]
push ecx
movzx ecx, word [eax + 0xa]
push ecx
mov ecx, dword [eax + 4]
push ecx
push dword [ebp - 0xc]
push 1
push 0
lea eax, [ebp - 0x19]
push eax
mov byte [eax], 0
mov ecx, 0x6f
mov eax, dword [0x1005d7bb]
mov edx, dword [eax]
mov eax, dword [0x1005d7f7]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [0x1005d3f5]
jmp 0x1003336e
cmp dword [ebp - 0xc], 4
jne 0x1003336e
cmp byte [0x100525e4], 0
je 0x1003336e
mov eax, dword [ebp - 8]
mov edx, dword [0x1005d7bb]
mov edx, dword [edx]
mov dword [edx + 0x11c], eax
cmp eax, 0x16
je 0x10033318
cmp eax, 0x23
je 0x10033318
cmp eax, 0x24
jne 0x10033332
mov byte [edx + 0xec], 1
mov dword [edx + 0x104], 6
mov byte [0x10052519], 1
jmp 0x1003336e
cmp eax, 6
jne 0x10033351
mov byte [edx + 0xec], 1
mov dword [edx + 0x104], 5
mov byte [0x10052519], 1
jmp 0x1003336e
cmp eax, 0x2b
jne 0x1003336e
mov byte [edx + 0xec], 1
mov dword [edx + 0x104], 0xa
mov byte [0x10052519], 1
call fcn.1005103e
mov edx, dword [0x1005d84f]
mov dword [edx], eax
mov al, byte [ebp - 0xd]
leave
ret 8