Function at 0x4149f0
Capabilities:
Copy file
Move file
Read .ini file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x421368
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x10d4
call fcn.0041eb90
mov eax, dword [0x4300b8]
xor eax, esp
mov dword [esp + 0x10d0], eax
push ebx
push esi
push edi
mov eax, dword [0x4300b8]
xor eax, esp
push eax
lea eax, [esp + 0x10e8]
mov dword fs:[0], eax
mov edi, dword [sym.imp.MSVCR90.dll__wstat64i32]
lea eax, [esp + 0x3c]
push eax
push str.C:TSLOG_CONFIGTSLOG.ini
mov esi, ecx
call edi
add esp, 8
test eax, eax
je 0x414acd
lea ecx, [esp + 0x3c]
push ecx
push str.C:TSLOG_CONFIGTSLOG.txt
call edi
add esp, 8
test eax, eax
je 0x414abd
lea edx, [esp + 0x3c]
push edx
push str.C:TSLOG_CONFIGTSLOG.ini
call edi
add esp, 8
test eax, eax
je 0x414aa9
lea eax, [esp + 0x3c]
push eax
push str.C:TSLOG_CONFIGTSLOG.txt
call edi
add esp, 8
test eax, eax
je 0x414a99
push 0
mov eax, esi
call fcn.004122a0
xor eax, eax
jmp 0x415442
push str.C:TSLOG_CONFIGTSLOG.ini
push str.C:TSLOG_CONFIGTSLOG.txt
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push 0
push str.C:TSLOG_CONFIGTSLOG.ini
push str.C:TSLOG_CONFIGTSLOG.ini
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp 0x414acd
push str.C:TSLOG_CONFIGTSLOG.ini
push str.C:TSLOG_CONFIGTSLOG.txt
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov ecx, dword [esi + 0x2c]
xor edi, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x50], edi
jne 0x414b3b
push edi
push edi
push 4
push edi
push 1
push 0x40000000
push str.C:TSLOG_CONFIGTSLOG.ini
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x414b3b
mov eax, str.__Output__r_n_DebugView__________________ON______ON
mov dword [esp + 0x18], edi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414b10
push edi
sub eax, edx
lea edx, [esp + 0x1c]
push edx
push eax
push str.__Output__r_n_DebugView__________________ON______ON
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + 0x10], 1
xor eax, eax
push 0xffe
push eax
lea ecx, [esp + 0xe6]
push ecx
mov word [esp + 0xe8], ax
call sub.MSVCR90.dll_memset
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add esp, 0xc
push str.C:TSLOG_CONFIGTSLOG.ini
push 0x800
lea edx, [esp + 0xe4]
push edx
push 0x426588
push str.DebugView
push str.Output
call edi
mov ebx, dword [sym.imp.MSVCR90.dll__wcsicmp]
lea eax, [esp + 0xdc]
push 0x426588
push eax
call ebx
add esp, 8
test eax, eax
je 0x414beb
lea ecx, [esp + 0xdc]
push 0x4265b4
push ecx
call ebx
add esp, 8
test eax, eax
je 0x414beb
lea edx, [esp + 0xdc]
push 0x4265b8
push edx
call ebx
add esp, 8
test eax, eax
je 0x414be2
lea eax, [esp + 0xdc]
push 0x4265c0
push eax
call ebx
add esp, 8
test eax, eax
jne 0x414bf2
mov dword [esi + 0x28], 0
jmp 0x414bf2
mov dword [esi + 0x28], 1
cmp dword [esp + 0x10], 0
je 0x414c1f
cmp dword [esi + 0x28], 0
mov eax, 0x426588
jne 0x414c09
mov eax, 0x4265b8
push str.C:TSLOG_CONFIGTSLOG.ini
push eax
push str.DebugView
push str.Output
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push str.C:TSLOG_CONFIGTSLOG.ini
push 0x800
lea ecx, [esp + 0xe4]
push ecx
push 0x426588
push 0x4265c4
push str.Output
call edi
lea edx, [esp + 0xdc]
push 0x426588
push edx
call ebx
add esp, 8
test eax, eax
je 0x414ca3
lea eax, [esp + 0xdc]
push 0x4265b4
push eax
call ebx
add esp, 8
test eax, eax
je 0x414ca3
lea ecx, [esp + 0xdc]
push 0x4265b8
push ecx
call ebx
add esp, 8
test eax, eax
je 0x414c9a
lea edx, [esp + 0xdc]
push 0x4265c0
push edx
call ebx
add esp, 8
test eax, eax
jne 0x414caa
mov dword [esi + 0x2c], 0
jmp 0x414caa
mov dword [esi + 0x2c], 1
cmp dword [esp + 0x10], 0
je 0x414cd7
cmp dword [esi + 0x2c], 0
mov eax, 0x426588
jne 0x414cc1
mov eax, 0x4265b8
push str.C:TSLOG_CONFIGTSLOG.ini
push eax
push 0x4265c4
push str.Output
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push str.C:TSLOG_CONFIGTSLOG.ini
push 0x800
lea eax, [esp + 0xe4]
push eax
push str.TRACE
push str.Level
push str.Common
call edi
lea ecx, [esp + 0xdc]
push str.TRACE
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x414d18
mov dword [esi + 0x30], eax
jmp 0x414db1
lea edx, [esp + 0xdc]
push str.DEBUG
push edx
call ebx
add esp, 8
test eax, eax
jne 0x414d37
mov dword [esi + 0x30], 1
jmp 0x414db1
lea eax, [esp + 0xdc]
push str.INFO
push eax
call ebx
add esp, 8
test eax, eax
jne 0x414d56
mov dword [esi + 0x30], 2
jmp 0x414db1
lea ecx, [esp + 0xdc]
push str.WARN
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x414d75
mov dword [esi + 0x30], 3
jmp 0x414db1
lea edx, [esp + 0xdc]
push str.ERROR
push edx
call ebx
add esp, 8
test eax, eax
jne 0x414d94
mov dword [esi + 0x30], 4
jmp 0x414db1
lea eax, [esp + 0xdc]
push str.FATAL
push eax
call ebx
add esp, 8
test eax, eax
jne 0x414db1
mov dword [esi + 0x30], 5
cmp dword [esp + 0x10], 0
je 0x414e14
mov eax, dword [esi + 0x30]
test eax, eax
je 0x414df9
cmp eax, 1
jne 0x414dcb
mov eax, str.DEBUG
jmp 0x414dfe
cmp eax, 2
jne 0x414dd7
mov eax, str.INFO
jmp 0x414dfe
cmp eax, 3
jne 0x414de3
mov eax, str.WARN
jmp 0x414dfe
cmp eax, 4
jne 0x414def
mov eax, str.ERROR
jmp 0x414dfe
cmp eax, 5
mov eax, str.FATAL
je 0x414dfe
mov eax, str.TRACE
push str.C:TSLOG_CONFIGTSLOG.ini
push eax
push str.Level
push str.Common
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [esp + 0xc0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov dword [esp + 0x10f0], 0
lea ecx, [esp + 0xa4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov byte [esp + 0x10f0], 1
lea ebx, [esi + 0x34]
push ebx
call fcn.00412350
push str.C:TSLOG_CONFIGTSLOG.ini
push 0x800
lea ecx, [esp + 0xe4]
push ecx
push 0x426094
push str.Include
push str.Common
call edi
lea edx, [esp + 0xdc]
push edx
lea ecx, [esp + 0xc4]
call dword [0x422258]
lea eax, [esp + 0xdc]
push 0x426648
push eax
call dword [sym.imp.MSVCR90.dll_wcstok]
mov edi, eax
add esp, 8
test edi, edi
je 0x414f00
mov edi, edi
push 0x426094
push edi
call dword [sym.imp.MSVCR90.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x414ed2
mov ecx, edi
call fcn.00412390
push 0x426648
push 0
call dword [sym.imp.MSVCR90.dll_wcstok]
mov edi, eax
add esp, 8
test edi, edi
jne 0x414ea0
jmp 0x414f00
push ebx
call fcn.00412350
mov ecx, edi
call fcn.00412390
cmp dword [esp + 0x10], 0
je 0x414f00
push str.C:TSLOG_CONFIGTSLOG.ini
push 0x426094
push str.Include
push str.Common
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ebx, [esi + 0x88]
push ebx
call fcn.00412350
push str.C:TSLOG_CONFIGTSLOG.ini
push 0x800
lea ecx, [esp + 0xe4]
push ecx
push 0x4256b8
push str.Exclude
push str.Common
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edx, [esp + 0xdc]
push edx
lea ecx, [esp + 0xa8]
call dword [0x422258]
lea eax, [esp + 0xdc]
push 0x426660
push eax
call dword [sym.imp.MSVCR90.dll_wcstok]
mov edi, eax
add esp, 8
test edi, edi
jne 0x414f90
cmp dword [esp + 0x10], eax
je 0x414fcf
push str.C:TSLOG_CONFIGTSLOG.ini
push 0x4256b8
push str.Exclude
push str.Common
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
jmp 0x414fcf
push 0x426094
push edi
call dword [sym.imp.MSVCR90.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x414fc2
mov ecx, edi
call fcn.00412390
push 0x426648
push 0
call dword [sym.imp.MSVCR90.dll_wcstok]
mov edi, eax
add esp, 8
test edi, edi
jne 0x414f90
jmp 0x414fcf
push ebx
call fcn.00412350
mov ecx, edi
call fcn.00412390
lea ecx, [esp + 0x6c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov byte [esp + 0x10f0], 2
push str.C:TSLOG_CONFIGTSLOG.ini
lea ecx, [esp + 0x24]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0x10f0], 3
lea ecx, [esp + 0x6c]
push ecx
lea edi, [esp + 0x24]
call fcn.00415680
add esp, 4
mov byte [esp + 0x10f0], 2
mov ecx, edi
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
cmp dword [esp + 0x84], 0x10
jb 0x41502d
mov edx, dword [esp + 0x70]
mov dword [esp + 0x14], edx
jmp 0x415035
lea eax, [esp + 0x70]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x88]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov byte [esp + 0x10f0], 4
lea ebx, [esi + 0xf8]
push ebx
lea ecx, [esp + 0x24]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x10f0], 5
lea ecx, [esp + 0x88]
push ecx
lea edi, [esp + 0x24]
call fcn.00416f60
add esp, 4
mov byte [esp + 0x10f0], 4
mov ecx, edi
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp dword [esp + 0xa0], 8
jb 0x41509e
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x18], edx
jmp 0x4150a9
lea eax, [esp + 0x8c]
mov dword [esp + 0x18], eax
cmp dword [esi + 0x2c], 0
je 0x4152de
cmp dword [esp + 0x1c], 0
je 0x4150c7
cmp dword [esi + 0x23c], 0
jne 0x415179
mov ecx, dword [esp + 0x14]
push ecx
push 0x104
push ebx
push str.C:TSLOG_
push str.LogFilePath
push 0x426670
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4150f0
sub eax, edx
je 0x415114
lea eax, [esi + 0xf8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415104
sub eax, edx
cmp eax, 0x104
jb 0x41512e
push 0x104
lea eax, [esi + 0xf8]
push str.C:TSLOG_
push eax
call dword [sym.imp.MSVCR90.dll_strncpy]
add esp, 0xc
lea eax, [esi + 0xf8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415137
sub eax, edx
cmp byte [eax + esi + 0xf7], 0x5c
je 0x415164
push 0x104
lea eax, [esi + 0xf8]
push 0x426680
push eax
call dword [sym.imp.MSVCR90.dll_strncat]
add esp, 0xc
cmp dword [ebp + 8], 0
mov dword [0x430e58], 0xffffffff
jne 0x415179
call fcn.00415fd0
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebx, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push str.C:TSLOG_CONFIGTSLOG.ini
push 0x5000
push 0x426684
push str.FileLogOption
call edi
mov dword [esi + 0xdc], eax
cmp eax, 1
jb 0x4151ad
cmp eax, 0x1f4000
jbe 0x4151cd
push str.C:TSLOG_CONFIGTSLOG.ini
push str.20480
push 0x426684
push str.FileLogOption
mov dword [esi + 0xdc], 0x5000
call ebx
push str.C:TSLOG_CONFIGTSLOG.ini
push 0x14
push str.MaxLogFileCnt
push str.FileLogOption
call edi
cmp eax, 1
mov dword [esi + 0xe0], eax
jl 0x4151f2
cmp eax, 0x3e8
jle 0x415212
push str.C:TSLOG_CONFIGTSLOG.ini
push 0x4266e8
push str.MaxLogFileCnt
push str.FileLogOption
mov dword [esi + 0xe0], 0x14
call ebx
push str.C:TSLOG_CONFIGTSLOG.ini
push 0xa
push str.MaxCountOfHistroyProcess
push str.FileLogOption
call edi
cmp eax, 0xffffffff
mov dword [esi + 0xe4], eax
jl 0x415235
cmp eax, 0x64
jle 0x415255
push str.C:TSLOG_CONFIGTSLOG.ini
push 0x426724
push str.MaxCountOfHistroyProcess
push str.FileLogOption
mov dword [esi + 0xe4], 0xa
call ebx
cmp dword [esp + 0x10], 0
je 0x415304
mov edx, dword [esp + 0x14]
push edx
lea eax, [esi + 0xf8]
push eax
push str.LogFilePath
push 0x426670
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
cmp dword [esi + 0xdc], 0x5000
jne 0x41529e
push str.C:TSLOG_CONFIGTSLOG.ini
push str.20480
push 0x426684
push str.FileLogOption
call ebx
cmp dword [esi + 0xe0], 0x14
jne 0x4152bd
push str.C:TSLOG_CONFIGTSLOG.ini
push 0x4266e8
push str.MaxLogFileCnt
push str.FileLogOption
call ebx
cmp dword [esi + 0xe4], 0xa
jne 0x415304
push str.C:TSLOG_CONFIGTSLOG.ini
push 0x426724
push str.MaxCountOfHistroyProcess
push str.FileLogOption
call ebx
jmp 0x415304
mov eax, dword [esi + 0xe8]
cmp eax, 0xffffffff
je 0x415304
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0xe8], 0xffffffff
mov dword [esi + 0xf4], 0
cmp dword [ebp + 8], 0
jne 0x4153e9
mov eax, dword [esi + 0x30]
test eax, eax
je 0x41534f
cmp eax, 1
jne 0x415321
mov eax, str.DEBUG
jmp 0x415354
cmp eax, 2
jne 0x41532d
mov eax, str.INFO
jmp 0x415354
cmp eax, 3
jne 0x415339
mov eax, str.WARN
jmp 0x415354
cmp eax, 4
jne 0x415345
mov eax, str.ERROR
jmp 0x415354
cmp eax, 5
mov eax, str.FATAL
je 0x415354
mov eax, str.TRACE
cmp dword [esi + 0x2c], 0
mov dword [esp + 0x14], 0x426588
jne 0x41536a
mov dword [esp + 0x14], 0x4265b8
cmp dword [esi + 0x28], 0
mov edx, 0x426588
jne 0x41537a
mov edx, 0x4265b8
mov edi, dword [esp + 0xa8]
mov ecx, 8
cmp dword [esp + 0xbc], ecx
jae 0x415396
lea edi, [esp + 0xa8]
cmp dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0xc4]
jae 0x4153ad
lea ecx, [esp + 0xc4]
mov ebx, dword [esi + 0xe4]
push ebx
mov ebx, dword [esi + 0xe0]
push ebx
mov ebx, dword [esi + 0xdc]
push ebx
mov ebx, dword [esp + 0x24]
push ebx
push edi
push ecx
push eax
mov eax, dword [esp + 0x30]
push eax
push edx
push str.C:TSLOG_CONFIGTSLOG.ini
push str.TSLog_Config_File_:__s_:__r_n00000000_t00:00:00.000_t_0000___Output__r_n00000000_t00:00:00.000_t_0000__DebugView_s_r_n00000000_t00:00:00.000_t_0000__FileLog_s_r_n00000000_t00:00:00.000_t_0000___Common__r_n00000000_t00:00:00.000_t_0000__Level_s_r_n00000000_t00:00:00.000_t_0000__Include_s_r_n00000000_t00:00:00.000_t_0000__Exclude_s_r_n00000000_t00:00:00.000_t_0000___FileLogOption__r_n00000000_t00:00:00.000_t_0000__LogFilePath_s_r_n00000000_t00:00:00.000_t_0000__MaxLogFileSize_d_r_n00000000_t00:00:00.000_t_0000__MaxLogFileCnt_d_r_n00000000_t00:00:00.000_t_0000__MaxCountOfHistroyProcess_d_r_n
push esi
call fcn.00416ba0
add esp, 0x30
push esi
call fcn.004143b0
mov byte [esp + 0x10f0], 2
lea ecx, [esp + 0x88]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [esp + 0x10f0], 1
lea ecx, [esp + 0x6c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x10f0], 0
lea ecx, [esp + 0xa4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov dword [esp + 0x10f0], 0xffffffff
lea ecx, [esp + 0xc0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, 1
mov ecx, dword [esp + 0x10e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10d0]
xor ecx, esp
call fcn.0041e4d2
mov esp, ebp
pop ebp
ret 4