Function at 0x1000859c
Capabilities:
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10048a46
mov eax, dword fs:[0]
push eax
mov eax, 0x14c4
call fcn.10040400
mov eax, dword [0x10061060]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x14ac], eax
mov eax, dword [ebp + 0xc]
mov esi, 0x3ff
push esi
mov dword [ebp - 0x14b4], eax
lea eax, [ebp - 0x427]
push ebx
push eax
mov edi, ecx
mov byte [ebp - 0x14a0], bl
mov byte [ebp - 0x149f], bl
mov byte [ebp - 0x24], 1
mov byte [ebp - 0x23], bl
mov byte [ebp - 0x22], bl
mov byte [ebp - 0x21], 1
mov byte [ebp - 0x20], bl
mov byte [ebp - 0x1f], bl
mov byte [ebp - 0x1e], bl
mov byte [ebp - 0x1d], bl
mov byte [ebp - 0x1c], bl
mov byte [ebp - 0x1b], bl
mov byte [ebp - 0x18], bl
mov byte [ebp - 0x17], bl
mov byte [ebp - 0x16], 1
mov byte [ebp - 0x15], bl
mov byte [ebp - 0x14], 1
mov byte [ebp - 0x428], bl
call fcn.10033d90
mov eax, dword [edi + 0x14]
add esp, 0xc
push 0x11
push 2
inc eax
push 2
mov dword [ebp - 0x14a8], eax
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x14a4], eax
cmp eax, ebx
jbe 0x1000894b
call fcn.100323f7
and eax, 0x800000ff
jns 0x10008674
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp - 0x14a0], al
call fcn.100323f7
and eax, 0x800000ff
jns 0x1000868d
dec eax
or eax, 0xffffff00
inc eax
cmp dword [edi + 0x18], 0x10
mov byte [ebp - 0x149f], al
jb 0x1000869e
mov edi, dword [edi + 4]
jmp 0x100086a1
add edi, 4
push esi
push edi
lea eax, [ebp - 0x427]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov eax, dword [ebp - 0x14a8]
xor edx, edx
dec eax
cmp eax, ebx
jl 0x100086d9
lea esi, [ebp + eax - 0x428]
mov cl, byte [esi]
cmp cl, 0x2e
je 0x100086d2
cmp cl, bl
je 0x100086d2
inc edx
jmp 0x100086d6
mov byte [esi], dl
xor edx, edx
dec eax
jns 0x100086bd
mov esi, dword [0x1006bf8c]
sub esi, dword [0x1006bf88]
push 2
pop eax
mov word [ebp - 0x148c], ax
sar esi, 2
call fcn.100323f7
cdq
idiv esi
mov eax, dword [0x1006bf8c]
sub eax, dword [0x1006bf88]
sar eax, 2
mov esi, edx
cmp esi, eax
jb 0x10008713
call fcn.10031d00
mov eax, dword [0x1006bf88]
mov eax, dword [eax + esi*4]
mov edi, dword [sym.imp.WS2_32.dll_htons]
push 0x35
mov dword [ebp - 0x1488], eax
call edi
push ebx
lea ecx, [ebp - 0x1444]
mov word [ebp - 0x148a], ax
mov dword [ebp - 0x142c], 0xf
call fcn.1000259c
push 2
lea eax, [ebp - 0x14a0]
push eax
lea esi, [ebp - 0x14d0]
mov dword [ebp - 4], ebx
call fcn.10008e34
push 0xffffffffffffffff
push ebx
lea esi, [ebp - 0x1444]
mov byte [ebp - 4], 1
call fcn.10002e57
push ebx
push 1
lea ecx, [ebp - 0x14d0]
mov byte [ebp - 4], bl
call fcn.10002245
push 0xa
lea eax, [ebp - 0x24]
push eax
lea esi, [ebp - 0x14d0]
call fcn.10008e34
push 0xffffffffffffffff
push ebx
lea esi, [ebp - 0x1444]
mov byte [ebp - 4], 2
call fcn.10002e57
push ebx
push 1
lea ecx, [ebp - 0x14d0]
mov byte [ebp - 4], bl
call fcn.10002245
push dword [ebp - 0x14a8]
lea eax, [ebp - 0x428]
push eax
lea esi, [ebp - 0x14d0]
call fcn.10008e34
push 0xffffffffffffffff
push ebx
lea esi, [ebp - 0x1444]
mov byte [ebp - 4], 3
call fcn.10002e57
push ebx
push 1
lea ecx, [ebp - 0x14d0]
mov byte [ebp - 4], bl
call fcn.10002245
push 5
lea eax, [ebp - 0x18]
push eax
lea esi, [ebp - 0x14d0]
call fcn.10008e34
push 0xffffffffffffffff
push ebx
lea esi, [ebp - 0x1444]
mov byte [ebp - 4], 4
call fcn.10002e57
push ebx
push 1
lea ecx, [ebp - 0x14d0]
mov byte [ebp - 4], bl
call fcn.10002245
mov eax, dword [ebp - 0x1440]
push 0x10
pop esi
cmp dword [ebp - 0x142c], esi
jae 0x1000883c
lea eax, [ebp - 0x1440]
push esi
lea ecx, [ebp - 0x148c]
push ecx
push ebx
push dword [ebp - 0x1430]
push eax
push dword [ebp - 0x14a4]
call dword [sym.imp.WS2_32.dll_sendto]
push 0xfff
lea eax, [ebp - 0x1427]
push ebx
push eax
mov byte [ebp - 0x1428], bl
call fcn.10033d90
add esp, 0xc
lea eax, [ebp - 0x14b0]
push eax
lea eax, [ebp - 0x149c]
push eax
push ebx
push 0x1000
lea eax, [ebp - 0x1428]
push eax
push dword [ebp - 0x14a4]
mov dword [ebp - 0x14b0], esi
call dword [sym.imp.WS2_32.dll_recvfrom]
push dword [ebp - 0x14a4]
mov esi, eax
call sub.WS2_32.dll_closesocket
cmp esi, ebx
jg 0x100088b7
push ebx
jmp 0x1000893e
lea eax, [ebp - 0x14a4]
mov byte [ebp - 0x14a2], bl
push esi
push eax
lea ebx, [ebp - 0x1428]
mov byte [ebp - 0x14a4], 0xc0
mov byte [ebp - 0x14a3], 0xc
mov byte [ebp - 0x14a1], 5
call fcn.100030b9
pop ecx
pop ecx
test eax, eax
je 0x1000893c
lea ebx, [eax + 0xc]
movzx eax, word [eax + 0xa]
push eax
call edi
movzx eax, ax
test eax, eax
jle 0x1000893c
lea ecx, [eax + ebx]
lea edx, [ebp + esi - 0x1428]
cmp ecx, edx
ja 0x1000893c
push eax
push ebx
lea esi, [ebp - 0x147c]
call fcn.10008e34
xor edi, edi
mov eax, esi
mov byte [ebp - 4], 5
call fcn.100145ab
movzx eax, byte [eax]
mov ecx, dword [ebp - 0x1468]
dec ecx
cmp eax, ecx
jl 0x10008967
push edi
push 1
mov ecx, esi
call fcn.10002245
push 0
push 1
lea ecx, [ebp - 0x1444]
call fcn.10002245
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1003186a
leave
ret
push eax
xor ebx, ebx
inc ebx
push ebx
lea eax, [ebp - 0x147c]
push eax
lea esi, [ebp - 0x1460]
call fcn.10001fea
mov byte [ebp - 4], 6
cmp dword [ebp - 0x144c], 5
jb 0x10008a6b
xor edi, edi
mov eax, esi
call fcn.100145ab
cmp byte [eax], 0x76
jne 0x10008a6b
push 2
pop edi
mov eax, esi
call fcn.100145ab
cmp byte [eax], 0x76
jne 0x10008a6b
push 3
pop edi
mov eax, esi
call fcn.100145ab
cmp byte [eax], 0x64
jne 0x10008a6b
mov edi, dword [ebp - 0x144c]
dec edi
mov eax, esi
call fcn.100145ab
cmp byte [eax], 0x64
jne 0x10008a6b
mov edi, ebx
mov eax, esi
call fcn.100145ab
mov al, byte [eax]
mov cl, al
sub cl, 0x30
cmp cl, 9
ja 0x10008a6b
mov ecx, dword [ebp - 0x14ac]
movsx eax, al
sub eax, 0x30
mov dword [ecx], eax
mov eax, dword [ebp - 0x144c]
add eax, 0xfffffffb
push eax
mov eax, esi
push 4
push eax
lea esi, [ebp - 0x14d0]
call fcn.10001fea
mov ecx, dword [ebp - 0x14b4]
push 0xffffffffffffffff
xor esi, esi
push esi
push eax
mov byte [ebp - 4], 7
call fcn.10002145
push esi
push ebx
lea ecx, [ebp - 0x14d0]
call fcn.10002245
push esi
push ebx
lea ecx, [ebp - 0x1460]
call fcn.10002245
push esi
push ebx
lea ecx, [ebp - 0x147c]
call fcn.10002245
push esi
push ebx
lea ecx, [ebp - 0x1444]
call fcn.10002245
mov al, bl
jmp 0x1000894d
xor esi, esi
push esi
push ebx
lea ecx, [ebp - 0x1460]
call fcn.10002245
push esi
push ebx
lea ecx, [ebp - 0x147c]
call fcn.10002245
push esi
push ebx
jmp 0x10008940