Function at 0x1000c7b0
Capabilities:
Allocate or change rwx memory
Check for time delay via gettickcount
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x1001ee5c]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x5064]
sub esp, 8
push ebx
xor ebx, ebx
mov dword [0x1001eae8], eax
cmp eax, ebx
je 0x1000ca75
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc0]
push esi
push edi
push 0x1001ec0c
push eax
call edx
mov esi, dword [0x1001eae8]
mov edi, esi
call fcn.10008b40
cmp dword [0x1001ee6c], ebx
jne 0x1000c82e
cmp dword [0x1001f0b0], ebx
jne 0x1000c80a
call fcn.10007af0
fild dword [0x1001a1ec]
push edi
sub esp, 8
fstp dword [esp + 4]
fild dword [0x1001a1f0]
fstp dword [esp]
call fcn.100074a0
add esp, 0xc
call fcn.10007750
call fcn.10007a80
lea eax, [ebp - 8]
push eax
call dword [sym.imp.MSVCR100.dll__time64]
lea ecx, [ebp - 8]
push ecx
call dword [sym.imp.MSVCR100.dll__localtime64]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
push edx
mov edx, dword [eax + 8]
mov eax, dword [0x1001f188]
push ecx
push edx
push str._02i:_02i:_02i
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x1c
call dword [sym.imp.MSVCR100.dll_rand]
cmp dword [0x1001f04c], ebx
je 0x1000c879
call fcn.1000c680
call fcn.1000c490
mov ecx, dword [0x1001ee5c]
mov edx, dword [ecx + 0x10]
cmp dword [edx], ebx
jbe 0x1000c8ab
call fcn.10009be0
call fcn.1000a430
call fcn.1000a720
call fcn.1000a7d0
call fcn.1000b990
call fcn.1000ae10
jmp 0x1000c8e1
mov dword [0x1001ef10], ebx
mov dword [0x1001ee80], ebx
mov dword [0x1001ee94], ebx
mov dword [0x1001ef7c], ebx
mov dword [0x1001ef80], ebx
mov dword [0x1001efb4], ebx
mov dword [0x1001ef18], ebx
mov dword [0x1001efb8], ebx
mov dword [0x1001ef78], ebx
mov esi, fcn.100027a0
push 0x57
mov dword [0x1001d0f8], esi
call fcn.100027a0
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
cwde
shr eax, 0x10
test eax, eax
je 0x1000c927
cmp byte [0x1001deb8], bl
je 0x1000c91b
cmp dword [0x1001debc], ebx
je 0x1000c92d
call edi
cmp dword [0x1001debc], eax
ja 0x1000c92d
mov byte [0x1001deb8], 1
jmp 0x1000c9bb
mov byte [0x1001deb8], bl
push 0x41
mov dword [0x1001d0f8], esi
call fcn.100027a0
movsx ecx, ax
shr ecx, 0x10
test ecx, ecx
je 0x1000c967
cmp byte [0x1001de08], bl
je 0x1000c95e
cmp dword [0x1001de0c], ebx
je 0x1000c96d
call edi
cmp dword [0x1001de0c], eax
ja 0x1000c96d
mov byte [0x1001de08], 1
jmp 0x1000c9bb
mov byte [0x1001de08], bl
push 0x53
mov dword [0x1001d0f8], esi
call fcn.100027a0
movsx edx, ax
shr edx, 0x10
test edx, edx
je 0x1000c9a7
cmp byte [0x1001de98], bl
je 0x1000c99e
cmp dword [0x1001de9c], ebx
je 0x1000c9ad
call edi
cmp dword [0x1001de9c], eax
ja 0x1000c9ad
mov byte [0x1001de98], 1
jmp 0x1000c9bb
mov byte [0x1001de98], bl
xor edi, edi
lea esi, [edi + 0x44]
call fcn.100027b0
test eax, eax
je 0x1000c9c1
mov dword [0x1001ef78], ebx
mov edx, dword [0x1001ee5c]
cmp dword [0x1001efa4], ebx
je 0x1000c9f8
mov eax, dword [edx + 0x18]
mov eax, dword [eax]
dec eax
je 0x1000c9f8
dec eax
je 0x1000c9f8
sub eax, 3
jne 0x1000c9f8
mov ecx, dword [edx + 0x10]
cmp dword [ecx], ebx
ja 0x1000c9f8
mov edx, dword [edx + 0x16c]
mov ecx, 0x1000aa80
call fcn.10002010
jmp 0x1000ca2d
mov esi, dword [edx + 0x16c]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea edx, [ebp - 4]
push edx
push 0x40
push 6
push esi
call edi
push 6
push 0x100168ec
push esi
call dword [sym.imp.MSVCR100.dll_memmove]
mov ecx, dword [ebp - 4]
add esp, 0xc
lea eax, [ebp - 4]
push eax
push ecx
push 6
push esi
call edi
mov edx, dword [0x1001ee5c]
pop edi
pop esi
cmp dword [0x1001ef9c], ebx
je 0x1000ca52
mov eax, 0xc
mov ecx, dword [edx + 0x30]
mov ecx, dword [ecx]
mov dword [eax + ecx], ebx
add eax, 4
cmp eax, 0x38
jl 0x1000ca42
cmp dword [0x1001efa0], ebx
je 0x1000ca75
mov eax, dword [edx + 0x18]
mov eax, dword [eax]
dec eax
je 0x1000ca75
dec eax
jne 0x1000ca75
mov edx, dword [edx + 0x104]
mov ecx, 0x1000ab90
call fcn.10002010
pop ebx
mov esp, ebp
pop ebp
ret