Function at 0x100677c0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
mov eax, dword [0x1010a040]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x100ffc1c
push str.DataCustomEventEntry.txt
call fcn.100d410a
add esp, 8
test eax, eax
je 0x10067ef2
push ebx
push esi
push edi
push eax
call fcn.100d437f
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
add esp, 4
mov edi, 1
mov dword [ebp - 0x8c], 6
xor ebx, ebx
push edi
lea eax, [ebp - 0x84]
push str.DS_dLevelMin_Normal
push eax
call fcn.10068060
add esp, 0xc
lea eax, [ebp - 0x84]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.DevilSquare
call esi
push edi
mov dword [ebx + 0x108b65b4], eax
lea eax, [ebp - 0x84]
push str.DS_dLevelMax_Normal
push eax
call fcn.10068060
add esp, 0xc
lea eax, [ebp - 0x84]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.DevilSquare
call esi
push edi
mov dword [ebx + 0x108b65b8], eax
lea eax, [ebp - 0x84]
push str.DS_dLevelMin_MGDLRF
push eax
call fcn.10068060
add esp, 0xc
lea eax, [ebp - 0x84]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.DevilSquare
call esi
push edi
mov dword [ebx + 0x108b65e4], eax
lea eax, [ebp - 0x84]
push str.DS_dLevelMax_MGDLRF
push eax
call fcn.10068060
add esp, 0xc
lea eax, [ebp - 0x84]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.DevilSquare
call esi
inc edi
mov dword [ebx + 0x108b65e8], eax
sub dword [ebp - 0x8c], 1
lea ebx, [ebx + 8]
jne 0x10067810
lea eax, [ebp - 0x88]
push eax
push 0x40
push 0x13f
push 0x877c0b
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [0x108b65b4]
mov dword [0x877c0b], eax
mov eax, dword [0x108b65b8]
mov dword [0x877c18], eax
mov eax, dword [0x108b65bc]
mov dword [0x877c25], eax
mov eax, dword [0x108b65c0]
mov dword [0x877c32], eax
mov eax, dword [0x108b65c4]
mov dword [0x877c3f], eax
mov eax, dword [0x108b65c8]
mov dword [0x877c4c], eax
mov eax, dword [0x108b65cc]
mov dword [0x877c59], eax
mov eax, dword [0x108b65d0]
mov dword [0x877c66], eax
mov eax, dword [0x108b65d4]
mov dword [0x877c73], eax
mov eax, dword [0x108b65d8]
mov dword [0x877c80], eax
mov eax, dword [0x108b65dc]
mov dword [0x877c8d], eax
mov eax, dword [0x108b65e0]
mov dword [0x877c9a], eax
mov eax, dword [0x108b65e4]
mov dword [0x877cc1], eax
mov eax, dword [0x108b65e8]
mov dword [0x877cce], eax
mov eax, dword [0x108b65ec]
mov dword [0x877cdb], eax
mov eax, dword [0x108b65f0]
mov dword [0x877ce8], eax
mov eax, dword [0x108b65f4]
mov dword [0x877cf5], eax
mov eax, dword [0x108b65f8]
mov dword [0x877d02], eax
mov eax, dword [0x108b65fc]
mov dword [0x877d0f], eax
mov eax, dword [0x108b6600]
mov dword [0x877d1c], eax
mov eax, dword [0x108b6604]
mov dword [0x877d29], eax
mov eax, dword [0x108b6608]
mov dword [0x877d36], eax
mov eax, dword [0x108b660c]
push 0x10067fc0
mov dword [0x877d43], eax
mov eax, dword [0x108b6610]
push 0x878750
push 0xe9
mov dword [0x877d50], eax
call fcn.100ce990
push 0x100ffc1c
push str.DataCustomEventEntry.txt
call fcn.100d410a
add esp, 0x14
test eax, eax
je 0x10067efc
push eax
call fcn.100d437f
add esp, 4
mov dword [ebp - 0x8c], 7
mov edi, 1
xor ebx, ebx
push edi
lea eax, [ebp - 0x84]
push str.BC_dLevelMin_Normal
push eax
call fcn.10068060
add esp, 0xc
lea eax, [ebp - 0x84]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.BloodCastle
call esi
push edi
mov dword [ebx + 0x108b6544], eax
lea eax, [ebp - 0x84]
push str.BC_dLevelMax_Normal
push eax
call fcn.10068060
add esp, 0xc
lea eax, [ebp - 0x84]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.BloodCastle
call esi
push edi
mov dword [ebx + 0x108b6548], eax
lea eax, [ebp - 0x84]
push str.BC_dLevelMin_MGDLRF
push eax
call fcn.10068060
add esp, 0xc
lea eax, [ebp - 0x84]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.BloodCastle
call esi
push edi
mov dword [ebx + 0x108b657c], eax
lea eax, [ebp - 0x84]
push str.BC_dLevelMax_MGDLRF
push eax
call fcn.10068060
add esp, 0xc
lea eax, [ebp - 0x84]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.BloodCastle
call esi
inc edi
mov dword [ebx + 0x108b6580], eax
sub dword [ebp - 0x8c], 1
lea ebx, [ebx + 8]
jne 0x10067a32
lea eax, [ebp - 0x88]
push eax
push 0x40
push 0x17d
push 0x8740fb
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [0x108b6544]
mov dword [0x8740fb], eax
mov eax, dword [0x108b6548]
mov dword [0x874108], eax
mov eax, dword [0x108b654c]
mov dword [0x874115], eax
mov eax, dword [0x108b6550]
mov dword [0x874122], eax
mov eax, dword [0x108b6554]
mov dword [0x87412f], eax
mov eax, dword [0x108b6558]
mov dword [0x87413c], eax
mov eax, dword [0x108b655c]
mov dword [0x874149], eax
mov eax, dword [0x108b6560]
mov dword [0x874156], eax
mov eax, dword [0x108b6564]
mov dword [0x874163], eax
mov eax, dword [0x108b6568]
mov dword [0x874170], eax
mov eax, dword [0x108b656c]
mov dword [0x87417d], eax
mov eax, dword [0x108b6570]
mov dword [0x87418a], eax
mov eax, dword [0x108b6574]
mov dword [0x874197], eax
mov eax, dword [0x108b6578]
mov dword [0x8741a4], eax
mov eax, dword [0x108b657c]
mov dword [0x8741cb], eax
mov eax, dword [0x108b6580]
mov dword [0x8741d8], eax
mov eax, dword [0x108b6584]
mov dword [0x8741e5], eax
mov eax, dword [0x108b6588]
mov dword [0x8741f2], eax
mov eax, dword [0x108b658c]
mov dword [0x8741ff], eax
mov eax, dword [0x108b6590]
mov dword [0x87420c], eax
mov eax, dword [0x108b6594]
mov dword [0x874219], eax
mov eax, dword [0x108b6598]
mov dword [0x874226], eax
mov eax, dword [0x108b659c]
mov dword [0x874233], eax
mov eax, dword [0x108b65a0]
mov dword [0x874240], eax
mov eax, dword [0x108b65a4]
mov dword [0x87424d], eax
mov eax, dword [0x108b65a8]
mov dword [0x87425a], eax
mov eax, dword [0x108b65ac]
push 0x10067f20
mov dword [0x874267], eax
mov eax, dword [0x108b65b0]
push 0x874670
push 0xe9
mov dword [0x874274], eax
call fcn.100ce990
push 0x100ffc1c
push str.DataCustomEventEntry.txt
call fcn.100d410a
add esp, 0x14
test eax, eax
je 0x10067f06
push eax
call fcn.100d437f
add esp, 4
mov dword [ebp - 0x8c], 0x106d6560
mov edi, 1
mov dword [ebp - 0x88], 6
xor ebx, ebx
nop word [eax + eax]
push edi
lea eax, [ebp - 0x84]
push str.CC_dLevelMin_Normal
push eax
call fcn.10068060
add esp, 0xc
lea eax, [ebp - 0x84]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.ChaosCastle
call esi
push edi
mov dword [ebx + 0x106d65ac], eax
lea eax, [ebp - 0x84]
push str.CC_dLevelMax_Normal
push eax
call fcn.10068060
add esp, 0xc
lea eax, [ebp - 0x84]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.ChaosCastle
call esi
push edi
mov dword [ebx + 0x106d65b0], eax
lea eax, [ebp - 0x84]
push str.CC_dLevelMin_MGDLRF
push eax
call fcn.10068060
add esp, 0xc
lea eax, [ebp - 0x84]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.ChaosCastle
call esi
push edi
mov dword [ebx + 0x106d657c], eax
lea eax, [ebp - 0x84]
push str.CC_dLevelMax_MGDLRF
push eax
call fcn.10068060
add esp, 0xc
lea eax, [ebp - 0x84]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.ChaosCastle
call esi
push edi
mov dword [ebx + 0x106d6580], eax
lea eax, [ebp - 0x84]
push str.CC_dZen
push eax
call fcn.10068060
add esp, 0xc
lea eax, [ebp - 0x84]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.ChaosCastle
call esi
mov ecx, dword [ebp - 0x8c]
lea ebx, [ebx + 8]
inc edi
mov dword [ecx], eax
add ecx, 4
sub dword [ebp - 0x88], 1
mov dword [ebp - 0x8c], ecx
jne 0x10067c90
push str.DataCustomEventEntry.txt
push 0
push str.CC7Zen
push str.ChaosCastle
call esi
cmp dword [0x102df8c0], 0
mov dword [0x106d6578], eax
je 0x10067ee1
mov ebx, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x88]
push eax
push 0x40
push 1
push 0x8742ee
call ebx
lea eax, [ebp - 0x88]
mov byte [0x8742ee], 7
push eax
push dword [ebp - 0x88]
push 1
push 0x8742ee
call ebx
lea eax, [ebp - 0x88]
push eax
push 0x40
push 1
push 0x8743ff
call ebx
lea eax, [ebp - 0x88]
mov byte [0x8743ff], 7
push eax
push dword [ebp - 0x88]
push 1
push 0x8743ff
call ebx
lea eax, [ebp - 0x88]
push eax
push 0x40
push 1
push 0x87454f
call ebx
lea eax, [ebp - 0x88]
mov byte [0x87454f], 7
push eax
push dword [ebp - 0x88]
push 1
push 0x87454f
call ebx
lea eax, [ebp - 0x88]
push eax
push 0x40
push 1
push 0x877dce
call ebx
lea eax, [ebp - 0x88]
mov byte [0x877dce], 6
push eax
push dword [ebp - 0x88]
push 1
push 0x877dce
call ebx
lea eax, [ebp - 0x88]
push eax
push 0x40
push 1
push 0x877edf
call ebx
lea eax, [ebp - 0x88]
mov byte [0x877edf], 6
push eax
push dword [ebp - 0x88]
push 1
push 0x877edf
call ebx
lea eax, [ebp - 0x88]
push eax
push 0x40
push 1
push 0x878032
call ebx
lea eax, [ebp - 0x88]
mov byte [0x878032], 6
push eax
push dword [ebp - 0x88]
push 1
push 0x878032
call ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100d07f0
mov esp, ebp
pop ebp
ret
push str.EventEntry.txt_not_found_
call fcn.100cec50
push str.EventEntry.txt_not_found_
call fcn.100cec50
push str.EventEntry.txt_not_found_
call fcn.100cec50
int3