Function at 0x4022b0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Encode data using xor
Send data
Send data on socket
Set socket configuration

Disassembly:
push edi
xor eax, eax
lea edi, [esp + 8]
and esp, 0xfffffff0
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x298]
push ebx
mov ebx, ecx
sub esp, 0x30c
movdqu xmm0, xmmword [0x435100]
mov dword [ebp - 0x29c], 0x86
movups xmmword [ebp - 0x298], xmm0
movdqu xmm0, xmmword [0x435110]
movups xmmword [ebp - 0x288], xmm0
movdqu xmm0, xmmword [0x435120]
movups xmmword [ebp - 0x278], xmm0
movdqu xmm0, xmmword [0x435130]
movups xmmword [ebp - 0x268], xmm0
movdqu xmm0, xmmword [0x435140]
movups xmmword [ebp - 0x258], xmm0
movdqu xmm0, xmmword [0x435150]
movups xmmword [ebp - 0x248], xmm0
movdqu xmm0, xmmword [0x435160]
movups xmmword [ebp - 0x238], xmm0
movdqu xmm0, xmmword [0x435170]
movups xmmword [ebp - 0x228], xmm0
mov dword [ebp - 0x219], 0x573c2b38
mov dword [ebp - 0x215], 0x5e575151
lea esi, cs:[esi]
nop
lea edx, [eax - 0x28]
xor byte [edi + eax], dl
mov ecx, dword [ebp - 0x29c]
add eax, 1
cmp eax, ecx
jb 0x402370
mov byte [ebp + ecx - 0x298], 0
mov eax, dword [ebx + 4]
mov edx, 1
mov ecx, dword [ebx]
mov esi, dword [ebx + 0x28]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xaaaaaaab
cmp esi, eax
jae 0x4023b0
lea eax, [esi + esi*2]
lea edx, [esi + 1]
lea ecx, [ecx + eax*8]
lea eax, [ebp - 0x2b0]
mov dword [ebx + 0x28], edx
mov esi, dword [ecx + 4]
mov dword [ebp - 0x2b8], eax
mov eax, dword [ecx]
lea ecx, [ebp - 0x2b8]
add esi, eax
mov dword [esp], eax
mov dword [esp + 4], esi
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char__char__char__std::forward_iterator_tag___clone_.isra.0_
lea ecx, [ebp - 0x2b8]
sub esp, 8
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x3a
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.rfind_char__unsigned_int__const
sub esp, 8
mov esi, eax
cmp eax, 0xffffffff
je 0x4027a0
mov eax, dword [ebp - 0x2b4]
lea ecx, [eax - 1]
cmp esi, ecx
jb 0x402698
mov dword [ebp - 0x2e8], 0x50
lea edx, [ebp - 0x210]
mov dword [ebp - 0x2dc], edx
lea edx, [ebp - 0x208]
mov dword [ebp - 0x2e0], edx
cmp esi, eax
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp - 0x2e0]
cmova esi, eax
mov dword [ebp - 0x210], edx
add esi, ecx
mov dword [esp], ecx
mov dword [esp + 4], esi
mov ecx, dword [ebp - 0x2dc]
call fcn.004014f0
mov eax, dword [ebp - 0x2b8]
lea esi, [ebp - 0x2b0]
sub esp, 8
mov dword [ebp - 0x2e4], eax
cmp eax, esi
je 0x4027c0
mov esi, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x210]
mov edx, dword [ebp - 0x2e0]
mov dword [ebp - 0x2ec], esi
cmp ecx, edx
je 0x402810
movq xmm1, qword [ebp - 0x20c]
mov esi, dword [ebp - 0x2b0]
mov dword [ebp - 0x2b8], ecx
movq qword [ebp - 0x2b4], xmm1
test eax, eax
je 0x4027e6
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x208], esi
mov dword [ebp - 0x20c], 0
mov byte [eax], 0
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x210]
cmp ecx, eax
je 0x402500
mov eax, dword [ebp - 0x208]
mov dword [esp], ecx
add eax, 1
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
mov dword [esp], 0
call sub.msvcrt.dll_time
mov dword [esp + 0x10], eax
mov eax, dword [0x44c568]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2dc]
mov dword [esp], eax
call sym.int_sprintf_s_500u__char_____500u___char_const__..._
mov esi, eax
lea eax, [ebp - 0x2b8]
mov dword [esp], eax
call method.HttpManager.getHostIP_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
test eax, eax
je 0x430494
mov dword [ebp - 0x2c4], eax
movzx eax, word [ebp - 0x2e8]
mov edi, 2
mov word [ebp - 0x2c8], di
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_htons]
sub esp, 4
mov word [ebp - 0x2c6], ax
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
call dword [sym.imp.WS2_32.dll_socket]
sub esp, 0xc
mov dword [ebx + 0x24], eax
cmp eax, 0xffffffff
je 0x430529
lea edx, [ebp - 0x2cc]
mov edi, dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [ebp - 0x2d0], 0x80000
mov dword [ebp - 0x2cc], 0x2710
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x1006
mov dword [esp + 4], 0xffff
mov dword [esp], eax
call edi
sub esp, 0x14
lea eax, [ebp - 0x2d0]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x1006
mov dword [esp + 4], 0xffff
mov eax, dword [ebx + 0x24]
mov dword [esp], eax
call edi
sub esp, 0x14
lea eax, [ebp - 0x2c8]
mov dword [esp + 8], 0x10
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x24]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_connect]
sub esp, 0xc
cmp eax, 0xffffffff
je method.HttpManager.sendRequest____clone_.cold_
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov eax, dword [ebp - 0x2dc]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x24]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_send]
mov edx, dword [ebp - 0x2b8]
lea eax, [ebp - 0x2b0]
sub esp, 0x10
cmp edx, eax
je 0x402687
mov eax, dword [ebp - 0x2b0]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
lea edx, [esi + 1]
cmp eax, edx
jb 0x430501
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x2dc], ecx
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 0x210], ecx
mov ecx, dword [ebp - 0x2b8]
add eax, ecx
add ecx, edx
mov dword [esp + 4], eax
mov dword [esp], ecx
mov ecx, dword [ebp - 0x2dc]
call fcn.004014f0
mov eax, dword [ebp - 0x210]
sub esp, 8
mov dword [ebp - 0x2ec], eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
mov dword [ebp - 0x2e4], eax
call eax
mov edx, dword [eax]
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2f0], edx
call eax
mov dword [eax], 0
lea eax, [ebp - 0x29c]
mov dword [esp + 8], 0xa
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2ec]
mov dword [esp], eax
call sym._strtol
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2ec]
cmp eax, dword [ebp - 0x29c]
je 0x4304b8
mov eax, dword [ebp - 0x2e4]
call eax
cmp dword [eax], 0x22
je 0x43051d
mov eax, dword [ebp - 0x2e4]
call eax
mov ecx, dword [eax]
test ecx, ecx
je 0x402880
mov ecx, dword [ebp - 0x210]
mov eax, dword [ebp - 0x2e0]
cmp ecx, eax
je 0x40278f
mov eax, dword [ebp - 0x208]
mov dword [esp], ecx
add eax, 1
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
mov eax, dword [ebp - 0x2b4]
jmp 0x402436
mov dword [ebp - 0x2e8], 0x50
lea eax, [ebp - 0x210]
mov dword [ebp - 0x2dc], eax
jmp 0x402500
mov ecx, dword [ebp - 0x210]
mov esi, dword [ebp - 0x2e0]
cmp ecx, esi
je 0x402803
movq xmm2, qword [ebp - 0x20c]
mov dword [ebp - 0x2b8], ecx
movq qword [ebp - 0x2b4], xmm2
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x208]
mov dword [ebp - 0x2e0], eax
jmp 0x4024ce
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x2ec], esi
nop
test esi, esi
je 0x40285f
cmp esi, 1
je 0x402895
cmp esi, 4
jae 0x4028b8
test esi, esi
je 0x402853
movzx eax, byte [ebp - 0x208]
mov edx, dword [ebp - 0x2e4]
mov byte [edx], al
test esi, 2
jne 0x402920
mov eax, dword [ebp - 0x2b8]
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2ec], esi
mov eax, dword [ebp - 0x2e4]
mov esi, dword [ebp - 0x2ec]
mov dword [ebp - 0x2b4], esi
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x210]
jmp 0x4024ce
mov eax, dword [ebp - 0x2e4]
call eax
mov edx, dword [ebp - 0x2f0]
mov dword [eax], edx
jmp 0x40276a
movzx eax, byte [ebp - 0x208]
mov esi, dword [ebp - 0x2e4]
mov byte [esi], al
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2b8]
jmp 0x40285f
mov edx, dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x208]
mov dword [edx], eax
mov eax, dword [ebp + esi - 0x20c]
lea ecx, [edx + 4]
and ecx, 0xfffffffc
mov dword [edx + esi - 4], eax
mov eax, edx
mov edx, dword [ebp - 0x2e0]
sub eax, ecx
mov dword [ebp - 0x2e4], ecx
sub edx, eax
add eax, esi
and eax, 0xfffffffc
cmp eax, 4
jb 0x402841
mov dword [ebp - 0x2ec], ebx
and eax, 0xfffffffc
xor ecx, ecx
mov esi, dword [edx + ecx]
mov ebx, dword [ebp - 0x2e4]
mov dword [ebx + ecx], esi
add ecx, 4
cmp ecx, eax
jb 0x402902
mov ebx, dword [ebp - 0x2ec]
jmp 0x402841
movzx eax, word [ebp + esi - 0x20a]
mov edx, dword [ebp - 0x2e4]
mov word [edx + esi - 2], ax
mov eax, dword [ebp - 0x2b8]
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x2e4], eax
jmp 0x402853