Function at 0x4107ecf0
Capabilities:
Check if file exists
Read .ini file

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0xba0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x41359af8]
xor rax, rsp
mov qword [rsp + 0xb90], rax
mov r13, rcx
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov rcx, qword [r13 + 0x270]
mov rax, qword [rcx]
mov edx, 0x9f
call qword [rax]
mov ebp, eax
mov word [rsp + 0x140], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x142]
call fcn.412121c0
mov word [rsp + 0x770], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x772]
call fcn.412121c0
mov word [rsp + 0x560], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x562]
call fcn.412121c0
mov word [rsp + 0xb8], 0
xor eax, eax
mov qword [rsp + 0xba], rax
mov qword [rsp + 0xc2], rax
mov word [rsp + 0xca], ax
mov word [rsp + 0x350], ax
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x352]
call fcn.412121c0
mov word [rsp + 0xa0], 0
xor eax, eax
mov qword [rsp + 0xa2], rax
mov qword [rsp + 0xaa], rax
mov word [rsp + 0xb2], ax
mov word [rsp + 0xd0], ax
xor edx, edx
lea r8d, [rax + 0x62]
lea rcx, [rsp + 0xd2]
call fcn.412121c0
mov word [rsp + 0x980], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x982]
call fcn.412121c0
xor r14d, r14d
mov rax, qword [0x4135c018]
test rax, rax
jne 0x4107ee79
mov ecx, 0x2d0
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4107ee6f
mov rcx, rax
call fcn.410228e0
jmp 0x4107ee72
mov rax, r14
mov qword [0x4135c018], rax
mov rcx, rax
call fcn.4102a850
mov rsi, rax
mov edx, 7
mov qword [rsp + 0x98], rdx
mov r8, r14
mov qword [rsp + 0x90], r14
mov word [rsp + 0x80], r8w
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rbx, rcx
movabs r12, 0x7ffffffffffffffe
cmp rcx, r12
jbe 0x4107eedf
call fcn.4120fbc0
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x90]
cmp rdx, rbx
jae 0x4107eefb
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.41022ab0
mov rdx, qword [rsp + 0x98]
jmp 0x4107ef22
test rbx, rbx
jne 0x4107ef22
mov qword [rsp + 0x90], r14
lea rax, [rsp + 0x80]
cmp rdx, 8
cmovae rax, qword [rsp + 0x80]
mov word [rax], bx
jmp 0x4107ef76
test rbx, rbx
je 0x4107ef76
lea rcx, [rsp + 0x80]
cmp rdx, 8
cmovae rcx, qword [rsp + 0x80]
lea rdi, [rbx + rbx]
add rdx, rdx
mov r9, rdi
mov r8, rsi
call fcn.412118b0
mov qword [rsp + 0x90], rbx
lea rax, [rsp + 0x80]
cmp qword [rsp + 0x98], 8
cmovae rax, qword [rsp + 0x80]
mov word [rdi + rax], 0
mov rax, qword [0x4135c018]
test rax, rax
jne 0x4107efaa
mov ecx, 0x2d0
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4107efa0
mov rcx, rax
call fcn.410228e0
jmp 0x4107efa3
mov rax, r14
mov qword [0x4135c018], rax
mov rcx, rax
call fcn.4102a810
mov rsi, rax
mov edx, 7
mov qword [rsp + 0x70], rdx
mov r8, r14
mov qword [rsp + 0x68], r14
mov word [rsp + 0x58], r8w
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rbx, rcx
cmp rcx, r12
jbe 0x4107eff7
call fcn.4120fbc0
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
cmp rdx, rbx
jae 0x4107f010
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.41022ab0
mov rdx, qword [rsp + 0x70]
jmp 0x4107f02e
test rbx, rbx
jne 0x4107f02e
mov qword [rsp + 0x68], r14
lea rax, [rsp + 0x58]
cmp rdx, 8
cmovae rax, qword [rsp + 0x58]
mov word [rax], bx
jmp 0x4107f070
test rbx, rbx
je 0x4107f070
lea rcx, [rsp + 0x58]
cmp rdx, 8
cmovae rcx, qword [rsp + 0x58]
lea rdi, [rbx + rbx]
add rdx, rdx
mov r9, rdi
mov r8, rsi
call fcn.412118b0
mov qword [rsp + 0x68], rbx
lea rax, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rax, qword [rsp + 0x58]
mov word [rdi + rax], 0
lea rcx, [rsp + 0x80]
cmp qword [rsp + 0x98], 8
cmovae rcx, qword [rsp + 0x80]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4107f0b3
lea rcx, [rsp + 0x80]
cmp qword [rsp + 0x98], 8
cmovae rcx, qword [rsp + 0x80]
call fcn.410522e0
lea rcx, [rsp + 0x80]
cmp qword [rsp + 0x98], 8
cmovae rcx, qword [rsp + 0x80]
lea rdx, [rsp + 0x140]
nop
nop
nop
movzx eax, word [rcx]
mov word [rdx], ax
add rcx, 2
add rdx, 2
test ax, ax
jne 0x4107f0e0
mov rcx, r14
lea rbx, [0x41000000]
nop
movzx eax, word [rcx + rbx + 0x29a338]
mov word [rsp + rcx + 0x770], ax
add rcx, 2
test ax, ax
jne 0x4107f100
movzx eax, word [rsp + 0x36]
movzx r9d, word [rsp + 0x32]
movzx r8d, word [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rdx, str._.4d_.2d_.2d
lea rcx, [rsp + 0x560]
call fcn.412122b0
movzx eax, word [rsp + 0x36]
movzx r9d, word [rsp + 0x32]
movzx r8d, word [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rdx, str._.4d_.2d_.2d
lea rcx, [rsp + 0xa0]
call fcn.412122b0
test ebp, ebp
jne 0x4107f1ce
lea rdi, [rsp + 0x140]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov rax, qword [str.UseData.ini]
mov qword [rdi - 2], rax
mov rax, qword [0x412a8b30]
mov qword [rdi + 6], rax
mov rax, qword [0x412a8b38]
mov qword [rdi + 0xe], rax
mov rcx, r14
nop
nop
nop
movzx eax, word [rcx + rbx + 0x2a8b08]
mov word [rsp + rcx + 0xd0], ax
add rcx, 2
test ax, ax
jne 0x4107f1b0
jmp 0x4107f280
mov r8d, ebp
lea rdx, [0x412cafe4]
lea rcx, [rsp + 0xb8]
call fcn.412122b0
lea rdi, [rsp + 0x140]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov rax, qword [str.UseData]
mov qword [rdi - 2], rax
mov rax, qword [0x4129a340]
mov qword [rdi + 6], rax
lea rdi, [rsp + 0x140]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
lea rdx, [rsp + 0xb8]
xor ecx, ecx
nop
nop
nop
movzx eax, word [rdx + rcx]
mov word [rdi + rcx - 2], ax
add rcx, 2
test ax, ax
jne 0x4107f230
lea rdi, [rsp + 0x140]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov rax, qword [str..ini]
mov qword [rdi - 2], rax
movzx eax, word [0x4129a2a0]
mov word [rdi + 6], ax
mov r8d, ebp
lea rdx, str.OutWordTotal_d
lea rcx, [rsp + 0xd0]
call fcn.412122b0
lea r9, [rsp + 0x140]
xor r8d, r8d
lea rdx, [rsp + 0x560]
lea rcx, [rsp + 0x770]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov r12d, eax
lea r9, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae r9, qword [rsp + 0x58]
xor r8d, r8d
lea rdx, [rsp + 0xd0]
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebp, eax
lea r9, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae r9, qword [rsp + 0x58]
xor r8d, r8d
lea rdx, str.LastUseDate
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebx, eax
lea rcx, [rsp + 0xa0]
call fcn.41214380
mov edi, eax
lea r9, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae r9, qword [rsp + 0x58]
xor r8d, r8d
lea rdx, str.TodayOutWordTotal
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov esi, eax
cmp edi, ebx
je 0x4107f366
mov esi, r14d
lea r9, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae r9, qword [rsp + 0x58]
lea r8, [rsp + 0xa0]
lea rdx, str.LastUseDate
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov eax, dword [r13 + 0x170]
add esi, eax
lea r8d, [r12 + rax]
add ebp, eax
lea rdx, [0x412cafe4]
lea rcx, [rsp + 0x350]
call fcn.412122b0
lea r9, [rsp + 0x140]
lea r8, [rsp + 0x350]
lea rdx, [rsp + 0x560]
lea rcx, [rsp + 0x770]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov r8d, esi
lea rdx, [0x412cafe4]
lea rcx, [rsp + 0x350]
call fcn.412122b0
lea r9, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae r9, qword [rsp + 0x58]
lea r8, [rsp + 0x350]
lea rdx, str.TodayOutWordTotal
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov r8d, ebp
lea rdx, [0x412cafe4]
lea rcx, [rsp + 0x980]
call fcn.412122b0
lea r9, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae r9, qword [rsp + 0x58]
lea r8, [rsp + 0x980]
lea rdx, [rsp + 0xd0]
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov dword [r13 + 0x170], r14d
cmp qword [rsp + 0x70], 8
jb 0x4107f451
mov rcx, qword [rsp + 0x58]
call fcn.41210d60
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r14
mov word [rsp + 0x58], 0
cmp qword [rsp + 0x98], 8
jb 0x4107f47e
mov rcx, qword [rsp + 0x80]
call fcn.41210d60
mov rcx, qword [rsp + 0xb90]
xor rcx, rsp
call fcn.41211b80
lea r11, [rsp + 0xba0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret