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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x140089180]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rdi, rcx
mov qword [rsp + 0x48], rcx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
mov edx, 1
lea rcx, str.Google_1.0
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov r14, rax
test rax, rax
je 0x1400170fd
mov r8d, 0x50
xor r9d, r9d
lea rdx, str.api.ipify.org
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov r15, rax
test rax, rax
je 0x1400170f4
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [0x14007949c]
lea rdx, [0x1400794a0]
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov rbp, rax
test rax, rax
je 0x1400170eb
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
mov rcx, rbp
test eax, eax
jne 0x140017125
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], r12
mov r8d, 7
lea rdx, str.Unknown
mov rcx, rdi
call fcn.14000be70
jmp 0x140017272
xor edx, edx
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
mov rcx, rbp
test eax, eax
je 0x1400170e5
mov dword [rsp + 0x50], r12d
lea rdx, [rsp + 0x50]
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
xorps xmm0, xmm0
mov r8d, dword [rsp + 0x50]
lea eax, [r8 + 1]
mov esi, eax
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r12
test eax, eax
je 0x1400171c3
cmp rsi, 0x1000
jb 0x140017196
lea rcx, [rax + 0x27]
cmp rcx, rsi
jbe 0x14001729e
call fcn.14004c9b0
mov rcx, rax
test rax, rax
je 0x140017266
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14001719e
mov rcx, rsi
call fcn.14004c9b0
mov qword [rsp + 0x58], rax
lea rbx, [rax + rsi]
mov qword [rsp + 0x68], rbx
mov r8, rsi
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x60], rbx
mov r8d, dword [rsp + 0x50]
mov dword [rsp + 0x48], r12d
lea r9, [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rcx, rbp
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
mov ecx, dword [rsp + 0x48]
mov rax, qword [rsp + 0x58]
mov byte [rcx + rax], 0
mov rcx, rbp
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], r12
mov rdx, qword [rsp + 0x58]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140017220
mov rcx, rdi
call fcn.14000be70
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140017272
mov rdx, qword [rsp + 0x68]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001726d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001726d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004cc34
mov rax, rdi
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14004c980
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call fcn.140001ba0
int3