Function at 0x43a820
Capabilities:
Connect socket
Encode data using xor
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3e4
mov eax, dword [0x4af040]
xor eax, esp
mov dword [esp + 0x3e0], eax
push ebx
push esi
push edi
push 0x104
lea eax, [esp + 0x1e4]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x1e0]
call fcn.00410350
mov edx, eax
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x43a863
sub edx, esi
mov ecx, 0x4af1f0
push edx
push eax
call fcn.0043aae0
lea eax, [esp + 0x50]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x43a96e
push eax
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x4af92c], eax
cmp eax, 0xffffffff
je 0x43a968
xorps xmm0, xmm0
mov eax, 2
push 0x2538
movlpd qword [esp + 0x24], xmm0
mov word [esp + 0x1c], ax
call dword [sym.imp.WS2_32.dll_htons]
push 0x4afa70
lea ecx, [esp + 0x30]
mov word [esp + 0x1e], ax
call fcn.0040c640
cmp dword [esp + 0x40], 0xf
lea eax, [esp + 0x2c]
cmova eax, dword [esp + 0x2c]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
cmp ecx, 0xf
jbe 0x43a92b
mov edx, dword [esp + 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43a921
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x43a921
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0043ff31
add esp, 8
push 0x10
lea eax, [esp + 0x1c]
mov dword [esp + 0x40], 0
push eax
push dword [0x4af92c]
mov dword [esp + 0x4c], 0xf
mov byte [esp + 0x38], 0
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x43aa03
push dword [0x4af92c]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
movaps xmm0, xmmword [0x4aa110]
mov eax, 0xc
mov dword [esp + 0x18], eax
xor ecx, ecx
movups xmmword [esp + 0x1c], xmm0
mov al, cl
sub al, 0x7f
xor byte [esp + ecx + 0x1c], al
inc ecx
mov eax, dword [esp + 0x18]
cmp ecx, eax
jb 0x43a985
movaps xmm0, xmmword [0x4aa390]
xor ecx, ecx
mov byte [esp + eax + 0x1c], 0
mov eax, 0x1d
movups xmmword [esp + 0x30], xmm0
mov dword [esp + 0x2c], eax
movaps xmm0, xmmword [0x4aa140]
movups xmmword [esp + 0x40], xmm0
nop
mov al, cl
sub al, 0x7f
xor byte [esp + ecx + 0x30], al
inc ecx
mov eax, dword [esp + 0x2c]
cmp ecx, eax
jb 0x43a9c0
mov byte [esp + eax + 0x30], 0
lea eax, [esp + 0x1c]
push 0x20
push eax
lea eax, [esp + 0x38]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [esp + 0x3ec]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0043fbc2
mov esp, ebp
pop ebp
ret 0x10
call fcn.0043f730
push 0x40e380
lea ecx, [esp + 0x14]
call fcn.0040e4f0
mov ecx, eax
call fcn.0040e340
cmp dword [esp + 0x14], 0
je 0x43aa2a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
cmp dword [0x4af928], 1
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
je 0x43aa4d
nop dword [eax]
push 0x64
call esi
cmp dword [0x4af928], 1
jne 0x43aa40
call fcn.0043a630
call fcn.0043b680
test al, al
je 0x43a9ea
push 0x43c450
lea ecx, [esp + 0x14]
call fcn.0040e4f0
mov edi, eax
cmp dword [edi + 4], 0
je 0x43aacf
push dword [edi + 4]
push dword [edi]
call dword [sym.imp.MSVCP140.dll__Thrd_detach]
add esp, 8
test eax, eax
jne 0x43aacf
mov dword [edi], eax
mov dword [edi + 4], eax
cmp dword [esp + 0x14], eax
je 0x43aa94
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
push 0xa
call esi
push 1
push 0
push 0
push dword [0x4af9c4]
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x43aaa0
lea eax, [esp + 0x2c]
push eax
call edi
lea eax, [esp + 0x2c]
push eax
call ebx
jmp 0x43aaa0
push 1
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3