Function at 0x1400160d0
Capabilities:
Check http status code
Read http header
Receive http response
Set http header

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x438]
sub rsp, 0x500
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x14006c0f0]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
mov r14, rdx
mov rdi, rcx
movdqa xmm0, xmmword [0x14005a0b0]
movdqu xmmword [rbp - 0x80], xmm0
xor r15d, r15d
mov word [rsp + 0x70], r15w
lea rdx, str._OneSettingsCustomClient__GetCloudSettings
lea rcx, [rsp + 0x70]
call fcn.140008078
lea r8, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae r8, qword [rsp + 0x70]
lea rdx, str._s_:_Init
xor ecx, ecx
call fcn.140009a7c
nop
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x44], 4
movdqa xmm0, xmmword [0x14005a0b0]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r15w
lea rdx, str._OneSettingsCustomClient__BuildWebRequestHeaders
lea rcx, [rsp + 0x50]
call fcn.140008078
lea r8, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae r8, qword [rsp + 0x50]
lea rdx, str._s_:_Init
xor ecx, ecx
call fcn.140009a7c
nop
lea rsi, [rdi + 0x1b8]
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.140016bcc
test eax, eax
js 0x1400161ec
mov r9d, 0x20000000
or r8d, 0xffffffff
lea rdx, [rbp - 0x30]
mov rcx, qword [rsi]
call qword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
nop dword [rax + rax]
test eax, eax
jne 0x1400161ec
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
lea rdx, [rbp + 0x1e0]
mov rcx, rdi
call fcn.140016db4
mov ebx, eax
mov r13d, 0x80070000
mov r12d, 0x80004005
test eax, eax
js 0x140016258
mov r9d, 0x20000000
or r8d, 0xffffffff
lea rdx, [rbp + 0x1e0]
mov rcx, qword [rdi + 0x1b8]
call qword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
nop dword [rax + rax]
test eax, eax
jne 0x140016254
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, r13d
test eax, eax
cmovle ecx, eax
mov ebx, r12d
test ecx, ecx
cmovs ebx, ecx
test ebx, ebx
js 0x140016265
mov rdx, rsi
mov rcx, r14
call fcn.140017484
mov ebx, eax
lea r8, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae r8, qword [rsp + 0x50]
lea rdx, str._s_:_Exit
xor ecx, ecx
call fcn.140009a7c
lea rcx, [rsp + 0x50]
call fcn.140007e78
test ebx, ebx
jns 0x14001629c
mov edx, 0x18d
jmp 0x1400163b1
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
or r8d, 0xffffffff
xor edx, edx
mov rcx, qword [rdi + 0x1b8]
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
nop dword [rax + rax]
test eax, eax
jne 0x1400162f8
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, r13d
test eax, eax
cmovle ecx, eax
mov ebx, r12d
test ecx, ecx
cmovs ebx, ecx
test ebx, ebx
jns 0x1400162f8
mov edx, 0x191
jmp 0x1400163b1
mov rcx, rdi
call fcn.140017818
mov ebx, eax
test eax, eax
jns 0x140016313
mov r9d, eax
mov edx, 0x194
jmp 0x1400163b4
xor edx, edx
mov rcx, qword [rdi + 0x1b8]
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
nop dword [rax + rax]
test eax, eax
jne 0x140016356
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, r13d
test eax, eax
cmovle ecx, eax
mov ebx, r12d
test ecx, ecx
cmovs ebx, ecx
test ebx, ebx
jns 0x140016356
mov edx, 0x198
jmp 0x1400163b1
mov qword [rsp + 0x28], r15
lea rax, [rsp + 0x44]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
xor r8d, r8d
mov edx, 0x20000013
mov rcx, qword [rdi + 0x1b8]
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
nop dword [rax + rax]
test eax, eax
jne 0x1400163cc
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, r13d
test eax, eax
cmovle ecx, eax
mov ebx, r12d
test ecx, ecx
cmovs ebx, ecx
test ebx, ebx
jns 0x1400163cc
mov edx, 0x1a2
mov r9d, ebx
mov rcx, qword [rbp + 0x438]
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettingscustomclient.cpp
call fcn.140003c18
jmp 0x1400166da
mov r8d, dword [rsp + 0x40]
lea rdx, str._OneSettingsCustomClient__GetCloudSettings_:_Got_HTTP__d_from_the_OneSettings_endpoint
xor ecx, ecx
call fcn.140009a7c
mov r8d, dword [rsp + 0x40]
cmp r8d, 0x130
jne 0x1400164b9
movdqa xmm0, xmmword [0x14005a0b0]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r15w
lea r9, [rsp + 0x50]
lea r8, str.x_ms_onesetinterval
mov edx, 0xffff
mov rcx, rdi
call fcn.140016738
mov ebx, eax
test eax, eax
jns 0x14001642b
mov edx, 0x1ab
jmp 0x140016489
lea r8, [rdi + 0x1c0]
lea rdx, [rsp + 0x50]
call fcn.1400168f8
mov ebx, eax
test eax, eax
jns 0x140016449
mov edx, 0x1ac
jmp 0x140016489
lea r8, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae r8, qword [rsp + 0x50]
lea rdx, str.x_ms_onesetinterval
mov rcx, rdi
call fcn.140016f80
mov ebx, eax
test eax, eax
jns 0x140016476
mov edx, 0x1ae
jmp 0x140016489
mov rcx, rdi
call fcn.140016a0c
mov ebx, eax
test eax, eax
jns 0x1400164af
mov edx, 0x1af
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettingscustomclient.cpp
mov rcx, qword [rbp + 0x438]
call fcn.140003c18
nop
lea rcx, [rsp + 0x50]
call fcn.140007e78
jmp 0x1400166da
lea rcx, [rsp + 0x50]
jmp 0x1400166be
cmp r8d, 0xc8
jne 0x1400166c8
movdqa xmm0, xmmword [0x14005a0b0]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], r15w
lea r9, [rbp - 0x50]
xor r8d, r8d
lea edx, [r8 + 0x36]
mov rcx, rdi
call fcn.140016738
mov ebx, eax
test eax, eax
jns 0x1400164f8
mov edx, 0x1b6
jmp 0x140016520
lea r8, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae r8, qword [rbp - 0x50]
lea rdx, str.ETag
mov rcx, rdi
call fcn.140016f80
mov ebx, eax
test eax, eax
jns 0x14001653b
mov edx, 0x1b8
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettingscustomclient.cpp
mov r9d, eax
mov rcx, qword [rbp + 0x438]
call fcn.140003c18
jmp 0x14001669c
movdqa xmm0, xmmword [0x14005a0b0]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r15w
lea r9, [rsp + 0x50]
lea r8, str.x_ms_onesetinterval
mov edx, 0xffff
mov rcx, rdi
call fcn.140016738
mov ebx, eax
test eax, eax
jns 0x140016575
mov edx, 0x1bc
jmp 0x1400165d3
lea r8, [rdi + 0x1c0]
lea rdx, [rsp + 0x50]
call fcn.1400168f8
mov ebx, eax
test eax, eax
jns 0x140016593
mov edx, 0x1bd
jmp 0x1400165d3
lea r8, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae r8, qword [rsp + 0x50]
lea rdx, str.x_ms_onesetinterval
mov rcx, rdi
call fcn.140016f80
mov ebx, eax
test eax, eax
jns 0x1400165c0
mov edx, 0x1bf
jmp 0x1400165d3
mov rcx, rdi
call fcn.140016a0c
mov ebx, eax
test eax, eax
jns 0x1400165ee
mov edx, 0x1c0
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettingscustomclient.cpp
mov r9d, eax
mov rcx, qword [rbp + 0x438]
call fcn.140003c18
jmp 0x140016691
movdqa xmm0, xmmword [0x14005a0c0]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], r15b
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.140015d3c
mov ebx, eax
test eax, eax
jns 0x140016618
mov edx, 0x1c4
jmp 0x140016670
call fcn.1400182d4
mov ebx, eax
test eax, eax
jns 0x14001662a
mov edx, 0x1c5
jmp 0x140016670
lea rdx, [rbp - 0x70]
cmp qword [rbp - 0x58], 0x10
cmovae rdx, qword [rbp - 0x70]
mov rcx, rdi
call fcn.140017664
mov ebx, eax
test eax, eax
jns 0x140016650
mov r9d, eax
mov edx, 0x1c7
jmp 0x140016673
mov eax, 0x1330001
cmp ebx, eax
jne 0x14001665d
mov ebx, eax
jmp 0x140016687
mov rcx, rdi
call fcn.140017e50
mov ebx, eax
test eax, eax
jns 0x1400166a5
mov edx, 0x1cc
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettingscustomclient.cpp
mov rcx, qword [rbp + 0x438]
call fcn.140003c18
nop
lea rcx, [rbp - 0x70]
call fcn.14000a1a4
nop
lea rcx, [rsp + 0x50]
call fcn.140007e78
nop
lea rcx, [rbp - 0x50]
jmp 0x1400164a5
lea rcx, [rbp - 0x70]
call fcn.14000a1a4
nop
lea rcx, [rsp + 0x50]
call fcn.140007e78
nop
lea rcx, [rbp - 0x50]
call fcn.140007e78
mov ebx, r15d
jmp 0x1400166da
lea rdx, str._OneSettingsCustomClient__GetCloudSettings_:_Got_HTTP__d_from_the_OneSettings_endpoint__304_200_was_Expected_
mov ecx, r12d
call fcn.140009a7c
mov ebx, r12d
lea r8, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae r8, qword [rsp + 0x70]
lea rdx, str._s_:_Exit
xor ecx, ecx
call fcn.140009a7c
lea rcx, [rsp + 0x70]
call fcn.140007e78
mov eax, ebx
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.14004b4d0
mov rbx, qword [rsp + 0x550]
add rsp, 0x500
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret