Function at 0x1400017b0
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x14000d040]
xor rax, rsp
mov qword [rbp + 8], rax
mov qword [rbp - 0x48], rdx
mov r13, rcx
xor ebx, ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.A_WinHTTP_Example_Program_1.0
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov r12, rax
test rax, rax
jne 0x140001841
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.1Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400051d0
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x1400053b0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor al, al
jmp 0x140001f75
mov r8d, 0xbb8
xor r9d, r9d
lea rdx, str.84.46.253.231
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov rdi, rax
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x1400018ad
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.2Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400051d0
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x1400053b0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor al, al
jmp 0x140001f75
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, str._license_check
lea rdx, str.POST
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov r15, rax
test rax, rax
jne 0x14000192c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.3Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400051d0
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x1400053b0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor al, al
jmp 0x140001f75
mov rdx, qword [r13 + 0x10]
mov qword [rsp + 0x70], rdx
movabs rsi, 0x7fffffffffffffff
mov rax, rsi
sub rax, rdx
cmp rax, 0xd
jb 0x140001fae
cmp qword [r13 + 0x18], 0xf
jbe 0x14000195a
mov r13, qword [r13]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbx
lea rax, [rdx + 0xd]
mov qword [rsp + 0x48], rax
mov edi, 0xf
lea r14, [rsp + 0x50]
movabs rcx, 0x8000000000000000
mov r8d, 0x16
cmp rax, rdi
jbe 0x140001a0d
mov rdi, rax
or rdi, 0xf
cmp rdi, rsi
jbe 0x1400019c2
mov rdi, rsi
lea rax, [rcx + 0x27]
mov rcx, rax
call fcn.140006418
test rax, rax
je 0x1400019ef
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x1400019fe
cmp rdi, r8
cmovb rdi, r8
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x1400019d7
mov r14, rbx
jmp 0x140001a08
cmp rcx, 0x1000
jb 0x1400019f6
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001fa2
jmp 0x1400019a7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140006418
mov r14, rax
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdi
movsd xmm0, qword [str._license_:__]
movsd qword [r14], xmm0
mov ecx, dword [0x1400087f8]
mov dword [r14 + 8], ecx
movzx eax, byte [0x1400087fc]
mov byte [r14 + 0xc], al
lea rcx, [r14 + 0xd]
mov r8, rdx
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x48]
mov byte [r14 + rax], bl
mov r8d, 0xc
lea rdx, str.____hwid_:__
lea rcx, [rsp + 0x50]
call fcn.140004da0
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x58], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rax, qword [rbp - 0x48]
mov rdx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140001aa6
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x68]
call fcn.140004da0
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 2
lea rdx, [0x1400087dc]
lea rcx, [rsp + 0x78]
call fcn.140004da0
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rbx
mov qword [rbp], rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x18], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 8], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x140001b65
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001b60
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001b60
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140006410
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], 0
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x140001bb4
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001baf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001baf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140006410
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140001c04
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001bff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001bff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140006410
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea r9, [rbp - 0x18]
cmp qword [rbp], 0xf
cmova r9, qword [rbp - 0x18]
mov qword [rsp + 0x30], rbx
mov rax, qword [rbp - 8]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov r8d, 0xffffffff
lea rdx, str.Content_Type:_application_json_r_n
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x140001c8b
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.4Error:
mov ebx, eax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400051d0
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x1400053b0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x140001d4a
xor edx, edx
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x140001ca9
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.5Error:
jmp 0x140001c5d
mov dword [rbp - 0x40], ebx
lea rdx, [rbp - 0x40]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
mov eax, dword [rbp - 0x40]
test eax, eax
jne 0x140001cd5
lea rdx, str.No_response_data_available
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400051d0
jmp 0x140001c76
lea ecx, [rax + 1]
call fcn.140006694
mov r14, rax
mov r8d, dword [rbp - 0x40]
inc r8d
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov dword [rbp - 0x3c], ebx
lea r9, [rbp - 0x3c]
mov r8d, dword [rbp - 0x40]
mov rdx, r14
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
jne 0x140001d6f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.6Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400051d0
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x1400053b0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, r14
call fcn.140006410
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor dil, dil
jmp 0x140001f33
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [r14 + rdi], 0
jne 0x140001d80
cmp rdi, rsi
ja 0x140001f9c
cmp rdi, 0xf
ja 0x140001dca
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], 0xf
mov r8, rdi
mov rdx, r14
lea rcx, [rbp - 0x38]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rdi - 0x38], 0
mov rsi, qword [rbp - 0x20]
mov rdi, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x38]
jmp 0x140001e5a
mov rax, rdi
or rax, 0xf
cmp rax, rsi
jbe 0x140001e03
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140006418
test rax, rax
je 0x140001f1e
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140001e3c
mov rsi, rax
cmp rax, 0x16
mov eax, 0x16
cmovb rsi, rax
lea rcx, [rsi + 1]
test rcx, rcx
je 0x140001e3c
cmp rcx, 0x1000
jb 0x140001e34
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001fa8
jmp 0x140001de4
call fcn.140006418
mov rbx, rax
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], rsi
mov r8, rdi
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rdi], 0
mov rcx, r14
call fcn.140006410
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
lea r14, [rbp - 0x38]
cmp rsi, 0xf
cmova r14, rbx
cmp rdi, 0xc
jb 0x140001ee4
lea r8, [r14 - 0xb]
add r8, rdi
sub r8, r14
mov edx, 0x22
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x140001ee4
movabs r15, 0x3a2264696c617622
cmp qword [rax], r15
jne 0x140001ec5
cmp dword [rax + 8], 0x65757274
je 0x140001f25
inc rax
lea r8, [r14 - 0xb]
add r8, rdi
sub r8, rax
mov edx, 0x22
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x140001eb7
mov rax, 0xffffffffffffffff
cmp rax, 0xffffffffffffffff
setne dil
cmp rsi, 0xf
jbe 0x140001f33
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140001f2a
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001f2a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rax, r14
jmp 0x140001eeb
mov rcx, rbx
call fcn.140006410
nop
mov rdx, qword [rbp]
cmp rdx, 0xf
jbe 0x140001f71
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001f6c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001f6c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140006410
movzx eax, dil
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.1400063f0
mov rbx, qword [rsp + 0x160]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400013a0
nop
call fcn.140001300
nop
call fcn.140001300
nop
call fcn.1400013a0
int3