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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1480
call fcn.01194980
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
cmp dword [eax + 0x13310], 0
jne 0x10f1c64
lea eax, [esi + 0x2ea8]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10f1c64
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 0x1019cc8
push 0x1019ca0
push connect
push eax
call fcn.010ba1a0
mov ebx, dword [sym.imp.KERNEL32.DLL_HeapFree]
test eax, eax
je 0x10f1476
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 0x1019c98
push 0x1019ca0
push connect
push eax
call fcn.010ba1a0
test eax, eax
je 0x10f14b0
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 0x1019c90
push 0x1019ca0
push connect
push eax
call fcn.010ba1a0
test eax, eax
je 0x10f14ea
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 + 0x35a8]
cmp dword [eax + 0x1f4], 0x278d00
jae 0x10f1514
test byte [eax + 0x1fc], 0x81
mov dword [ebp - 0x14], 1
je 0x10f151b
mov dword [ebp - 0x14], 0
push 0x100f538
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 0x1018cb0
push 0x1015934
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
push connect
push eax
call fcn.010ba1a0
test eax, eax
je 0x10f157c
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 0x10f15ba
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 0x10f15ba
lea eax, [ebp - 0x478]
push eax
call fcn.0102aea0
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 0x101bee8
push 0x1019ca0
push connect
push eax
call fcn.010ba1a0
test eax, eax
je 0x10f15f2
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 0x10f160f
mov eax, dword [esi]
lea ecx, [ebx + 0x2a30]
cmp dword [eax + 0x1329c], ecx
jae 0x10f165d
cmp dword [esi + 0x2ec0], 0
jne 0x10f165d
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 0x101bee8
push 0x1019ca0
push connect
push eax
mov dword [ebp - 4], edi
call fcn.010b9db0
mov dword [esi + 0x2ec0], 1
cmp dword [ebp - 0x14], 0
jne 0x10f1690
mov edx, dword [esi]
lea ecx, [ebp - 4]
push ecx
push 0x101bee0
push 0x1019ca0
push connect
push edx
mov dword [ebp - 4], 0
call fcn.010ba450
test eax, eax
jne 0x10f168e
cmp dword [ebp - 4], eax
jne 0x10f1690
xor edi, edi
cmp dword [ebp + 0xc], 0
jne 0x10f177a
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 + 0x1329c], ecx
jae 0x10f177a
push 0
lea edx, [ebp - 8]
push edx
lea ecx, [ebp + 0xc]
push ecx
push 0x101bed8
push 0x1019ca0
push connect
push eax
mov dword [ebp - 4], 0
call fcn.010ba1a0
mov dword [ebp + 0xc], eax
test eax, eax
je 0x10f1754
cmp dword [ebp - 8], 0
jbe 0x10f1754
mov eax, dword [esi]
push 1
lea edx, [ebp - 8]
lea ebx, [eax + 0x382d]
push edx
push ebx
lea edi, [eax + 0x35bc]
call fcn.0102bae0
push eax
push ebx
push edi
call fcn.0102bae0
push eax
mov eax, dword [ebp + 0xc]
push edi
push eax
call fcn.0103fe90
mov edi, eax
test edi, edi
je 0x10f174b
mov eax, dword [ebp - 8]
cmp eax, 2
jbe 0x10f174b
add eax, 0xfffffffe
push eax
lea ebx, [edi + 2]
push ebx
call fcn.01031570
cmp ax, word [edi]
jne 0x10f174b
push ebx
push esi
call fcn.01044ae0
mov dword [ebp - 4], 1
push edi
call fcn.01083050
mov eax, dword [ebp + 0xc]
push eax
call fcn.01083050
cmp dword [ebp - 4], 0
jne 0x10f1766
cmp dword [ebp - 0x14], 0
jne 0x10f177a
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.0102ff00
pop edi
pop ebx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esi]
mov edx, dword [eax + 0x35a8]
cmp dword [edx + 0x174], 0
jne 0x10f17c8
cmp byte [eax + 0x15cf6], 0
jne 0x10f17c8
mov edi, dword [sym.imp.KERNEL32.DLL_Sleep]
mov ebx, dword [sym.imp.KERNEL32.DLL_GetTickCount]
push 0x3e8
call edi
push esi
call fcn.010667e0
test eax, eax
jne 0x10f17c8
call ebx
sub eax, dword [ebp - 0x18]
cmp eax, 0xc350
ja 0x10f17c8
mov eax, dword [esi]
cmp byte [eax + 0x15cf6], 0
je 0x10f17a0
mov ecx, esi
mov ebx, dword [ecx]
mov eax, dword [ebx + 0x35a8]
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 + 0x1f238], eax
je 0x10f1898
mov eax, dword [ebx + 0x1f238]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 0
push 0x3e8
push edx
push eax
call fcn.011948a0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x1f238]
cmp dword [eax + 0x20], 0
mov dword [ebp - 0x18], edx
je 0x10f1898
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.011948a0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov ecx, dword [ebx + 0x35a8]
test dword [ecx + 0x138], 0x800
mov dword [ebp + 0xc], 0x100cae0
jne 0x10f18b8
mov dword [ebp + 0xc], 0x100f504
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 + 0x8b80]
push eax
mov eax, dword [ebx + 0x8aec]
neg edx
sbb edx, edx
and edx, 0x20
add edx, 0x20
push edx
mov edx, dword [ebp - 0x10]
push eax
push edx
push 0x1010124
push 0x9000d4b
lea eax, [ebx + 0x35bc]
push eax
lea edx, [ebx + 0x35fd]
push edx
mov edx, dword [ebp + 0xc]
lea eax, [ebx + 0x3626]
push eax
mov eax, dword [ecx + 0x13c]
push edx
shl eax, 5
mov edx, dword [eax + 0x119e060]
add ebx, 0x15f00
push ebx
push edx
add ecx, 0x1cc
push ecx
push 0x101bcb8
lea eax, [ebp - 0x1480]
push 0x3ff
push eax
call fcn.0102d240
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 0x101bcb0
push 0x101599c
push connect
push ecx
call fcn.010ba4b0
mov esi, eax
test esi, esi
je 0x10f19e8
push esi
call fcn.0102ce80
cmp eax, 0x28
jae 0x10f19d8
push 0x20a
lea edx, [ebp - 0x22c]
push 0
push edx
call sub.msvcrt.dll_memset
push esi
push 0x101bc98
lea eax, [ebp - 0x22c]
push 0x103
push eax
call fcn.0102d240
add esp, 0x1c
lea ecx, [ebp - 0x22c]
push ecx
lea edx, [ebp - 0x1480]
push edx
call fcn.0102cd50
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.010c1080
test eax, eax
je 0x10f1a25
lea edx, [ebp - 0x22c]
push edx
lea eax, [ebp - 0x1480]
push eax
call fcn.0102cd50
lea ecx, [ebp - 0x1480]
push ecx
call fcn.01044700
mov eax, dword [edi]
mov ecx, dword [eax + 0x35a8]
mov dword [ebp + 0xc], 0
test ecx, ecx
je 0x10f1a49
add ecx, 0x70
jmp 0x10f1a4b
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.010eee20
mov ebx, dword [ebp + 0xc]
mov esi, eax
test ebx, ebx
je 0x10f1a98
cmp esi, 9
jbe 0x10f1a98
xor ecx, ecx
xor eax, eax
test esi, esi
jbe 0x10f1a9a
lea ecx, [ecx]
cmp byte [eax + ebx], 0x7c
jne 0x10f1a91
test ecx, ecx
jne 0x10f1b05
mov ecx, 1
jmp 0x10f1a93
xor ecx, ecx
inc eax
cmp eax, esi
jb 0x10f1a80
test esi, esi
je 0x10f1c18
test ebx, ebx
je 0x10f1c18
mov eax, edi
push ebx
push eax
mov dword [eax + 0x1d54], 3
call fcn.01044ae0
push esi
push ebx
call fcn.01031570
movzx eax, ax
mov dword [ebp + 0xc], eax
lea eax, [esi + 2]
push eax
mov dword [ebp - 8], eax
call fcn.0102a6e0
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 + 0x382d]
add esp, 0xc
lea edx, [eax + 0x35bc]
test esi, esi
jne 0x10f1b55
mov dword [ebp + 0xc], esi
jmp 0x10f1b6d
mov eax, dword [edi]
push ebx
lea ecx, [edi + 0x272]
push ecx
mov ecx, dword [eax + 0x35a8]
lea edx, [eax + 0x8ae0]
push edx
add ecx, 0x1cc
push ecx
lea edx, [eax + 0x35b0]
push edx
push eax
call fcn.0117b610
mov eax, dword [0x100d244]
mov dword [ebx], eax
mov ecx, dword [0x100d248]
mov dword [ebx + 4], ecx
mov dx, word [0x100d24c]
mov word [ebx + 8], dx
mov esi, 9
jmp 0x10f1aa0
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 0x10f1b60
sub ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
test edx, edx
jne 0x10f1b75
xor ecx, ecx
jmp 0x10f1b8a
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 0x10f1b80
sub ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp + 0xc]
push 0x10118ac
push eax
push esi
push ecx
mov ecx, dword [ebp - 8]
push edx
push ecx
push edi
call fcn.0103fc40
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 0x10f1c03
mov eax, dword [ebp - 0x18]
test eax, eax
jbe 0x10f1c03
mov edi, dword [ebp + 8]
mov edx, dword [edi]
push eax
push esi
push 3
push 0x101bed8
push 0x1019ca0
push connect
push edx
call fcn.010b9db0
push esi
call fcn.01083050
mov eax, dword [edi]
mov ecx, dword [eax + 0x1329c]
push ecx
push 0x101bee8
push 0x1019ca0
push connect
push eax
call fcn.010ba010
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 0x10f1c2a
mov eax, dword [edi + 0x1d54]
cmp eax, 3
jae 0x10f1c2a
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 0x101bee0
setne dl
push 0x1019ca0
push connect
push ecx
mov dword [ebp + 8], edx
call fcn.010b9db0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10f1c62
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