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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x140076040]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rdi, rcx
mov qword [rsp + 0x50], rcx
xor ebx, ebx
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.WinHTTP_Example_1.0
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov r12, rax
lea r8d, [rbx + 0x50]
xor r9d, r9d
lea rdx, str.api.ipify.org
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov r13, rax
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, str.__formattext
lea rdx, [0x14005f9d0]
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov r15, rax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 5
mov qword [rdi + 0x18], 0xf
mov ecx, dword [str.Error]
mov dword [rdi], ecx
movzx eax, byte [0x14005f9dc]
mov byte [rdi + 4], al
mov byte [rdi + 5], bl
mov dword [rsp + 0x48], 1
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x140004bab
xor edx, edx
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x140004bab
mov dword [rsp + 0x40], ebx
lea rdx, [rsp + 0x40]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
mov r8d, dword [rsp + 0x40]
test r8d, r8d
je 0x140004bab
mov dword [rsp + 0x44], ebx
lea r9, [rsp + 0x44]
lea rdx, [rsp + 0x58]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
mov ebp, dword [rsp + 0x44]
mov r14, qword [rdi + 0x18]
cmp rbp, r14
ja 0x140004ad3
mov rbx, rdi
cmp r14, 0xf
jbe 0x140004ab6
mov rbx, qword [rdi]
mov qword [rdi + 0x10], rbp
mov r8, rbp
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.14005bfe0
mov byte [rbx + rbp], 0
jmp 0x140004bab
mov rdx, rbp
or rdx, 0xf
mov rcx, r14
shr rcx, 1
movabs rsi, 0x7fffffffffffffff
mov rax, rsi
sub rax, rcx
cmp r14, rax
jbe 0x140004b22
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140035370
test rax, rax
je 0x140004bf4
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140004b59
lea rax, [rcx + r14]
mov rsi, rdx
cmp rdx, rax
cmovb rsi, rax
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x140004b4c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140004bfa
jmp 0x140004b03
test rcx, rcx
je 0x140004b59
call fcn.140035370
mov rbx, rax
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], rsi
mov r8, rbp
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.14005bfe0
mov byte [rbx + rbp], 0
cmp r14, 0xf
jbe 0x140004ba8
lea rdx, [r14 + 1]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x140004ba3
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004bf4
mov rcx, r8
call fcn.1400353ac
mov qword [rdi], rbx
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rax, rdi
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400354d0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.14003c10c
int3
call fcn.1400065f0
int3