Function at 0x401c56
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x270
mov dword [ebp - 0x24c], ecx
mov dword [ebp - 0xc], str.GET__s_HTTP_1.1_r_nHost:_adl.windows.com_r_nAccept_Encoding:_gzip__deflate_r_nUser_Agent:_WicaAgent_r_nKey:__s_r_nts:__lu_r_nConnection:_close_r_n_r_n
mov eax, dword [ebp - 0x24c]
mov ecx, eax
call fcn.00401ffa
mov edx, eax
lea eax, [ebp - 0x228]
mov dword [esp], edx
mov ecx, eax
call fcn.0042d820
sub esp, 4
mov dword [ebp - 0x10], 0x50
lea eax, [ebp - 0x228]
mov dword [esp], eax
call fcn.00401b51
movzx eax, ax
mov dword [ebp - 0x10], eax
mov dword [esp], 0
call sub.msvcrt.dll_time
mov ebx, eax
mov esi, dword [0x44b048]
mov eax, dword [ebp - 0x24c]
add eax, 0xc
mov ecx, eax
call fcn.00424400
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc]
mov dword [esp + 4], eax
lea eax, [ebp - 0x210]
mov dword [esp], eax
call fcn.0041fdbc
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x228]
mov dword [esp], eax
call fcn.0040164c
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x401d34
mov dword [esp], 4
call fcn.0042f5c0
mov dword [eax], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x436f54
mov dword [esp], eax
call fcn.0042f940
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x234], eax
mov word [ebp - 0x238], 2
mov eax, dword [ebp - 0x10]
movzx eax, ax
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_htons]
call eax
sub esp, 4
mov word [ebp - 0x236], ax
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
mov eax, dword [sym.imp.WS2_32.dll_socket]
call eax
sub esp, 0xc
mov edx, dword [ebp - 0x24c]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 0x24c]
mov eax, dword [eax + 0x24]
cmp eax, 0xffffffff
jne 0x401dc2
mov dword [esp], 4
call fcn.0042f5c0
mov dword [eax], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0x436f54
mov dword [esp], eax
call fcn.0042f940
mov dword [ebp - 0x23c], 0x80000
mov dword [ebp - 0x240], 0x2710
mov eax, dword [ebp - 0x24c]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x10], 4
lea edx, [ebp - 0x240]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x1006
mov dword [esp + 4], 0xffff
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_setsockopt]
call eax
sub esp, 0x14
mov eax, dword [ebp - 0x24c]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x10], 4
lea edx, [ebp - 0x23c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x1006
mov dword [esp + 4], 0xffff
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_setsockopt]
call eax
sub esp, 0x14
mov eax, dword [ebp - 0x24c]
mov eax, dword [eax + 0x24]
mov dword [esp + 8], 0x10
lea edx, [ebp - 0x238]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_connect]
call eax
sub esp, 0xc
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x401ea1
mov dword [esp], 4
call fcn.0042f5c0
mov dword [eax], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0x436f54
mov dword [esp], eax
call fcn.0042f940
mov eax, dword [ebp - 0x24c]
mov eax, dword [eax + 0x24]
mov dword [esp + 0xc], 0
mov edx, dword [ebp - 0x14]
mov dword [esp + 8], edx
lea edx, [ebp - 0x210]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
lea eax, [ebp - 0x228]
mov ecx, eax
call fcn.0042e3f0
jmp 0x401ef8
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret