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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1480
call fcn.011972f0
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
cmp dword [eax + 0x13318], 0
jne 0x10f3414
lea eax, [esi + 0x2ea8]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10f3414
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 0x1019f50
push 0x1019f28
push connect
push eax
call fcn.010bb210
mov ebx, dword [sym.imp.KERNEL32.DLL_HeapFree]
test eax, eax
je 0x10f2c26
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 + 0x2ec4], edi
xor edi, edi
push edi
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 8]
push edx
push 0x1019f20
push 0x1019f28
push connect
push eax
call fcn.010bb210
test eax, eax
je 0x10f2c60
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 + 0x2ec8], edi
xor edi, edi
push edi
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 8]
push edx
push 0x1019f18
push 0x1019f28
push connect
push eax
call fcn.010bb210
test eax, eax
je 0x10f2c9a
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 + 0x2ecc], edi
mov eax, dword [eax + 0x35b0]
cmp dword [eax + 0x1f4], 0x278d00
jae 0x10f2cc4
test byte [eax + 0x1fc], 0x81
mov dword [ebp - 0x14], 1
je 0x10f2ccb
mov dword [ebp - 0x14], 0
push 0x100f690
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 0x1018f30
push 0x1015b3c
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
push connect
push eax
call fcn.010bb210
test eax, eax
je 0x10f2d2c
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 0x10f2d6a
mov edx, dword [esi]
mov edx, dword [edx + 0x210]
lea eax, [ebp - 0x47c]
push eax
lea ecx, [esi + 0x272]
push ecx
call edx
mov edi, eax
cmp edi, 0xffffffff
je 0x10f2d6a
lea eax, [ebp - 0x478]
push eax
call fcn.0102b600
mov ecx, dword [esi]
mov edx, dword [ecx + 0x208]
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 0x101c180
push 0x1019f28
push connect
push eax
call fcn.010bb210
test eax, eax
je 0x10f2da2
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 0x10f2dbf
mov eax, dword [esi]
lea ecx, [ebx + 0x2a30]
cmp dword [eax + 0x132a4], ecx
jae 0x10f2e0d
cmp dword [esi + 0x2ec0], 0
jne 0x10f2e0d
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 0x101c180
push 0x1019f28
push connect
push eax
mov dword [ebp - 4], edi
call fcn.010bae20
mov dword [esi + 0x2ec0], 1
cmp dword [ebp - 0x14], 0
jne 0x10f2e40
mov edx, dword [esi]
lea ecx, [ebp - 4]
push ecx
push 0x101c178
push 0x1019f28
push connect
push edx
mov dword [ebp - 4], 0
call fcn.010bb4c0
test eax, eax
jne 0x10f2e3e
cmp dword [ebp - 4], eax
jne 0x10f2e40
xor edi, edi
cmp dword [ebp + 0xc], 0
jne 0x10f2f2a
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 + 0x132a4], ecx
jae 0x10f2f2a
push 0
lea edx, [ebp - 8]
push edx
lea ecx, [ebp + 0xc]
push ecx
push 0x101c170
push 0x1019f28
push connect
push eax
mov dword [ebp - 4], 0
call fcn.010bb210
mov dword [ebp + 0xc], eax
test eax, eax
je 0x10f2f04
cmp dword [ebp - 8], 0
jbe 0x10f2f04
mov eax, dword [esi]
push 1
lea edx, [ebp - 8]
lea ebx, [eax + 0x3835]
push edx
push ebx
lea edi, [eax + 0x35c4]
call fcn.0102c240
push eax
push ebx
push edi
call fcn.0102c240
push eax
mov eax, dword [ebp + 0xc]
push edi
push eax
call fcn.01040650
mov edi, eax
test edi, edi
je 0x10f2efb
mov eax, dword [ebp - 8]
cmp eax, 2
jbe 0x10f2efb
add eax, 0xfffffffe
push eax
lea ebx, [edi + 2]
push ebx
call fcn.01031d30
cmp ax, word [edi]
jne 0x10f2efb
push ebx
push esi
call fcn.010452a0
mov dword [ebp - 4], 1
push edi
call fcn.0102add0
mov eax, dword [ebp + 0xc]
push eax
call fcn.0102add0
cmp dword [ebp - 4], 0
jne 0x10f2f16
cmp dword [ebp - 0x14], 0
jne 0x10f2f2a
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.010306c0
pop edi
pop ebx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esi]
mov edx, dword [eax + 0x35b0]
cmp dword [edx + 0x174], 0
jne 0x10f2f78
cmp byte [eax + 0x15cfe], 0
jne 0x10f2f78
mov edi, dword [sym.imp.KERNEL32.DLL_Sleep]
mov ebx, dword [sym.imp.KERNEL32.DLL_GetTickCount]
push 0x3e8
call edi
push esi
call fcn.010671c0
test eax, eax
jne 0x10f2f78
call ebx
sub eax, dword [ebp - 0x18]
cmp eax, 0xc350
ja 0x10f2f78
mov eax, dword [esi]
cmp byte [eax + 0x15cfe], 0
je 0x10f2f50
mov ecx, esi
mov ebx, dword [ecx]
mov eax, dword [ebx + 0x35b0]
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 + 0x1f644], eax
je 0x10f3048
mov eax, dword [ebx + 0x1f644]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 0
push 0x3e8
push edx
push eax
call fcn.01197210
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x1f644]
cmp dword [eax + 0x20], 0
mov dword [ebp - 0x18], edx
je 0x10f3048
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.01197210
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov ecx, dword [ebx + 0x35b0]
test dword [ecx + 0x138], 0x800
mov dword [ebp + 0xc], 0x100cc38
jne 0x10f3068
mov dword [ebp + 0xc], 0x100f65c
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 + 0x8b88]
push eax
mov eax, dword [ebx + 0x8af4]
neg edx
sbb edx, edx
and edx, 0x20
add edx, 0x20
push edx
mov edx, dword [ebp - 0x10]
push eax
push edx
push 0x10102c4
push 0x9000d3e
lea eax, [ebx + 0x35c4]
push eax
lea edx, [ebx + 0x3605]
push edx
mov edx, dword [ebp + 0xc]
lea eax, [ebx + 0x362e]
push eax
mov eax, dword [ecx + 0x13c]
push edx
shl eax, 5
mov edx, dword [eax + 0x119fda8]
add ebx, 0x15f08
push ebx
push edx
add ecx, 0x1cc
push ecx
push 0x101bf50
lea eax, [ebp - 0x1480]
push 0x3ff
push eax
call fcn.0102d9e0
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 0x101bf48
push 0x1015ba4
push connect
push ecx
call fcn.010bb520
mov esi, eax
test esi, esi
je 0x10f3198
push esi
call fcn.0102d5e0
cmp eax, 0x28
jae 0x10f3188
push 0x20a
lea edx, [ebp - 0x22c]
push 0
push edx
call sub.msvcrt.dll_memset
push esi
push 0x101bf30
lea eax, [ebp - 0x22c]
push 0x103
push eax
call fcn.0102d9e0
add esp, 0x1c
lea ecx, [ebp - 0x22c]
push ecx
lea edx, [ebp - 0x1480]
push edx
call fcn.0102d4b0
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.010c2500
test eax, eax
je 0x10f31d5
lea edx, [ebp - 0x22c]
push edx
lea eax, [ebp - 0x1480]
push eax
call fcn.0102d4b0
lea ecx, [ebp - 0x1480]
push ecx
call fcn.01044ec0
mov eax, dword [edi]
mov ecx, dword [eax + 0x35b0]
mov dword [ebp + 0xc], 0
test ecx, ecx
je 0x10f31f9
add ecx, 0x70
jmp 0x10f31fb
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.010f0400
mov ebx, dword [ebp + 0xc]
mov esi, eax
test ebx, ebx
je 0x10f3248
cmp esi, 9
jbe 0x10f3248
xor ecx, ecx
xor eax, eax
test esi, esi
jbe 0x10f324a
lea ecx, [ecx]
cmp byte [eax + ebx], 0x7c
jne 0x10f3241
test ecx, ecx
jne 0x10f32b5
mov ecx, 1
jmp 0x10f3243
xor ecx, ecx
inc eax
cmp eax, esi
jb 0x10f3230
test esi, esi
je 0x10f33c8
test ebx, ebx
je 0x10f33c8
mov eax, edi
push ebx
push eax
mov dword [eax + 0x1d54], 3
call fcn.010452a0
push esi
push ebx
call fcn.01031d30
movzx eax, ax
mov dword [ebp + 0xc], eax
lea eax, [esi + 2]
push eax
mov dword [ebp - 8], eax
call fcn.0102ae00
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 + 0x3835]
add esp, 0xc
lea edx, [eax + 0x35c4]
test esi, esi
jne 0x10f3305
mov dword [ebp + 0xc], esi
jmp 0x10f331d
mov eax, dword [edi]
push ebx
lea ecx, [edi + 0x272]
push ecx
mov ecx, dword [eax + 0x35b0]
lea edx, [eax + 0x8ae8]
push edx
add ecx, 0x1cc
push ecx
lea edx, [eax + 0x35b8]
push edx
push eax
call fcn.0117d800
mov eax, dword [0x100d39c]
mov dword [ebx], eax
mov ecx, dword [0x100d3a0]
mov dword [ebx + 4], ecx
mov dx, word [0x100d3a4]
mov word [ebx + 8], dx
mov esi, 9
jmp 0x10f3250
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 0x10f3310
sub ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
test edx, edx
jne 0x10f3325
xor ecx, ecx
jmp 0x10f333a
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 0x10f3330
sub ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp + 0xc]
push 0x1011a64
push eax
push esi
push ecx
mov ecx, dword [ebp - 8]
push edx
push ecx
push edi
call fcn.01040400
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 0x10f33b3
mov eax, dword [ebp - 0x18]
test eax, eax
jbe 0x10f33b3
mov edi, dword [ebp + 8]
mov edx, dword [edi]
push eax
push esi
push 3
push 0x101c170
push 0x1019f28
push connect
push edx
call fcn.010bae20
push esi
call fcn.0102add0
mov eax, dword [edi]
mov ecx, dword [eax + 0x132a4]
push ecx
push 0x101c180
push 0x1019f28
push connect
push eax
call fcn.010bb080
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 0x10f33da
mov eax, dword [edi + 0x1d54]
cmp eax, 3
jae 0x10f33da
inc eax
mov dword [edi + 0x1d54], eax
mov ecx, dword [edi]
push 4
xor edx, edx
cmp dword [ebp - 0x14], edx
lea eax, [ebp + 8]
push eax
push 4
push 0x101c178
setne dl
push 0x1019f28
push connect
push ecx
mov dword [ebp + 8], edx
call fcn.010bae20
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10f3412
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