Function at 0x42388c
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 [0x47a760]
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 [0x46447c]
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 0x42390f
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, dword [0x46447c]
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 0x42398c
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 0x423954
mov edi, dword [0x46447c]
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 0x423c4d
sub esp, 0xc
push 0x10100
call fcn.0042d4e4
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x42399a
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, dword [0x46447c]
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 0x423c59
lea eax, [eax + 2]
push edx
lea edi, [esi + 0xe]
push 0x10
push 0x47a560
push eax
mov dword [ebp - 0x6c], eax
call fcn.0042d568
lea edx, [ebx + 0x18]
lea eax, [esi + 0xf]
call fcn.0041e66b
pop ecx
pop eax
push dword [ebp - 0x6c]
push edi
call fcn.0041f1c1
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 0x423a19
mov edx, dword [0x46447c]
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 0x423a7d
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.0040f201
add esp, 0x20
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x80]
test eax, eax
jg 0x423a8e
mov edx, dword [0x46447c]
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 0x423c36
add edx, eax
add ecx, eax
cmp dword [ebp - 0x78], edx
jbe 0x423aa0
movzx eax, word [esi]
xchg al, ah
cmp ecx, eax
jl 0x423a26
mov byte [edx], 0
cmp byte [esi + 9], 2
ja 0x423ac9
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 [0x46447c]
call fcn.0040423a
add esp, 0x10
jmp 0x423c36
push eax
push dword [ebp - 0x6c]
push edi
lea edi, [ebp - 0x5c]
push edi
call fcn.0041f695
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.0041f695
add esp, 0x10
mov edx, dword [ebp - 0x80]
cmp byte [eax + 1], 6
jne 0x423aa9
add edx, 0xe
push eax
push dword [ebp - 0x6c]
push edx
push edi
call fcn.0041f695
add esp, 0xc
push dword [ebp - 0x6c]
push eax
push edi
call fcn.0041f695
mov edx, dword [eax]
mov dword [ebx + 0x10], edx
pop edx
push dword [eax + 4]
call fcn.0042da0c
mov edx, 0x3c
pop ecx
pop edi
cmp eax, 0x3c
cmovb eax, edx
mov edx, dword [0x47a760]
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 [0x46447c]
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.0042d4e4
add esp, 0xc
push edi
push 0
push eax
mov dword [ebp - 0x74], eax
call fcn.0042d588
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.0041f748
mov ecx, dword [ebp - 0x6c]
mov eax, dword [0x47a770]
add esp, 0x10
mov dword [ecx + 4], 0
mov edx, dword [ebx + 4]
test edx, edx
jne 0x423bc6
mov edi, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x423bb7
jmp 0x423c1e
cmp edx, eax
je 0x423bd1
mov edi, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x423bc2
jmp 0x423c1e
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 0x423c07
sub esp, 0xc
push eax
call fcn.0042d4c8
mov ecx, dword [ebp - 0x6c]
add esp, 0x10
sub esp, 0xc
push dword [ebx + 4]
mov dword [ebp - 0x6c], ecx
call fcn.0042d4c8
mov ecx, dword [ebp - 0x6c]
add esp, 0x10
mov dword [ebx + 4], ecx
mov dword [edi + 4], ecx
cmp byte [ebx + 0x68], 0
je 0x423c36
sub esp, 0xc
add ebx, 0x68
push ebx
call fcn.00423514
add esp, 0xc
sub esp, 0xc
push esi
call fcn.0042d4c8
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