Function at 0x1005158f
Capabilities:
Check for time delay via gettickcount
Set socket configuration

Disassembly:
mov eax, 0x100d1560
call fcn.10030644
sub esp, 0x70
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x7c], esi
xor ebx, ebx
cmp dword [0x1010f6bc], ebx
jne 0x100515c2
call fcn.1005149b
cmp dword [0x1010f6bc], ebx
je 0x100517da
cmp dword [0x1010f6c4], ebx
je 0x100517da
cmp dword [0x1010f6cc], ebx
jne 0x100515e2
cmp dword [0x1010f6d0], ebx
je 0x100517da
call dword [0x1010f6bc]
mov dword [ebp - 0x14], eax
cmp eax, 0xffffffff
je 0x100517da
mov eax, dword [ebp + 0x14]
mov dword [esi + 4], eax
mov byte [esi + 8], 1
mov esi, str.Data
lea edi, [ebp - 0x30]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 4], ebx
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp - 0x7c]
mov dword [esi + 0xc], eax
mov dword [ebp - 0x1c], 0x61
imul eax, eax, 0x20c
push eax
call fcn.100c0da0
mov edi, eax
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x3c], edi
push 4
push ebx
push edi
call fcn.10031000
add esp, 0x10
cmp edi, ebx
jne 0x10051657
mov dword [ebp - 0x18], 0xfffffffd
push dword [ebp - 0x14]
call dword [0x1010f6c4]
jmp 0x100517da
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x28]
cmp eax, dword [esi + 0xc]
jge 0x10051794
cmp byte [esi + 8], bl
je 0x10051794
imul eax, eax, 0x58
mov ecx, dword [ebp + 0x10]
lea edi, [eax + ecx]
mov dword [ebp - 0x78], edi
sub esp, 0x10
mov dword [ebp - 0x5c], esp
mov esi, esp
mov dword [ebp - 0x74], esi
mov al, byte [ebp - 0x60]
mov byte [esi], al
push ebx
mov ecx, esi
call fcn.10002424
push edi
call fcn.10030730
pop ecx
push eax
push edi
mov ecx, esi
call fcn.100036bc
mov byte [ebp - 4], bl
lea eax, [ebp - 0x4c]
push eax
call fcn.10041fb4
add esp, 0x14
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x48]
cmp eax, ebx
jne 0x100516c2
mov eax, 0x100d6d1c
push eax
call dword [sym.imp.WSOCK32.dll_inet_addr]
mov dword [ebp - 0x20], eax
cmp eax, 0xffffffff
je 0x1005177c
mov ecx, dword [ebp - 0x28]
imul ecx, ecx, 0x20c
mov edx, dword [ebp - 0x3c]
lea esi, [ecx + edx]
mov ecx, dword [edi + 0x44]
mov dword [esi + 0x200], ecx
mov ecx, dword [edi + 0x48]
mov dword [esi + 0x204], ecx
mov ecx, dword [edi + 0x4c]
mov dword [esi + 0x208], ecx
push 5
pop ecx
cmp dword [0x1010f670], ecx
jle 0x1005174f
cmp dword [ebp + 0x14], ebx
push 0x3e8
push 0x200
push esi
push ebx
push ecx
lea ecx, [ebp - 0x30]
push ecx
push eax
push esi
jne 0x10051740
push ebx
push ebx
push dword [ebp - 0x14]
call dword [0x1010f6d0]
mov dword [ebp - 0x24], eax
cmp dword [ebp + 8], ebx
je 0x10051772
push ebx
lea eax, [ebp - 0x54]
push eax
push esi
call dword [ebp + 8]
jmp 0x10051772
push dword [ebp + 8]
push ebx
push dword [ebp - 0x14]
call dword [0x1010f6d0]
jmp 0x1005176f
push 0x3e8
push 0x200
push esi
push ebx
push ecx
lea ecx, [ebp - 0x30]
push ecx
push eax
push esi
push dword [ebp + 8]
push ebx
push dword [ebp - 0x14]
call dword [0x1010f6cc]
mov dword [ebp - 0x24], eax
push 1
push 0xa
call dword [sym.imp.KERNEL32.dll_SleepEx]
mov byte [ebp - 4], bl
push 1
lea ecx, [ebp - 0x4c]
call fcn.10002424
inc dword [ebp - 0x28]
mov esi, dword [ebp - 0x7c]
jmp 0x1005165a
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [ebp - 0x38], eax
push 1
push 0x1f4
call dword [sym.imp.KERNEL32.dll_SleepEx]
cmp eax, 0xc0
jne 0x100517c4
cmp byte [esi + 8], bl
je 0x100517c4
call edi
sub eax, dword [ebp - 0x38]
cmp eax, 0x7d0
jbe 0x1005179f
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x14]
call dword [0x1010f6c4]
push dword [ebp - 0x34]
call fcn.100c0dc9
pop ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 0x10