Function at 0x140001300
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, 0x480
mov rax, qword [0x140009008]
xor rax, rsp
mov qword [rsp + 0x470], rax
mov rsi, rcx
mov qword [rsp + 0x48], rcx
xor edi, edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.User_Agent
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov r15, rax
test rax, rax
jne 0x140001425
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rdi
mov ebx, 0xf
mov qword [rsi + 0x18], rbx
mov edx, ebx
mov ecx, ebx
shr rcx, 1
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rdx, rax
jbe 0x140001399
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1400013c3
lea rax, [rdx + rcx]
mov ebx, 0x1f
cmp rax, rbx
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400013e2
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001863
mov rcx, rax
call fcn.140004280
test rax, rax
je 0x1400016ee
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400013ef
test rcx, rcx
je 0x1400013ef
call fcn.140004280
mov rdi, rax
mov qword [rsi], rdi
mov qword [rsi + 0x10], 0x16
mov qword [rsi + 0x18], rbx
movups xmm0, xmmword [str.Error_opening_session_]
movups xmmword [rdi], xmm0
mov ecx, dword [0x1400064c0]
mov dword [rdi + 0x10], ecx
movzx ecx, word [0x1400064c4]
mov word [rdi + 0x14], cx
mov byte [rdi + 0x16], 0
jmp 0x140001834
mov r8d, 0x1bb
xor r9d, r9d
lea rdx, str.api.ipify.org
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov r12, rax
test rax, rax
jne 0x140001514
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rdi
mov ebx, 0xf
mov qword [rsi + 0x18], rbx
mov edx, ebx
mov ecx, ebx
shr rcx, 1
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rdx, rax
jbe 0x140001492
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1400014bc
lea rax, [rcx + rdx]
mov ebx, 0x1f
cmp rax, rbx
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400014db
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001863
mov rcx, rax
call fcn.140004280
test rax, rax
je 0x1400016ee
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400014e8
test rcx, rcx
je 0x1400014e8
call fcn.140004280
mov rdi, rax
mov qword [rsi], rdi
mov qword [rsi + 0x10], 0x11
mov qword [rsi + 0x18], rbx
movups xmm0, xmmword [str.Error_connecting_]
movups xmmword [rdi], xmm0
movzx eax, byte [0x1400064f8]
mov byte [rdi + 0x10], al
mov byte [rdi + 0x11], 0
jmp 0x140001834
mov dword [rsp + 0x30], 0x800000
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea r8, str.__format
lea rdx, [0x140006518]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov r14, rax
test rax, rax
jne 0x140001629
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rdi
mov ebx, 0xf
mov qword [rsi + 0x18], rbx
mov edx, ebx
mov ecx, ebx
shr rcx, 1
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rdx, rax
jbe 0x14000159d
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1400015c7
lea rax, [rdx + rcx]
mov ebx, 0x1f
cmp rax, rbx
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400015e6
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001863
mov rcx, rax
call fcn.140004280
test rax, rax
je 0x1400016ee
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400015f3
test rcx, rcx
je 0x1400015f3
call fcn.140004280
mov rdi, rax
mov qword [rsi], rdi
mov qword [rsi + 0x10], 0x16
mov qword [rsi + 0x18], rbx
movups xmm0, xmmword [str.Error_opening_request_]
movups xmmword [rdi], xmm0
mov eax, dword [0x140006530]
mov dword [rdi + 0x10], eax
movzx eax, word [0x140006534]
mov word [rdi + 0x14], ax
mov byte [rdi + 0x16], 0
jmp 0x140001834
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x140001738
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rdi
mov ebx, 0xf
mov qword [rsi + 0x18], rbx
mov edx, ebx
mov ecx, ebx
shr rcx, 1
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rdx, rax
jbe 0x1400016c2
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140004280
test rax, rax
je 0x1400016ee
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140001702
lea rax, [rdx + rcx]
mov ebx, 0x1f
cmp rax, rbx
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400016f5
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001863
jmp 0x1400016a7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x140001702
call fcn.140004280
mov rdi, rax
mov qword [rsi], rdi
mov qword [rsi + 0x10], 0x16
mov qword [rsi + 0x18], rbx
movups xmm0, xmmword [str.Error_sending_request_]
movups xmmword [rdi], xmm0
mov eax, dword [0x140006548]
mov dword [rdi + 0x10], eax
movzx eax, word [0x14000654c]
mov word [rdi + 0x14], ax
mov byte [rdi + 0x16], 0
jmp 0x140001834
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rdi
mov ebx, 0xf
mov qword [rsp + 0x68], rbx
mov byte [rsp + 0x50], dil
xor edx, edx
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x140001808
nop word [rax + rax]
lea rdx, [rsp + 0x48]
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x1400017fd
lea r9, [rsp + 0x48]
mov r8d, 0x400
lea rdx, [rsp + 0x70]
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
mov ebp, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov rax, rbx
sub rax, rcx
cmp rbp, rax
ja 0x1400017e1
lea rax, [rcx + rbp]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x50]
cmp rbx, 0x10
cmovae rax, qword [rsp + 0x50]
lea rbx, [rax + rcx]
mov r8d, ebp
lea rdx, [rsp + 0x70]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rbp], 0
jmp 0x1400017f8
mov qword [rsp + 0x20], rbp
lea r9, [rsp + 0x70]
mov rdx, rbp
lea rcx, [rsp + 0x50]
call fcn.140003df0
mov rbx, qword [rsp + 0x68]
cmp dword [rsp + 0x48], 0
ja 0x140001770
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x10], xmm1
mov rax, rsi
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.140004260
lea r11, [rsp + 0x480]
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.140001100
int3