Function at 0x140003b50
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 [0x140020030]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov rbx, rcx
lea rcx, [rbp - 0x78]
call fcn.140005300
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 0x140003bbe
cmp qword [rbp - 0x60], 8
jb 0x140003bb7
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.mfc100u.dll_CThreadLocalObject::CThreadLocalObject]
xor eax, eax
jmp 0x1400041e1
mov r8d, 0xf
lea rdx, str.LogSetting.ini
lea rcx, [rbp - 0x78]
call fcn.140002320
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 0x140003c2d
mov qword [rbp - 0x10], 7
mov qword [rbp - 0x18], rsi
mov word [rbp - 0x28], si
lea rdx, [rbp - 0x28]
call fcn.1400026c0
xor r8d, r8d
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x50]
call fcn.140002a10
nop
cmp qword [rbp - 0x10], 8
jb 0x140003c2d
mov rcx, qword [rbp - 0x28]
call qword [sym.imp.mfc100u.dll_CThreadLocalObject::CThreadLocalObject]
mov edi, esi
cmp qword [rbp - 0x40], rdi
je 0x140003e90
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.140001520
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.1400010b0
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.1400010b0
nop
lea r9, [rbp - 0x28]
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x50]
lea rcx, [rbp]
call fcn.140003950
nop
lea rcx, [rbx + 0x98]
mov rdx, rax
call fcn.140001d20
nop
cmp qword [rbp + 0x18], 8
jb 0x140003e83
mov rcx, qword [rbp]
call qword [sym.imp.mfc100u.dll_CThreadLocalObject::CThreadLocalObject]
cmp qword [rbp - 0x40], 0
je 0x140003e90
cmp dword [rbx + 0x30], 0xffffffff
jne 0x140003ebb
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 0x140003ec8
cmp dword [rbx + 0x60], 0xffffffff
jne 0x140003ef0
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 0x140003efd
cmp dword [rbx + 0x64], 0xffffffff
jne 0x140003f25
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 0x140003f32
cmp dword [rbx + 0x68], 0xffffffff
jne 0x140003f5a
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 0x140003f67
cmp dword [rbx + 0x6c], 0xffffffff
jne 0x140003f8f
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 0x140003f9b
cmp edi, 0xffffffff
jne 0x140003fc2
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 0x140003fe0
cmp dword [rbx + 0x6c], edi
jne 0x140003fe0
lea rcx, [rbx + 0x70]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x50]
call fcn.1400010b0
cmp qword [rbp - 0x40], 0
je 0x140003ff0
cmp dword [rbx + 0xc0], 0xffffffff
jne 0x14000401b
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 0x14000402b
cmp dword [rbx + 0xc4], 0xffffffff
jne 0x140004056
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 0x14000406b
cmp qword [rbx + 0xa8], 0
jne 0x140004132
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.140001520
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.140001520
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.1400010b0
nop
lea r9, [rsp + 0x20]
lea r8, [rbp - 0x28]
lea rdx, [rsp + 0x50]
lea rcx, [rbp]
call fcn.140003950
nop
lea rcx, [rbx + 0x98]
mov rdx, rax
call fcn.140001d20
nop
cmp qword [rbp + 0x18], 8
jb 0x140004132
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 0x140004193
mov dword [rbx + 0x30], 6
mov eax, dword [rbx + 0x30]
cmp eax, 6
jne 0x1400041a5
mov qword [rbx + 0x64], rsi
mov dword [rbx + 0xc8], esi
mov ebx, esi
cmp eax, 6
setne bl
cmp qword [rbp - 0x38], 8
jb 0x1400041be
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 0x1400041df
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.140012160
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