Function at 0x140015d80
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 [0x14006c100]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
mov r14, rdx
mov rdi, rcx
movdqa xmm0, xmmword [0x14005a0c0]
movdqu xmmword [rbp - 0x80], xmm0
xor r15d, r15d
mov word [rsp + 0x70], r15w
lea rdx, str._OneSettingsCustomClient__GetCloudSettings
lea rcx, [rsp + 0x70]
call fcn.140007e74
lea r8, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae r8, qword [rsp + 0x70]
lea rdx, str._s_:_Init
xor ecx, ecx
call fcn.14000972c
nop
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x44], 4
movdqa xmm0, xmmword [0x14005a0c0]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r15w
lea rdx, str._OneSettingsCustomClient__BuildWebRequestHeaders
lea rcx, [rsp + 0x50]
call fcn.140007e74
lea r8, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae r8, qword [rsp + 0x50]
lea rdx, str._s_:_Init
xor ecx, ecx
call fcn.14000972c
nop
lea rsi, [rdi + 0x1b8]
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.14001687c
test eax, eax
js 0x140015e9c
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 0x140015e9c
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.140016a64
mov ebx, eax
mov r13d, 0x80070000
mov r12d, 0x80004005
test eax, eax
js 0x140015f08
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 0x140015f04
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 0x140015f15
mov rdx, rsi
mov rcx, r14
call fcn.140017134
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.14000972c
lea rcx, [rsp + 0x50]
call fcn.140007d04
test ebx, ebx
jns 0x140015f4c
mov edx, 0x18d
jmp 0x140016061
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 0x140015fa8
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 0x140015fa8
mov edx, 0x191
jmp 0x140016061
mov rcx, rdi
call fcn.1400174c8
mov ebx, eax
test eax, eax
jns 0x140015fc3
mov r9d, eax
mov edx, 0x194
jmp 0x140016064
xor edx, edx
mov rcx, qword [rdi + 0x1b8]
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
nop dword [rax + rax]
test eax, eax
jne 0x140016006
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 0x140016006
mov edx, 0x198
jmp 0x140016061
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 0x14001607c
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 0x14001607c
mov edx, 0x1a2
mov r9d, ebx
mov rcx, qword [rbp + 0x438]
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettingscustomclient.cpp
call fcn.140003c18
jmp 0x14001638a
mov r8d, dword [rsp + 0x40]
lea rdx, str._OneSettingsCustomClient__GetCloudSettings_:_Got_HTTP__d_from_the_OneSettings_endpoint
xor ecx, ecx
call fcn.14000972c
mov r8d, dword [rsp + 0x40]
cmp r8d, 0x130
jne 0x140016169
movdqa xmm0, xmmword [0x14005a0c0]
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.1400163e8
mov ebx, eax
test eax, eax
jns 0x1400160db
mov edx, 0x1ab
jmp 0x140016139
lea r8, [rdi + 0x1c0]
lea rdx, [rsp + 0x50]
call fcn.1400165a8
mov ebx, eax
test eax, eax
jns 0x1400160f9
mov edx, 0x1ac
jmp 0x140016139
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.140016c30
mov ebx, eax
test eax, eax
jns 0x140016126
mov edx, 0x1ae
jmp 0x140016139
mov rcx, rdi
call fcn.1400166bc
mov ebx, eax
test eax, eax
jns 0x14001615f
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.140007d04
jmp 0x14001638a
lea rcx, [rsp + 0x50]
jmp 0x14001636e
cmp r8d, 0xc8
jne 0x140016378
movdqa xmm0, xmmword [0x14005a0c0]
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.1400163e8
mov ebx, eax
test eax, eax
jns 0x1400161a8
mov edx, 0x1b6
jmp 0x1400161d0
lea r8, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae r8, qword [rbp - 0x50]
lea rdx, str.ETag
mov rcx, rdi
call fcn.140016c30
mov ebx, eax
test eax, eax
jns 0x1400161eb
mov edx, 0x1b8
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettingscustomclient.cpp
mov r9d, eax
mov rcx, qword [rbp + 0x438]
call fcn.140003c18
jmp 0x14001634c
movdqa xmm0, xmmword [0x14005a0c0]
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.1400163e8
mov ebx, eax
test eax, eax
jns 0x140016225
mov edx, 0x1bc
jmp 0x140016283
lea r8, [rdi + 0x1c0]
lea rdx, [rsp + 0x50]
call fcn.1400165a8
mov ebx, eax
test eax, eax
jns 0x140016243
mov edx, 0x1bd
jmp 0x140016283
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.140016c30
mov ebx, eax
test eax, eax
jns 0x140016270
mov edx, 0x1bf
jmp 0x140016283
mov rcx, rdi
call fcn.1400166bc
mov ebx, eax
test eax, eax
jns 0x14001629e
mov edx, 0x1c0
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettingscustomclient.cpp
mov r9d, eax
mov rcx, qword [rbp + 0x438]
call fcn.140003c18
jmp 0x140016341
movdqa xmm0, xmmword [0x14005a0d0]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], r15b
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.1400159ec
mov ebx, eax
test eax, eax
jns 0x1400162c8
mov edx, 0x1c4
jmp 0x140016320
call fcn.140017f84
mov ebx, eax
test eax, eax
jns 0x1400162da
mov edx, 0x1c5
jmp 0x140016320
lea rdx, [rbp - 0x70]
cmp qword [rbp - 0x58], 0x10
cmovae rdx, qword [rbp - 0x70]
mov rcx, rdi
call fcn.140017314
mov ebx, eax
test eax, eax
jns 0x140016300
mov r9d, eax
mov edx, 0x1c7
jmp 0x140016323
mov eax, 0x1330001
cmp ebx, eax
jne 0x14001630d
mov ebx, eax
jmp 0x140016337
mov rcx, rdi
call fcn.140017b00
mov ebx, eax
test eax, eax
jns 0x140016355
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.140009e54
nop
lea rcx, [rsp + 0x50]
call fcn.140007d04
nop
lea rcx, [rbp - 0x50]
jmp 0x140016155
lea rcx, [rbp - 0x70]
call fcn.140009e54
nop
lea rcx, [rsp + 0x50]
call fcn.140007d04
nop
lea rcx, [rbp - 0x50]
call fcn.140007d04
mov ebx, r15d
jmp 0x14001638a
lea rdx, str._OneSettingsCustomClient__GetCloudSettings_:_Got_HTTP__d_from_the_OneSettings_endpoint__304_200_was_Expected_
mov ecx, r12d
call fcn.14000972c
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.14000972c
lea rcx, [rsp + 0x70]
call fcn.140007d04
mov eax, ebx
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.14004b180
mov rbx, qword [rsp + 0x550]
add rsp, 0x500
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret