Function at 0x40bd50
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create thread
Create udp socket
Initialize winsock library
Resolve dns
Send data
Send data on socket
Set socket configuration
Terminate thread

Disassembly:
push 0xffffffffffffffff
push 0x422405
mov eax, dword fs:[0]
push eax
sub esp, 0x7ec
mov eax, dword [0x42e070]
xor eax, esp
mov dword [esp + 0x7e8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x42e070]
xor eax, esp
push eax
lea eax, [esp + 0x800]
mov dword fs:[0], eax
push str.In_Settings_arrived_new_function
call fcn.00404e10
add esp, 4
push str.Client_Login_Mode
call fcn.00404e10
add esp, 4
lea esi, [esp + 0x3c]
call fcn.0040db40
xor ebx, ebx
mov dword [esp + 0x44], ebx
push 0x103
lea eax, [esp + 0x3e9]
push ebx
mov dword [esp + 0x810], ebx
push eax
mov byte [esp + 0x3f0], bl
call fcn.00410d60
add esp, 0xc
push 0x206
lea edx, [esp + 0x5fa]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0x600], cx
call fcn.00410d60
add esp, 0xc
lea eax, [esp + 0x254]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x40be29
push str.Failed_WSAStartup...
call fcn.00404e10
add esp, 4
call sub.WS2_32.dll_WSACleanup
or eax, 0xffffffff
jmp 0x40c1aa
push 0x103
lea ecx, [esp + 0x4f1]
push ebx
push ecx
mov byte [esp + 0x4f8], bl
call fcn.00410d60
lea edx, [esp + 0x4f8]
add esp, 0xc
mov dword [esp + 0x18], ebx
push edx
lea ebx, [esp + 0x1c]
call fcn.0040ca70
mov ebp, dword [sym.imp.WS2_32.dll_closesocket]
add esp, 4
test eax, eax
je 0x40bf7d
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x4f0]
push ecx
push str.Proxy_network_found__IP____S__Port____d_
call fcn.00404e10
mov eax, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x48], 4
test eax, eax
jle 0x40be9a
mov dword [esp + 0x50], eax
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x4ec]
mov byte [esp + eax + 0x58], cl
inc eax
test cl, cl
jne 0x40bea0
movzx edx, word [0x42f09c]
push edx
call dword [sym.imp.WS2_32.dll_htons]
movzx eax, ax
test eax, eax
jle 0x40bec9
mov dword [esp + 0x54], eax
xor eax, eax
jmp 0x40bed0
mov cl, byte [eax + str.adminconsole.net]
mov byte [esp + eax + 0x71], cl
inc eax
test cl, cl
jne 0x40bed0
lea ecx, [esp + 0x3c]
call fcn.0040dbf0
cmp dword [esp + 0x44], 0
mov esi, eax
je 0x40bf73
push esi
call ebp
lea eax, [esp + 0x152]
push 0x42b1b0
push eax
call fcn.004207db
add esp, 8
test eax, eax
jne 0x40bf3a
push str.Failed_connect_with_hostname_adminconsole.net_trying_with_IP_103.186.19.215
call fcn.00404e10
add esp, 4
xor eax, eax
mov cl, byte [eax + str.103.186.19.215]
mov byte [esp + eax + 0x71], cl
inc eax
test cl, cl
jne 0x40bf20
lea ecx, [esp + 0x3c]
call fcn.0040dbf0
mov esi, eax
cmp dword [esp + 0x44], 0
je 0x40bf73
push str.Connect_to_Server_through_Proxy_network_:_adminconsole.net_failed...
call fcn.00404e10
add esp, 4
lea ecx, [esp + 0x152]
push ecx
push str.Error:__S
call fcn.00404e10
add esp, 8
push esi
call ebp
call sub.WS2_32.dll_WSACleanup
or eax, 0xffffffff
jmp 0x40c1aa
push str.EPS_Web_Server_connected_through_Proxy_network
jmp 0x40c033
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
jne 0x40bf9a
push str.Invalid_Socket...
jmp 0x40be14
push str.www.adminconsole.net
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
jne 0x40bfba
push str.103.186.19.215
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [esp + 0x30], eax
jmp 0x40bfc5
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov ax, word [0x42f09c]
push 4
lea ecx, [esp + 0x24]
push ecx
push 0x1006
push 0xffff
mov edx, 2
push esi
mov word [esp + 0x40], dx
mov word [esp + 0x42], ax
mov dword [esp + 0x34], 0x7530
call dword [sym.imp.WS2_32.dll_setsockopt]
push 0x10
lea edx, [esp + 0x30]
push edx
push esi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x40c02e
push str.Connect_to_Server_:_adminconsole.net_failed...
call fcn.00404e10
add esp, 4
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
call sub.WS2_32.dll_WSACleanup
or eax, 0xffffffff
jmp 0x40c1aa
push str.EPS_Web_Server_connected
call fcn.00404e10
add esp, 4
push 0x5dc
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x3e4]
push eax
call fcn.0040c1e0
lea eax, [esp + 0x3e8]
add esp, 4
lea edx, [eax + 1]
xor ebx, ebx
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c062
sub eax, edx
je 0x40c0ea
lea eax, [esp + 0x3e4]
lea edx, [eax + 1]
jmp 0x40c080
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c080
push ebx
sub eax, edx
push eax
lea ecx, [esp + 0x3ec]
push ecx
push esi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x40c0bc
push str.Send_to_Server_:_adminconsole.net_failed...
call fcn.00404e10
add esp, 4
push esi
call ebp
call sub.WS2_32.dll_WSACleanup
or eax, 0xffffffff
jmp 0x40c1aa
lea edx, [esp + 0x3e4]
push edx
lea eax, [esp + 0x5f8]
push str.Command___S_sent_to_web_server__successfully...
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea ecx, [esp + 0x600]
add esp, 0xc
push ecx
call fcn.00404e10
add esp, 4
lea edx, [esp + 0x24]
push edx
push ebx
lea eax, [esp + 0x30]
push eax
push 0x40c420
push ebx
push ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
push str.before_10min_Idle_Connection__Th_Timeout_
mov edi, eax
call fcn.00404e10
add esp, 4
push 0x927c0
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push str.after_10min_idle_connection__Th_Timeout_
mov ebx, eax
call fcn.00404e10
add esp, 4
lea ecx, [esp + 0x1c]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp ebx, 0x102
jne 0x40c18f
push str.WAIT_TIMEOUT_Ret_Value_after_10min_idle_time__Terminating_Th
call fcn.00404e10
mov edx, dword [esp + 0x20]
add esp, 4
push edx
push edi
call dword [sym.imp.KERNEL32.dll_TerminateThread]
test eax, eax
je 0x40c18f
push esi
call ebp
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.WS2_32.dll_WSACleanup]
push str.Terminate_Th_Success__
call fcn.00404e10
add esp, 4
call sub.WS2_32.dll_WSACleanup
xor eax, eax
jmp 0x40c1aa
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call ebp
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, dword [esp + 0x1c]
call sub.WS2_32.dll_WSACleanup
mov eax, esi
mov ecx, dword [esp + 0x800]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x7e8]
xor ecx, esp
call fcn.0040e6d9
add esp, 0x7f8
ret