Function at 0x140016480
Capabilities:
Delete file
Get file attributes
Read .ini file
Set file attributes

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
mov eax, 0x2430
call fcn.14005a020
sub rsp, rax
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x2470], rbx
mov rax, qword [0x140092690]
xor rax, rsp
mov qword [rsp + 0x2420], rax
mov r14, rdx
mov rdi, rcx
mov edx, 0x1000
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strnlen]
mov rbp, rax
xor eax, eax
mov qword [rsp + 0x250], rax
mov qword [rsp + 0x258], rax
mov qword [rsp + 0x260], rax
mov qword [rsp + 0x268], rax
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], rax
mov word [rsp + 0x280], ax
mov word [rsp + 0x290], ax
xor edx, edx
mov r8d, 0x2182
lea rcx, [rsp + 0x292]
call sub.VCRUNTIME140.dll_memset
xor ebx, ebx
lea r15, str.BalloonTipTimeout
mov rsi, r15
cmp ebx, 0x11
jge 0x140016540
lea r8, [0x140065cb4]
jmp 0x140016565
cmp ebx, 0x1d
jge 0x14001654e
lea r8, str.ZCfgSvc
jmp 0x140016565
cmp ebx, 0x20
jge 0x14001655c
lea r8, [0x140065d64]
jmp 0x140016565
jne 0x140016578
lea r8, str.ChkSum
mov edx, 0x32
lea rcx, [rsp + 0x250]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
movsxd rax, ebx
imul rcx, rax, 0x104
lea r9, [rsp + 0x290]
add r9, rcx
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], ebp
lea r8, [0x140064d60]
mov rdx, qword [rsi]
lea rcx, [rsp + 0x250]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
inc ebx
add rsi, 8
cmp ebx, 0x21
jl 0x140016532
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
and eax, 0xfffffffe
mov edx, eax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
lea rbx, [rsp + 0x290]
mov esi, 0xa
nop word [rax + rax]
mov r9, r14
mov r8, rbx
mov rdx, qword [r15]
lea rcx, [0x140065cb4]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x140016634
lea edx, [rax + 1]
mov rcx, qword [rdi + 8]
call fcn.140025ed0
lea rdx, str._tCAppSettingConverter::UpdateUserIni90To100_______Write_INI_error_
mov rcx, qword [rdi + 8]
call fcn.140025be0
mov edx, 1
mov rcx, qword [rdi + 8]
call fcn.140025ed0
add rbx, 0x104
add r15, 8
sub rsi, 1
jne 0x1400165f0
lea rbx, str.1xCurrCredentialRetries
lea rsi, [rsp + 0x13d4]
mov ebp, VariantTimeToDosDateTime
nop dword [rax]
mov r9, r14
mov r8, rsi
mov rdx, qword [rbx]
lea rcx, str.ZCfgSvc
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x1400166a4
lea edx, [rax + 1]
mov rcx, qword [rdi + 8]
call fcn.140025ed0
lea rdx, str._tCAppSettingConverter::UpdateUserIni90To100_______Write_INI_error_
mov rcx, qword [rdi + 8]
call fcn.140025be0
mov edx, 1
mov rcx, qword [rdi + 8]
call fcn.140025ed0
add rsi, 0x104
add rbx, 8
sub rbp, 1
jne 0x140016660
lea rbx, str.LaunchLowTime
lea rsi, [rsp + 0x2004]
mov ebp, 2
nop dword [rax]
mov r9, r14
mov r8, rsi
mov rdx, qword [rbx]
lea rcx, [0x140065d64]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x140016714
lea edx, [rax + 1]
mov rcx, qword [rdi + 8]
call fcn.140025ed0
lea rdx, str._tCAppSettingConverter::UpdateUserIni90To100_______Write_INI_error_
mov rcx, qword [rdi + 8]
call fcn.140025be0
mov edx, 1
mov rcx, qword [rdi + 8]
call fcn.140025ed0
add rsi, 0x104
add rbx, 8
sub rbp, 1
jne 0x1400166d0
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
call qword [sym.imp.IntStngs.dll_public:_void___cdecl_CUserSettings::constructor_unsigned_long_int__int____ptr64]
nop
mov rdx, r14
lea rcx, [rsp + 0x40]
call qword [sym.imp.IntStngs.dll_public:_int___cdecl_CUserSettings::SetChecksum_char_const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.IntStngs.dll_public:_void___cdecl_CUserSettings::destructor_void____ptr64]
mov rcx, qword [rsp + 0x2420]
xor rcx, rsp
call fcn.140059ef0
mov rbx, qword [rsp + 0x2470]
add rsp, 0x2430
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret