Function at 0x140030794
Capabilities:
Check internet connectivity via wininet
Connect to http server
Create http request
Get file size
Parse url
Read and send data from client to server
Read file on windows
Send data
Send http request

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x14b0]
mov eax, 0x15b0
call fcn.140081b50
sub rsp, rax
mov rax, qword [0x1400e5430]
xor rax, rsp
mov qword [rbp + 0x14a0], rax
mov r14, qword [rdx + 0x10]
mov r13, rcx
xor ecx, ecx
mov qword [rbp - 0x80], r14
mov rbx, rdx
call qword [sym.imp.WININET.dll_InternetAttemptConnect]
mov edi, eax
xor eax, eax
test edi, edi
jne 0x140030fb6
mov qword [rsp + 0x30], rax
lea r8d, [rax + 1]
lea rcx, [0x1400ea720]
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
mov qword [rsp + 0x60], rax
cmp rax, 0xffffffffffffffff
je 0x140030fa2
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r12d, 0x19000
cmp eax, r12d
mov dword [rsp + 0x54], eax
cmovb r12d, eax
mov ecx, r12d
call fcn.140055b1c
mov r15, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140030f88
lea r8d, [rdi + 0x68]
lea rcx, [rbp - 0x20]
xor edx, edx
call fcn.1400809a0
mov ecx, pe_nt_image_headers64
lea rax, [rbp + 0x2a0]
mov qword [rbp - 8], rax
lea rax, [rbp + 0xa0]
mov dword [rbp + 0x10], ecx
mov qword [rbp + 8], rax
lea rax, [rbp + 0x1a0]
mov dword [rbp + 0x20], ecx
mov qword [rbp + 0x18], rax
lea rax, [rbp + 0x4a0]
lea r9, [rbp - 0x20]
xor edx, edx
mov r8d, 0x90000000
mov rcx, r13
mov qword [rbp + 0x28], rax
mov dword [rbp - 0x20], 0x68
mov dword [rbp], 0x100
mov dword [rbp + 0x30], 0x800
call qword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x140030f6c
cmp dword [rbp - 0xc], 3
jne 0x140030f5b
lea edx, [rdi + 1]
lea rcx, str.BugTrap_for_Win64_x64
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 0x10000000
call qword [sym.imp.WININET.dll_InternetOpenW]
mov r13, rax
mov qword [rbp - 0x78], rax
test rax, rax
je 0x140030f6c
lea rdx, [0x1400306c4]
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
movzx ecx, word [rbp + 4]
lea rax, [rbp + 0xa0]
test cx, cx
mov qword [rsp + 0x38], rbx
lea r8d, [rdi + 0x50]
cmovne r8w, cx
movzx ecx, word [rbp + 0xa0]
mov dword [rsp + 0x30], 0x4000200
neg cx
mov dword [rsp + 0x28], 3
lea rdx, [rbp + 0x2a0]
sbb r9, r9
mov dword [rbx + 0x24], 1
and r9, rax
movzx eax, word [rbp + 0x1a0]
neg ax
lea rax, [rbp + 0x1a0]
sbb rcx, rcx
and rcx, rax
mov qword [rsp + 0x20], rcx
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetConnectW]
xor ecx, ecx
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140030f37
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], 0x4000200
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
lea r8, [rbp + 0x4a0]
lea rdx, str.POST
mov rcx, rax
xor r9d, r9d
mov dword [rbx + 0x24], 2
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
mov r15, rax
test rax, rax
je 0x140030f0c
lea r8d, [rdi + 1]
lea rcx, [rbp - 0x70]
mov edx, 0x1000
call fcn.14002cd54
lea rax, [rbp - 0x70]
lea rcx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_protocolSignature__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x48], rax
call fcn.140081770
mov rcx, qword [rsp + 0x48]
mov r9, qword [rcx]
lea rdx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_protocolSignature__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
mov r8, rax
call qword [r9 + 0x18]
mov rcx, qword [rsp + 0x48]
lea r8d, [rdi + 4]
mov rax, qword [rcx]
lea rdx, str.BT01
call qword [rax + 0x18]
lea rcx, [0x1400b578c]
call fcn.140081770
mov rcx, qword [rsp + 0x48]
lea rdx, [0x1400b578c]
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea rcx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_messageType__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
call fcn.140081770
mov rcx, qword [rsp + 0x48]
lea rdx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_messageType__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea r13d, [rdi + 0x10]
lea r9d, [rdi + 0xa]
lea rdx, [rbp + 0x88]
lea ecx, [rdi + 1]
mov r8d, r13d
call fcn.14008183c
lea rcx, [rbp + 0x88]
call fcn.140081770
mov rcx, qword [rsp + 0x48]
lea rdx, [rbp + 0x88]
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea rcx, [0x1400b578c]
call fcn.140081770
mov rcx, qword [rsp + 0x48]
lea rdx, [0x1400b578c]
mov r10, qword [rcx]
mov r8, rax
call qword [r10 + 0x18]
lea rcx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_messageFlags__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
call fcn.140081770
mov rcx, qword [rsp + 0x48]
lea rdx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_messageFlags__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
mov r10, qword [rcx]
mov r8, rax
call qword [r10 + 0x18]
lea r9d, [rdi + 0xa]
lea rdx, [rbp + 0x88]
mov r8d, r13d
xor ecx, ecx
call fcn.14008183c
lea rcx, [rbp + 0x88]
call fcn.140081770
mov rcx, qword [rsp + 0x48]
lea rdx, [rbp + 0x88]
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea r13, [0x1400b578c]
mov rcx, r13
call fcn.140081770
mov rcx, qword [rsp + 0x48]
mov rdx, r13
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea rcx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_appName__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
call fcn.140081770
mov rcx, qword [rsp + 0x48]
lea rdx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_appName__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea rdx, [0x1400e9280]
lea rcx, [rsp + 0x40]
call fcn.14003d56c
mov rcx, r13
call fcn.140081770
mov rcx, qword [rsp + 0x48]
mov rdx, r13
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea rcx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_appVersion__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
call fcn.140081770
mov rcx, qword [rsp + 0x48]
lea rdx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_appVersion__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea rdx, [0x1400e9490]
lea rcx, [rsp + 0x40]
call fcn.14003d56c
mov rcx, r13
call fcn.140081770
mov rcx, qword [rsp + 0x48]
mov rdx, r13
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea rcx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_reportFileExtension__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
call fcn.140081770
mov rcx, qword [rsp + 0x48]
lea rdx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_reportFileExtension__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
call fcn.14003c028
lea rcx, [rsp + 0x40]
mov rdx, rax
call fcn.14003d56c
mov rcx, r13
call fcn.140081770
mov rcx, qword [rsp + 0x48]
mov rdx, r13
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea rcx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_notificationEMail__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
call fcn.140081770
mov rcx, qword [rsp + 0x48]
lea rdx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_notificationEMail__r_nContent_Type:_text_plain__charset_utf_8__r_nContent_Transfer_Encoding:_8bit_r_n_r_n
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea rdx, [0x1400e9cd0]
lea rcx, [rsp + 0x40]
call fcn.14003d56c
mov rcx, r13
call fcn.140081770
mov rcx, qword [rsp + 0x48]
mov rdx, r13
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea rcx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_reportData___filename_report.dat__r_nContent_Type:_application_octet_stream_r_nContent_Transfer_Encoding:_binary_r_n_r_n
call fcn.140081770
mov rcx, qword [rsp + 0x48]
lea rdx, str.__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184_r_nContent_Disposition:_form_data__name_reportData___filename_report.dat__r_nContent_Type:_application_octet_stream_r_nContent_Transfer_Encoding:_binary_r_n_r_n
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
mov r13, qword [rbp - 0x38]
test r13, r13
je 0x140030ef8
mov esi, dword [rbp - 0x50]
lea r8d, [rdi + 0x38]
lea rcx, [rbp + 0x50]
xor edx, edx
call fcn.1400809a0
lea eax, [rdi + 0x58]
mov dword [rbp + 0x50], gethostname
mov dword [rbp + 0x6c], eax
mov dword [rbp + 0x68], eax
lea rax, str.Content_Type:_multipart_form_data__boundaryBUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184
mov qword [rbp + 0x60], rax
mov eax, dword [rsp + 0x54]
add eax, 0x36
add eax, esi
mov dword [rbp + 0x7c], eax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x68], rax
test r14, r14
je 0x140030d20
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8001
mov rcx, r14
call qword [sym.imp.USER32.dll_PostMessageW]
mov rax, qword [rsp + 0x68]
mov rcx, rax
mov dword [rbx + 0x24], 3
call qword [sym.imp.KERNEL32.dll_ResetEvent]
lea rdx, [rbp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x20], 0x1c8
call qword [sym.imp.WININET.dll_HttpSendRequestExW]
test eax, eax
jne 0x140030dc0
mov rcx, rbx
call fcn.140030704
mov edi, eax
xor eax, eax
test edi, edi
je 0x140030dc2
mov rsi, qword [rsp + 0x60]
mov rcx, r15
mov dword [rbx + 0x24], 7
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rax, [0x1400b4f60]
mov qword [rbp - 0x70], rax
lea rax, [0x1400b4f78]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x68]
movsxd rcx, dword [rax + 4]
lea rax, [0x1400b4fa0]
mov qword [rbp + rcx - 0x68], rax
mov rax, qword [rbp - 0x68]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x40]
mov dword [rbp + rcx - 0x6c], edx
mov rcx, qword [rbp - 0x38]
call fcn.14007efdc
mov r13, qword [rbp - 0x78]
jmp 0x140030f1e
xor eax, eax
test r14, r14
je 0x140030ddd
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8002
mov rcx, r14
call qword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
mov r14, qword [rsp + 0x60]
mov dword [rbx + 0x24], 4
mov dword [rsp + 0x50], eax
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
xor eax, eax
test esi, esi
je 0x140030e44
lea r9, [rsp + 0x58]
mov r8d, esi
mov rdx, r13
mov rcx, r15
mov dword [rsp + 0x58], eax
call qword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
jne 0x140030e28
mov rcx, rbx
call fcn.140030704
mov edi, eax
test eax, eax
jne 0x140030e39
mov eax, dword [rsp + 0x58]
add r13, rax
sub esi, dword [rsp + 0x58]
je 0x140030e44
xor eax, eax
jmp 0x140030dfe
mov eax, 1
mov dword [rsp + 0x50], eax
jmp 0x140030e48
mov eax, dword [rsp + 0x50]
xor esi, esi
test eax, eax
jne 0x140030e99
mov r13, qword [rsp + 0x70]
lea r9, [rsp + 0x54]
mov r8d, r12d
mov rcx, r14
mov rdx, r13
mov dword [rsp + 0x54], esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140030e80
mov esi, dword [rsp + 0x54]
test esi, esi
jne 0x140030ded
mov dword [rsp + 0x50], 1
lea r13, str._r_n__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184___r_n_r_n
mov esi, gethostname
jmp 0x140030ded
mov r14, qword [rbp - 0x80]
test edi, edi
jne 0x140030d60
test r14, r14
je 0x140030ebe
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8003
mov rcx, r14
call qword [sym.imp.USER32.dll_PostMessageW]
mov rcx, qword [rsp + 0x68]
mov dword [rbx + 0x24], 5
call qword [sym.imp.KERNEL32.dll_ResetEvent]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.WININET.dll_HttpEndRequestW]
test eax, eax
jne 0x140030d60
mov rcx, rbx
call fcn.140030704
mov edi, eax
jmp 0x140030d60
mov edx, 8
mov rcx, rbx
mov edi, edx
call fcn.14002f1a0
jmp 0x140030d65
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbx
mov edx, eax
mov edi, eax
call fcn.14003059c
mov rcx, qword [rsp + 0x78]
mov dword [rbx + 0x24], 7
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov r15, qword [rsp + 0x70]
jmp 0x140030f49
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbx
mov edx, eax
mov edi, eax
call fcn.14003059c
mov rcx, r13
mov dword [rbx + 0x24], 7
call qword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x140030f7e
mov edi, 0x43
mov rcx, rbx
mov edx, edi
call fcn.14002f1a0
jmp 0x140030f7e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbx
mov edx, eax
mov edi, eax
call fcn.14003059c
mov rcx, r15
call fcn.14007efdc
jmp 0x140030f97
mov edx, 8
mov rcx, rbx
mov edi, edx
call fcn.14002f1a0
mov rcx, rsi
call qword [0x1400b4580]
jmp 0x140030fc0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbx
mov edx, eax
mov edi, eax
call fcn.14002f1a0
jmp 0x140030fc0
mov edx, edi
mov rcx, rbx
call fcn.14003059c
mov eax, edi
mov rcx, qword [rbp + 0x14a0]
xor rcx, rsp
call fcn.14007e1c0
mov rbx, qword [rsp + 0x1600]
add rsp, 0x15b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret