Function at 0x1010bab0
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 0x101a3fa8
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa50
mov eax, dword [0x102480b4]
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, 0x1028ab99
mov dword [ebp - 4], 0
call fcn.10193940
xorps xmm0, xmm0
movups xmmword [ebp - 0x828], xmm0
mov byte [ebp - 4], 1
push 8
movups xmmword [ebp - 0x828], xmm0
call fcn.10191600
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 0x1010bb8a
mov dword [eax], 0
mov eax, dword [ebp - 0x820]
push eax
push eax
call fcn.101240a0
mov eax, dword [ebp - 0x820]
add eax, 4
mov dword [ebp - 0x820], eax
jmp 0x1010bba3
lea ecx, [ebp - 0x82c]
push ecx
push eax
lea ecx, [ebp - 0x828]
call fcn.10122610
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x82c], 0
cmp eax, dword [ebp - 0x81c]
je 0x1010bbdf
mov dword [eax], 0
lea ecx, [ebp - 0x828]
mov eax, dword [ebp - 0x820]
push eax
push eax
call fcn.101240a0
mov eax, dword [ebp - 0x820]
add eax, 4
mov dword [ebp - 0x820], eax
jmp 0x1010bbf8
lea ecx, [ebp - 0x82c]
push ecx
push eax
lea ecx, [ebp - 0x828]
call fcn.10122610
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x82c], 0
cmp eax, dword [ebp - 0x81c]
je 0x1010bc34
mov dword [eax], 0
lea ecx, [ebp - 0x828]
mov eax, dword [ebp - 0x820]
push eax
push eax
call fcn.101240a0
mov eax, dword [ebp - 0x820]
add eax, 4
mov dword [ebp - 0x820], eax
jmp 0x1010bc4d
lea ecx, [ebp - 0x82c]
push ecx
push eax
lea ecx, [ebp - 0x828]
call fcn.10122610
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x82c], 0
cmp eax, dword [ebp - 0x81c]
je 0x1010bc81
mov dword [eax], 0
lea ecx, [ebp - 0x828]
mov eax, dword [ebp - 0x820]
push eax
push eax
call fcn.101240a0
add dword [ebp - 0x820], 4
jmp 0x1010bc94
lea ecx, [ebp - 0x82c]
push ecx
push eax
lea ecx, [ebp - 0x828]
call fcn.10122610
lea eax, [ebp - 0xa40]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x1010bd29
lea eax, [ebp - 0x828]
mov ecx, esi
push eax
call fcn.1011b070
lea ecx, [ebp - 0x828]
call fcn.1002f6d0
mov ecx, dword [ebp - 0x824]
test ecx, ecx
je 0x1010bcfb
mov edx, dword [ebp - 0x81c]
sub edx, ecx
and edx, 0xfffffffc
call fcn.10049fa0
mov dword [ebp - 0x824], 0
mov dword [ebp - 0x820], 0
mov dword [ebp - 0x81c], 0
mov eax, dword [ebp - 0x828]
push 8
push eax
mov dword [ebp - 0x828], 0
call fcn.10191ec0
add esp, 8
lea ecx, [ebx + 8]
call fcn.10044c30
mov ecx, dword [ebx + 8]
push 8
push ecx
jmp 0x1010c2b0
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 0x1010bd54
lea eax, [ebp - 0x828]
mov ecx, esi
push eax
call fcn.1011b070
jmp 0x1010c244
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
jg 0x1010bd9d
lea eax, [ebp - 0x828]
mov ecx, esi
push eax
call fcn.1011b070
jmp 0x1010c244
push 0x10
lea eax, [ebp - 0x890]
push eax
push edi
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jns 0x1010bdc4
lea eax, [ebp - 0x828]
mov ecx, esi
push eax
call fcn.1011b070
jmp 0x1010c244
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x878]
push 0
mov byte [ebp - 0x880], 0
call fcn.1008a310
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.1012e7f0
push str.data
lea ecx, [ebp - 0x880]
mov byte [ebp - 4], 5
call fcn.1011ca00
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.10085b20
push ecx
lea eax, [ebp - 0x86c]
push eax
lea ecx, [ebp - 0x880]
call fcn.10085950
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 sub.VCRUNTIME140D.dll_memset
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 0x1010bee3
mov esi, dword [ebp - 0xa44]
lea eax, [ebp - 0x828]
push eax
mov ecx, esi
call fcn.1011b070
jmp 0x1010c213
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.10191600
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 0x1010bf64
sub ecx, edx
lea eax, [ebp - 0x818]
push ecx
push eax
lea ecx, [ebp - 0x84c]
call fcn.100425a0
mov dword [ebp - 0x830], 0
mov byte [ebp - 4], 8
cmp dword [ebp - 0x838], 0
jne 0x1010bfb0
mov esi, dword [ebp - 0xa44]
lea eax, [ebp - 0x828]
push eax
mov ecx, esi
call fcn.1011b070
jmp 0x1010c15e
sub esp, 0x28
lea edx, [ebp - 0x84c]
mov eax, esp
lea ecx, [ebp - 0x8b0]
mov dword [eax + 0x24], 0
call fcn.1008c0d0
add esp, 0x28
push str.angles
lea ecx, [ebp - 0x8b0]
mov byte [ebp - 4], 9
call fcn.1011ca00
push eax
lea ecx, [ebp - 0x8a0]
call fcn.10085d20
lea eax, [ebp - 0xa58]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x8a0]
call fcn.1011cb30
mov esi, eax
lea eax, [ebp - 0x828]
cmp eax, esi
je 0x1010c0c9
mov ecx, eax
call fcn.1002f6d0
mov ecx, dword [ebp - 0x824]
test ecx, ecx
je 0x1010c055
mov edx, dword [ebp - 0x81c]
sub edx, ecx
and edx, 0xfffffffc
call fcn.10049fa0
mov dword [ebp - 0x824], 0
mov dword [ebp - 0x820], 0
mov dword [ebp - 0x81c], 0
push 3
lea ecx, [ebp - 0x82c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
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 0x1010c085
lea ecx, [ebp - 0x828]
mov dword [eax], ecx
mov eax, dword [esi]
test eax, eax
je 0x1010c08d
mov dword [eax], esi
lea ecx, [ebp - 0x82c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
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.1002f6d0
mov ecx, dword [ebp - 0xa54]
test ecx, ecx
je 0x1010c10c
mov edx, dword [ebp - 0xa4c]
sub edx, ecx
and edx, 0xfffffffc
call fcn.10049fa0
mov dword [ebp - 0xa54], 0
mov dword [ebp - 0xa50], 0
mov dword [ebp - 0xa4c], 0
mov eax, dword [ebp - 0xa58]
push 8
push eax
mov dword [ebp - 0xa58], 0
call fcn.10191ec0
add esp, 8
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.1011b070
lea ecx, [ebp - 0x8a0]
call fcn.10085b20
lea ecx, [ebp - 0x8b0]
call fcn.10085b20
lea ecx, [ebp - 0x84c]
call fcn.1002f6d0
mov edi, dword [ebp - 0x834]
cmp edi, 0x10
jb 0x1010c1dd
mov eax, dword [ebp - 0x848]
inc edi
mov dword [ebp - 0x82c], eax
test eax, eax
jne 0x1010c1d4
test edi, edi
je 0x1010c1d4
push str.null_pointer_cannot_point_to_a_block_of_non_zero_size
push 0x101ad5ac
push eax
push 0x33c
push 0x101ad5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1010c1af
int3
push 0
push 0x33c
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.32.31326includexmemory
push 0x101ad6dc
push str._null_pointer_cannot_point_to_a_block_of_non_zero_size_
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov eax, dword [ebp - 0x82c]
add esp, 0x14
mov edx, edi
mov ecx, eax
call fcn.10049fa0
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.10191ec0
add esp, 8
lea ecx, [ebp - 0x86c]
call fcn.10045430
mov eax, dword [ebp - 0x86c]
push 8
push eax
mov dword [ebp - 0x86c], 0
call fcn.10191ec0
add esp, 8
lea ecx, [ebp - 0x880]
call fcn.10085b20
lea ecx, [ebp - 0x828]
call fcn.1002f6d0
mov ecx, dword [ebp - 0x824]
test ecx, ecx
je 0x1010c287
mov edx, dword [ebp - 0x81c]
sub edx, ecx
and edx, 0xfffffffc
call fcn.10049fa0
mov dword [ebp - 0x824], 0
mov dword [ebp - 0x820], 0
mov dword [ebp - 0x81c], 0
mov eax, dword [ebp - 0x828]
push 8
push eax
mov dword [ebp - 0x828], 0
call fcn.10191ec0
add esp, 8
lea ecx, [ebx + 8]
call fcn.10044c30
mov eax, dword [ebx + 8]
push 8
push eax
mov dword [ebx + 8], 0
call fcn.10191ec0
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.101912d0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret