Function at 0x1400e5fb0
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.14010a690
sub rsp, rax
mov rax, qword [0x14017da30]
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 0x1400e67d4
mov qword [rsp + 0x30], rax
lea r8d, [rax + 1]
lea rcx, [0x140194440]
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 0x1400e67c0
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.140109e80
mov r15, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1400e67a6
lea r8d, [rdi + 0x68]
lea rcx, [rbp - 0x20]
xor edx, edx
call sub.MSVCR120.dll_memset
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 0x1400e678a
cmp dword [rbp - 0xc], 3
jne 0x1400e6779
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 0x1400e678a
lea rdx, [0x1400e5ee0]
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 0x1400e6755
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 0x1400e672a
lea r8d, [rdi + 1]
lea rcx, [rbp - 0x70]
mov edx, 0x1000
call fcn.1400e2544
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 sub.MSVCR120.dll_strlen
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, [0x140137a2c]
call sub.MSVCR120.dll_strlen
mov rcx, qword [rsp + 0x48]
lea rdx, [0x140137a2c]
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 sub.MSVCR120.dll_strlen
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 qword [sym.imp.MSVCR120.dll__itoa_s]
lea rcx, [rbp + 0x88]
call sub.MSVCR120.dll_strlen
mov rcx, qword [rsp + 0x48]
lea rdx, [rbp + 0x88]
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea rcx, [0x140137a2c]
call sub.MSVCR120.dll_strlen
mov rcx, qword [rsp + 0x48]
lea rdx, [0x140137a2c]
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 sub.MSVCR120.dll_strlen
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 qword [sym.imp.MSVCR120.dll__itoa_s]
lea rcx, [rbp + 0x88]
call sub.MSVCR120.dll_strlen
mov rcx, qword [rsp + 0x48]
lea rdx, [rbp + 0x88]
mov r9, qword [rcx]
mov r8, rax
call qword [r9 + 0x18]
lea r13, [0x140137a2c]
mov rcx, r13
call sub.MSVCR120.dll_strlen
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 sub.MSVCR120.dll_strlen
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, [0x140192fa0]
lea rcx, [rsp + 0x40]
call fcn.1400f2ddc
mov rcx, r13
call sub.MSVCR120.dll_strlen
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 sub.MSVCR120.dll_strlen
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, [0x1401931b0]
lea rcx, [rsp + 0x40]
call fcn.1400f2ddc
mov rcx, r13
call sub.MSVCR120.dll_strlen
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 sub.MSVCR120.dll_strlen
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.1400f18a8
lea rcx, [rsp + 0x40]
mov rdx, rax
call fcn.1400f2ddc
mov rcx, r13
call sub.MSVCR120.dll_strlen
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 sub.MSVCR120.dll_strlen
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, [0x1401939f0]
lea rcx, [rsp + 0x40]
call fcn.1400f2ddc
mov rcx, r13
call sub.MSVCR120.dll_strlen
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 sub.MSVCR120.dll_strlen
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 0x1400e6716
mov esi, dword [rbp - 0x50]
lea r8d, [rdi + 0x38]
lea rcx, [rbp + 0x50]
xor edx, edx
call sub.MSVCR120.dll_memset
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 0x1400e653e
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 0x1400e65de
mov rcx, rbx
call fcn.1400e5f20
mov edi, eax
xor eax, eax
test edi, edi
je 0x1400e65e0
mov rsi, qword [rsp + 0x60]
mov rcx, r15
mov dword [rbx + 0x24], 7
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rax, [0x1401371f8]
mov qword [rbp - 0x70], rax
lea rax, [0x140137210]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x68]
movsxd rcx, dword [rax + 4]
lea rax, [0x140137238]
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 sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
mov r13, qword [rbp - 0x78]
jmp 0x1400e673c
xor eax, eax
test r14, r14
je 0x1400e65fb
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 0x1400e6662
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 0x1400e6646
mov rcx, rbx
call fcn.1400e5f20
mov edi, eax
test eax, eax
jne 0x1400e6657
mov eax, dword [rsp + 0x58]
add r13, rax
sub esi, dword [rsp + 0x58]
je 0x1400e6662
xor eax, eax
jmp 0x1400e661c
mov eax, 1
mov dword [rsp + 0x50], eax
jmp 0x1400e6666
mov eax, dword [rsp + 0x50]
xor esi, esi
test eax, eax
jne 0x1400e66b7
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 0x1400e669e
mov esi, dword [rsp + 0x54]
test esi, esi
jne 0x1400e660b
mov dword [rsp + 0x50], 1
lea r13, str._r_n__BUGTRAP_7A1D6378_1294_491B_996C_37D4FF91D184___r_n_r_n
mov esi, gethostname
jmp 0x1400e660b
mov r14, qword [rbp - 0x80]
test edi, edi
jne 0x1400e657e
test r14, r14
je 0x1400e66dc
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 0x1400e657e
mov rcx, rbx
call fcn.1400e5f20
mov edi, eax
jmp 0x1400e657e
mov edx, 8
mov rcx, rbx
mov edi, edx
call fcn.1400e49b0
jmp 0x1400e6583
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbx
mov edx, eax
mov edi, eax
call fcn.1400e5db8
mov rcx, qword [rsp + 0x78]
mov dword [rbx + 0x24], 7
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov r15, qword [rsp + 0x70]
jmp 0x1400e6767
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbx
mov edx, eax
mov edi, eax
call fcn.1400e5db8
mov rcx, r13
mov dword [rbx + 0x24], 7
call qword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x1400e679c
mov edi, 0x43
mov rcx, rbx
mov edx, edi
call fcn.1400e49b0
jmp 0x1400e679c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbx
mov edx, eax
mov edi, eax
call fcn.1400e5db8
mov rcx, r15
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
jmp 0x1400e67b5
mov edx, 8
mov rcx, rbx
mov edi, edx
call fcn.1400e49b0
mov rcx, rsi
call qword [0x14011e328]
jmp 0x1400e67de
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbx
mov edx, eax
mov edi, eax
call fcn.1400e49b0
jmp 0x1400e67de
mov edx, edi
mov rcx, rbx
call fcn.1400e5db8
mov eax, edi
mov rcx, qword [rbp + 0x14a0]
xor rcx, rsp
call fcn.14010a480
mov rbx, qword [rsp + 0x1600]
add rsp, 0x15b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret