Function at 0x140003240
Capabilities:
Read .ini file

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x38]
sub rsp, 0x130
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140021030]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov rbx, rcx
lea rcx, [rbp - 0x78]
call fcn.1400049f0
nop
lea rcx, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rcx, qword [rbp - 0x78]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1400032ae
cmp qword [rbp - 0x60], 8
jb 0x1400032a7
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.mfc100u.dll_CThreadLocalObject::CThreadLocalObject]
xor eax, eax
jmp 0x1400038d1
mov r8d, 0xf
lea rdx, str.LogSetting.ini
lea rcx, [rbp - 0x78]
call fcn.140002810
mov qword [rbp - 0x38], 7
xor esi, esi
mov qword [rbp - 0x40], rsi
mov word [rbp - 0x50], si
mov rcx, qword [rbx + 0xd0]
test rcx, rcx
je 0x14000331d
mov qword [rbp - 0x10], 7
mov qword [rbp - 0x18], rsi
mov word [rbp - 0x28], si
lea rdx, [rbp - 0x28]
call fcn.140010880
xor r8d, r8d
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x50]
call fcn.140010bd0
nop
cmp qword [rbp - 0x10], 8
jb 0x14000331d
mov rcx, qword [rbp - 0x28]
call qword [sym.imp.mfc100u.dll_CThreadLocalObject::CThreadLocalObject]
mov edi, esi
cmp qword [rbp - 0x40], rdi
je 0x140003580
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
or r8d, 0xffffffff
lea rdx, str.LogLevel
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0x30], eax
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
or r8d, 0xffffffff
lea rdx, str.ThreadSafeMode
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0x60], eax
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
or r8d, 0xffffffff
lea rdx, str.DumpJson
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0x64], eax
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
or r8d, 0xffffffff
lea rdx, str.DumpImage
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0x68], eax
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
or r8d, 0xffffffff
lea rdx, str.ModuleIsoration
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0x6c], eax
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
or r8d, 0xffffffff
lea rdx, str.ModuleSubDir
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, eax
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
or r8d, 0xffffffff
lea rdx, str.DisableTimestampPrefix
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0xc0], eax
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
or r8d, 0xffffffff
lea rdx, str.DumpCommand
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0xc4], eax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x48], rax
mov qword [rbp - 0x10], 7
mov qword [rbp - 0x18], rsi
mov word [rbp - 0x28], si
mov r8d, 8
lea rdx, str.ResetLog
lea rcx, [rbp - 0x28]
call fcn.1400016d0
nop
mov qword [rsp + 0x38], 7
mov qword [rsp + 0x30], rsi
mov word [rsp + 0x20], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x20]
call fcn.140001b90
nop
mov qword [rsp + 0x68], 7
mov qword [rsp + 0x60], rsi
mov word [rsp + 0x50], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x50]
call fcn.140001b90
nop
lea r9, [rbp - 0x28]
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x50]
lea rcx, [rbp]
call fcn.140003040
nop
lea rcx, [rbx + 0x98]
mov rdx, rax
call section..text
nop
cmp qword [rbp + 0x18], 8
jb 0x140003573
mov rcx, qword [rbp]
call qword [sym.imp.mfc100u.dll_CThreadLocalObject::CThreadLocalObject]
cmp qword [rbp - 0x40], 0
je 0x140003580
cmp dword [rbx + 0x30], 0xffffffff
jne 0x1400035ab
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
mov r8d, 6
lea rdx, str.LogLevel
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0x30], eax
cmp qword [rbp - 0x40], 0
je 0x1400035b8
cmp dword [rbx + 0x60], 0xffffffff
jne 0x1400035e0
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
xor r8d, r8d
lea rdx, str.ThreadSafeMode
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0x60], eax
cmp qword [rbp - 0x40], 0
je 0x1400035ed
cmp dword [rbx + 0x64], 0xffffffff
jne 0x140003615
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
xor r8d, r8d
lea rdx, str.DumpJson
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0x64], eax
cmp qword [rbp - 0x40], 0
je 0x140003622
cmp dword [rbx + 0x68], 0xffffffff
jne 0x14000364a
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
xor r8d, r8d
lea rdx, str.DumpImage
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0x68], eax
cmp qword [rbp - 0x40], 0
je 0x140003657
cmp dword [rbx + 0x6c], 0xffffffff
jne 0x14000367f
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
xor r8d, r8d
lea rdx, str.ModuleIsoration
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0x6c], eax
cmp qword [rbp - 0x40], 0
je 0x14000368b
cmp edi, 0xffffffff
jne 0x1400036b2
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
xor r8d, r8d
lea rdx, str.ModuleSubDir
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, eax
cmp edi, 1
jne 0x1400036d0
cmp dword [rbx + 0x6c], edi
jne 0x1400036d0
lea rcx, [rbx + 0x70]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x50]
call fcn.140001b90
cmp qword [rbp - 0x40], 0
je 0x1400036e0
cmp dword [rbx + 0xc0], 0xffffffff
jne 0x14000370b
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
xor r8d, r8d
lea rdx, str.DisableTimestampPrefix
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0xc0], eax
cmp qword [rbp - 0x40], 0
je 0x14000371b
cmp dword [rbx + 0xc4], 0xffffffff
jne 0x140003746
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
xor r8d, r8d
lea rdx, str.DumpCommand
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0xc4], eax
cmp qword [rbp - 0x40], 0
je 0x14000375b
cmp qword [rbx + 0xa8], 0
jne 0x140003822
lea rax, [rsp + 0x20]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x38], 7
mov qword [rsp + 0x30], rsi
mov word [rsp + 0x20], si
mov r8d, 8
lea rdx, str.ResetLog
lea rcx, [rsp + 0x20]
call fcn.1400016d0
nop
mov qword [rbp - 0x10], 7
mov qword [rbp - 0x18], rsi
mov word [rbp - 0x28], si
mov r8d, 7
lea rdx, str.Setting
lea rcx, [rbp - 0x28]
call fcn.1400016d0
nop
mov qword [rsp + 0x68], 7
mov qword [rsp + 0x60], rsi
mov word [rsp + 0x50], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x50]
call fcn.140001b90
nop
lea r9, [rsp + 0x20]
lea r8, [rbp - 0x28]
lea rdx, [rsp + 0x50]
lea rcx, [rbp]
call fcn.140003040
nop
lea rcx, [rbx + 0x98]
mov rdx, rax
call section..text
nop
cmp qword [rbp + 0x18], 8
jb 0x140003822
mov rcx, qword [rbp]
call qword [sym.imp.mfc100u.dll_CThreadLocalObject::CThreadLocalObject]
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
xor r8d, r8d
lea rdx, str.DumpTwain
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0xc8], eax
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
xor r8d, r8d
lea rdx, str.PerformanceCheck
lea rcx, str.Setting
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbx + 0xcc], eax
test eax, eax
je 0x140003883
mov dword [rbx + 0x30], 6
mov eax, dword [rbx + 0x30]
cmp eax, 6
jne 0x140003895
mov qword [rbx + 0x64], rsi
mov dword [rbx + 0xc8], esi
mov ebx, esi
cmp eax, 6
setne bl
cmp qword [rbp - 0x38], 8
jb 0x1400038ae
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.mfc100u.dll_CThreadLocalObject::CThreadLocalObject]
mov qword [rbp - 0x38], 7
mov qword [rbp - 0x40], rsi
mov word [rbp - 0x50], si
cmp qword [rbp - 0x60], 8
jb 0x1400038cf
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.mfc100u.dll_CThreadLocalObject::CThreadLocalObject]
mov eax, ebx
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.1400121a0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret