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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x188]
sub rsp, 0x250
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x1400e30b0]
xor rax, rsp
mov qword [rbp + 0x140], rax
mov r14, r8
mov r15, rdx
mov rsi, rcx
mov qword [rsp + 0x68], rcx
lea rax, vtable.GFE::HttpAccess::HttpResponseStream.0
mov qword [rcx], rax
xor edi, edi
mov dword [rcx + 8], edi
lea r13, [rcx + 0x10]
mov qword [rsp + 0x50], r13
mov qword [r13], rdi
mov qword [r13 + 8], rdi
lea edx, [rdi + 1]
mov rcx, r13
call fcn.14002c860
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [r13], rax
mov qword [rsi + 0x20], rdi
mov qword [rsi + 0x28], rdi
mov qword [rsi + 0x30], rdi
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x40], rdi
lea r12, [rsi + 0x48]
mov qword [r12 + 0x10], rdi
mov qword [r12 + 0x18], 7
mov word [r12], di
xor r8d, r8d
lea edx, [rdi + 3]
lea ecx, [rdi + 6]
call fcn.14008ed9c
neg al
sbb edx, edx
and edx, 4
lea rcx, [r15 + 0x20]
cmp qword [rcx + 0x18], 8
jb 0x14008dca2
mov rcx, qword [rcx]
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov rbx, rax
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x14008dcc4
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov qword [rsi + 0x20], rbx
test rbx, rbx
je 0x14008e166
mov qword [rsp + 0x50], rsi
mov r9d, 8
lea r8, [rsp + 0x50]
lea edx, [r9 + 0x25]
mov rcx, rbx
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
je 0x14008e1f0
xor r9d, r9d
mov r8d, 0x100ff
lea rdx, [0x14008f790]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.WINHTTP.dll_WinHttpSetStatusCallback]
cmp rax, 0xffffffffffffffff
je 0x14008e27a
test r14, r14
je 0x14008dd31
xor edx, edx
mov rcx, r14
call fcn.1400912f8
test al, al
jne 0x14008e304
movdqa xmm0, xmmword [0x1400c6410]
movdqu xmmword [rbp + 0x20], xmm0
mov word [rbp + 0x10], di
movdqu xmmword [rbp], xmm0
mov word [rbp - 0x10], di
mov word [rsp + 0x48], di
mov dword [rsp + 0x40], edi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x10]
mov rcx, r15
call fcn.140090b50
test r14, r14
je 0x14008dd8a
xor edx, edx
mov rcx, r14
call fcn.1400912f8
test al, al
jne 0x14008e323
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rdx, qword [rbp + 0x10]
xor r9d, r9d
movzx r8d, word [rsp + 0x48]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov rbx, rax
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x14008ddbd
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov qword [rsi + 0x28], rbx
test rbx, rbx
je 0x14008e342
test r14, r14
je 0x14008dde1
xor edx, edx
mov rcx, r14
call fcn.1400912f8
test al, al
jne 0x14008e3cc
mov eax, 0x800000
cmp dword [rsp + 0x40], 2
cmove edi, eax
lea rbx, [rbp - 0x10]
cmp qword [rbp + 8], 8
cmovae rbx, qword [rbp - 0x10]
mov ecx, dword [r15 + 0x40]
call fcn.14008ee6c
mov dword [rsp + 0x30], edi
xor edi, edi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8, rbx
mov rdx, rax
mov rcx, qword [rsi + 0x28]
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov rbx, rax
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x14008de3a
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov qword [rsi + 0x30], rbx
cmp dword [rsp + 0x40], 2
jne 0x14008de84
mov dword [rsp + 0x40], 0xa00
call fcn.1400432e8
mov ecx, dword [rsp + 0x40]
mov edx, 0x80
cmp eax, 7
cmovl ecx, edx
mov dword [rsp + 0x40], ecx
lea r9d, [rdx - 0x7c]
lea r8, [rsp + 0x40]
lea edx, [r9 + 0x50]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
je 0x14008e3eb
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x14008e475
mov r8d, dword [r15 + 0x70]
test r8d, r8d
je 0x14008dea4
mov edx, 3
call fcn.14009097c
mov r8d, dword [r15 + 0x74]
test r8d, r8d
je 0x14008debb
mov edx, 5
mov rcx, qword [rsi + 0x30]
call fcn.14009097c
mov r8d, dword [r15 + 0x78]
test r8d, r8d
je 0x14008ded2
mov edx, 6
mov rcx, qword [rsi + 0x30]
call fcn.14009097c
mov r8d, dword [r15 + 0x7c]
test r8d, r8d
je 0x14008dee9
mov edx, 7
mov rcx, qword [rsi + 0x30]
call fcn.14009097c
lea rdx, [r15 + 0x48]
mov rcx, qword [rsi + 0x30]
call fcn.14008fdbc
test r14, r14
je 0x14008df0d
xor edx, edx
mov rcx, r14
call fcn.1400912f8
test al, al
jne 0x14008e4ff
mov r9, qword [r15 + 0x58]
mov rdx, qword [r15 + 0x60]
mov ecx, edx
sub ecx, r9d
cmp r9, rdx
mov r8d, edi
je 0x14008df25
mov r8d, ecx
mov eax, edi
cmovne eax, ecx
cmove r9, rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], eax
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsi + 0x30]
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x14008e51e
test r14, r14
je 0x14008df6a
xor edx, edx
mov rcx, r14
call fcn.1400912f8
test al, al
jne 0x14008e5ab
xor edx, edx
mov rcx, qword [rsi + 0x30]
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
xor eax, eax
cmp qword [r12 + 0x10], rax
jne 0x14008dfd4
mov rdx, qword [rsi + 0x30]
lea rcx, [rsp + 0x70]
call fcn.140090120
mov rbx, rax
cmp r12, rax
je 0x14008dfca
mov rcx, r12
call fcn.1400045e4
mov r8d, 0x20
mov rdx, rbx
mov rcx, r12
call fcn.1400655a0
xor eax, eax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 7
mov word [rbx], ax
lea rcx, [rsp + 0x70]
call fcn.1400045e4
test edi, edi
je 0x14008e5ca
mov r8, r12
mov rdx, qword [rsi + 0x30]
lea rcx, [rbp - 0x30]
call fcn.140090304
nop
call fcn.14003ab84
mov r9d, 1
mov r8, qword [rax]
lea edx, [r9 + 3]
lea rcx, [rbp + 0x30]
call fcn.140003144
nop
lea rbx, [rax + 0x10]
lea rdx, str.HTTP_request
mov rcx, rbx
call fcn.140007858
xor edi, edi
test rbx, rbx
jne 0x14008e027
mov ecx, edi
jmp 0x14008e031
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
call fcn.140012990
mov rdx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.14008e9fc
lea rdx, str.:_response_headers:_n
mov rcx, rbx
call fcn.140007858
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
mov rcx, rbx
call fcn.14000e8c0
nop
lea rcx, [rbp + 0xd8]
call fcn.1400030e0
nop
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0xd8], rax
lea rcx, [rbp + 0xd8]
call fcn.140043ee4
nop
movdqa xmm0, xmmword [0x1400c6410]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], di
lea r8, [rsi + 8]
mov rdx, r13
lea rcx, [rbp - 0x30]
call fcn.140090554
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.14008ccd8
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14008e0de
mov rax, qword [rcx]
mov qword [rsi + 0x40], rax
mov edx, 8
call fcn.140046b80
test r14, r14
je 0x14008e0f1
xor edx, edx
mov rcx, r14
call fcn.1400912f8
test al, al
jne 0x14008e147
lea rcx, [rsp + 0x70]
call fcn.1400045e4
nop
lea rcx, [rbp - 0x30]
call fcn.1400045e4
nop
lea rcx, [rbp - 0x10]
call fcn.1400045e4
nop
lea rcx, [rbp + 0x10]
call fcn.1400045e4
nop
mov rax, rsi
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.140046b20
mov rbx, qword [rsp + 0x2a8]
add rsp, 0x250
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, 1
lea rcx, [rbp + 0x30]
call fcn.140092ee4
lea rdx, [0x1400e1230]
lea rcx, [rbp + 0x30]
call fcn.140065b40
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x70]
call fcn.1400034f4
mov rsi, rax
movzx edi, bx
or edi, 0x80070000
test ebx, ebx
cmovle edi, ebx
mov edx, ebx
lea rcx, [rbp - 0x70]
call fcn.140090b38
nop
mov r8, rax
lea rdx, str.WinHttpOpen_failed_with
lea rcx, [rbp - 0x50]
call fcn.14002ecd0
nop
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], 0x16d
lea r9, str.C:dvsp4_build_sw_relgfclient_rel_03_20_backendcommonupdtlib_srcgfehttpaccess.cpp
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.14008e7d0
lea rdx, [0x1400e0d20]
lea rcx, [rbp + 0x30]
call fcn.140065b40
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x70]
call fcn.1400034f4
mov rsi, rax
movzx edi, bx
or edi, 0x80070000
test ebx, ebx
cmovle edi, ebx
mov edx, ebx
lea rcx, [rbp - 0x50]
call fcn.140090b38
nop
mov r8, rax
lea rdx, str.WinHttpSetOption_for_WINHTTP_OPTION_CONTEXT_VALUE_failed_with
lea rcx, [rbp - 0x70]
call fcn.14002ecd0
nop
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], 0x181
lea r9, str.C:dvsp4_build_sw_relgfclient_rel_03_20_backendcommonupdtlib_srcgfehttpaccess.cpp
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.14008e7d0
lea rdx, [0x1400e0d20]
lea rcx, [rbp + 0x30]
call fcn.140065b40
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x70]
call fcn.1400034f4
mov rsi, rax
movzx edi, bx
or edi, 0x80070000
test ebx, ebx
cmovle edi, ebx
mov edx, ebx
lea rcx, [rbp - 0x50]
call fcn.140090b38
nop
mov r8, rax
lea rdx, str.WinHttpSetStatusCallback_failed_with
lea rcx, [rbp - 0x70]
call fcn.14002ecd0
nop
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], 0x190
lea r9, str.C:dvsp4_build_sw_relgfclient_rel_03_20_backendcommonupdtlib_srcgfehttpaccess.cpp
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.14008e7d0
lea rdx, [0x1400e0d20]
lea rcx, [rbp + 0x30]
call fcn.140065b40
nop
mov edx, 1
lea rcx, [rbp + 0x30]
call fcn.140092ee4
lea rdx, [0x1400e1230]
lea rcx, [rbp + 0x30]
call fcn.140065b40
nop
mov edx, 1
lea rcx, [rbp + 0x30]
call fcn.140092ee4
lea rdx, [0x1400e1230]
lea rcx, [rbp + 0x30]
call fcn.140065b40
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x70]
call fcn.1400034f4
mov rsi, rax
movzx edi, bx
or edi, 0x80070000
test ebx, ebx
cmovle edi, ebx
mov edx, ebx
lea rcx, [rbp - 0x50]
call fcn.140090b38
nop
mov r8, rax
lea rdx, str.WinHttpConnect_failed_with
lea rcx, [rbp - 0x70]
call fcn.14002ecd0
nop
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], 0x1bc
lea r9, str.C:dvsp4_build_sw_relgfclient_rel_03_20_backendcommonupdtlib_srcgfehttpaccess.cpp
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.14008e7d0
lea rdx, [0x1400e0d20]
lea rcx, [rbp + 0x30]
call fcn.140065b40
nop
mov edx, 1
lea rcx, [rbp + 0x30]
call fcn.140092ee4
lea rdx, [0x1400e1230]
lea rcx, [rbp + 0x30]
call fcn.140065b40
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x70]
call fcn.1400034f4
mov rsi, rax
movzx edi, bx
or edi, 0x80070000
test ebx, ebx
cmovle edi, ebx
mov edx, ebx
lea rcx, [rbp - 0x50]
call fcn.140090b38
nop
mov r8, rax
lea rdx, str.WinHttpSetOption_failed_with
lea rcx, [rbp - 0x70]
call fcn.14002ecd0
nop
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], 0x1e4
lea r9, str.C:dvsp4_build_sw_relgfclient_rel_03_20_backendcommonupdtlib_srcgfehttpaccess.cpp
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.14008e7d0
lea rdx, [0x1400e0d20]
lea rcx, [rbp + 0x30]
call fcn.140065b40
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x70]
call fcn.1400034f4
mov rsi, rax
movzx edi, bx
or edi, 0x80070000
test ebx, ebx
cmovle edi, ebx
mov edx, ebx
lea rcx, [rbp - 0x50]
call fcn.140090b38
nop
mov r8, rax
lea rdx, str.WinHttpOpenRequest_failed_with
lea rcx, [rbp - 0x70]
call fcn.14002ecd0
nop
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], 0x1ef
lea r9, str.C:dvsp4_build_sw_relgfclient_rel_03_20_backendcommonupdtlib_srcgfehttpaccess.cpp
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.14008e7d0
lea rdx, [0x1400e0d20]
lea rcx, [rbp + 0x30]
call fcn.140065b40
nop
mov edx, 1
lea rcx, [rbp + 0x30]
call fcn.140092ee4
lea rdx, [0x1400e1230]
lea rcx, [rbp + 0x30]
call fcn.140065b40
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov rdx, r12
lea rcx, [rsp + 0x70]
call fcn.14000350c
mov rsi, rax
movzx edi, bx
or edi, 0x80070000
test ebx, ebx
cmovle edi, ebx
mov edx, ebx
lea rcx, [rbp - 0x50]
call fcn.140090b38
nop
mov r8, rax
lea rdx, str.WinHttpSendRequest_failed_with
lea rcx, [rbp - 0x70]
call fcn.14002ecd0
nop
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], 0x21e
lea r9, str.C:dvsp4_build_sw_relgfclient_rel_03_20_backendcommonupdtlib_srcgfehttpaccess.cpp
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.14008e7d0
lea rdx, [0x1400e0d20]
lea rcx, [rbp + 0x30]
call fcn.140065b40
nop
mov edx, 1
lea rcx, [rbp + 0x30]
call fcn.140092ee4
lea rdx, [0x1400e1230]
lea rcx, [rbp + 0x30]
call fcn.140065b40
int3
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov rdx, r12
lea rcx, [rsp + 0x70]
call fcn.14000350c
mov rdi, rax
movzx ebx, r15w
or ebx, 0x80070000
test r15d, r15d
cmovle ebx, r15d
mov edx, r15d
lea rcx, [rbp - 0x50]
call fcn.140090b38
nop
mov r8, rax
lea rdx, str.WinHttpReceiveResponse_failed_with
lea rcx, [rbp - 0x70]
call fcn.14002ecd0
nop
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0x239
lea r9, str.C:dvsp4_build_sw_relgfclient_rel_03_20_backendcommonupdtlib_srcgfehttpaccess.cpp
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.14008e7d0
lea rdx, [0x1400e0d20]
lea rcx, [rbp + 0x30]
call fcn.140065b40
int3