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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1118ab57
mov eax, dword fs:[0]
push eax
mov eax, 0x2604
call fcn.11164040
mov eax, dword [0x111ec774]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov bl, byte [ebp + 0xc]
xor esi, esi
mov dword [ebp - 0x25a8], esi
test bl, bl
je 0x11108d51
cmp dword [0x111f1604], esi
je 0x11108d51
cmp dword [0x111f1600], esi
je 0x11108d51
call fcn.11138260
mov byte [ebp - 0x259d], 1
test eax, eax
jne 0x11108d58
mov byte [ebp - 0x259d], 0
mov ecx, dword [0x111ee100]
push esi
push esi
push 0x111b64a0
push 0x111a0f50
mov byte [ebp - 0x25a0], 0
call fcn.1105e820
mov dword [ebp - 0x25cc], eax
mov dword [ebp - 0x25b0], esi
mov dword [ebp - 0x25c8], esi
mov byte [ebp - 0x259e], 0
test bl, bl
je 0x11108d9a
mov bl, 1
jmp 0x11108edc
mov edi, dword [sym.imp.KeRneL32.DLl_GetTickCount]
xor bl, bl
mov byte [ebp - 0x259f], bl
call edi
push 0x111f160c
mov esi, eax
call dword [sym.imp.KeRneL32.DLl_EnterCriticalSection]
call edi
mov edi, eax
sub eax, esi
mov dword [ebp - 0x25f0], edi
cmp eax, 0x64
jb 0x11108dd6
push eax
push 0x111b26d4
call fcn.11147060
add esp, 8
mov eax, dword [0x111f174c]
mov esi, dword [eax]
cmp esi, eax
je 0x11108eaa
mov edi, dword [esi + 0x10]
lea eax, [edi + 0x68]
push 0x111b6488
push eax
call fcn.11081e70
add esp, 8
test eax, eax
je 0x11108e50
lea ebx, [edi + 0x168]
push 0x111b6488
push ebx
call fcn.11081e70
add esp, 8
test eax, eax
je 0x11108e50
mov ecx, edi
call fcn.110f62e0
test eax, eax
jne 0x11108e22
mov byte [ebx], al
mov eax, dword [edi]
test eax, eax
jle 0x11108e50
cmp eax, 0xffff
jge 0x11108e50
mov ecx, edi
call fcn.110f62e0
test eax, eax
jne 0x11108e50
cmp dword [edi + 0x50], eax
jne 0x11108e44
cmp dword [edi + 0x64], eax
je 0x11108e50
cmp byte [ebx], 0
jne 0x11108e50
mov byte [ebp - 0x259f], 1
cmp byte [esi + 0x15], 0
jne 0x11108e92
mov ecx, dword [esi + 8]
cmp byte [ecx + 0x15], 0
jne 0x11108e75
mov eax, dword [ecx]
cmp byte [eax + 0x15], 0
jne 0x11108e71
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x15], 0
je 0x11108e67
mov esi, ecx
jmp 0x11108e92
mov eax, dword [esi + 4]
cmp byte [eax + 0x15], 0
jne 0x11108e90
mov edi, edi
cmp esi, dword [eax + 8]
jne 0x11108e90
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x11108e80
mov esi, eax
cmp esi, dword [0x111f174c]
jne 0x11108de5
mov bl, byte [ebp - 0x259f]
mov edi, dword [ebp - 0x25f0]
call dword [sym.imp.KeRneL32.DLl_GetTickCount]
push 0x111f160c
mov esi, eax
call dword [sym.imp.KeRneL32.DLl_LeaveCriticalSection]
mov eax, esi
sub eax, edi
cmp eax, 0x64
jb 0x11108ed4
push eax
push 0x111b26fc
call fcn.11147060
add esp, 8
test bl, bl
je 0x11109782
mov edx, dword [0x111f15fc]
movzx eax, byte [ebp + 0xc]
movzx ecx, bl
push ecx
push edx
push eax
push 0x111b644c
call fcn.11147060
add esp, 0x10
test bl, bl
je 0x11109782
mov ecx, dword [0x111ee100]
push 0
push 0
push 0x111b59cc
push 0x111a1084
mov byte [ebp - 0x5c], 0
call fcn.1105e820
mov esi, eax
test esi, esi
jne 0x11108f6d
mov ecx, dword [0x111ee100]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push eax
push pe_nt_image_headers32
lea eax, [ebp - 0x5c]
push eax
push 0x111b6440
push 0x111a1084
call edx
cmp byte [ebp - 0x5c], 0
jne 0x11108f62
mov eax, dword [0x111b6434]
mov ecx, dword [0x111b6438]
mov edx, dword [0x111b643c]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
cmp byte [ebp + 0xc], 0
je 0x11108f6d
mov esi, 1
push esi
lea ecx, [ebp - 0x259c]
call fcn.11094500
mov ecx, dword [0x111ee100]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
push 0
push 0x200
lea edx, [ebp - 0x460]
push edx
push 0x111b6424
push 0x111a1084
mov dword [ebp - 4], 0
call eax
test eax, eax
jg 0x11108fd8
mov ecx, dword [0x111b6414]
mov edx, dword [0x111b6418]
mov eax, dword [0x111b641c]
mov dword [ebp - 0x460], ecx
mov cl, byte [0x111b6420]
mov dword [ebp - 0x45c], edx
mov dword [ebp - 0x458], eax
mov byte [ebp - 0x454], cl
cmp byte [ebp - 0x460], 0
je 0x1110911c
lea edx, [ebp - 0x25d8]
push edx
lea ecx, [ebp - 0x259c]
call fcn.11094bb0
mov esi, dword [ebp - 0x25d0]
mov edi, dword [ebp - 0x25d8]
mov byte [ebp - 4], 1
jmp 0x11109010
lea eax, [ebp - 0x2610]
push eax
lea ecx, [ebp - 0x259c]
call fcn.11094bd0
mov ecx, dword [ebp - 0x25d4]
cmp ecx, dword [eax + 4]
jne 0x11109035
cmp edi, dword [eax]
jne 0x11109035
xor bl, bl
jmp 0x11109037
mov bl, 1
mov eax, dword [ebp - 0x2608]
test eax, eax
je 0x11109052
push eax
call dword [sym.imp.KeRneL32.DLl_CloseHandle]
mov dword [ebp - 0x2608], 0
test bl, bl
je 0x11109111
mov ebx, dword [ebp - 0x25d4]
push edi
mov ecx, ebx
call fcn.11094870
test eax, eax
jne 0x111090eb
mov byte [ebp - 0x564], al
test esi, esi
jne 0x111090a9
cmp byte [ebx + 0x1fa0], 0
je 0x1110908f
mov eax, dword [ebx + 0x1f98]
mov edx, edi
add edx, edx
mov eax, dword [eax + edx*8 + 4]
jmp 0x11109093
mov eax, dword [ebx + edi*4 + 0x24]
push eax
push 0
push 0x410
call dword [sym.imp.KeRneL32.DLl_OpenProcess]
mov esi, eax
mov dword [ebp - 0x25d0], esi
push 0x104
lea ecx, [ebp - 0x564]
push ecx
push esi
push edi
mov ecx, ebx
call fcn.11094940
test eax, eax
je 0x111090eb
push eax
lea edx, [ebp - 0x460]
push edx
call fcn.11129e00
add esp, 8
test eax, eax
je 0x111090eb
lea ecx, [ebp - 0x460]
cmp eax, ecx
je 0x1110910a
mov al, byte [eax - 1]
cmp al, 0x2c
je 0x1110910a
cmp al, 0x3b
je 0x1110910a
test esi, esi
je 0x111090fe
push esi
call dword [sym.imp.KeRneL32.DLl_CloseHandle]
xor esi, esi
mov dword [ebp - 0x25d0], esi
inc edi
mov dword [ebp - 0x25d8], edi
jmp 0x11109010
mov byte [ebp - 0x259e], 1
test esi, esi
je 0x1110911c
push esi
call dword [sym.imp.KeRneL32.DLl_CloseHandle]
lea edx, [ebp - 0x25c0]
push edx
lea ecx, [ebp - 0x259c]
call fcn.11094bb0
mov edi, dword [ebp - 0x25bc]
mov esi, dword [ebp - 0x25b8]
mov byte [ebp - 4], 2
mov edi, edi
lea eax, [ebp - 0x2604]
push eax
lea ecx, [ebp - 0x259c]
call fcn.11094bd0
cmp edi, dword [eax + 4]
jne 0x11109165
mov ecx, dword [ebp - 0x25c0]
cmp ecx, dword [eax]
jne 0x11109165
xor bl, bl
jmp 0x11109167
mov bl, 1
mov eax, dword [ebp - 0x25fc]
test eax, eax
je 0x11109182
push eax
call dword [sym.imp.KeRneL32.DLl_CloseHandle]
mov dword [ebp - 0x25fc], 0
test bl, bl
je 0x111096f1
cmp byte [edi + 0x1fa0], 0
mov edx, dword [ebp - 0x25c0]
je 0x111091ad
mov eax, dword [edi + 0x1f98]
add edx, edx
mov ecx, dword [eax + edx*8 + 4]
mov dword [ebp - 0x25c4], ecx
jmp 0x111091b7
mov eax, dword [edi + edx*4 + 0x24]
mov dword [ebp - 0x25c4], eax
cmp dword [ebp - 0x25c4], 0
je 0x111096cd
mov ebx, dword [ebp - 0x25c0]
push ebx
mov ecx, edi
mov byte [ebp - 0x260], 0
call fcn.11094870
mov dword [ebp - 0x25ac], eax
test eax, eax
jle 0x11109645
mov ecx, eax
push ecx
call fcn.11106e70
add esp, 4
mov dword [ebp - 0x25b4], eax
test eax, eax
je 0x111096cd
cmp byte [ebp + 0xc], 0
je 0x11109291
cmp dword [ebp - 0x25cc], 0
je 0x11109291
test esi, esi
jne 0x1110924a
cmp byte [edi + 0x1fa0], 0
je 0x11109230
mov eax, dword [edi + 0x1f98]
mov edx, ebx
add edx, edx
mov eax, dword [eax + edx*8 + 4]
jmp 0x11109234
mov eax, dword [edi + ebx*4 + 0x24]
push eax
push 0
push 0x410
call dword [sym.imp.KeRneL32.DLl_OpenProcess]
mov esi, eax
mov dword [ebp - 0x25b8], esi
push 0x104
lea ecx, [ebp - 0x260]
push ecx
push esi
push ebx
mov ecx, edi
call fcn.11094940
mov ecx, eax
test eax, eax
jne 0x1110926a
mov ecx, 0x111aafc0
mov edx, dword [ebp - 0x25b4]
push ecx
mov ecx, dword [ebp - 0x25c4]
push eax
mov eax, dword [edx + 0x50]
mov edx, dword [ebp - 0x25ac]
push eax
push ecx
push edx
push 0x111b63ec
call fcn.11147060
add esp, 0x18
mov eax, dword [ebp - 0x25b4]
cmp dword [eax + 0x50], 0
jne 0x111092ad
cmp dword [eax + 0x64], 0
jne 0x111092ad
cmp byte [ebp + 0xc], 0
je 0x111096cd
mov ecx, dword [ebp - 0x25b4]
call fcn.110f62e0
test eax, eax
je 0x111092cf
mov eax, dword [ebp - 0x25b4]
cmp byte [eax + 0x168], 0
jne 0x111096cd
test esi, esi
jne 0x11109306
cmp byte [edi + 0x1fa0], 0
je 0x111092ec
mov edx, dword [edi + 0x1f98]
mov ecx, ebx
add ecx, ecx
mov eax, dword [edx + ecx*8 + 4]
jmp 0x111092f0
mov eax, dword [edi + ebx*4 + 0x24]
push eax
push 0
push 0x410
call dword [sym.imp.KeRneL32.DLl_OpenProcess]
mov esi, eax
mov dword [ebp - 0x25b8], esi
push 0x104
lea eax, [ebp - 0x260]
push eax
push esi
push ebx
mov ecx, edi
call fcn.11094940
mov dword [ebp - 0x25a4], eax
test eax, eax
je 0x111096cd
mov ecx, dword [ebp - 0x25ac]
push 0xffffffffffffffff
push ecx
mov ecx, dword [0x111ee30c]
call fcn.110f7730
mov esi, eax
cmp esi, 4
je 0x111096cd
cmp dword [0x111ee0e0], 0x120003
jl 0x111093a2
call fcn.11138260
test eax, eax
jne 0x111093a2
cmp esi, 0xffffffff
je 0x111093a2
mov ebx, dword [ebp - 0x25b4]
push 0xa
push 0x111b63e0
mov ecx, ebx
call fcn.110f63a0
push eax
call fcn.11081f20
add esp, 0xc
test eax, eax
jne 0x1110938c
test esi, esi
je 0x111093a8
cmp esi, 1
je 0x111093a8
call fcn.110f1cf0
test al, al
jne 0x111093a8
cmp byte [ebp - 0x259e], al
jne 0x111093a8
jmp 0x111096cd
mov ebx, dword [ebp - 0x25b4]
cmp byte [ebx + 0x168], 0
jne 0x1110950a
mov eax, dword [ebp - 0x25b8]
mov byte [ebp - 0x15c], 0
test eax, eax
jne 0x11109400
cmp byte [edi + 0x1fa0], al
je 0x111093e2
mov edx, dword [ebp - 0x25c0]
mov eax, dword [edi + 0x1f98]
add edx, edx
mov eax, dword [eax + edx*8 + 4]
jmp 0x111093ec
mov ecx, dword [ebp - 0x25c0]
mov eax, dword [edi + ecx*4 + 0x24]
push eax
push 0
push 0x410
call dword [sym.imp.KeRneL32.DLl_OpenProcess]
mov dword [ebp - 0x25b8], eax
lea edx, [ebp - 0x1c]
push edx
push 0
push 0
push 0x100
lea ecx, [ebp - 0x15c]
push ecx
push eax
call fcn.11094f00
add esp, 0x18
cmp byte [ebp + 0xc], 0
mov esi, eax
je 0x11109476
cmp dword [ebp - 0x25cc], 0
je 0x11109476
movzx edx, byte [ebp - 0x15]
movzx eax, byte [ebp - 0x16]
movzx ecx, byte [ebp - 0x17]
push edx
movzx edx, byte [ebp - 0x18]
push eax
movzx eax, byte [ebp - 0x19]
push ecx
movzx ecx, byte [ebp - 0x1a]
push edx
movzx edx, byte [ebp - 0x1b]
push eax
movzx eax, byte [ebp - 0x1c]
push ecx
push edx
mov edx, dword [ebp - 0x25c4]
push eax
mov eax, dword [ebp - 0x25a4]
lea ecx, [ebp - 0x1c]
push ecx
push esi
push edx
push eax
push 0x111b6388
call fcn.11147060
add esp, 0x34
cmp esi, 1
jle 0x1110950a
mov ecx, dword [ebp - 0x25a4]
push 0x111b6374
push ecx
call fcn.11081e70
add esp, 8
test eax, eax
je 0x1110950a
mov edx, dword [ebp - 0x25a4]
push 0x111a6064
push edx
call fcn.11081e70
add esp, 8
test eax, eax
je 0x1110950a
mov eax, dword [ebp - 0x25a4]
push 0x111a6074
push eax
call fcn.11081e70
add esp, 8
test eax, eax
je 0x1110950a
mov ecx, dword [ebp - 0x25a4]
mov eax, dword [ebp - 0x25ac]
push ecx
lea edx, [ebp - 0x15c]
push edx
push eax
push 0x111b634c
call fcn.11147060
lea eax, [ebp - 0x15c]
lea edx, [ebx + 0x168]
mov ecx, eax
add esp, 0x10
sub edx, ecx
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x11109500
mov ecx, ebx
call fcn.110f62e0
mov esi, dword [ebp - 0x25a4]
test eax, eax
jne 0x111095f6
push 0x111b633c
push esi
call fcn.11081e70
add esp, 8
test eax, eax
jne 0x111095c0
mov esi, dword [ebp - 0x25c0]
cmp byte [edi + 0x1fa0], al
je 0x11109553
mov eax, dword [edi + 0x1f98]
mov edx, esi
add edx, edx
mov eax, dword [eax + edx*8 + 4]
jmp 0x11109557
mov eax, dword [edi + esi*4 + 0x24]
push eax
push 0
push 0x100000
call dword [sym.imp.KeRneL32.DLl_OpenProcess]
mov dword [ebx + 0x34], eax
call dword [sym.imp.KeRneL32.DLl_GetTickCount]
mov ecx, dword [ebx]
dec eax
or eax, 1
push ecx
mov dword [ebx + 0x64], eax
call fcn.110281e0
add esp, 4
mov dword [ebx + 0x60], eax
cmp byte [edi + 0x1fa0], 0
je 0x1110959a
mov edx, dword [edi + 0x1f98]
add esi, esi
mov eax, dword [edx + esi*8 + 4]
jmp 0x1110959e
mov eax, dword [edi + esi*4 + 0x24]
push eax
mov eax, dword [ebp - 0x25ac]
push eax
push 0x111b6318
call fcn.11147060
mov esi, dword [ebp - 0x25a4]
add esp, 0xc
mov byte [0x111ee26c], 1
cmp byte [ebp - 0x259d], 0
je 0x111095f6
mov ecx, dword [ebp - 0x25ac]
cmp ecx, dword [0x111f1600]
jne 0x111095f6
push 0x111b5f34
push esi
call fcn.11081e70
add esp, 8
test eax, eax
jne 0x111095f6
mov byte [ebp - 0x25a0], 1
mov byte [ebp - 0x259d], al
push 0x111b6308
push esi
call fcn.11081e70
add esp, 8
test eax, eax
jne 0x11109619
mov eax, 1
add dword [ebp - 0x25c8], eax
add dword [ebx + 0x2bc], eax
push 0x1119e414
push esi
call fcn.11081e70
add esp, 8
test eax, eax
jne 0x111096cd
mov eax, 1
add dword [ebp - 0x25b0], eax
add dword [ebx + 0x2b8], eax
jmp 0x111096cd
cmp dword [ebp - 0x25ac], 0
jne 0x111096cd
cmp byte [ebp - 0x5c], 0
je 0x111096cd
test esi, esi
jne 0x1110968b
cmp byte [edi + 0x1fa0], 0
je 0x11109671
mov eax, dword [edi + 0x1f98]
mov edx, ebx
add edx, edx
mov eax, dword [eax + edx*8 + 4]
jmp 0x11109675
mov eax, dword [edi + ebx*4 + 0x24]
push eax
push 0
push 0x410
call dword [sym.imp.KeRneL32.DLl_OpenProcess]
mov esi, eax
mov dword [ebp - 0x25b8], esi
push 0x104
lea ecx, [ebp - 0x260]
push ecx
push esi
push ebx
mov ecx, edi
call fcn.11094940
test eax, eax
je 0x111096cd
lea edx, [ebp - 0x5c]
push edx
push eax
call fcn.11081e70
add esp, 8
test eax, eax
jne 0x111096cd
push 3
push 1
push 0x111b59cc
push 0x111a1084
mov ecx, 0x111ee0d0
call fcn.11027f40
mov esi, dword [ebp - 0x25b8]
test esi, esi
je 0x111096e6
push esi
call dword [sym.imp.KeRneL32.DLl_CloseHandle]
xor esi, esi
mov dword [ebp - 0x25b8], esi
inc dword [ebp - 0x25c0]
jmp 0x11109140
test esi, esi
je 0x111096fc
push esi
call dword [sym.imp.KeRneL32.DLl_CloseHandle]
lea ecx, [ebp - 0x259c]
mov dword [ebp - 4], 0xffffffff
call fcn.11094780
cmp byte [ebp - 0x25a0], 0
je 0x11109775
mov eax, dword [0x111f1600]
push eax
call fcn.11106e70
mov esi, eax
xor edi, edi
add esp, 4
cmp esi, edi
je 0x11109775
mov ecx, esi
call fcn.110f62e0
test eax, eax
jne 0x11109775
cmp dword [esi + 0x54], edi
jne 0x11109775
mov ecx, dword [0x111f1600]
push ecx
push 0x111b62e0
call fcn.11147060
mov edx, dword [0x111f1600]
mov ecx, dword [0x111ee308]
add esp, 8
push edi
push edi
push edx
call fcn.111082c0
test eax, eax
je 0x11109775
mov dword [0x111f1604], edi
mov dword [0x111f1600], edi
cmp dword [ebp - 0x25c8], 0
je 0x11109782
xor eax, eax
jmp 0x1110978f
mov eax, dword [ebp - 0x25b0]
neg eax
sbb eax, eax
add eax, 2
mov dword [ebp - 0x25b0], eax
cmp eax, 3
jge 0x11109a69
mov edi, edi
mov edi, dword [sym.imp.KeRneL32.DLl_GetTickCount]
call edi
mov esi, eax
push 0x111f160c
mov dword [ebp - 0x25e4], esi
mov dword [ebp - 0x25e8], 0x111f160c
call dword [sym.imp.KeRneL32.DLl_EnterCriticalSection]
call edi
mov dword [ebp - 0x25e0], eax
sub eax, esi
cmp eax, 0x64
jb 0x111097e2
push eax
push 0x111b26d4
call fcn.11147060
add esp, 8
mov eax, dword [0x111f174c]
mov ebx, dword [eax]
mov dword [ebp - 4], 3
cmp ebx, eax
je 0x11109a0e
mov esi, dword [ebx + 0x10]
mov eax, dword [esi]
test eax, eax
jle 0x11109930
cmp eax, 0xffff
jge 0x11109930
mov ecx, esi
call fcn.110f62e0
test eax, eax
jne 0x11109930
cmp dword [esi + 0x50], eax
jne 0x11109832
cmp dword [esi + 0x64], eax
jne 0x11109832
cmp byte [ebp + 0xc], al
je 0x11109930
cmp dword [0x111ee0e0], 0x120003
jl 0x11109897
call fcn.11138260
test eax, eax
jne 0x11109897
mov eax, dword [esi]
mov ecx, dword [0x111ee30c]
push 0xffffffffffffffff
push eax
call fcn.110f7730
mov edi, eax
cmp edi, 0xffffffff
je 0x11109897
push 0xa
push 0x111b63e0
mov ecx, esi
call fcn.110f63a0
push eax
call fcn.11081f20
add esp, 0xc
test eax, eax
jne 0x11109882
test edi, edi
je 0x11109897
cmp edi, 1
je 0x11109897
call fcn.110f1cf0
test al, al
jne 0x11109897
cmp byte [ebp - 0x259e], al
je 0x11109930
lea ecx, [esi + 0x68]
push 0x111b6488
push ecx
call fcn.11081e70
add esp, 8
test eax, eax
je 0x11109930
lea edi, [esi + 0x168]
push 0x111b6488
push edi
call fcn.11081e70
add esp, 8
test eax, eax
je 0x11109930
cmp byte [edi], 0
jne 0x111098fa
cmp dword [esi + 0x50], 0
jne 0x111098d9
cmp dword [esi + 0x64], 0
je 0x11109930
cmp dword [esi + 8], 0
je 0x11109930
mov edx, dword [esi]
push edx
push 0x111b62b4
call fcn.11147060
add esp, 8
push 0
mov ecx, esi
call fcn.110f6340
jmp 0x11109930
cmp byte [ebp + 0xc], 0
je 0x11109913
cmp dword [esi + 0x64], 0
jne 0x11109913
call dword [sym.imp.KeRneL32.DLl_GetTickCount]
dec eax
or eax, 1
mov dword [esi + 0x64], eax
mov eax, dword [ebp - 0x25b0]
test eax, eax
jne 0x11109961
cmp dword [esi + 0x2bc], eax
jne 0x1110997d
push 0x111f15fc
call dword [sym.imp.KeRneL32.DLl_InterlockedIncrement]
cmp byte [ebx + 0x15], 0
jne 0x11109a02
mov ecx, dword [ebx + 8]
cmp byte [ecx + 0x15], 0
jne 0x111099e2
mov eax, dword [ecx]
cmp byte [eax + 0x15], 0
jne 0x1110995a
nop
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x15], 0
je 0x11109950
mov ebx, ecx
jmp 0x11109a02
cmp eax, 1
jne 0x1110996f
cmp dword [esi + 0x2b8], 0
jmp 0x11109923
cmp eax, 2
jne 0x11109925
cmp dword [ebp - 0x25a8], 0
jne 0x11109925
mov eax, dword [esi]
mov ecx, dword [0x111ee30c]
push 0xffffffffffffffff
push eax
call fcn.110f7730
push eax
push edi
mov ecx, esi
call fcn.110f62e0
mov ecx, dword [esi]
push eax
push ecx
push 0x111b6288
call fcn.11147060
mov edx, dword [esi]
mov ecx, dword [0x111ee308]
add esp, 0x14
push 1
push 0
push edx
call fcn.111082c0
test eax, eax
je 0x11109930
mov ecx, esi
call fcn.110f62e0
test eax, eax
je 0x11109930
inc dword [ebp - 0x25a8]
mov byte [0x111ee26c], 1
jmp 0x11109930
mov eax, dword [ebx + 4]
cmp byte [eax + 0x15], 0
jne 0x11109a00
jmp 0x111099f0
cmp ebx, dword [eax + 8]
jne 0x11109a00
mov ebx, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x111099f0
mov ebx, eax
cmp ebx, dword [0x111f174c]
jne 0x111097f8
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.KeRneL32.DLl_GetTickCount]
mov esi, eax
push 0x111f160c
mov dword [ebp - 0x25dc], esi
call dword [sym.imp.KeRneL32.DLl_LeaveCriticalSection]
mov eax, esi
sub eax, dword [ebp - 0x25e0]
mov dword [ebp - 0x25e8], 0
cmp eax, 0x64
jb 0x11109a53
push eax
push 0x111b26fc
call fcn.11147060
add esp, 8
mov eax, dword [ebp - 0x25b0]
inc eax
mov dword [ebp - 0x25b0], eax
cmp eax, 3
jl 0x111097a0
cmp byte [ebp + 0xc], 0
je 0x11109b98
cmp dword [ebp - 0x25cc], 0
je 0x11109b98
mov ebx, dword [sym.imp.KeRneL32.DLl_GetTickCount]
call ebx
mov esi, eax
push 0x111f160c
mov dword [ebp - 0x25f4], esi
mov dword [ebp - 0x25f8], 0x111f160c
call dword [sym.imp.KeRneL32.DLl_EnterCriticalSection]
call ebx
mov dword [ebp - 0x25f0], eax
sub eax, esi
cmp eax, 0x64
jb 0x11109ac2
push eax
push 0x111b26d4
call fcn.11147060
add esp, 8
mov eax, dword [0x111f174c]
mov edi, dword [eax]
mov dword [ebp - 4], 4
cmp edi, eax
je 0x11109b6e
jmp 0x11109ae0
mov esi, dword [edi + 0x10]
mov eax, dword [esi]
mov ecx, dword [0x111ee30c]
push 0xffffffffffffffff
push eax
call fcn.110f7730
mov ecx, dword [esi + 0x64]
mov edx, dword [esi + 0x50]
push eax
push ecx
push edx
mov ecx, esi
call fcn.110f62e0
mov ecx, dword [esi]
push eax
lea eax, [esi + 0x168]
push eax
push ecx
push 0x111b6254
call fcn.11147060
add esp, 0x1c
cmp byte [edi + 0x15], 0
jne 0x11109b62
mov eax, dword [edi + 8]
cmp byte [eax + 0x15], 0
jne 0x11109b40
mov edi, eax
mov eax, dword [edi]
cmp byte [eax + 0x15], 0
jne 0x11109b62
mov edi, eax
mov eax, dword [edi]
cmp byte [eax + 0x15], 0
je 0x11109b34
jmp 0x11109b62
mov eax, dword [edi + 4]
cmp byte [eax + 0x15], 0
jne 0x11109b60
lea esp, [esp]
cmp edi, dword [eax + 8]
jne 0x11109b60
mov edi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x11109b50
mov edi, eax
cmp edi, dword [0x111f174c]
jne 0x11109ae0
call ebx
push 0x111f160c
mov esi, eax
call dword [sym.imp.KeRneL32.DLl_LeaveCriticalSection]
mov eax, esi
sub eax, dword [ebp - 0x25f0]
cmp eax, 0x64
jb 0x11109b98
push eax
push 0x111b26fc
call fcn.11147060
add esp, 8
mov eax, dword [ebp - 0x25a8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.11162bb7
mov esp, ebp
pop ebp
ret