Function at 0x10003450
Capabilities:
Act as tcp client
Check for time delay via gettickcount
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Set socket configuration

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10028797
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa70
mov eax, dword [0x10036040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
mov dword [ebp - 0xa6c], edi
cmp edi, 0xffffffff
je 0x10003833
call fcn.10003240
mov ecx, 2
cmp eax, 1
jne 0x10003568
mov edx, dword [0x1003cf50]
mov eax, edx
mov esi, dword [0x1003cf4c]
sub eax, esi
je 0x10003568
mov edi, dword [esi]
mov eax, edx
cmp esi, eax
je 0x10003532
nop
cmp dword [esi], edi
je 0x100034eb
add esi, 4
cmp esi, eax
jne 0x100034e0
cmp esi, eax
je 0x10003532
lea ecx, [esi + 4]
cmp ecx, eax
je 0x10003512
mov edx, dword [ecx]
cmp edx, edi
je 0x10003501
mov dword [esi], edx
add esi, 4
add ecx, 4
cmp ecx, eax
jne 0x100034f6
mov edx, dword [0x1003cf50]
cmp esi, eax
je 0x10003532
sub edx, eax
push edx
push eax
push esi
mov dword [ebp - 0xa70], edx
call fcn.10010080
mov eax, dword [ebp - 0xa70]
add esp, 0xc
add eax, esi
mov dword [0x1003cf50], eax
push 0x10
lea eax, [ebp - 0xa68]
mov dword [ebp - 0xa64], edi
mov edi, dword [ebp - 0xa6c]
xorps xmm0, xmm0
push eax
push edi
movlpd qword [ebp - 0xa60], xmm0
mov dword [ebp - 0xa68], 2
call dword [sym.imp.WS2_32.dll_bind]
mov ecx, 2
mov eax, dword [0x10031fd4]
xorps xmm0, xmm0
movlpd qword [ebp - 0xa50], xmm0
mov word [ebp - 0xa58], cx
mov dword [ebp - 0xa54], 0xd83c791b
movzx eax, word [eax]
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xa56], ax
mov eax, dword [0x1003cbac]
inc eax
mov dword [0x1003cbac], eax
cmp eax, 0x96
jbe 0x100037e2
push 0x104
lea eax, [ebp - 0x228]
mov dword [0x1003cbac], 0
push 0
push eax
call fcn.1000ea10
add esp, 0xc
lea eax, [ebp - 0x330]
push 0x104
push 0
push eax
call fcn.1000ea10
add esp, 0xc
lea eax, [ebp - 0x438]
push 0x104
push 0
push eax
call fcn.1000ea10
add esp, 0xc
lea eax, [ebp - 0x540]
push 0x104
push 0
push eax
call fcn.1000ea10
add esp, 0xc
lea eax, [ebp - 0x648]
push 0x104
push 0
push eax
call fcn.1000ea10
add esp, 0xc
lea eax, [ebp - 0x648]
push 0xa
push 0x104
push eax
mov eax, dword [0x10031fd4]
movzx eax, word [eax]
push eax
call fcn.10014519
push 0xa
push 0x104
lea eax, [ebp - 0x540]
push eax
push 0xd83c791b
call fcn.10014519
push 0x104
lea eax, [ebp - 0x120]
push 0
push eax
call fcn.1000ea10
mov esi, dword [str._iqxvnpq0js]
lea ecx, [ebp - 0x120]
mov eax, ecx
add esp, 0x2c
mov edx, 0x104
sub esi, eax
nop word [eax + eax]
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x100036b0
mov al, byte [ecx + esi]
test al, al
je 0x100036ab
mov byte [ecx], al
inc ecx
sub edx, 1
jne 0x10003690
jmp 0x100036af
test edx, edx
jne 0x100036b0
dec ecx
lea edx, [ebp - 0x120]
mov byte [ecx], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100036c0
sub edx, ecx
lea ecx, [ebp - 0x120]
call fcn.10009c80
push 0x104
lea eax, [ebp - 0x750]
push 0
push eax
call fcn.1000ea10
add esp, 0xc
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x540]
push eax
lea eax, [ebp - 0x648]
push eax
push 0x10031830
lea eax, [ebp - 0x750]
push 0x104
push eax
call fcn.10001250
add esp, 0x18
lea edx, [ebp - 0x228]
lea ecx, [ebp - 0x750]
call fcn.10006c90
test eax, eax
je 0x100037e2
lea ecx, [ebp - 0x438]
mov edx, 0x104
lea esi, [ebp - 0x228]
mov eax, ecx
sub esi, eax
lea eax, [edx - 0xff]
test eax, eax
je 0x10003766
mov al, byte [ecx + esi]
test al, al
je 0x10003761
mov byte [ecx], al
inc ecx
sub edx, 1
jne 0x10003746
jmp 0x10003765
test edx, edx
jne 0x10003766
dec ecx
mov byte [ecx], 0
lea esi, [ebp - 0x223]
lea ecx, [ebp - 0x330]
mov edx, 0x104
mov eax, ecx
sub esi, eax
nop
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x100037a0
mov al, byte [ecx + esi]
test al, al
je 0x1000379b
mov byte [ecx], al
inc ecx
sub edx, 1
jne 0x10003780
jmp 0x1000379f
test edx, edx
jne 0x100037a0
dec ecx
push 0xa
lea eax, [ebp - 0x330]
mov byte [ecx], 0
push 0
push eax
call fcn.100121c5
add esp, 0xc
mov esi, eax
lea eax, [ebp - 0x438]
push 0xa
push 0
push eax
call fcn.1001217f
add esp, 0xc
movzx ecx, ax
mov dword [ebp - 0xa54], esi
push ecx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xa56], ax
push 0x10
lea eax, [ebp - 0xa58]
push eax
push edi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x1000383b
push 2
push edi
mov dword [0x1003ba7c], 0
call dword [sym.imp.WS2_32.dll_shutdown]
xor eax, eax
push 4
mov dword [ebp - 0xa6c], eax
lea eax, [ebp - 0xa6c]
push eax
push 0x80
push 0xffff
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
or eax, 0xffffffff
jmp 0x10003b02
lea eax, [ebp - 0xa7c]
mov dword [0x10036a90], edi
push eax
push 0x8004667e
push edi
mov dword [ebp - 0xa7c], 1
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov edx, 1
mov ecx, edi
call fcn.100045e0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
add eax, 0x55f0
push 0x200
mov dword [ebp - 0xa70], eax
lea eax, [ebp - 0xa48]
push 0
push eax
call fcn.1000ea10
add esp, 0xc
cmp dword [0x1003ba6c], 0
je 0x10003ac4
push 0x200
lea eax, [ebp - 0xa48]
push 0
push eax
call fcn.1000ea10
add esp, 0xc
push 1
push dword [0x1003ba68]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x10003abe
push 0
push 0x200
lea eax, [ebp - 0xa48]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x274c
je 0x10003abe
test esi, esi
jle 0x10003a74
push esi
lea eax, [ebp - 0xa48]
push eax
call fcn.100092a0
test eax, eax
jns 0x10003963
push 0x2000
push 0
push 0x10036b84
mov dword [0x10036b7c], 0x2000
call fcn.1000ea10
add esp, 0xc
mov dword [0x10036b74], 0
mov dword [0x10036b78], 0
mov dword [0x10036b80], 0
push dword [0x10036b7c]
push 0
push 0x10036b84
call fcn.1000ea10
add esp, 0xc
jmp 0x10003ab1
push 0x200
lea eax, [ebp - 0x848]
mov dword [ebp - 0xa74], 0
push 0
push eax
call fcn.1000ea10
add esp, 0xc
lea eax, [ebp - 0xa74]
push eax
lea eax, [ebp - 0x848]
push eax
call fcn.10009310
test eax, eax
js 0x10003a74
mov edi, dword [ebp - 0xa74]
xor eax, eax
cmp ax, di
je 0x10003a6e
mov eax, 2
cmp ax, di
je 0x10003a6e
mov eax, 0x200
cmp ax, di
jb 0x10003abe
push 0x10
call fcn.1000d2d5
add esp, 4
mov dword [ebp - 0xa78], eax
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax], 0
mov dword [ebp - 4], 0xffffffff
movzx esi, di
push esi
call fcn.1000d62d
mov ecx, dword [ebp - 0xa78]
add esp, 4
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x848]
push esi
push ecx
push eax
call fcn.10010080
mov esi, dword [ebp - 0xa78]
add esp, 0xc
mov word [esi + 0xc], di
mov edi, dword [ebp - 0xa6c]
push 0xffffffffffffffff
mov dword [esi + 4], edi
push dword [0x1003cf5c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10003a4f
push eax
push esi
push eax
push dword [0x1003cf58]
call dword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
push 0
push 1
call dword [sym.imp.KERNEL32.dll_SleepEx]
cmp dword [0x10036b80], 0
jne 0x10003963
jmp 0x10003a74
mov edi, dword [ebp - 0xa6c]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp dword [ebp - 0xa70], eax
jae 0x10003aa1
call esi
add eax, 0x55f0
mov edx, 3
mov ecx, edi
mov dword [ebp - 0xa70], eax
call fcn.100045e0
test eax, eax
js 0x10003abe
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
push 0
push 1
call dword [sym.imp.KERNEL32.dll_SleepEx]
cmp dword [0x1003ba6c], 0
jne 0x100038a0
mov edi, dword [ebp - 0xa6c]
push 2
push edi
call dword [sym.imp.WS2_32.dll_shutdown]
xor eax, eax
push 4
mov dword [ebp - 0xa70], eax
lea eax, [ebp - 0xa70]
push eax
push 0x80
push 0xffff
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [0x10036a90], 0xffffffff
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1000d0c5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret