Function at 0x615ea46d
Capabilities:
Check if file exists
Get file attributes
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa68
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0xa38], eax
mov esi, 0x104
test eax, eax
jne 0x615ea545
push esi
lea eax, [ebp - 0xa34]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x615ea7e9
cmp eax, esi
je 0x615ea7e9
lea edi, [esi - 4]
push edi
lea eax, [ebp - 0x414]
push eax
push edi
lea eax, [ebp - 0x61c]
push eax
push edi
lea eax, [ebp - 0x20c]
push eax
push 3
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xa34]
push eax
call fcn.615e0e75
push eax
call fcn.61513c27
push 5
push str..trc
lea eax, [ebp - 0x414]
push edi
push eax
call fcn.615e0c7e
push eax
call fcn.61513c27
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xa34]
push esi
push eax
call fcn.615e0d51
add esp, 0x54
push eax
call fcn.61513c27
lea eax, [ebp - 0xa34]
pop ecx
mov dword [ebp - 0xa38], eax
push dword [ebp - 0xa38]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x615ea85f
mov dword [ebp - 0xa3c], 0x6161c120
test ebx, ebx
je 0x615ea56e
mov dword [ebp - 0xa3c], ebx
mov eax, dword [ebp - 0xa3c]
mov edi, dword [eax + 0x1c]
test edi, edi
je 0x615ea7e9
push dword [ebp - 0xa38]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push esi
lea eax, [ebp - 0x214]
push eax
push 0x6160a07c
push str.Info
push str.Process
mov byte [edi + 0x428], 1
call ebx
xor eax, eax
push 1
mov word [ebp - 0xe], ax
lea eax, [ebp - 0xa50]
push eax
push 1
lea eax, [ebp - 0xa44]
push eax
push 1
lea eax, [ebp - 0xa48]
push eax
lea eax, [edi + 0x424]
push eax
lea eax, [ebp - 0xa58]
push eax
lea eax, [ebp - 0x214]
push str.ModuleCount:_u__Level:_u__Enabled:_c__FuncAndCategoryNames:_c__FileNameAndLineNo:_c
push eax
call fcn.615e0acc
add esp, 0x28
cmp eax, 5
jne 0x615ea7e9
cmp word [ebp - 0xa48], 0x66
setne al
mov byte [edi + 0x429], al
cmp word [ebp - 0xa44], 0x66
setne al
mov byte [edi + 0x42a], al
cmp word [ebp - 0xa50], 0x66
setne al
mov byte [edi + 0x42b], al
xor eax, eax
cmp dword [ebp - 0xa58], eax
jbe 0x615ea85a
inc eax
push eax
push str.Module_d
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x82c]
push esi
push eax
call sub.msvcrt.dll__snwprintf
add esp, 0x10
test eax, eax
js 0x615ea7e9
push dword [ebp - 0xa38]
lea eax, [ebp - 0x624]
push esi
push eax
mov edi, 0x6160a07c
push edi
lea eax, [ebp - 0x82c]
push eax
push str.Process
call ebx
push dword [ebp - 0xa38]
xor eax, eax
push esi
mov word [ebp - 0x41e], ax
lea eax, [ebp - 0x41c]
push eax
push edi
push 0x615f963c
lea eax, [ebp - 0x624]
push eax
call ebx
mov ecx, dword [ebp - 0xa3c]
xor eax, eax
mov word [ebp - 0x216], ax
lea eax, [ebp - 0xa64]
push eax
lea eax, [ebp - 0x41c]
push eax
call fcn.615ea92f
test al, al
je 0x615ea84b
push dword [ebp - 0xa64]
mov ecx, dword [ebp - 0xa3c]
call fcn.615ea8cd
mov dword [ebp - 0xa60], eax
test eax, eax
je 0x615ea84b
push dword [ebp - 0xa38]
lea eax, [ebp - 0x214]
push esi
push eax
push edi
push str.Settings
lea eax, [ebp - 0x624]
push eax
call ebx
xor eax, eax
mov word [ebp - 0xe], ax
lea eax, [ebp - 0xa4c]
push eax
lea eax, [ebp - 0xa40]
push eax
lea eax, [ebp - 0xa54]
push eax
lea eax, [ebp - 0x214]
push str.CategoryCount:_u__Level:_u__Status:_u
push eax
call fcn.615e0acc
add esp, 0x14
cmp eax, 3
jne 0x615ea84b
mov eax, dword [ebp - 0xa60]
push dword [ebp - 0xa4c]
mov ecx, dword [ebp - 0xa40]
add eax, 0x414
call fcn.615ea439
xor eax, eax
cmp dword [ebp - 0xa54], eax
jbe 0x615ea84b
inc eax
push eax
push str.Category_d
mov dword [ebp - 0xa68], eax
lea eax, [ebp - 0x82c]
push esi
push eax
call sub.msvcrt.dll__snwprintf
add esp, 0x10
test eax, eax
js 0x615ea7e9
push dword [ebp - 0xa38]
lea eax, [ebp - 0x214]
push esi
push eax
push edi
lea eax, [ebp - 0x82c]
push eax
lea eax, [ebp - 0x624]
push eax
call ebx
xor eax, eax
mov word [ebp - 0xe], ax
push esi
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0xa4c]
push eax
lea eax, [ebp - 0xa40]
push eax
lea eax, [ebp - 0x214]
push str.Level:_u__Status:_u__Name:_s
push eax
call fcn.615e0acc
add esp, 0x18
cmp eax, 3
jne 0x615ea839
mov eax, dword [ebp - 0xa60]
mov eax, dword [eax]
jmp 0x615ea834
xor eax, eax
jmp 0x615ea862
mov ecx, dword [ebp - 0xa3c]
push eax
call fcn.615ea8fc
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0xa5c], eax
push ecx
add eax, 0x18
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x615ea82b
push dword [ebp - 0xa4c]
mov ecx, dword [ebp - 0xa40]
mov eax, dword [ebp - 0xa5c]
call fcn.615ea439
mov eax, dword [ebp - 0xa5c]
mov eax, dword [eax + 0x14]
cmp eax, 0xffffffff
jne 0x615ea7ed
mov eax, dword [ebp - 0xa68]
cmp eax, dword [ebp - 0xa54]
jb 0x615ea76a
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0xa58]
jb 0x615ea638
call fcn.615e8c73
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.615e06c0
leave
ret 8