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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1480
call fcn.01178910
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
cmp dword [eax + 0x129c8], 0
jne 0x10eab24
lea eax, [esi + 0x36a8]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10eab24
push eax
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov eax, dword [esi]
push ebx
push edi
xor edi, edi
push edi
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 8]
push edx
push 0x1018ec8
push 0x1018ea0
push connect
push eax
call fcn.010b33d0
mov ebx, dword [sym.imp.KERNEL32.DLL_HeapFree]
test eax, eax
je 0x10ea336
mov edi, dword [eax]
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
push eax
call ebx
mov eax, dword [esi]
mov dword [esi + 0x36c4], edi
xor edi, edi
push edi
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 8]
push edx
push 0x1018e98
push 0x1018ea0
push connect
push eax
call fcn.010b33d0
test eax, eax
je 0x10ea370
mov edi, dword [eax]
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
push eax
call ebx
mov eax, dword [esi]
mov dword [esi + 0x36c8], edi
xor edi, edi
push edi
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 8]
push edx
push 0x1018e90
push 0x1018ea0
push connect
push eax
call fcn.010b33d0
test eax, eax
je 0x10ea3aa
mov edi, dword [eax]
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
push eax
call ebx
mov eax, dword [esi]
mov dword [esi + 0x36cc], edi
mov eax, dword [eax + 0x3550]
cmp dword [eax + 0x1f4], 0x278d00
jae 0x10ea3d4
test byte [eax + 0x1fc], 0x81
mov dword [ebp - 0x14], 1
je 0x10ea3db
mov dword [ebp - 0x14], 0
push 0x100ec58
call dword [sym.imp.msvcrt.dll_atoi]
push 0x1002
lea ecx, [ebp - 0x1480]
push 0
push ecx
mov dword [ebp - 0x10], eax
call sub.msvcrt.dll_memset
add esp, 0x10
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
xor edi, edi
push edi
lea edx, [ebp - 8]
push edx
lea ecx, [ebp - 4]
push ecx
push 0x10180e0
push 0x1014d6c
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
push connect
push eax
call fcn.010b33d0
test eax, eax
je 0x10ea43c
mov edi, dword [eax]
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
push eax
call ebx
mov ebx, edi
test edi, edi
jne 0x10ea47a
mov edx, dword [esi]
mov edx, dword [edx + 0x208]
lea eax, [ebp - 0x47c]
push eax
lea ecx, [esi + 0x272]
push ecx
call edx
mov edi, eax
cmp edi, 0xffffffff
je 0x10ea47a
lea eax, [ebp - 0x478]
push eax
call fcn.01028820
mov ecx, dword [esi]
mov edx, dword [ecx + 0x200]
push edi
mov ebx, eax
call edx
mov eax, dword [esi]
xor edi, edi
push edi
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 4]
push edx
push 0x101af78
push 0x1018ea0
push connect
push eax
call fcn.010b33d0
test eax, eax
je 0x10ea4b2
mov edi, dword [eax]
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.DLL_HeapFree]
test edi, edi
je 0x10ea4cf
mov eax, dword [esi]
lea ecx, [ebx + 0x2a30]
cmp dword [eax + 0x12954], ecx
jae 0x10ea51d
cmp dword [esi + 0x36c0], 0
jne 0x10ea51d
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.msvcrt.dll_srand]
add esp, 4
call dword [sym.imp.msvcrt.dll_rand]
cdq
mov ecx, 0xd2f0
idiv ecx
mov eax, dword [esi]
push 4
lea edi, [edx + ebx - 0xd2f0]
lea edx, [ebp - 4]
push edx
push 4
push 0x101af78
push 0x1018ea0
push connect
push eax
mov dword [ebp - 4], edi
call fcn.010b2fe0
mov dword [esi + 0x36c0], 1
cmp dword [ebp - 0x14], 0
jne 0x10ea550
mov edx, dword [esi]
lea ecx, [ebp - 4]
push ecx
push 0x101af70
push 0x1018ea0
push connect
push edx
mov dword [ebp - 4], 0
call fcn.010b3680
test eax, eax
jne 0x10ea54e
cmp dword [ebp - 4], eax
jne 0x10ea550
xor edi, edi
cmp dword [ebp + 0xc], 0
jne 0x10ea63a
mov ecx, dword [ebp - 0x14]
mov eax, dword [esi]
neg ecx
sbb ecx, ecx
and ecx, 0xffff0358
add ecx, 0xfd20
add ecx, edi
cmp dword [eax + 0x12954], ecx
jae 0x10ea63a
push 0
lea edx, [ebp - 8]
push edx
lea ecx, [ebp + 0xc]
push ecx
push 0x101af68
push 0x1018ea0
push connect
push eax
mov dword [ebp - 4], 0
call fcn.010b33d0
mov dword [ebp + 0xc], eax
test eax, eax
je 0x10ea614
cmp dword [ebp - 8], 0
jbe 0x10ea614
mov eax, dword [esi]
push 1
lea edx, [ebp - 8]
lea ebx, [eax + 0x37d1]
push edx
push ebx
lea edi, [eax + 0x3560]
call fcn.010293c0
push eax
push ebx
push edi
call fcn.010293c0
push eax
mov eax, dword [ebp + 0xc]
push edi
push eax
call fcn.0103d590
mov edi, eax
test edi, edi
je 0x10ea60b
mov eax, dword [ebp - 8]
cmp eax, 2
jbe 0x10ea60b
add eax, 0xfffffffe
push eax
lea ebx, [edi + 2]
push ebx
call fcn.0102ee40
cmp ax, word [edi]
jne 0x10ea60b
push ebx
push esi
call fcn.010420a0
mov dword [ebp - 4], 1
push edi
call fcn.01047230
mov eax, dword [ebp + 0xc]
push eax
call fcn.01047230
cmp dword [ebp - 4], 0
jne 0x10ea626
cmp dword [ebp - 0x14], 0
jne 0x10ea63a
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.0102d7d0
pop edi
pop ebx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esi]
mov edx, dword [eax + 0x3550]
cmp dword [edx + 0x174], 0
jne 0x10ea688
cmp byte [eax + 0x153ae], 0
jne 0x10ea688
mov edi, dword [sym.imp.KERNEL32.DLL_Sleep]
mov ebx, dword [sym.imp.KERNEL32.DLL_GetTickCount]
push 0x3e8
call edi
push esi
call fcn.010630b0
test eax, eax
jne 0x10ea688
call ebx
sub eax, dword [ebp - 0x18]
cmp eax, 0xc350
ja 0x10ea688
mov eax, dword [esi]
cmp byte [eax + 0x153ae], 0
je 0x10ea660
mov ecx, esi
mov ebx, dword [ecx]
mov eax, dword [ebx + 0x3550]
mov esi, dword [eax + 0xcc8]
add esi, dword [eax + 0xcc0]
mov edi, dword [eax + 0xccc]
adc edi, dword [eax + 0xcc4]
add esi, dword [eax + 0xcb8]
adc edi, dword [eax + 0xcbc]
add esi, dword [eax + 0xcb0]
adc edi, dword [eax + 0xcb4]
add esi, dword [eax + 0xca8]
adc edi, dword [eax + 0xcac]
add esi, dword [eax + 0xca0]
adc edi, dword [eax + 0xca4]
add esi, dword [eax + 0xc98]
adc edi, dword [eax + 0xc9c]
add esi, dword [eax + 0xc90]
adc edi, dword [eax + 0xc94]
add esi, dword [eax + 0xc88]
adc edi, dword [eax + 0xc8c]
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
cmp dword [ebx + 0x1e974], eax
je 0x10ea758
mov eax, dword [ebx + 0x1e974]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 0
push 0x3e8
push edx
push eax
call fcn.01178830
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x1e974]
cmp dword [eax + 0x20], 0
mov dword [ebp - 0x18], edx
je 0x10ea758
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
push 0
push ecx
push edx
push eax
call fcn.01178830
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov ecx, dword [ebx + 0x3550]
test dword [ecx + 0x138], 0x800
mov dword [ebp + 0xc], 0x100c258
jne 0x10ea778
mov dword [ebp + 0xc], 0x100ec24
mov edx, dword [ebp - 8]
push edx
mov edx, dword [ebp - 0xc]
push edx
mov edx, dword [ebp - 0x18]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push edi
push esi
mov eax, ecx
mov edx, dword [eax + 0x1a0]
push edx
mov edx, dword [eax + 0x18c]
push edx
mov edx, dword [eax + 0x170]
push edx
mov edx, dword [eax + 0xdfc]
mov eax, dword [eax + 0xdf8]
push edx
mov edx, dword [ebx + 0x8238]
push eax
mov eax, dword [ebx + 0x81a4]
neg edx
sbb edx, edx
and edx, 0x20
add edx, 0x20
push edx
mov edx, dword [ebp - 0x10]
push eax
push edx
push 0x100f708
push 0x900072e
lea eax, [ebx + 0x3560]
push eax
lea edx, [ebx + 0x35a1]
push edx
mov edx, dword [ebp + 0xc]
lea eax, [ebx + 0x35ca]
push eax
mov eax, dword [ecx + 0x13c]
push edx
shl eax, 5
mov edx, dword [eax + 0x117fac0]
add ebx, 0x155b8
push ebx
push edx
add ecx, 0x1cc
push ecx
push 0x101ad48
lea eax, [ebp - 0x1480]
push 0x3ff
push eax
call fcn.0102aaf0
mov eax, dword [ebp + 8]
add esp, 0x68
lea ecx, [ebp + 0xc]
push ecx
mov ecx, dword [eax]
lea edx, [ebp - 0x10]
push edx
push 0x101ad40
push 0x1014dd4
push connect
push ecx
call fcn.010b36e0
mov esi, eax
test esi, esi
je 0x10ea8a8
push esi
call fcn.0102a730
cmp eax, 0x28
jae 0x10ea898
push 0x20a
lea edx, [ebp - 0x22c]
push 0
push edx
call sub.msvcrt.dll_memset
push esi
push 0x101ad28
lea eax, [ebp - 0x22c]
push 0x103
push eax
call fcn.0102aaf0
add esp, 0x1c
lea ecx, [ebp - 0x22c]
push ecx
lea edx, [ebp - 0x1480]
push edx
call fcn.0102a600
push esi
push 0
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.DLL_HeapFree]
push 0x20a
lea eax, [ebp - 0x22c]
push 0
push eax
call sub.msvcrt.dll_memset
mov edi, dword [ebp + 8]
add esp, 0xc
lea ecx, [ebp - 0x22c]
push ecx
push edi
call fcn.010ba510
test eax, eax
je 0x10ea8e5
lea edx, [ebp - 0x22c]
push edx
lea eax, [ebp - 0x1480]
push eax
call fcn.0102a600
lea ecx, [ebp - 0x1480]
push ecx
call fcn.01041be0
mov eax, dword [edi]
mov ecx, dword [eax + 0x3550]
mov dword [ebp + 0xc], 0
test ecx, ecx
je 0x10ea909
add ecx, 0x70
jmp 0x10ea90b
xor ecx, ecx
push 1
push 0
push 0
push 0
push 0
lea edx, [ebp + 0xc]
push edx
lea edx, [ebp - 0x1480]
push edx
push ecx
push eax
call fcn.010e7b60
mov ebx, dword [ebp + 0xc]
mov esi, eax
test ebx, ebx
je 0x10ea958
cmp esi, 9
jbe 0x10ea958
xor ecx, ecx
xor eax, eax
test esi, esi
jbe 0x10ea95a
lea ecx, [ecx]
cmp byte [eax + ebx], 0x7c
jne 0x10ea951
test ecx, ecx
jne 0x10ea9c5
mov ecx, 1
jmp 0x10ea953
xor ecx, ecx
inc eax
cmp eax, esi
jb 0x10ea940
test esi, esi
je 0x10eaad8
test ebx, ebx
je 0x10eaad8
mov eax, edi
push ebx
push eax
mov dword [eax + 0x1d50], 3
call fcn.010420a0
push esi
push ebx
call fcn.0102ee40
movzx eax, ax
mov dword [ebp + 0xc], eax
lea eax, [esi + 2]
push eax
mov dword [ebp - 8], eax
call fcn.01028060
mov cx, word [ebp + 0xc]
mov edi, eax
push esi
lea edx, [edi + 2]
push ebx
push edx
mov word [edi], cx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp + 8]
mov eax, dword [eax]
lea esi, [eax + 0x37d1]
add esp, 0xc
lea edx, [eax + 0x3560]
test esi, esi
jne 0x10eaa15
mov dword [ebp + 0xc], esi
jmp 0x10eaa2d
mov eax, dword [edi]
push ebx
lea ecx, [edi + 0x272]
push ecx
mov ecx, dword [eax + 0x3550]
lea edx, [eax + 0x8198]
push edx
add ecx, 0x1cc
push ecx
lea edx, [eax + 0x3554]
push edx
push eax
call fcn.0116c260
mov eax, dword [0x100c97c]
mov dword [ebx], eax
mov ecx, dword [0x100c980]
mov dword [ebx + 4], ecx
mov dx, word [0x100c984]
mov word [ebx + 8], dx
mov esi, 9
jmp 0x10ea960
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp + 0xc], eax
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10eaa20
sub ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
test edx, edx
jne 0x10eaa35
xor ecx, ecx
jmp 0x10eaa4a
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x10], eax
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10eaa40
sub ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp + 0xc]
push 0x1010e44
push eax
push esi
push ecx
mov ecx, dword [ebp - 8]
push edx
push ecx
push edi
call fcn.0103d340
push edi
push 0
mov esi, eax
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.DLL_HeapFree]
test esi, esi
je 0x10eaac3
mov eax, dword [ebp - 0x18]
test eax, eax
jbe 0x10eaac3
mov edi, dword [ebp + 8]
mov edx, dword [edi]
push eax
push esi
push 3
push 0x101af68
push 0x1018ea0
push connect
push edx
call fcn.010b2fe0
push esi
call fcn.01047230
mov eax, dword [edi]
mov ecx, dword [eax + 0x12954]
push ecx
push 0x101af78
push 0x1018ea0
push connect
push eax
call fcn.010b3240
push ebx
push 0
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.DLL_HeapFree]
mov edi, dword [ebp + 8]
jmp 0x10eaaea
mov eax, dword [edi + 0x1d50]
cmp eax, 3
jae 0x10eaaea
inc eax
mov dword [edi + 0x1d50], eax
mov ecx, dword [edi]
push 4
xor edx, edx
cmp dword [ebp - 0x14], edx
lea eax, [ebp + 8]
push eax
push 4
push 0x101af70
setne dl
push 0x1018ea0
push connect
push ecx
mov dword [ebp + 8], edx
call fcn.010b2fe0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10eab22
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
pop edi
pop ebx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 8