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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
cmp dword [0x103298f4], 3
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0xc], 0
jne 0x100c5563
cmp dword [0x103298dc], 0
je 0x100c5563
mov edx, 5
mov dword [esp + 0x10], 0x51bf05c1
lea ecx, [esp + 0x10]
mov byte [esp + 0x14], 0
call fcn.100c57d0
cmp byte [0x10320b95], 0
jne 0x100c55bc
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x103298f8], 0
mov dword [0x103298f4], 0
call esi
mov dword [0x103298f0], eax
call esi
mov dword [0x103298ec], eax
mov dword [0x103298e8], 0
mov dword [0x103298e4], 0
mov dword [0x103298e0], 0
mov dword [0x103298dc], 0
mov eax, dword [edi + 0x48]
xor ecx, ecx
mov dword [0x103296d8], eax
mov eax, dword [edi + 0x4c]
mov dword [0x103297bc], eax
mov eax, dword [edi + 0x50]
mov dword [0x103297ec], eax
mov eax, dword [edi + 0x54]
mov dword [0x103297f0], eax
mov eax, dword [edi + 0x58]
mov dword [0x103297e4], eax
mov eax, dword [edi + 0x5c]
mov dword [0x103297e8], eax
mov eax, dword [edi + 0x60]
mov dword [0x103297d4], eax
mov eax, dword [edi + 0x64]
mov dword [0x103297d8], eax
mov eax, dword [edi + 0x68]
mov dword [0x103297dc], eax
mov eax, dword [edi + 0x6c]
mov dword [0x103297e0], eax
mov eax, dword [edi + 0x70]
mov dword [0x10329780], eax
mov eax, dword [edi + 0x74]
mov dword [0x1032977c], eax
mov eax, dword [edi + 0x78]
mov dword [0x10329778], eax
mov eax, dword [edi + 0x7c]
mov dword [0x10329774], eax
mov eax, dword [edi + 0x80]
mov dword [0x10329770], eax
mov eax, dword [0x7bc4f04]
mov word [eax + 0x7e], cx
mov eax, dword [0x7bc4f04]
mov byte [eax + 0x30c], cl
mov eax, dword [0x8128ac8]
movzx eax, byte [eax + 0xb]
and eax, 7
cmp eax, 6
ja case.default.0x100c565e
jmp dword [eax*4 + 0x100c57a8]
cmp dword [0x102527b8], 0xffff
jmp 0x100c56b7
cmp dword [0x102527bc], 0xffff
jmp 0x100c56b7
cmp dword [0x102527c0], 0xffff
jmp 0x100c56b7
cmp dword [0x102527c4], 0xffff
jmp 0x100c56b7
cmp dword [0x102527c8], 0xffff
jmp 0x100c56b7
cmp dword [0x102527cc], 0xffff
jmp 0x100c56b7
cmp dword [0x102527d0], 0xffff
sbb al, al
and al, 9
add al, 6
movzx eax, al
push eax
push 0x556c38
call fcn.10096d80
add esp, 8
mov ecx, 0x102526c3
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c56d6
sub ecx, edx
je 0x100c5747
push ecx
push 0x102526c3
lea ecx, [esp + 0x20]
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0xf
mov byte [esp + 0x20], al
call fcn.1000bb40
mov edi, dword [esp + 0x2c]
lea edx, [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp edi, 0x10
mov eax, dword [esp + 0x28]
cmovae edx, ecx
mov dword [esp + 0xc], 1
test eax, eax
je 0x100c574f
lea esi, [eax + edx]
mov eax, edx
cmp edx, esi
jae 0x100c574f
nop
cmp byte [eax], 0x20
jne 0x100c573c
inc eax
cmp eax, esi
jb 0x100c5730
jmp 0x100c574f
sub eax, edx
cmp eax, 0xffffffff
je 0x100c574f
xor bl, bl
jmp 0x100c5751
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov bl, 1
test byte [esp + 0xc], 1
je 0x100c5784
cmp edi, 0x10
jb 0x100c5784
lea edx, [edi + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x100c577a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c57a2
push edx
push ecx
call fcn.100ee402
add esp, 8
test bl, bl
je 0x100c579b
cmp byte [0x10252a8f], 0
jne 0x100c579b
mov ecx, 0x101a7180
call fcn.10030f20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10145519
nop
push esi
or al, 16
jno 0x100c5804
or al, 0x10
jge 0x100c5808
or al, 0x10
mov dword [esi + 0xc], edx
adc byte [ebp - 1592783786], dl
push esi
or al, 0x10
lodsd eax, dword [esi]
push esi
or al, 0x10
int3
adc al, ch
push 7
pop es
add byte [edi], cl
mov dh, 5
push esp
jl 0x100c5830
adc byte [ebx + 0x3f050cc4], al
invalid
mov dh, 0x15
push ebp
jl 0x100c5855
adc byte [ecx + 3], bh
and byte [eax], dl