Function at 0x18000ff10
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.180016e20
sub rsp, rax
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov rax, qword [0x180051088]
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 0x180010580
test eax, eax
jle 0x180010580
xor edx, edx
lea r8d, [rcx + 0x68]
lea rcx, [rbp - 0x80]
call fcn.180019810
mov dword [rbp - 0x80], 0x68
mov ecx, 0x20
call fcn.18001696c
mov qword [rbp - 0x78], rax
mov dword [rbp - 0x70], reloc.WS2_32.dll_recv
mov ecx, 0x208
call fcn.18001696c
mov qword [rbp - 0x68], rax
mov dword [rbp - 0x60], 0x104
mov ecx, 0x208
call fcn.18001696c
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x30], 0x104
mov ecx, 0x208
call fcn.18001696c
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x20], 0x104
mov rax, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x18000fff7
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 0x18001009a
mov qword [rbx + 0x18], send
mov qword [rbx + 0x10], rdx
cmp qword [rbx + 0x18], 0x10
jb 0x18001002e
mov rax, qword [rbx]
jmp 0x180010031
mov rax, rbx
mov byte [rax], dl
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.180008b80
nop
mov rax, qword [rbp + 0x30]
cmp rax, 0x10
jb 0x180010601
inc rax
mov rcx, qword [rbp + 0x18]
cmp rax, 0x1000
jb 0x1800105fc
test cl, 0x1f
je 0x18001006c
call fcn.18001a8bc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001007b
call fcn.18001a8bc
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001008a
call fcn.18001a8bc
int3
cmp rcx, 0x27
jbe 0x1800105f9
call fcn.18001a8bc
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.180008480
nop
cmp qword [rsi + 0x10], 0
jne 0x1800100db
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.180008330
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 0x18001016d
mov qword [rbx + 0x18], send
mov qword [rbx + 0x10], rsi
cmp qword [rbx + 0x18], 0x10
jb 0x180010122
mov rax, qword [rbx]
jmp 0x180010125
mov rax, rbx
mov byte [rax], sil
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.180008b80
nop
mov r8, qword [rbp + 0x10]
cmp r8, 8
jb 0x18001014f
inc r8
mov rdx, qword [rbp - 8]
lea rcx, [rbp - 8]
call fcn.180009200
mov qword [rbp + 8], rsi
mov word [rbp - 8], si
mov qword [rbp + 0x10], 7
lea rcx, [rbp + 0x18]
call fcn.1800077b0
jmp 0x180010601
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 0x18001019b
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x18001010a
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 0x180010223
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 0x1800101e9
mov rax, qword [rbx]
jmp 0x1800101ec
mov rax, rbx
mov byte [rax], dil
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.180008b80
nop
mov r8, qword [rbp + 0x10]
cmp r8, 8
jb 0x180010216
inc r8
mov rdx, qword [rbp - 8]
lea rcx, [rbp - 8]
call fcn.180009200
mov qword [rbp + 8], rdi
mov word [rbp - 8], di
jmp 0x180010157
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, [0x180047fe0]
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov rsi, rax
test rax, rax
jne 0x180010291
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 0x1800101e9
mov rax, qword [rbx]
jmp 0x1800101ec
mov dword [rsp + 0x5c], 0x3300
cmp dword [rsp + 0x40], 0
jne 0x1800102c7
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 0x1800102c7
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x18001025c
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 0x180010315
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.Error__d_has_occurred._n
lea rcx, [rbp + 0x80]
call fcn.1800125a0
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x18001025c
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x18001034e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.Error__d_has_occurred._n
lea rcx, [rbp + 0x80]
call fcn.1800125a0
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x18001025c
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 0x1800104a0
lea eax, [rcx - 0x133]
cmp eax, 1
jbe 0x1800104a0
cmp ecx, 0xc8
je 0x1800103b9
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x18001025c
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 0x18001045e
mov ecx, dword [rsp + 0x44]
inc ecx
call fcn.18001696c
mov rdi, rax
test rax, rax
je 0x180010454
mov r8d, dword [rsp + 0x44]
inc r8d
xor edx, edx
mov rcx, rax
call fcn.180019810
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 0x180010428
dec dword [rsp + 0x48]
jmp 0x180010439
mov r8d, dword [rsp + 0x40]
mov rdx, rdi
lea rcx, [rbp + 0x18]
call fcn.180007610
mov rcx, rdi
call fcn.180016660
cmp dword [rsp + 0x44], 0
jbe 0x18001045c
cmp dword [rsp + 0x48], 0
jl 0x18001045c
jmp 0x1800103c1
xor edi, edi
mov dword [rsp + 0x44], edi
jmp 0x18001045e
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 0x180010495
mov rax, qword [rbx]
jmp 0x180010498
mov rax, rbx
mov byte [rax], 0
jmp 0x1800101ef
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.180011160
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.180012800
nop
mov r9d, dword [rsp + 0x48]
dec r9d
mov r8, qword [rsp + 0x70]
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.18000ff10
nop
lea rcx, [rbp + 0x58]
call fcn.1800077b0
nop
mov r8, qword [rbp + 0x50]
cmp r8, 8
jb 0x18001056b
inc r8
mov rdx, qword [rbp + 0x38]
lea rcx, [rbp + 0x38]
call fcn.180009200
mov qword [rbp + 0x50], 7
mov qword [rbp + 0x48], rdi
mov word [rbp + 0x38], di
jmp 0x1800101fc
mov qword [rbx + 0x18], send
mov qword [rbx + 0x10], rcx
cmp qword [rbx + 0x18], 0x10
jb 0x180010598
mov rax, qword [rbx]
jmp 0x18001059b
mov rax, rbx
mov byte [rax], 0
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.180008b80
nop
mov rax, qword [rbp + 0x30]
cmp rax, 0x10
jb 0x180010601
inc rax
mov rcx, qword [rbp + 0x18]
cmp rax, 0x1000
jb 0x1800105fc
test cl, 0x1f
je 0x1800105cf
call fcn.18001a8bc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800105de
call fcn.18001a8bc
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800105ed
call fcn.18001a8bc
int3
cmp rcx, 0x27
jbe 0x1800105f9
call fcn.18001a8bc
int3
mov rcx, rax
call fcn.180016250
mov rax, rbx
mov rcx, qword [rbp + 0x1480]
xor rcx, rsp
call fcn.1800161f0
add rsp, 0x1598
pop rdi
pop rsi
pop rbx
pop rbp
ret