Function at 0x140009d88
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rdi
push r12
push r13
push r14
sub rsp, 0x30
lea rdx, [rsp + 0x68]
mov rdi, rcx
call fcn.14000afbc
mov rbx, qword [rsp + 0x68]
cmp dword [rbx - 0x10], 0
je 0x140009f04
lea r13, str.LoggingSettings
lea rdx, str.EnableLogging
mov r9, rbx
mov rcx, r13
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.ShowTime
mov r9, rbx
test eax, eax
mov r8d, 1
mov rcx, r13
setne al
mov byte [rdi + 0x98], al
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.LogToFile
test eax, eax
mov r9, rbx
mov rcx, r13
setne al
xor r8d, r8d
mov byte [rdi + 0x9a], al
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.LogToOutputDebug
test eax, eax
mov r9, rbx
mov rcx, r13
setne al
xor r8d, r8d
mov byte [rdi + 0x9b], al
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.AppendToFile
test eax, eax
mov r9, rbx
mov r8d, 1
setne al
mov rcx, r13
mov byte [rdi + 0xa8], al
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, 1
test eax, eax
mov r12d, 0x104
setne al
mov byte [rdi + 0xa9], al
mov rax, qword [rdi + 0xa0]
sub edx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, r12d
or edx, eax
jge 0x140009e98
lea rcx, [rdi + 0xa0]
mov edx, r12d
call fcn.14000422c
mov r9, qword [rdi + 0xa0]
lea r8, str.GoogleUpdate.log
lea rdx, str.LogFilePath
mov rcx, r13
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
jne 0x140009ed0
xor eax, eax
jmp 0x140009ed9
call fcn.14001be70
test eax, eax
js 0x140009ef9
mov rcx, qword [rdi + 0xa0]
cmp eax, dword [rcx - 0xc]
jg 0x140009ef9
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rdi + 0xa0]
and word [rax + rcx*2], 0
jmp 0x140009f49
mov ecx, 0x80070057
call fcn.140001000
int3
lea rcx, str.GoogleUpdate.log
mov byte [rdi + 0x98], 1
mov byte [rdi + 0x9a], 1
mov byte [rdi + 0x9b], 0
mov byte [rdi + 0xa8], 0
mov byte [rdi + 0xa9], 1
call fcn.14001be70
lea rdx, str.GoogleUpdate.log
lea rcx, [rdi + 0xa0]
mov r8d, eax
call fcn.140003c54
cmp byte [rdi + 0x99], 0
je 0x140009f59
mov byte [rdi + 0x9a], 1
mov byte [rdi], 1
mov dword [rdi + 4], 7
xor ebp, ebp
lea rax, str.LC_UTIL
mov r14, qword [rax + rbp]
movsxd r13, dword [rax + rbp + 8]
test r14, r14
je 0x140009fe9
cmp r13d, 0xb
jge 0x140009fe9
lea rdx, [rsp + 0x70]
mov rcx, rdi
mov r12d, 1
call fcn.14000afbc
mov rbx, qword [rsp + 0x70]
cmp dword [rbx - 0x10], 0
je 0x140009fb7
lea rcx, str.LoggingLevel
mov r9, rbx
mov r8d, r12d
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov r12d, eax
test r12d, r12d
mov dword [rdi + r13*8 + 4], r12d
lea rdx, [rbx - 0x18]
setne cl
or eax, 0xffffffff
mov byte [rdi + r13*8], cl
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140009fe2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rax, str.LC_UTIL
add rbp, 0x10
cmp rbp, 0xa0
jb 0x140009f6c
call fcn.140006188
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov qword [rdi + 0xb0], rax
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000a027
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret