Function at 0x1011f210
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Convert ip address from string
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket

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 0x10289528
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa50
mov eax, dword [0x1036413c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0xa44], esi
mov dword [ebp - 0x82c], esi
mov dword [ebp - 0x82c], esi
mov ecx, 0x10478ba8
mov dword [ebp - 4], 0
call fcn.102758d0
xorps xmm0, xmm0
movups xmmword [ebp - 0x828], xmm0
mov byte [ebp - 4], 1
push 8
movups xmmword [ebp - 0x828], xmm0
call fcn.101d5af0
lea ecx, [ebp - 0x828]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x828], eax
mov dword [eax], ecx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x82c], 0
cmp eax, dword [ebp - 0x81c]
je 0x1011f2ea
mov dword [eax], 0
mov eax, dword [ebp - 0x820]
push eax
push eax
call fcn.101375c0
mov eax, dword [ebp - 0x820]
add eax, 4
mov dword [ebp - 0x820], eax
jmp 0x1011f303
lea ecx, [ebp - 0x82c]
push ecx
push eax
lea ecx, [ebp - 0x828]
call fcn.10135bc0
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x82c], 0
cmp eax, dword [ebp - 0x81c]
je 0x1011f33f
mov dword [eax], 0
lea ecx, [ebp - 0x828]
mov eax, dword [ebp - 0x820]
push eax
push eax
call fcn.101375c0
mov eax, dword [ebp - 0x820]
add eax, 4
mov dword [ebp - 0x820], eax
jmp 0x1011f358
lea ecx, [ebp - 0x82c]
push ecx
push eax
lea ecx, [ebp - 0x828]
call fcn.10135bc0
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x82c], 0
cmp eax, dword [ebp - 0x81c]
je 0x1011f394
mov dword [eax], 0
lea ecx, [ebp - 0x828]
mov eax, dword [ebp - 0x820]
push eax
push eax
call fcn.101375c0
mov eax, dword [ebp - 0x820]
add eax, 4
mov dword [ebp - 0x820], eax
jmp 0x1011f3ad
lea ecx, [ebp - 0x82c]
push ecx
push eax
lea ecx, [ebp - 0x828]
call fcn.10135bc0
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x82c], 0
cmp eax, dword [ebp - 0x81c]
je 0x1011f3e1
mov dword [eax], 0
lea ecx, [ebp - 0x828]
mov eax, dword [ebp - 0x820]
push eax
push eax
call fcn.101375c0
add dword [ebp - 0x820], 4
jmp 0x1011f3f4
lea ecx, [ebp - 0x82c]
push ecx
push eax
lea ecx, [ebp - 0x828]
call fcn.10135bc0
lea eax, [ebp - 0xa40]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x1011f436
lea eax, [ebp - 0x828]
mov ecx, esi
push eax
call fcn.1012e7c0
lea ecx, [ebp - 0x828]
call fcn.10043400
lea ecx, [ebx + 8]
call fcn.1004bc60
mov ecx, dword [ebx + 8]
push 8
push ecx
jmp 0x1011f94d
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
mov dword [ebp - 0x82c], edi
test edi, edi
jns 0x1011f461
lea eax, [ebp - 0x828]
mov ecx, esi
push eax
call fcn.1012e7c0
jmp 0x1011f934
mov eax, 2
push 0x270e
mov word [ebp - 0x890], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x88e], ax
lea eax, [ebp - 0x88c]
push eax
push str.127.0.0.1
push 2
call dword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x1011f44e
push 0x10
lea eax, [ebp - 0x890]
push eax
push edi
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
js 0x1011f44e
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x878]
push 0
mov byte [ebp - 0x880], 0
call fcn.10095d30
mov byte [ebp - 4], 4
lea edx, [ebx + 8]
xorps xmm0, xmm0
mov byte [ebp - 0xa58], 0
lea ecx, [ebp - 0xa58]
movq qword [ebp - 0xa50], xmm0
call fcn.10141b00
push str.data
lea ecx, [ebp - 0x880]
mov byte [ebp - 4], 5
call fcn.101301a0
mov byte [ebp - 4], 4
mov edi, eax
mov cl, byte [ebp - 0xa58]
mov eax, dword [ebp - 0xa50]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0xa4c]
mov esi, dword [edi + 0xc]
mov byte [ebp - 0xa58], dl
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0xa58]
mov dword [edi + 8], eax
mov dword [ebp - 0xa50], edx
mov dword [ebp - 0xa4c], esi
call fcn.10090d00
push ecx
lea eax, [ebp - 0x86c]
push eax
lea ecx, [ebp - 0x880]
call fcn.10090b20
mov byte [ebp - 4], 6
lea eax, [ebp - 0x868]
cmp dword [ebp - 0x854], 0x10
mov edi, dword [ebp - 0x82c]
cmovae eax, dword [ebp - 0x868]
push 0
push dword [ebp - 0x858]
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
push 0x800
lea eax, [ebp - 0x818]
push 0
push eax
call fcn.101d90c0
add esp, 0xc
lea eax, [ebp - 0x818]
push 0
push 0x800
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x1011f624
mov ecx, dword [ebp - 0xa44]
lea eax, [ebp - 0x828]
push eax
call fcn.1012e7c0
lea ecx, [ebp - 0x86c]
call fcn.1004c8e0
mov eax, dword [ebp - 0x86c]
push 8
push eax
mov dword [ebp - 0x86c], 0
call fcn.101d63b0
add esp, 8
lea ecx, [ebp - 0x880]
call fcn.10090d00
lea ecx, [ebp - 0x828]
call fcn.10043400
lea ecx, [ebx + 8]
call fcn.1004bc60
mov eax, dword [ebx + 8]
push 8
push eax
mov dword [ebx + 8], 0
call fcn.101d63b0
mov eax, dword [ebp - 0xa44]
jmp 0x1011f95b
lea eax, [ebp - 0x84d]
mov dword [ebp - 0x84c], 0
push 8
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x838], 0
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x82c], eax
call fcn.101d5af0
lea ecx, [ebp - 0x84c]
mov dword [ebp - 0x830], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x84c], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x818]
mov dword [ebp - 0x838], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x834], 0xf
mov byte [ebp - 0x848], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011f6a5
sub ecx, edx
lea eax, [ebp - 0x818]
push ecx
push eax
lea ecx, [ebp - 0x84c]
call fcn.10047dd0
mov dword [ebp - 0x830], 0
mov byte [ebp - 4], 8
cmp dword [ebp - 0x838], 0
jne 0x1011f6f1
mov esi, dword [ebp - 0xa44]
lea eax, [ebp - 0x828]
push eax
mov ecx, esi
call fcn.1012e7c0
jmp 0x1011f84f
sub esp, 0x28
lea edx, [ebp - 0x84c]
mov eax, esp
lea ecx, [ebp - 0x8b0]
mov dword [eax + 0x24], 0
call fcn.10097af0
add esp, 0x28
push str.angles
lea ecx, [ebp - 0x8b0]
mov byte [ebp - 4], 9
call fcn.101301a0
push eax
lea ecx, [ebp - 0x8a0]
call fcn.10090ef0
lea eax, [ebp - 0xa58]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x8a0]
call fcn.101302d0
mov esi, eax
lea eax, [ebp - 0x828]
cmp eax, esi
je 0x1011f80d
mov ecx, eax
call fcn.10030300
mov ecx, dword [ebp - 0x824]
test ecx, ecx
je 0x1011f79b
mov eax, dword [ebp - 0x81c]
sub eax, ecx
and eax, 0xfffffffc
push eax
push ecx
call fcn.10053c10
add esp, 8
mov dword [ebp - 0x824], 0
mov dword [ebp - 0x820], 0
mov dword [ebp - 0x81c], 0
push 3
lea ecx, [ebp - 0x82c]
call fcn.101a61c0
mov eax, dword [esi]
mov ecx, dword [ebp - 0x828]
mov dword [ebp - 0x828], eax
mov dword [esi], ecx
mov eax, dword [ebp - 0x828]
test eax, eax
je 0x1011f7ca
lea ecx, [ebp - 0x828]
mov dword [eax], ecx
mov eax, dword [esi]
test eax, eax
je 0x1011f7d2
mov dword [eax], esi
lea ecx, [ebp - 0x82c]
call fcn.101a62b0
mov eax, dword [esi + 4]
mov dword [ebp - 0x824], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x820], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x81c], eax
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
lea ecx, [ebp - 0xa58]
call fcn.10043400
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, dword [ebp - 0xa44]
lea eax, [ebp - 0x828]
push eax
mov ecx, esi
call fcn.1012e7c0
lea ecx, [ebp - 0x8a0]
call fcn.10090d00
lea ecx, [ebp - 0x8b0]
call fcn.10090d00
lea ecx, [ebp - 0x84c]
call fcn.10030300
mov edi, dword [ebp - 0x834]
cmp edi, 0x10
jb 0x1011f8cd
mov eax, dword [ebp - 0x848]
inc edi
mov dword [ebp - 0x82c], eax
test eax, eax
jne 0x1011f8c3
test edi, edi
je 0x1011f8c3
push str.null_pointer_cannot_point_to_a_block_of_non_zero_size
push 0x102bdb00
push eax
push 0x33c
push 0x102bdb08
push 2
call fcn.101ebf50
add esp, 0x18
cmp eax, 1
jne 0x1011f89f
int3
push 0
push 0x33c
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.32.31326includexmemory
push 0x102bdc34
push str._null_pointer_cannot_point_to_a_block_of_non_zero_size_
call fcn.101ece00
mov eax, dword [ebp - 0x82c]
add esp, 0x14
push edi
push eax
call fcn.10053c10
add esp, 8
mov eax, dword [ebp - 0x84c]
push 8
push eax
mov dword [ebp - 0x838], 0
mov dword [ebp - 0x834], 0xf
mov byte [ebp - 0x848], 0
mov dword [ebp - 0x84c], 0
call fcn.101d63b0
add esp, 8
lea ecx, [ebp - 0x86c]
call fcn.1004c8e0
mov eax, dword [ebp - 0x86c]
push 8
push eax
mov dword [ebp - 0x86c], 0
call fcn.101d63b0
add esp, 8
lea ecx, [ebp - 0x880]
call fcn.10090d00
lea ecx, [ebp - 0x828]
call fcn.10043400
lea ecx, [ebx + 8]
call fcn.1004bc60
mov eax, dword [ebx + 8]
push 8
push eax
mov dword [ebx + 8], 0
call fcn.101d63b0
mov eax, esi
add esp, 8
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.101d57a0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret