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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1480
call fcn.0117ec90
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
cmp dword [eax + 0x129c8], 0
jne 0x10edc34
lea eax, [esi + 0x36a8]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10edc34
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 0x10190a8
push 0x1019080
push connect
push eax
call fcn.010b5740
mov ebx, dword [sym.imp.KERNEL32.DLL_HeapFree]
test eax, eax
je 0x10ed446
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 0x1019078
push 0x1019080
push connect
push eax
call fcn.010b5740
test eax, eax
je 0x10ed480
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 0x1019070
push 0x1019080
push connect
push eax
call fcn.010b5740
test eax, eax
je 0x10ed4ba
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 0x10ed4e4
test byte [eax + 0x1fc], 0x81
mov dword [ebp - 0x14], 1
je 0x10ed4eb
mov dword [ebp - 0x14], 0
push 0x100eb40
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 0x1018230
push 0x1014dcc
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
push connect
push eax
call fcn.010b5740
test eax, eax
je 0x10ed54c
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 0x10ed58a
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 0x10ed58a
lea eax, [ebp - 0x478]
push eax
call fcn.01029e00
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 0x101b140
push 0x1019080
push connect
push eax
call fcn.010b5740
test eax, eax
je 0x10ed5c2
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 0x10ed5df
mov eax, dword [esi]
lea ecx, [ebx + 0x2a30]
cmp dword [eax + 0x12954], ecx
jae 0x10ed62d
cmp dword [esi + 0x36c0], 0
jne 0x10ed62d
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 0x101b140
push 0x1019080
push connect
push eax
mov dword [ebp - 4], edi
call fcn.010b52d0
mov dword [esi + 0x36c0], 1
cmp dword [ebp - 0x14], 0
jne 0x10ed660
mov edx, dword [esi]
lea ecx, [ebp - 4]
push ecx
push 0x101b138
push 0x1019080
push connect
push edx
mov dword [ebp - 4], 0
call fcn.010b59f0
test eax, eax
jne 0x10ed65e
cmp dword [ebp - 4], eax
jne 0x10ed660
xor edi, edi
cmp dword [ebp + 0xc], 0
jne 0x10ed74a
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 0x10ed74a
push 0
lea edx, [ebp - 8]
push edx
lea ecx, [ebp + 0xc]
push ecx
push 0x101b130
push 0x1019080
push connect
push eax
mov dword [ebp - 4], 0
call fcn.010b5740
mov dword [ebp + 0xc], eax
test eax, eax
je 0x10ed724
cmp dword [ebp - 8], 0
jbe 0x10ed724
mov eax, dword [esi]
push 1
lea edx, [ebp - 8]
lea ebx, [eax + 0x37d1]
push edx
push ebx
lea edi, [eax + 0x3560]
call fcn.0102a9a0
push eax
push ebx
push edi
call fcn.0102a9a0
push eax
mov eax, dword [ebp + 0xc]
push edi
push eax
call fcn.0103eb90
mov edi, eax
test edi, edi
je 0x10ed71b
mov eax, dword [ebp - 8]
cmp eax, 2
jbe 0x10ed71b
add eax, 0xfffffffe
push eax
lea ebx, [edi + 2]
push ebx
call fcn.01030450
cmp ax, word [edi]
jne 0x10ed71b
push ebx
push esi
call fcn.01043960
mov dword [ebp - 4], 1
push edi
call fcn.0102d700
mov eax, dword [ebp + 0xc]
push eax
call fcn.0102d700
cmp dword [ebp - 4], 0
jne 0x10ed736
cmp dword [ebp - 0x14], 0
jne 0x10ed74a
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.0102ede0
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 0x10ed798
cmp byte [eax + 0x153ae], 0
jne 0x10ed798
mov edi, dword [sym.imp.KERNEL32.DLL_Sleep]
mov ebx, dword [sym.imp.KERNEL32.DLL_GetTickCount]
push 0x3e8
call edi
push esi
call fcn.010645b0
test eax, eax
jne 0x10ed798
call ebx
sub eax, dword [ebp - 0x18]
cmp eax, 0xc350
ja 0x10ed798
mov eax, dword [esi]
cmp byte [eax + 0x153ae], 0
je 0x10ed770
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 0x10ed868
mov eax, dword [ebx + 0x1e974]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 0
push 0x3e8
push edx
push eax
call fcn.0117ebb0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x1e974]
cmp dword [eax + 0x20], 0
mov dword [ebp - 0x18], edx
je 0x10ed868
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.0117ebb0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov ecx, dword [ebx + 0x3550]
test dword [ecx + 0x138], 0x800
mov dword [ebp + 0xc], 0x100c140
jne 0x10ed888
mov dword [ebp + 0xc], 0x100eb0c
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 0x100f5c4
push 0x9000864
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 + 0x1186ac0]
add ebx, 0x155b8
push ebx
push edx
add ecx, 0x1cc
push ecx
push 0x101af10
lea eax, [ebp - 0x1480]
push 0x3ff
push eax
call fcn.0102c0d0
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 0x101af08
push 0x1014e34
push connect
push ecx
call fcn.010b5a50
mov esi, eax
test esi, esi
je 0x10ed9b8
push esi
call fcn.0102bd10
cmp eax, 0x28
jae 0x10ed9a8
push 0x20a
lea edx, [ebp - 0x22c]
push 0
push edx
call sub.msvcrt.dll_memset
push esi
push 0x101aef0
lea eax, [ebp - 0x22c]
push 0x103
push eax
call fcn.0102c0d0
add esp, 0x1c
lea ecx, [ebp - 0x22c]
push ecx
lea edx, [ebp - 0x1480]
push edx
call fcn.0102bbe0
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.010bd080
test eax, eax
je 0x10ed9f5
lea edx, [ebp - 0x22c]
push edx
lea eax, [ebp - 0x1480]
push eax
call fcn.0102bbe0
lea ecx, [ebp - 0x1480]
push ecx
call fcn.01043480
mov eax, dword [edi]
mov ecx, dword [eax + 0x3550]
mov dword [ebp + 0xc], 0
test ecx, ecx
je 0x10eda19
add ecx, 0x70
jmp 0x10eda1b
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.010eac60
mov ebx, dword [ebp + 0xc]
mov esi, eax
test ebx, ebx
je 0x10eda68
cmp esi, 9
jbe 0x10eda68
xor ecx, ecx
xor eax, eax
test esi, esi
jbe 0x10eda6a
lea ecx, [ecx]
cmp byte [eax + ebx], 0x7c
jne 0x10eda61
test ecx, ecx
jne 0x10edad5
mov ecx, 1
jmp 0x10eda63
xor ecx, ecx
inc eax
cmp eax, esi
jb 0x10eda50
test esi, esi
je 0x10edbe8
test ebx, ebx
je 0x10edbe8
mov eax, edi
push ebx
push eax
mov dword [eax + 0x1d50], 3
call fcn.01043960
push esi
push ebx
call fcn.01030450
movzx eax, ax
mov dword [ebp + 0xc], eax
lea eax, [esi + 2]
push eax
mov dword [ebp - 8], eax
call fcn.01029600
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 0x10edb25
mov dword [ebp + 0xc], esi
jmp 0x10edb3d
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.01170c00
mov eax, dword [0x100c864]
mov dword [ebx], eax
mov ecx, dword [0x100c868]
mov dword [ebx + 4], ecx
mov dx, word [0x100c86c]
mov word [ebx + 8], dx
mov esi, 9
jmp 0x10eda70
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 0x10edb30
sub ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
test edx, edx
jne 0x10edb45
xor ecx, ecx
jmp 0x10edb5a
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 0x10edb50
sub ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp + 0xc]
push 0x1010d1c
push eax
push esi
push ecx
mov ecx, dword [ebp - 8]
push edx
push ecx
push edi
call fcn.0103e940
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 0x10edbd3
mov eax, dword [ebp - 0x18]
test eax, eax
jbe 0x10edbd3
mov edi, dword [ebp + 8]
mov edx, dword [edi]
push eax
push esi
push 3
push 0x101b130
push 0x1019080
push connect
push edx
call fcn.010b52d0
push esi
call fcn.0102d700
mov eax, dword [edi]
mov ecx, dword [eax + 0x12954]
push ecx
push 0x101b140
push 0x1019080
push connect
push eax
call fcn.010b5530
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 0x10edbfa
mov eax, dword [edi + 0x1d50]
cmp eax, 3
jae 0x10edbfa
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 0x101b138
setne dl
push 0x1019080
push connect
push ecx
mov dword [ebp + 8], edx
call fcn.010b52d0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10edc32
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