Function at 0x401558
Capabilities:
Connect to http server
Create http request
Send file using ftp

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [ebp + 0x1c]
mov word [ebp - 0x3c], ax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], str.FTP_Upload
call sym._InternetOpenA_20
sub esp, 0x14
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4015cf
mov dword [esp + 4], str.__.
mov dword [esp], sym.imp.libstdc_6.dll_std::cerr
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
mov eax, 0
jmp 0x401757
mov eax, dword [ebp + 0x10]
mov ecx, eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov edi, eax
mov eax, dword [ebp + 0xc]
mov ecx, eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov esi, eax
movzx ebx, word [ebp - 0x3c]
mov ecx, dword [ebp + 8]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._InternetConnectA_32
sub esp, 0x20
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x401689
call sym._GetLastError_0
mov dword [ebp - 0x24], eax
mov dword [esp + 4], str.___FTP_.__:
mov dword [esp], sym.imp.libstdc_6.dll_std::cerr
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov edx, eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
mov ecx, edx
call sym.std::ostream::operator___unsigned_long_
sub esp, 4
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._InternetCloseHandle_4
sub esp, 4
mov eax, 0
jmp 0x401757
mov eax, dword [ebp + 0x18]
mov ecx, eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov ebx, eax
mov eax, dword [ebp + 0x14]
mov ecx, eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._FtpPutFileA_20
sub esp, 0x14
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x40170f
call sym._GetLastError_0
mov dword [ebp - 0x2c], eax
mov dword [esp + 4], str.____FTP_.__:
mov dword [esp], sym.imp.libstdc_6.dll_std::cerr
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov edx, eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
mov ecx, edx
call sym.std::ostream::operator___unsigned_long_
sub esp, 4
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
jmp 0x401734
mov dword [esp + 4], str.___
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._InternetCloseHandle_4
sub esp, 4
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._InternetCloseHandle_4
sub esp, 4
cmp dword [ebp - 0x28], 0
setne al
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret