Function at 0x415000
Capabilities:
Read .ini file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4192d1
push eax
mov dword fs:[0], esp
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.00413eb0
test eax, eax
jl 0x415529
mov ecx, esi
call fcn.004133f0
test eax, eax
jl 0x415529
cmp eax, 0x79
je 0x415529
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x50]
push eax
push ecx
push edx
lea eax, [esp + 0x1c]
push str._s_.0f.ini
push eax
mov dword [esp + 0x54], 0
call sub.MFC42.DLL_CString::Format
add esp, 0x10
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call sub.MFC42.DLL_CString::CString_1
push ecx
mov byte [esp + 0x48], 1
mov ecx, esp
mov dword [esp + 0x28], esp
push str.scenename
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x4c], 2
mov ecx, esp
mov dword [esp + 0x28], esp
push str.jobinfo
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x30]
mov ecx, 0x422c90
push eax
mov byte [esp + 0x50], 0
call fcn.00402b30
push eax
lea ecx, [esi + 0x48]
mov byte [esp + 0x44], 3
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x24]
mov byte [esp + 0x40], 0
call sub.MFC42.DLL_CString::CString
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call sub.MFC42.DLL_CString::CString_1
push ecx
mov byte [esp + 0x48], 4
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.maxver
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x4c], 5
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.jobinfo
call sub.MFC42.DLL_CString::CString_2
mov ecx, 0x422c90
mov byte [esp + 0x4c], 0
call fcn.00402c20
mov ebx, eax
cmp ebx, 0x71
mov dword [esp + 0x24], ebx
jl 0x41531a
mov ebp, dword [sym.imp.MSVCRT.dll__mbscmp]
mov edi, 1
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString_3
push edi
lea eax, [esp + 0x24]
push 0x4210bc
push eax
mov byte [esp + 0x4c], 6
call sub.MFC42.DLL_CString::Format
add esp, 8
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call sub.MFC42.DLL_CString::CString_1
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x4c], 7
call sub.MFC42.DLL_CString::CString_1
push ecx
mov byte [esp + 0x4c], 8
mov ecx, esp
mov dword [esp + 0x40], esp
push str.plugins
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x24]
mov byte [esp + 0x4c], 6
push ecx
mov ecx, 0x422c90
call fcn.00402b30
lea ecx, [esp + 0x18]
mov byte [esp + 0x40], 9
call sub.MFC42.DLL_CString::MakeLower
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::TrimRight
lea edx, [esp + 0x28]
push 0x10
push edx
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
push str.multiscatter.dlo
push eax
call ebp
add esp, 8
lea ecx, [esp + 0x28]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
jne 0x4152f0
push str.config.ini
lea eax, [esp + 0x18]
push 0x422cc0
push eax
call sub.MFC42.DLL_operator_2
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x40], 0xa
push ecx
push 0
push str.multimes
push str.system
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
jg 0x415389
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x1c]
push edx
push 0x4210bc
push eax
mov byte [esp + 0x4c], 0xb
call sub.MFC42.DLL_CString::Format
add esp, 8
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call sub.MFC42.DLL_CString::CString_1
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x4c], 0xc
call sub.MFC42.DLL_CString::CString_1
push ecx
mov byte [esp + 0x4c], 0xd
mov ecx, esp
mov dword [esp + 0x38], esp
push str.system
call sub.MFC42.DLL_CString::CString_2
mov ecx, 0x422c90
mov byte [esp + 0x4c], 0xb
call fcn.00402c20
test eax, eax
jle 0x4152ba
mov eax, dword [0x422d2c]
test eax, eax
je 0x4153a5
jmp 0x4152d4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push ecx
push 0x422b20
push edx
push str.system
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x40], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x40], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x40], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x40], 0
call sub.MFC42.DLL_CString::CString
inc edi
cmp edi, 6
jl 0x415144
mov ebx, dword [esp + 0x24]
mov ecx, dword [esi + 0x2b8]
test ecx, ecx
je 0x415334
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x2b8], 0
mov ecx, dword [esp + 0x10]
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push ecx
push 0
push str.nrtype
push str.jobinfo
call ebp
mov edi, eax
lea eax, [edi - 1]
cmp eax, 5
ja case.default.0x41535b
jmp dword [eax*4 + 0x41553c]
push 0x50
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
mov byte [esp + 0x40], 0xe
je 0x415460
mov ecx, eax
call fcn.00408fd0
jmp 0x415462
mov eax, dword [esp + 0x14]
push eax
push 0x421b9c
push str.multimes
push str.system
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x4153cd
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push ecx
push 0x421b9c
push edx
push str.system
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x40], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x40], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x40], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x40], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x40], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 0xffffd8ef
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
push 0x50
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
mov byte [esp + 0x40], 0xf
je 0x415460
mov ecx, eax
call fcn.0040a260
jmp 0x415462
push 0x50
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
mov byte [esp + 0x40], 0x10
je 0x415460
mov ecx, eax
call fcn.0040b540
jmp 0x415462
xor eax, eax
push esi
mov ecx, eax
mov byte [esp + 0x44], 0
mov dword [esi + 0x2b8], eax
call fcn.004066b0
mov edx, dword [esp + 0x10]
push edx
push 0
push str.issoft64
push str.jobinfo
call ebp
cmp ebx, 0x64
jle 0x415492
sub ebx, 0x64
jmp 0x41549b
cmp dword [esi + 0x70], 0x8236
jne 0x4154a0
mov eax, 1
mov ecx, dword [esi + 0x2b8]
push edi
push eax
push ebx
mov dword [ecx + 0xc], ebx
mov edx, dword [esi + 0x2b8]
mov dword [edx + 0x10], eax
mov ecx, dword [esi + 0x2b8]
mov dword [ecx + 8], edi
mov ecx, dword [esi + 0x2b8]
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
mov dword [esp + 0x40], 0xffffffff
lea ecx, [esp + 0x10]
jge 0x4154f6
call sub.MFC42.DLL_CString::CString
mov eax, 0xfffffc09
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
lea ecx, [esp + 0x10]
mov dword [esp + 0x40], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 0xfffffbe6
mov ecx, dword [esp + 0x38]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x34
ret