Function at 0x18000f2f0
Capabilities:
Check http status code
Initialize winhttp library
Prepare http request
Read http header
Receive http response
Reference http user-agent string

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x1498]
mov eax, 0x1598
call fcn.180015d40
sub rsp, rax
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov rax, qword [0x18004f088]
xor rax, rsp
mov qword [rbp + 0x1480], rax
mov eax, r9d
mov dword [rsp + 0x48], eax
mov rsi, r8
mov qword [rsp + 0x70], r8
mov rdi, rdx
mov rbx, rcx
xor ecx, ecx
mov dword [rsp + 0x64], ecx
mov qword [rbp + 0x30], send
mov qword [rbp + 0x28], rcx
mov byte [rbp + 0x18], cl
cmp qword [rdx + 0x10], rcx
je 0x18000f960
test eax, eax
jle 0x18000f960
xor edx, edx
lea r8d, [rcx + 0x68]
lea rcx, [rbp - 0x80]
call fcn.180018710
mov dword [rbp - 0x80], 0x68
mov ecx, 0x20
call fcn.18001588c
mov qword [rbp - 0x78], rax
mov dword [rbp - 0x70], reloc.WS2_32.dll_recv
mov ecx, 0x208
call fcn.18001588c
mov qword [rbp - 0x68], rax
mov dword [rbp - 0x60], 0x104
mov ecx, 0x208
call fcn.18001588c
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x30], 0x104
mov ecx, 0x208
call fcn.18001588c
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x20], 0x104
mov rax, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x18000f3d7
mov rdi, qword [rdi]
lea r9, [rbp - 0x80]
mov r8d, 0x80000000
mov edx, eax
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
xor edx, edx
test eax, eax
jne 0x18000f47a
mov qword [rbx + 0x18], send
mov qword [rbx + 0x10], rdx
cmp qword [rbx + 0x18], 0x10
jb 0x18000f40e
mov rax, qword [rbx]
jmp 0x18000f411
mov rax, rbx
mov byte [rax], dl
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.180007790
nop
mov rax, qword [rbp + 0x30]
cmp rax, 0x10
jb 0x18000f9e1
inc rax
mov rcx, qword [rbp + 0x18]
cmp rax, 0x1000
jb 0x18000f9dc
test cl, 0x1f
je 0x18000f44c
call fcn.1800197bc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18000f45b
call fcn.1800197bc
int3
sub rcx, rax
cmp rcx, 8
jae 0x18000f46a
call fcn.1800197bc
int3
cmp rcx, 0x27
jbe 0x18000f9d9
call fcn.1800197bc
nop
mov qword [rbp + 0x10], 7
mov qword [rbp + 8], rdx
mov word [rbp - 8], dx
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp - 8]
call fcn.180007160
nop
cmp qword [rsi + 0x10], 0
jne 0x18000f4bb
mov r8d, reloc.WS2_32.dll_WSAGetLastError
lea rdx, str.Mozilla_5.0__Windows_NT_10.0__Win64__x64__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_108.0.0.0_Safari_537.36
lea rcx, [rbp - 8]
call fcn.180007010
lea rcx, [rbp - 8]
cmp qword [rbp + 0x10], 8
cmovae rcx, qword [rbp - 8]
xor esi, esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov rdi, rax
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x18000f54d
mov qword [rbx + 0x18], send
mov qword [rbx + 0x10], rsi
cmp qword [rbx + 0x18], 0x10
jb 0x18000f502
mov rax, qword [rbx]
jmp 0x18000f505
mov rax, rbx
mov byte [rax], sil
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.180007790
nop
mov r8, qword [rbp + 0x10]
cmp r8, 8
jb 0x18000f52f
inc r8
mov rdx, qword [rbp - 8]
lea rcx, [rbp - 8]
call fcn.1800080d0
mov qword [rbp + 8], rsi
mov word [rbp - 8], si
mov qword [rbp + 0x10], 7
lea rcx, [rbp + 0x18]
call fcn.180006b00
jmp 0x18000f9e1
mov dword [rsp + 0x20], 0x2710
mov edx, 0x2710
mov r9d, edx
mov r8d, edx
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
mov rcx, rdi
test eax, eax
jne 0x18000f57b
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x18000f4ea
cmp dword [rbp - 0x6c], 1
sete sil
mov dword [rsp + 0x40], esi
xor r9d, r9d
movzx r8d, word [rbp - 0x5c]
mov rdx, qword [rbp - 0x68]
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov rcx, rax
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x18000f603
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor edi, edi
mov qword [rbx + 0x18], send
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 0x10
jb 0x18000f5c9
mov rax, qword [rbx]
jmp 0x18000f5cc
mov rax, rbx
mov byte [rax], dil
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.180007790
nop
mov r8, qword [rbp + 0x10]
cmp r8, 8
jb 0x18000f5f6
inc r8
mov rdx, qword [rbp - 8]
lea rcx, [rbp - 8]
call fcn.1800080d0
mov qword [rbp + 8], rdi
mov word [rbp - 8], di
jmp 0x18000f537
mov eax, 0x800000
test esi, esi
mov edx, 0
cmovne eax, edx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rdx
xor r9d, r9d
mov r8, qword [rbp - 0x38]
lea rdx, [0x180046ec0]
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov rsi, rax
test rax, rax
jne 0x18000f671
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor edi, edi
mov qword [rbx + 0x18], send
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 0x10
jb 0x18000f5c9
mov rax, qword [rbx]
jmp 0x18000f5cc
mov dword [rsp + 0x5c], 0x3300
cmp dword [rsp + 0x40], 0
jne 0x18000f6a7
mov r9d, 4
lea r8, [rsp + 0x5c]
lea edx, [r9 + 0x1b]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x18000f6a7
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x18000f63c
xor eax, eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x18000f6f5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.Error__d_has_occurred._n
lea rcx, [rbp + 0x80]
call fcn.180011a00
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x18000f63c
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x18000f72e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.Error__d_has_occurred._n
lea rcx, [rbp + 0x80]
call fcn.180011a00
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x18000f63c
xor edx, edx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x60], 4
mov qword [rsp + 0x28], rdx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
xor r8d, r8d
mov edx, 0x20000013
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
mov ecx, dword [rsp + 0x58]
lea eax, [rcx - 0x12c]
cmp eax, 3
jbe 0x18000f880
lea eax, [rcx - 0x133]
cmp eax, 1
jbe 0x18000f880
cmp ecx, 0xc8
je 0x18000f799
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x18000f63c
mov dword [rsp + 0x48], 0xa
xor edi, edi
mov dword [rsp + 0x44], edi
lea rdx, [rsp + 0x44]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x18000f83e
mov ecx, dword [rsp + 0x44]
inc ecx
call fcn.18001588c
mov rdi, rax
test rax, rax
je 0x18000f834
mov r8d, dword [rsp + 0x44]
inc r8d
xor edx, edx
mov rcx, rax
call fcn.180018710
xor edx, edx
mov dword [rsp + 0x40], edx
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x44]
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
jne 0x18000f808
dec dword [rsp + 0x48]
jmp 0x18000f819
mov r8d, dword [rsp + 0x40]
mov rdx, rdi
lea rcx, [rbp + 0x18]
call fcn.180006960
mov rcx, rdi
call fcn.180015580
cmp dword [rsp + 0x44], 0
jbe 0x18000f83c
cmp dword [rsp + 0x48], 0
jl 0x18000f83c
jmp 0x18000f7a1
xor edi, edi
mov dword [rsp + 0x44], edi
jmp 0x18000f83e
xor edi, edi
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov qword [rbx + 0x18], send
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 0x10
jb 0x18000f875
mov rax, qword [rbx]
jmp 0x18000f878
mov rax, rbx
mov byte [rax], 0
jmp 0x18000f5cf
mov dword [rsp + 0x40], 0x1000
xor edi, edi
mov qword [rsp + 0x28], rdi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x480]
xor r8d, r8d
lea edx, [rdi + 0x21]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
mov qword [rbp + 0x50], 7
mov qword [rbp + 0x48], rdi
mov word [rbp + 0x38], di
mov r8d, dword [rsp + 0x40]
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x38]
call fcn.180010540
lea rdx, [rbp + 0x38]
cmp qword [rbp + 0x50], 8
cmovae rdx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x48]
lea r8, [rdx + rax*2]
lea rdx, [rbp + 0x38]
cmovae rdx, qword [rbp + 0x38]
mov qword [rbp + 0x70], send
mov qword [rbp + 0x68], rdi
mov byte [rbp + 0x58], dil
lea rcx, [rbp + 0x58]
call fcn.180011c60
nop
mov r9d, dword [rsp + 0x48]
dec r9d
mov r8, qword [rsp + 0x70]
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.18000f2f0
nop
lea rcx, [rbp + 0x58]
call fcn.180006b00
nop
mov r8, qword [rbp + 0x50]
cmp r8, 8
jb 0x18000f94b
inc r8
mov rdx, qword [rbp + 0x38]
lea rcx, [rbp + 0x38]
call fcn.1800080d0
mov qword [rbp + 0x50], 7
mov qword [rbp + 0x48], rdi
mov word [rbp + 0x38], di
jmp 0x18000f5dc
mov qword [rbx + 0x18], send
mov qword [rbx + 0x10], rcx
cmp qword [rbx + 0x18], 0x10
jb 0x18000f978
mov rax, qword [rbx]
jmp 0x18000f97b
mov rax, rbx
mov byte [rax], 0
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.180007790
nop
mov rax, qword [rbp + 0x30]
cmp rax, 0x10
jb 0x18000f9e1
inc rax
mov rcx, qword [rbp + 0x18]
cmp rax, 0x1000
jb 0x18000f9dc
test cl, 0x1f
je 0x18000f9af
call fcn.1800197bc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18000f9be
call fcn.1800197bc
int3
sub rcx, rax
cmp rcx, 8
jae 0x18000f9cd
call fcn.1800197bc
int3
cmp rcx, 0x27
jbe 0x18000f9d9
call fcn.1800197bc
int3
mov rcx, rax
call fcn.180015170
mov rax, rbx
mov rcx, qword [rbp + 0x1480]
xor rcx, rsp
call fcn.180015110
add rsp, 0x1598
pop rdi
pop rsi
pop rbx
pop rbp
ret