Function at 0x4236ea
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x7c
mov eax, dword [0x479760]
add eax, 0x3c
mov dword [ecx + 0xc], eax
movzx eax, word [ecx + 0x5a]
xchg al, ah
push eax
movzx eax, byte [ecx + 0x5f]
lea esi, [ecx + 0x18]
mov dword [ebp - 0x74], esi
push eax
movzx eax, byte [ecx + 0x5e]
push eax
movzx eax, byte [ecx + 0x5d]
push eax
movzx eax, byte [ecx + 0x5c]
push eax
push esi
push str.DNS:_try_to_load_domain__s_from___u._u._u._u:_u
push dword [0x46347c]
call fcn.0040423a
add esp, 0x1c
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x70], eax
pop ecx
test eax, eax
jns 0x42376d
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, dword [0x46347c]
call esi
sub esp, 0xc
push eax
call fcn.004037a9
mov ebx, eax
call esi
push ebx
push eax
push str.DNS:_Cant_get_socket__d__s
jmp 0x4237ea
push eax
lea eax, [ebx + 0x58]
push 0x10
push eax
push dword [ebp - 0x70]
call dword [sym.imp.WS2_32.dll_connect]
pop edx
test eax, eax
jns 0x4237b2
mov edi, dword [0x46347c]
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call esi
sub esp, 0xc
push eax
call fcn.004037a9
mov ebx, eax
call esi
push ebx
push eax
push str.DNS:_Cant_connect__d__s
push edi
call fcn.0040423a
add esp, 0x14
jmp 0x423aab
sub esp, 0xc
push 0x10100
call fcn.0042d128
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x4237f8
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, dword [0x46347c]
call esi
sub esp, 0xc
push eax
call fcn.004037a9
mov ebx, eax
call esi
push ebx
push eax
push str.No_enought_memory__d__s
push edi
call fcn.0040423a
add esp, 0x20
jmp 0x423ab7
lea eax, [eax + 2]
push edx
lea edi, [esi + 0xe]
push 0x10
push 0x479560
push eax
mov dword [ebp - 0x6c], eax
call fcn.0042d1ac
lea edx, [ebx + 0x18]
lea eax, [esi + 0xf]
call fcn.0041e57b
pop ecx
pop eax
push dword [ebp - 0x6c]
push edi
call fcn.0041f064
mov dword [eax], 0x100fc00
add eax, 4
sub eax, dword [ebp - 0x6c]
mov byte [esi + 1], al
add eax, 2
push 0
push eax
push esi
push dword [ebp - 0x70]
call dword [sym.imp.WS2_32.dll_send]
add esp, 0x10
test eax, eax
jg 0x423877
mov edx, dword [0x46347c]
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x6c], edx
call edi
sub esp, 0xc
push eax
call fcn.004037a9
mov ebx, eax
call edi
mov dword [esp], ebx
push eax
push dword [ebp - 0x74]
push str.DNS:_Error_load_zone_for__s__cant_send_request___d__s
jmp 0x4238db
lea eax, [esi + 0x10000]
mov edx, esi
xor ecx, ecx
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
sub esp, 0xc
push dword [0x42e650]
push 0
sub eax, edx
mov dword [ebp - 0x80], ecx
push eax
push edx
push dword [ebp - 0x70]
mov dword [ebp - 0x7c], edx
call fcn.0040f16d
add esp, 0x20
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x80]
test eax, eax
jg 0x4238ec
mov edx, dword [0x46347c]
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x6c], edx
call edi
sub esp, 0xc
push eax
call fcn.004037a9
mov ebx, eax
call edi
mov dword [esp], ebx
push eax
push dword [ebp - 0x74]
push str.DNS:_Error_load_zone_for__s__cant_recv_reply___d__s
mov edx, dword [ebp - 0x6c]
push edx
call fcn.0040423a
add esp, 0x20
jmp 0x423a94
add edx, eax
add ecx, eax
cmp dword [ebp - 0x78], edx
jbe 0x4238fe
movzx eax, word [esi]
xchg al, ah
cmp ecx, eax
jl 0x423884
mov byte [edx], 0
cmp byte [esi + 9], 2
ja 0x423927
movzx eax, byte [esi + 9]
push eax
push dword [ebp - 0x74]
push str.DNS:_Error_load_zone_for__s__bad_reply_ancount:_u_
push dword [0x46347c]
call fcn.0040423a
add esp, 0x10
jmp 0x423a94
push eax
push dword [ebp - 0x6c]
push edi
lea edi, [ebp - 0x5c]
push edi
call fcn.0041f537
add esp, 0xc
push dword [ebp - 0x6c]
mov edx, eax
lea eax, [eax + 4]
push eax
push edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], eax
call fcn.0041f537
add esp, 0x10
mov edx, dword [ebp - 0x80]
cmp byte [eax + 1], 6
jne 0x423907
add edx, 0xe
push eax
push dword [ebp - 0x6c]
push edx
push edi
call fcn.0041f537
add esp, 0xc
push dword [ebp - 0x6c]
push eax
push edi
call fcn.0041f537
mov edx, dword [eax]
mov dword [ebx + 0x10], edx
pop edx
push dword [eax + 4]
call fcn.0042d650
mov edx, 0x3c
pop ecx
pop edi
cmp eax, 0x3c
cmovb eax, edx
mov edx, dword [0x479760]
add edx, eax
mov dword [ebx + 0x14], eax
mov dword [ebx + 0xc], edx
push eax
push dword [ebx + 0x10]
movzx eax, byte [esi + 9]
push eax
push dword [ebp - 0x74]
push str.DNS:_Load_primary_DNS_server_for__s_Ok.___u_records._Serial:_u._Refresh_set_to__u_r_n
push dword [0x46347c]
call fcn.0040423a
movzx edi, byte [esi + 9]
add esp, 0x14
add edi, 3
imul edi, edi, 0x18
add edi, 0x38
push edi
call fcn.0042d128
add esp, 0xc
push edi
push 0
push eax
mov dword [ebp - 0x74], eax
call fcn.0042d1cc
movzx eax, byte [esi + 9]
mov ecx, dword [ebp - 0x74]
inc eax
mov dword [ecx + 8], eax
push 0
push dword [ebp - 0x78]
push dword [ebp - 0x7c]
push dword [ebp - 0x6c]
mov dword [ebp - 0x6c], ecx
call fcn.0041f5ea
mov ecx, dword [ebp - 0x6c]
mov eax, dword [0x479770]
add esp, 0x10
mov dword [ecx + 4], 0
mov edx, dword [ebx + 4]
test edx, edx
jne 0x423a24
mov edi, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x423a15
jmp 0x423a7c
cmp edx, eax
je 0x423a2f
mov edi, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x423a20
jmp 0x423a7c
mov eax, dword [edx + 4]
sub esp, 0xc
mov dword [ebp - 0x6c], ecx
mov dword [ecx + 4], eax
mov dword [edi + 4], ecx
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x423a65
sub esp, 0xc
push eax
call fcn.0042d10c
mov ecx, dword [ebp - 0x6c]
add esp, 0x10
sub esp, 0xc
push dword [ebx + 4]
mov dword [ebp - 0x6c], ecx
call fcn.0042d10c
mov ecx, dword [ebp - 0x6c]
add esp, 0x10
mov dword [ebx + 4], ecx
mov dword [edi + 4], ecx
cmp byte [ebx + 0x68], 0
je 0x423a94
sub esp, 0xc
add ebx, 0x68
push ebx
call fcn.00423372
add esp, 0xc
sub esp, 0xc
push esi
call fcn.0042d10c
pop eax
pop edx
push 2
push dword [ebp - 0x70]
call dword [sym.imp.WS2_32.dll_shutdown]
push ecx
push dword [ebp - 0x70]
call dword [sym.imp.WS2_32.dll_closesocket]
add esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret