Function at 0x4010d0
Capabilities:
Check http status code
Connect to http server
Create http request
Read data from internet
Receive data
Reference http user-agent string
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x844
movups xmm0, xmmword [str.Content_Type:_text_plain_r_n]
mov ax, word [0x41bb04]
push ebx
push esi
push edi
xor ebx, ebx
mov word [ebp - 0x2c], ax
mov al, byte [0x41bb06]
mov esi, edx
push ebx
push ebx
push ebx
movups xmmword [ebp - 0x44], xmm0
mov edi, ecx
mov dword [ebp - 4], ebx
movq xmm0, qword [0x41bafc]
push 1
push str.Mozilla_5.0__Windows_NT_10.0__Win64__x64__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_116.0.0.0_Safari_537.36
mov dword [ebp - 0x28], 0x41bae8
mov dword [ebp - 0x24], ebx
movq qword [ebp - 0x34], xmm0
mov byte [ebp - 0x2a], al
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x40115f
cmp dword [0x41f394], 1
jne 0x40146e
movzx ecx, si
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.InternetOpenA_failed_hInternet_:__d__host__S_port__i__n
call fcn.00401010
add esp, 0x10
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
push 3
push 0x41bbe6
push 0x41bbe6
push esi
push edi
push eax
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x4011b7
cmp dword [0x41f394], 1
jne 0x401465
movzx eax, si
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.InternetConnectA_failed_hConnect_:__d__host__S_port__i__n
call fcn.00401010
add esp, 0x10
push dword [ebp - 0x20]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
push 1
push 0x801000
lea ecx, [ebp - 0x28]
push ecx
push 0
push str.HTTP_1.1
push str._remote_login_langen
push 0x41bc80
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov ebx, eax
lea eax, [ebp - 8]
push 4
push eax
push 0x1f
push ebx
call dword [sym.imp.WININET.dll_InternetSetOptionA]
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x401219
cmp dword [0x41f394], 1
jne 0x401219
movzx eax, si
push eax
push edi
call ecx
push eax
push str.Failed_to_set_options_Error:__ld__host__S_port__i__n
call fcn.00401010
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 0x10
test ebx, ebx
jne 0x401244
cmp dword [0x41f394], 1
jne 0x401459
movzx eax, si
push eax
push edi
call ecx
push eax
push str.HttpOpenRequestA_failed_hRequest_:__d__host__S_port__i__n
call fcn.00401010
add esp, 0x10
jmp 0x401459
or dword [ebp - 8], 0x3100
lea eax, [ebp - 8]
push 4
push eax
push 0x1f
push ebx
call dword [sym.imp.WININET.dll_InternetSetOptionA]
push 4
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], 0x15f90
push eax
push 6
push ebx
call dword [sym.imp.WININET.dll_InternetSetOptionA]
test eax, eax
jne 0x401296
cmp dword [0x41f394], 1
jne 0x401296
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
movzx eax, si
push eax
push edi
push str._t_WARN__host__S_port__i__InternetSetOptionA_failed_to_set_INTERNET_OPTION_RECEIVE_TIMEOUT:__d_n
call fcn.00401010
add esp, 0x10
push 4
lea eax, [ebp - 0xc]
push eax
push 5
push ebx
call dword [sym.imp.WININET.dll_InternetSetOptionA]
test eax, eax
jne 0x4012cb
cmp dword [0x41f394], 1
jne 0x4012cb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
movzx eax, si
push eax
push edi
push str._t_WARN__host__S_port__i__InternetSetOptionA_failed_to_set_INTERNET_OPTION_SEND_TIMEOUT:__d_n
call fcn.00401010
add esp, 0x10
push 4
lea eax, [ebp - 0xc]
push eax
push 2
push ebx
call dword [sym.imp.WININET.dll_InternetSetOptionA]
test eax, eax
jne 0x401300
cmp dword [0x41f394], 1
jne 0x401300
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
movzx eax, si
push eax
push edi
push str._t_WARN__host__S_port__i__InternetSetOptionA_failed_to_set_INTERNET_OPTION_CONNECT_TIMEOUT:__d_n
call fcn.00401010
add esp, 0x10
push 0
push 0
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x44]
push eax
push ebx
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
je 0x401430
push 0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x10], 0
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x18], 4
push eax
push 0x20000013
push ebx
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
mov eax, dword [ebp - 0x10]
cmp eax, 0xc8
jne 0x40141a
push 0x800
lea eax, [ebp - 0x844]
push 0
push eax
call fcn.00402f60
add esp, 0xc
lea eax, [ebp - 0x14]
push eax
push 0x800
lea eax, [ebp - 0x844]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x401452
nop dword [eax]
cmp dword [ebp - 0x14], 0
je 0x401452
cmp dword [0x41f394], 1
jne 0x4013bc
lea eax, [ebp - 0x844]
push eax
movzx eax, si
push eax
push edi
push str._t_DBG__host__S_port__i_return:__S_n
call fcn.00401010
add esp, 0x10
push str.Forti
lea eax, [ebp - 0x844]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
mov ecx, dword [ebp - 4]
test eax, eax
mov eax, 1
cmovne ecx, eax
lea eax, [ebp - 0x844]
push str.drupal
push eax
mov dword [ebp - 4], ecx
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
jne 0x401411
lea eax, [ebp - 0x14]
push eax
push 0x800
lea eax, [ebp - 0x844]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x401390
jmp 0x401452
mov dword [ebp - 4], 0
jmp 0x401452
cmp dword [0x41f394], 1
jne 0x401452
push eax
movzx eax, si
push eax
push edi
push str.host__S_port__i_return_HttpError__d_n
jmp 0x40144a
cmp dword [0x41f394], 1
jne 0x401452
movzx eax, si
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.HttpSendRequestA_failed:__d__host__S_port__i__n
call fcn.00401010
add esp, 0x10
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ebx, dword [ebp - 4]
push dword [ebp - 0x20]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret