Function at 0x1113f2d0
Capabilities:
Check for time delay via gettickcount
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1118c9f0
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x111ec774]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [ebp + 8], 0x4a
jne 0x1113f6dd
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 8]
mov esi, dword [eax]
cmp esi, 1
jne 0x1113f693
mov ecx, dword [eax + 4]
mov esi, dword [eax + ecx*4 + 0xc]
mov edi, dword [eax + ecx*4 + 8]
mov ebx, dword [edx + 4]
lea eax, [eax + ecx*4 + 8]
add eax, 8
mov dword [ebp - 0x14], eax
lea eax, [ecx*4 + 0x10]
mov dword [ebp - 0x10], esi
sub ebx, eax
xor esi, esi
push 0x18
mov dword [ebp + 8], edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x44], esi
call fcn.111101b0
add esp, 4
cmp eax, esi
je 0x1113f66f
mov dword [ebp - 0x48], eax
mov dword [eax], eax
mov eax, dword [ebp - 0x48]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0x48]
mov dword [eax + 8], eax
mov ecx, dword [ebp - 0x48]
mov byte [ecx + 0x14], 1
mov edx, dword [ebp - 0x48]
mov byte [edx + 0x15], 1
mov ecx, dword [0x111ee28c]
mov dword [ebp - 4], esi
or esi, 0xffffffff
test ecx, ecx
je 0x1113f38f
lea eax, [ebp - 0x4c]
push eax
push edi
call fcn.110ecc30
mov esi, eax
cmp edi, 4
jne 0x1113f41b
cmp dword [0x111ee2d8], 0
je 0x1113f41b
call dword [sym.imp.KeRneL32.DLl_GetTickCount]
sub eax, dword [0x111ee2d8]
push eax
push esi
push 0x111bc8b8
call fcn.11147060
mov ecx, dword [0x111ee134]
add esp, 0xc
push 0xd0
push ecx
lea ecx, [ebp - 0x74]
call fcn.1106c0f0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 1
call fcn.110684e0
test eax, eax
je 0x1113f3f4
mov ecx, dword [ebp - 0x50]
call fcn.1103fb00
lea ecx, [ebp - 0x74]
call fcn.110684e0
test eax, eax
jne 0x1113f3e0
lea ecx, [ebp - 0x4c]
call fcn.11149d80
mov ecx, dword [0x111ee28c]
lea edx, [ebp - 0x4c]
push edx
push 4
call fcn.110ecc30
lea ecx, [ebp - 0x74]
mov esi, eax
mov byte [ebp - 4], 0
call fcn.1106c150
mov ecx, dword [ebp - 0x48]
cmp esi, 0xffffffff
je 0x1113f63a
mov eax, dword [ecx]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x24], eax
cmp eax, ecx
je 0x1113f63a
jmp 0x1113f440
mov edi, dword [eax + 0xc]
mov esi, dword [eax + 0x10]
mov dword [ebp - 0x28], esi
test edi, edi
je 0x1113f623
cmp dword [ebp + 8], 1
jne 0x1113f4c3
cmp dword [ebp - 0x10], 4
jne 0x1113f4c3
cmp ebx, 5
jl 0x1113f4c3
mov eax, dword [ebp - 0x14]
mov ecx, 0x111bc8b0
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1113f490
test dl, dl
je 0x1113f48c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1113f490
add eax, 2
add ecx, 2
test dl, dl
jne 0x1113f470
xor eax, eax
jmp 0x1113f495
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1113f4c3
push 0x111bc8a8
mov ecx, edi
call fcn.11040d20
push eax
call fcn.11082390
add esp, 8
test eax, eax
jns 0x1113f4c3
push 0x111bc88c
call dword [sym.imp.KeRneL32.DLl_OutputDebugStringA]
push esi
jmp 0x1113f61c
lea eax, [ebx + 0x25]
push eax
call fcn.11110230
mov esi, eax
add esp, 4
test esi, esi
jne 0x1113f4ec
push 0x2b4b
push 0x111ba780
push 0x111bc884
call fcn.11029a70
add esp, 0xc
mov ecx, edi
call fcn.11064de0
sub eax, 0x1d
jne 0x1113f50f
push 0x2b4e
push 0x111ba780
push 0x111bc878
call fcn.11029a70
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
mov ecx, 0x96
mov word [esi], cx
mov ecx, dword [ebp - 0x14]
push ebx
mov dword [esi + 2], edx
push ecx
lea edx, [esi + 0x1c]
push edx
mov dword [esi + 0xa], 7
mov dword [esi + 0xe], eax
mov dword [esi + 0x12], ebx
mov dword [esi + 6], 3
mov dword [esi + 0x16], 0
mov word [esi + 0x1a], bx
call fcn.11162c60
mov eax, dword [edi]
mov edx, dword [eax + 4]
add esp, 0xc
push 0x111a0588
mov ecx, edi
call edx
push eax
call fcn.11165250
add esp, 8
test eax, eax
je 0x1113f5c8
mov eax, 1
cmp dword [ebp + 8], eax
jne 0x1113f5c8
cmp dword [ebp - 0x10], 7
jne 0x1113f5c8
cmp dword [ebp - 0x18], 0
jne 0x1113f60f
cmp byte [esi + 0x23], 8
mov dword [ebp - 0x18], eax
mov eax, 0x13
jne 0x1113f598
mov eax, 0x17
push 0
lea eax, [eax + esi + 0x1c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.11146a90
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.11048a10
mov edx, dword [ebp - 0x1c]
push edx
mov byte [ebp - 4], 0
call fcn.11162777
add esp, 4
jmp 0x1113f60f
cmp edi, dword [0x111f1bb4]
je 0x1113f60f
mov eax, dword [edi]
mov edx, dword [eax + 0x44]
push 7
add ebx, 0x1d
push ebx
push esi
mov ecx, edi
call edx
mov ecx, dword [0x111ee100]
push 0
push 0
push 0x1119f81c
push 0x111a0f50
call fcn.1105e820
test eax, eax
je 0x1113f60c
push 0x111bc874
push ebx
push esi
call fcn.1104a930
add esp, 0xc
mov ebx, dword [ebp - 0x20]
push esi
call fcn.11162bc6
mov eax, dword [ebp - 0x28]
add esp, 4
push eax
mov ecx, edi
call fcn.11110000
lea ecx, [ebp - 0x24]
call fcn.110fadb0
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x48]
jne 0x1113f440
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx]
push ecx
push eax
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 3
call fcn.1115c2d0
mov edx, dword [ebp - 0x48]
push edx
call fcn.11162777
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x2c], esi
call fcn.1116305a
push 0x111cd988
lea ecx, [ebp - 0x3c]
push ecx
mov dword [ebp - 0x3c], 0x11195404
call fcn.111634b1
cmp esi, 2
je 0x1113f69d
cmp esi, 3
jne 0x1113f6f2
push esi
push 0x111bc850
call fcn.11147060
add esp, 8
call dword [sym.imp.KeRneL32.DLl_GetTickCount]
mov edx, dword [0x111ee160]
push 0
push esi
push 0x664
push edx
mov dword [0x111ee2d8], eax
call dword [sym.imp.uSEr32.dll_PostMessageA]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x111ee28c]
test ecx, ecx
je 0x1113f6f2
cmp dword [ebp + 0xc], 2
jne 0x1113f6f2
call fcn.110ebba0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret