Function at 0x160102884
Capabilities:
Get common file path
Resolve function by parsing pe exports

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x21a0
call fcn.160072500
sub rsp, rax
mov qword [rsp + 0x1c0], 0xfffffffffffffffe
mov qword [rsp + 0x21d0], rbx
mov qword [rsp + 0x21e0], rsi
mov rax, qword [0x160270bd8]
xor rax, rsp
mov qword [rsp + 0x2190], rax
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xa0], rdx
mov r14, qword [0x160273d18]
mov qword [rsp + 0x98], r14
test dword [0x160274340], 0x800
je 0x1601028f9
call fcn.16010912c
xor edx, edx
mov r8d, 0xf003f
lea rcx, [rsp + 0x380]
call fcn.16005a5e4
nop
mov rax, qword [rsp + 0x390]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
lea r8, str.Gathering_Manager
mov rdx, qword [rsp + 0x430]
mov rcx, r14
call fcn.16005aa34
mov ecx, 0x1338
mov rax, qword [0x1601c0fd0]
call qword [case.0x16003fc5a.0]
mov qword [rsp + 0x48], rax
test rax, rax
je 0x160102962
mov rcx, rax
call fcn.1600fecd8
xor r12d, r12d
jmp 0x160102968
xor r12d, r12d
mov eax, r12d
mov qword [r14 + 0x168], rax
test rax, rax
jne 0x160102994
mov rcx, qword [rsp + 0x21c8]
mov r9d, 0x8007000e
lea r8, [0x1601db300]
mov edx, 0x156
call fcn.1600b47d4
int3
call fcn.1600f8e80
mov edx, dword [rax + 0x20]
shl edx, 2
xor r9d, r9d
mov r8d, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_synch_l1_2_1.dll_CreateSemaphoreW]
mov rdx, rax
lea rcx, [r14 + 0x1020]
call fcn.1600161cc
mov rax, qword [r14 + 0x1020]
inc rax
test rax, 0xfffffffffffffffe
jne 0x1601029e8
mov rcx, qword [rsp + 0x21c8]
lea r8, [0x1601db300]
mov edx, 0x15e
call fcn.1600be3d0
int3
lea rcx, [r14 + 0xd0]
mov qword [rsp + 0x68], rcx
call fcn.1600454bc
nop
lea rcx, [rsp + 0xf0]
call fcn.160100a88
test eax, eax
jns 0x160102a28
mov rcx, qword [rsp + 0x21c8]
mov r9d, eax
lea r8, [0x1601db300]
mov edx, 0x167
call fcn.1600b47d4
int3
lea rcx, [r14 + 0x170]
mov rdx, qword [rsp + 0xf0]
call fcn.160002704
mov ecx, 0x100
mov rax, qword [0x1601c0fd0]
call qword [case.0x16003fc5a.0]
mov qword [rsp + 0x48], rax
test rax, rax
je 0x160102a62
mov rcx, rax
call fcn.1600fed54
jmp 0x160102a65
mov rax, r12
mov qword [r14 + 0xf38], rax
test rax, rax
jne 0x160102a91
mov rcx, qword [rsp + 0x21c8]
mov r9d, 0x8007000e
lea r8, [0x1601db300]
mov edx, 0x16e
call fcn.1600b47d4
int3
mov ecx, 0x40
mov rax, qword [0x1601c0fd0]
call qword [case.0x16003fc5a.0]
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x160102ace
mov rcx, qword [r14 + 0xf38]
mov qword [rax], rcx
lea rcx, [rax + 8]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_InitializeCriticalSection]
mov qword [rbx + 0x30], r12
mov byte [rbx + 0x38], 0
jmp 0x160102ad1
mov rbx, r12
mov qword [r14 + 0xf40], rbx
test rbx, rbx
jne 0x160102afd
mov rcx, qword [rsp + 0x21c8]
mov r9d, 0x8007000e
lea r8, [0x1601db300]
mov edx, 0x174
call fcn.1600b47d4
int3
lea rcx, [rsp + 0x58]
call fcn.1600651bc
test eax, eax
jns 0x160102b28
mov rcx, qword [rsp + 0x21c8]
mov r9d, eax
lea r8, [0x1601db300]
mov edx, 0x17b
call fcn.1600b47d4
int3
lea rcx, [r14 + 0xf48]
mov rdx, qword [rsp + 0x58]
call fcn.160065444
mov ecx, 0x38
mov rax, qword [0x1601c0fd0]
call qword [case.0x16003fc5a.0]
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x160102b6c
mov rcx, rax
call fcn.1600f7a44
lea rax, str.__r_f_
mov qword [rbx], rax
jmp 0x160102b6f
mov rbx, r12
mov qword [r14 + 0xf88], rbx
test rbx, rbx
jne 0x160102b9b
mov rcx, qword [rsp + 0x21c8]
mov r9d, 0x8007000e
lea r8, [0x1601db300]
mov edx, 0x182
call fcn.1600b47d4
int3
lea r9, [r14 + 0x1220]
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, r9
lea rax, str.UGTHRSVC
sub rax, r9
test rdx, rdx
je 0x160102bd2
movzx r8d, word [rax + rcx]
test r8w, r8w
je 0x160102bd2
mov word [rcx], r8w
add rcx, 2
sub rdx, 1
jne 0x160102bb4
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r12w
lea rbx, [r14 + 0x12f0]
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rdx, rbx
lea rax, str.UGthrSvcObj
sub rax, rbx
test r8, r8
je 0x160102c16
movzx ecx, word [rax + rdx]
test cx, cx
je 0x160102c16
mov word [rdx], cx
add rdx, 2
sub r8, 1
jne 0x160102bfb
lea rax, [rdx - 2]
test r8, r8
cmovne rax, rdx
mov word [rax], r12w
mov rcx, r9
call fcn.1600cbdb0
test eax, eax
jne 0x160102c66
mov rdx, qword [r14 + 0x180]
lea rcx, [rsp + 0xeb0]
call fcn.1600c0044
nop
xor r8d, r8d
mov edx, 0xc0000bbe
lea rcx, [rsp + 0xeb0]
call fcn.1600c1b70
nop
lea rcx, [rsp + 0xeb0]
jmp 0x160102caf
xor edx, edx
mov rcx, rbx
call fcn.1600cbca0
mov qword [r14 + 0x1ad0], rax
test rax, rax
jne 0x160102cb4
mov rdx, qword [r14 + 0x180]
lea rcx, [rsp + 0x1820]
call fcn.1600c0044
nop
xor r8d, r8d
mov edx, 0xc0000bbe
lea rcx, [rsp + 0x1820]
call fcn.1600c1b70
nop
lea rcx, [rsp + 0x1820]
call fcn.1600c0898
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102cd6
mov edx, 2
call fcn.1600cbd70
mov rcx, rax
lea r11, [0x1602741c0]
jmp 0x160102ce0
lea r11, [0x1602741c0]
mov rcx, r11
mov qword [r14 + 0x1cd8], rcx
test rcx, rcx
je 0x160102cf1
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102d0c
mov edx, 4
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102d0f
mov rcx, r11
mov qword [r14 + 0x1ce0], rcx
test rcx, rcx
je 0x160102d20
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102d3b
mov edx, 8
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102d3e
mov rcx, r11
mov qword [r14 + 0x1ce8], rcx
test rcx, rcx
je 0x160102d4f
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102d6a
mov edx, 0xa
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102d6d
mov rcx, r11
mov qword [r14 + 0x1cf0], rcx
test rcx, rcx
je 0x160102d7e
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102d99
mov edx, reloc.OLEAUT32.dll_SafeArrayCreate
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102d9c
mov rcx, r11
mov qword [r14 + 0x1cf8], rcx
test rcx, rcx
je 0x160102dad
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102dc8
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102dcb
mov rcx, r11
mov qword [r14 + 0x1d00], rcx
test rcx, rcx
je 0x160102ddc
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102df7
mov edx, SafeArrayGetLBound
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102dfa
mov rcx, r11
mov qword [r14 + 0x1d08], rcx
test rcx, rcx
je 0x160102e0b
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102e26
mov edx, reloc.OLEAUT32.dll_SafeArrayLock
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102e29
mov rcx, r11
mov qword [r14 + 0x1d10], rcx
test rcx, rcx
je 0x160102e3a
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102e55
mov edx, SafeArrayPutElement
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102e58
mov rcx, r11
mov qword [r14 + 0x1d18], rcx
test rcx, rcx
je 0x160102e69
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102e84
mov edx, SafeArrayPutElement
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102e87
mov rcx, r11
mov qword [r14 + 0x1d20], rcx
test rcx, rcx
je 0x160102e98
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102eb3
mov edx, reloc.OLEAUT32.dll_SafeArrayCopy
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102eb6
mov rcx, r11
mov qword [r14 + 0x1d28], rcx
test rcx, rcx
je 0x160102ec7
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102ee2
mov edx, 0x1c
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102ee5
mov rcx, r11
mov qword [r14 + 0x1d30], rcx
test rcx, rcx
je 0x160102ef6
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102f11
mov edx, 0x1e
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102f14
mov rcx, r11
mov qword [r14 + 0x1d38], rcx
test rcx, rcx
je 0x160102f25
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102f40
mov edx, 0x20
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102f43
mov rcx, r11
mov qword [r14 + 0x1d40], rcx
test rcx, rcx
je 0x160102f54
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102f6f
mov edx, 0x22
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102f72
mov rcx, r11
mov qword [r14 + 0x1d48], rcx
test rcx, rcx
je 0x160102f83
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102f9e
mov edx, 0x24
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102fa1
mov rcx, r11
mov qword [r14 + 0x1d50], rcx
test rcx, rcx
je 0x160102fb2
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102fcd
mov edx, 0x26
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102fd0
mov rcx, r11
mov qword [r14 + 0x1d58], rcx
test rcx, rcx
je 0x160102fe1
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160102ffc
mov edx, 0x2a
call fcn.1600cbd70
mov rcx, rax
jmp 0x160102fff
mov rcx, r11
mov qword [r14 + 0x1d60], rcx
test rcx, rcx
je 0x160103010
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x16010302b
mov edx, 0x2c
call fcn.1600cbd70
mov rcx, rax
jmp 0x16010302e
mov rcx, r11
mov qword [r14 + 0x1d68], rcx
test rcx, rcx
je 0x16010303f
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x16010305a
mov edx, 0x2e
call fcn.1600cbd70
mov rcx, rax
jmp 0x16010305d
mov rcx, r11
mov qword [r14 + 0x1d70], rcx
test rcx, rcx
je 0x16010306e
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160103089
mov edx, 0x30
call fcn.1600cbd70
mov rcx, rax
jmp 0x16010308c
mov rcx, r11
mov qword [r14 + 0x1d78], rcx
test rcx, rcx
je 0x16010309d
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x1601030b8
mov edx, 0x32
call fcn.1600cbd70
mov rcx, rax
jmp 0x1601030bb
mov rcx, r11
mov qword [r14 + 0x1d80], rcx
test rcx, rcx
je 0x1601030cc
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x1601030e7
mov edx, 0x34
call fcn.1600cbd70
mov rcx, rax
jmp 0x1601030ea
mov rcx, r11
mov qword [r14 + 0x1d88], rcx
test rcx, rcx
je 0x1601030fb
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160103116
mov edx, 0x38
call fcn.1600cbd70
mov rcx, rax
jmp 0x160103119
mov rcx, r11
mov qword [r14 + 0x1d90], rcx
test rcx, rcx
je 0x16010312a
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160103145
mov edx, 0x3a
call fcn.1600cbd70
mov rcx, rax
jmp 0x160103148
mov rcx, r11
mov qword [r14 + 0x1d98], rcx
test rcx, rcx
je 0x160103159
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160103174
mov edx, 0x3c
call fcn.1600cbd70
mov rcx, rax
jmp 0x160103177
mov rcx, r11
mov qword [r14 + 0x1da0], rcx
test rcx, rcx
je 0x160103188
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x1601031a3
mov edx, 0x3e
call fcn.1600cbd70
mov rcx, rax
jmp 0x1601031a6
mov rcx, r11
mov qword [r14 + 0x1da8], rcx
test rcx, rcx
je 0x1601031b7
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x1601031d2
mov edx, 0x42
call fcn.1600cbd70
mov rcx, rax
jmp 0x1601031d5
mov rcx, r11
mov qword [r14 + 0x1db0], rcx
test rcx, rcx
je 0x1601031e6
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x160103201
mov edx, 0x44
call fcn.1600cbd70
mov rcx, rax
jmp 0x160103204
mov rcx, r11
mov qword [r14 + 0x1db8], rcx
test rcx, rcx
je 0x160103215
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1ad0]
test rcx, rcx
je 0x16010322e
mov edx, 0x46
call fcn.1600cbd70
mov r11, rax
mov qword [r14 + 0x1dc0], r11
test r11, r11
je 0x160103240
mov eax, r12d
xchg dword [r11], eax
mov rcx, qword [r14 + 0x1cf8]
test rcx, rcx
je 0x160103251
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1db8]
test rcx, rcx
je 0x160103262
mov eax, r12d
xchg dword [rcx], eax
mov rcx, qword [r14 + 0x1dc0]
test rcx, rcx
je 0x160103273
mov eax, r12d
xchg dword [rcx], eax
mov dword [r14 + 0x1dc8], r12d
lea r8, [r14 + 0x228]
lea rdx, str.PerformanceLevel
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x1601032b2
mov dword [r14 + 0x228], 3
lea r8d, [rax + 3]
lea rdx, str.PerformanceLevel
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0x4f0]
lea rdx, str.RobotThreadsNumber
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x1601032e5
mov dword [r14 + 0x4f0], r12d
xor r8d, r8d
lea rdx, str.RobotThreadsNumber
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xde0]
lea rdx, str.RetryIntervalSharingViolationSeconds
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x16010331d
mov dword [r14 + 0xde0], 5
lea r8d, [rax + 5]
lea rdx, str.RetryIntervalSharingViolationSeconds
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xde4]
lea rdx, str.RetryIntervalSeconds
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103355
mov dword [r14 + 0xde4], 0x78
lea r8d, [rax + 0x78]
lea rdx, str.RetryIntervalSeconds
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xdec]
lea rdx, str.FilterHostProcessTimeout
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x16010338f
mov dword [r14 + 0xdec], 0x1d4c0
mov r8d, 0x1d4c0
lea rdx, str.FilterHostProcessTimeout
mov rcx, r14
call fcn.160006980
lea r8, [rsp + 0x40]
lea rdx, str.DisableBackOff
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x1601033c2
mov dword [r14 + 0xdf8], r12d
xor r8d, r8d
lea rdx, str.DisableBackOff
mov rcx, r14
call fcn.160006980
jmp 0x1601033cd
mov eax, dword [rsp + 0x40]
mov dword [r14 + 0xdf8], eax
lea r8, [rsp + 0x70]
lea rdx, str.DisableBackOffOnUser
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103400
mov dword [r14 + 0xdfc], r12d
xor r8d, r8d
lea rdx, str.DisableBackOffOnUser
mov rcx, r14
call fcn.160006980
jmp 0x16010340b
mov eax, dword [rsp + 0x70]
mov dword [r14 + 0xdfc], eax
lea r8, [rsp + 0x74]
lea rdx, str.DisableBackOffOnNotifications
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103443
mov dword [r14 + 0xe00], 1
lea r8d, [rax + 1]
lea rdx, str.DisableBackOffOnNotifications
mov rcx, r14
call fcn.160006980
jmp 0x16010344e
mov eax, dword [rsp + 0x74]
mov dword [r14 + 0xe00], eax
lea r8, [rsp + 0x78]
lea rdx, str.DisableBackOffNotificationOverride
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103486
mov dword [r14 + 0xe04], 1
lea r8d, [rax + 1]
lea rdx, str.DisableBackOffNotificationOverride
mov rcx, r14
call fcn.160006980
jmp 0x160103491
mov eax, dword [rsp + 0x78]
mov dword [r14 + 0xe04], eax
lea r8, [r14 + 0xe0c]
lea rdx, str.BackOffDelay
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x1601034c9
mov dword [r14 + 0xe0c], 0xa
lea r8d, [rax + 0xa]
lea rdx, str.BackOffDelay
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xe10]
lea rdx, str.BackOffNotificationsRateThreshold
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x1601034fc
mov dword [r14 + 0xe10], r12d
xor r8d, r8d
lea rdx, str.BackOffNotificationsRateThreshold
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xe18]
lea rdx, str.BackOffLowMemoryThresholdKB
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103536
mov dword [r14 + 0xe18], 0x10000
mov r8d, 0x10000
lea rdx, str.BackOffLowMemoryThresholdKB
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xe1c]
lea rdx, str.BackOffLowDiskThresholdMB
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103570
mov dword [r14 + 0xe1c], 0x258
mov r8d, 0x258
lea rdx, str.BackOffLowDiskThresholdMB
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xe20]
lea rdx, str.BackOffNotificationsProcessingDelay
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x1601035a3
mov dword [r14 + 0xe20], r12d
xor r8d, r8d
lea rdx, str.BackOffNotificationsProcessingDelay
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xe24]
lea rdx, str.BackOffDelayedNotificationsLimit
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x1601035d6
mov dword [r14 + 0xe24], r12d
xor r8d, r8d
lea rdx, str.BackOffDelayedNotificationsLimit
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xe28]
lea rdx, str.BackOffNotificationsForceAtMost
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103609
mov dword [r14 + 0xe28], r12d
xor r8d, r8d
lea rdx, str.BackOffNotificationsForceAtMost
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xe34]
lea rdx, str.BackOffFlushInterval
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x16010363c
mov dword [r14 + 0xe34], r12d
xor r8d, r8d
lea rdx, str.BackOffFlushInterval
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xe2c]
lea rdx, str.BackOffOnUserActivityInterval1
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103674
mov dword [r14 + 0xe2c], 0x46
lea r8d, [rax + 0x46]
lea rdx, str.BackOffOnUserActivityInterval1
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xe30]
lea rdx, str.BackOffOnUserActivityInterval2
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x1601036ac
mov dword [r14 + 0xe30], 0x28
lea r8d, [rax + 0x28]
lea rdx, str.BackOffOnUserActivityInterval2
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xe38]
lea rdx, str.BackOffTimerInactivityThreshold
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x1601036e6
mov dword [r14 + 0xe38], 0xea60
mov r8d, 0xea60
lea rdx, str.BackOffTimerInactivityThreshold
mov rcx, r14
call fcn.160006980
mov ecx, dword [r14 + 0x228]
mov rax, qword [r14 + 0x1d10]
test rax, rax
je 0x1601036fb
xchg dword [rax], ecx
mov rcx, r14
call fcn.1601000a8
mov qword [rsp + 0x50], r12
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [0x1601fba18]
xor edx, edx
lea r8d, [rdx + 0x17]
lea rcx, [0x1601f6768]
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoCreateInstance]
mov ebx, eax
test eax, eax
jns 0x160103778
test dword [0x160274340], 0x800
je 0x16010374e
mov r8d, eax
lea rdx, [0x1601f8d90]
call fcn.1600c260c
nop
lea rcx, [rsp + 0x50]
call fcn.160002750
nop
mov rcx, qword [rsp + 0x68]
call fcn.160045454
nop
lea rcx, [rsp + 0x380]
call fcn.16005ab2c
mov eax, ebx
jmp 0x160104c44
lea rdi, [r14 + 0xf98]
mov rdx, qword [rsp + 0x50]
mov rcx, rdi
call fcn.1600adef8
mov rcx, qword [rdi]
add rcx, 8
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [case.0x16003fc5a.0]
mov ebx, eax
test eax, eax
jns 0x160103808
mov rcx, qword [rsp + 0x21c8]
mov r9d, eax
lea r8, [0x1601db300]
mov edx, 0x1ea
call fcn.1600c1418
test dword [0x160274340], 0x800
je 0x1601037de
mov r8d, ebx
lea rdx, [0x1601f8d90]
call fcn.1600c260c
nop
lea rcx, [rsp + 0x50]
call fcn.160002750
nop
mov rcx, qword [rsp + 0x68]
call fcn.160045454
nop
lea rcx, [rsp + 0x380]
call fcn.16005ab2c
mov eax, ebx
jmp 0x160104c44
lea rax, [0x1601bf710]
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x298], r14
lea rax, [rsp + 0x290]
mov qword [rsp + 0x2a8], rax
xor edx, edx
lea r8d, [rdx + 0x20]
lea rcx, [rsp + 0x180]
call sub.msvcrt.dll_memset
mov dword [rsp + 0x188], r12d
lea rax, str.DisableBackoff
mov qword [rsp + 0x180], rax
movups xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x230], xmm0
movups xmm1, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0x240], xmm1
lea rdx, [rsp + 0x290]
lea rcx, [rsp + 0x230]
call fcn.160010c90
mov ebx, r12d
test eax, eax
setne bl
mov edx, dword [r14 + 0x228]
mov rcx, qword [rdi]
call fcn.1600f8afc
mov r8d, ebx
xor edx, edx
mov rcx, qword [rdi]
call fcn.1600f88ac
mov r8d, dword [r14 + 0xdfc]
mov edx, 1
mov rcx, qword [rdi]
call fcn.1600f88ac
mov r8d, dword [r14 + 0xe00]
mov edx, 3
mov rcx, qword [rdi]
call fcn.1600f88ac
mov r8d, dword [r14 + 0xe04]
mov edx, 5
mov rcx, qword [rdi]
call fcn.1600f88ac
mov r8d, dword [r14 + 0xe0c]
test r8d, r8d
je 0x160103907
mov edx, 9
mov rcx, qword [rdi]
call fcn.1600f897c
mov r8d, dword [r14 + 0xe10]
test r8d, r8d
je 0x160103920
mov edx, 1
mov rcx, qword [rdi]
call fcn.1600f897c
mov r8d, dword [r14 + 0xe24]
test r8d, r8d
je 0x160103939
mov edx, 5
mov rcx, qword [rdi]
call fcn.1600f897c
mov r8d, dword [r14 + 0xe28]
test r8d, r8d
je 0x160103952
mov edx, 8
mov rcx, qword [rdi]
call fcn.1600f897c
mov r8d, dword [r14 + 0xe38]
test r8d, r8d
je 0x16010396b
mov edx, reloc.OLEAUT32.dll_SafeArrayCreate
mov rcx, qword [rdi]
call fcn.1600f897c
mov r8d, dword [r14 + 0xe2c]
mov edx, SafeArrayDestroy
mov rcx, qword [rdi]
call fcn.1600f897c
mov r8d, dword [r14 + 0xe30]
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, qword [rdi]
call fcn.1600f897c
mov r8d, dword [r14 + 0xe18]
mov edx, 2
mov rcx, qword [rdi]
call fcn.1600f897c
xor r8d, r8d
lea edx, [r8 + 3]
mov rcx, qword [rdi]
call fcn.1600f897c
nop
lea rax, [0x1601bf748]
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], r14
lea rax, [rsp + 0x270]
mov qword [rsp + 0x288], rax
xor edx, edx
lea r8d, [rdx + 0x20]
lea rcx, [rsp + 0x1a0]
call sub.msvcrt.dll_memset
mov dword [rsp + 0x1a8], r12d
lea rax, str.PreventIndexingLowDiskSpaceMB
mov qword [rsp + 0x1a0], rax
movups xmm0, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0x250], xmm0
movups xmm1, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0x260], xmm1
lea rdx, [rsp + 0x270]
lea rcx, [rsp + 0x250]
call fcn.160010c90
test eax, eax
je 0x160103a4a
mov r8d, dword [r14 + 0xe1c]
jmp 0x160103a4d
mov r8d, r12d
mov edx, 0xa
mov rcx, qword [rdi]
call fcn.1600f897c
mov r8d, dword [r14 + 0xe20]
mov edx, 4
mov rcx, qword [rdi]
call fcn.1600f897c
mov r8d, dword [r14 + 0xe34]
mov edx, reloc.OLEAUT32.dll_DosDateTimeToVariantTime
mov rcx, qword [rdi]
call fcn.1600f897c
lea r8, [r14 + 0x4d8]
lea rdx, str.MaxGrowFactor
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103aba
mov dword [r14 + 0x4d8], 4
lea r8d, [rax + 4]
lea rdx, str.MaxGrowFactor
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0x4dc]
lea rdx, str.ConnectTimeout
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103af2
mov dword [r14 + 0x4dc], 0x14
lea r8d, [rax + 0x14]
lea rdx, str.ConnectTimeout
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0x4e0]
lea rdx, str.DataTimeout
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103b2a
mov dword [r14 + 0x4e0], 0x14
lea r8d, [rax + 0x14]
lea rdx, str.DataTimeout
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0x4e4]
lea rdx, str.RetryLimit
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103b62
mov dword [r14 + 0x4e4], 4
lea r8d, [rax + 4]
lea rdx, str.RetryLimit
mov rcx, r14
call fcn.160006980
lea r8, [rsp + 0x7c]
lea rdx, str.DebugFilters
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103b95
mov dword [r14 + 0x4e8], r12d
xor r8d, r8d
lea rdx, str.DebugFilters
mov rcx, r14
call fcn.160006980
jmp 0x160103ba0
mov eax, dword [rsp + 0x7c]
mov dword [r14 + 0x4e8], eax
lea r8, [rsp + 0x80]
lea rdx, str.DebugWordBreakers
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103bd6
mov dword [r14 + 0x4ec], r12d
xor r8d, r8d
lea rdx, str.DebugWordBreakers
mov rcx, r14
call fcn.160006980
jmp 0x160103be4
mov eax, dword [rsp + 0x80]
mov dword [r14 + 0x4ec], eax
lea r8, [r14 + 0x230]
lea rdx, str.UserAgent
mov rcx, r14
call fcn.16005a7b0
lea r8, [r14 + 0x290]
lea rdx, str.EmailAddress
mov rcx, r14
call fcn.16005a7b0
lea r8, [r14 + 0x188]
lea rdx, str.DefaultApplicationsPath
mov rcx, r14
call fcn.16005a7b0
lea r8, [r14 + 0x2f0]
lea rdx, [0x1601faf28]
mov rcx, r14
call fcn.16005a7b0
lea r8, [rsp + 0x84]
lea rdx, str.UseSystemTemp
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103c77
mov dword [r14 + 0x430], 1
lea r8d, [rax + 1]
lea rdx, str.UseSystemTemp
mov rcx, r14
call fcn.160006980
jmp 0x160103c85
mov eax, dword [rsp + 0x84]
mov dword [r14 + 0x430], eax
lea r8, [r14 + 0x510]
lea rdx, str.UseProxy
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103cb8
mov dword [r14 + 0x510], r12d
xor r8d, r8d
lea rdx, str.UseProxy
mov rcx, r14
call fcn.160006980
lea r8, [rsp + 0x88]
lea rdx, str.LocalByPassProxy
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103cee
mov dword [r14 + 0x514], r12d
xor r8d, r8d
lea rdx, str.LocalByPassProxy
mov rcx, r14
call fcn.160006980
jmp 0x160103cfc
mov eax, dword [rsp + 0x88]
mov dword [r14 + 0x514], eax
lea r8, [r14 + 0x518]
lea rdx, str.ProxyName
mov rcx, r14
call fcn.16005a7b0
lea r8, [r14 + 0x5b8]
lea rdx, str.PortNumber
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103d45
mov dword [r14 + 0x5b8], r12d
xor r8d, r8d
lea rdx, str.PortNumber
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0x5c0]
lea rdx, str.ByPassList
mov rcx, r14
call fcn.16005a7b0
lea r8, [r14 + 0x4f4]
lea rdx, str.FilterProcessMemoryQuota
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103d95
mov dword [r14 + 0x4f4], 0x6400000
mov r8d, 0x6400000
lea rdx, str.FilterProcessMemoryQuota
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0x4f8]
lea rdx, str.DedicatedFilterProcessMemoryQuota
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103dcf
mov dword [r14 + 0x4f8], 0x6400000
mov r8d, 0x6400000
lea rdx, str.DedicatedFilterProcessMemoryQuota
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0x4fc]
lea rdx, str.PluginPingFrequency
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103e07
mov dword [r14 + 0x4fc], 2
lea r8d, [rax + 2]
lea rdx, str.PluginPingFrequency
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0x500]
lea rdx, str.EvictionCheckFrequency
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103e3f
mov dword [r14 + 0x500], 5
lea r8d, [rax + 5]
lea rdx, str.EvictionCheckFrequency
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0x504]
lea rdx, str.MinEvictionTime
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103e79
mov dword [r14 + 0x504], 0x278d00
mov r8d, 0x278d00
lea rdx, str.MinEvictionTime
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0x508]
lea rdx, str.GathererHeartbeat
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103eb1
mov dword [r14 + 0x508], 0x3c
lea r8d, [rax + 0x3c]
lea rdx, str.GathererHeartbeat
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0x50c]
lea rdx, str.LinksInMemoryCacheSize
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103ee9
mov dword [r14 + 0x50c], 0x64
lea r8d, [rax + 0x64]
lea rdx, str.LinksInMemoryCacheSize
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xdf0]
lea rdx, str.StoreAppSizeReportThresholdInPercent
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103f21
mov dword [r14 + 0xdf0], 0x19
lea r8d, [rax + 0x19]
lea rdx, str.StoreAppSizeReportThresholdInPercent
mov rcx, r14
call fcn.160006980
lea r8, [r14 + 0xdf4]
lea rdx, str.StoreAppSizePerDocumentInByte
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103f59
mov dword [r14 + 0xdf4], 0x14
lea r8d, [rax + 0x14]
lea rdx, str.StoreAppSizePerDocumentInByte
mov rcx, r14
call fcn.160006980
lea r8, [rsp + 0x8c]
lea rdx, str.IgnoreCertCNError
mov rcx, r14
call fcn.16005a9b0
test eax, eax
jne 0x160103f8f
mov dword [r14 + 0xde8], r12d
xor r8d, r8d
lea rdx, str.IgnoreCertCNError
mov rcx, r14
call fcn.160006980
jmp 0x160103f9d
mov eax, dword [rsp + 0x8c]
mov dword [r14 + 0xde8], eax
lea rax, [rsp + 0x2f8]
mov qword [rsp + 0x2e8], rax
mov qword [rsp + 0x2f0], 0x41
mov word [rsp + 0x2f8], r12w
lea rax, fcn.160040970
mov qword [rsp + 0x2e0], rax
xor edx, edx
lea rcx, [rsp + 0x2e0]
call fcn.160034ad4
mov rdx, rax
mov ecx, 0x41
call qword [sym.imp.api_ms_win_core_file_l1_2_0.dll_GetTempPathW]
mov ebx, eax
cmp eax, dword [rsp + 0x2f0]
jbe 0x160104015
mov rcx, qword [rsp + 0x2190]
xor rcx, rsp
call fcn.16006e590
lea r11, [rsp + 0x21a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret