Function at 0x1005c990
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 [0x100fa040]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x100efb78
push str.DataCustomEventEntry.txt
call fcn.100c436a
add esp, 8
test eax, eax
je 0x1005d0c2
push ebx
push esi
push edi
push eax
call fcn.100c45df
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.1005d230
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 + 0x108a39c4], eax
lea eax, [ebp - 0x84]
push str.DS_dLevelMax_Normal
push eax
call fcn.1005d230
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 + 0x108a39c8], eax
lea eax, [ebp - 0x84]
push str.DS_dLevelMin_MGDLRF
push eax
call fcn.1005d230
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 + 0x108a39f4], eax
lea eax, [ebp - 0x84]
push str.DS_dLevelMax_MGDLRF
push eax
call fcn.1005d230
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 + 0x108a39f8], eax
sub dword [ebp - 0x8c], 1
lea ebx, [ebx + 8]
jne 0x1005c9e0
lea eax, [ebp - 0x88]
push eax
push 0x40
push 0x13f
push 0x877c0b
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [0x108a39c4]
mov dword [0x877c0b], eax
mov eax, dword [0x108a39c8]
mov dword [0x877c18], eax
mov eax, dword [0x108a39cc]
mov dword [0x877c25], eax
mov eax, dword [0x108a39d0]
mov dword [0x877c32], eax
mov eax, dword [0x108a39d4]
mov dword [0x877c3f], eax
mov eax, dword [0x108a39d8]
mov dword [0x877c4c], eax
mov eax, dword [0x108a39dc]
mov dword [0x877c59], eax
mov eax, dword [0x108a39e0]
mov dword [0x877c66], eax
mov eax, dword [0x108a39e4]
mov dword [0x877c73], eax
mov eax, dword [0x108a39e8]
mov dword [0x877c80], eax
mov eax, dword [0x108a39ec]
mov dword [0x877c8d], eax
mov eax, dword [0x108a39f0]
mov dword [0x877c9a], eax
mov eax, dword [0x108a39f4]
mov dword [0x877cc1], eax
mov eax, dword [0x108a39f8]
mov dword [0x877cce], eax
mov eax, dword [0x108a39fc]
mov dword [0x877cdb], eax
mov eax, dword [0x108a3a00]
mov dword [0x877ce8], eax
mov eax, dword [0x108a3a04]
mov dword [0x877cf5], eax
mov eax, dword [0x108a3a08]
mov dword [0x877d02], eax
mov eax, dword [0x108a3a0c]
mov dword [0x877d0f], eax
mov eax, dword [0x108a3a10]
mov dword [0x877d1c], eax
mov eax, dword [0x108a3a14]
mov dword [0x877d29], eax
mov eax, dword [0x108a3a18]
mov dword [0x877d36], eax
mov eax, dword [0x108a3a1c]
push 0x1005d190
mov dword [0x877d43], eax
mov eax, dword [0x108a3a20]
push 0x878750
push 0xe9
mov dword [0x877d50], eax
call fcn.100bec40
push 0x100efb78
push str.DataCustomEventEntry.txt
call fcn.100c436a
add esp, 0x14
test eax, eax
je 0x1005d0cc
push eax
call fcn.100c45df
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.1005d230
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 + 0x108a3954], eax
lea eax, [ebp - 0x84]
push str.BC_dLevelMax_Normal
push eax
call fcn.1005d230
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 + 0x108a3958], eax
lea eax, [ebp - 0x84]
push str.BC_dLevelMin_MGDLRF
push eax
call fcn.1005d230
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 + 0x108a398c], eax
lea eax, [ebp - 0x84]
push str.BC_dLevelMax_MGDLRF
push eax
call fcn.1005d230
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 + 0x108a3990], eax
sub dword [ebp - 0x8c], 1
lea ebx, [ebx + 8]
jne 0x1005cc02
lea eax, [ebp - 0x88]
push eax
push 0x40
push 0x17d
push 0x8740fb
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [0x108a3954]
mov dword [0x8740fb], eax
mov eax, dword [0x108a3958]
mov dword [0x874108], eax
mov eax, dword [0x108a395c]
mov dword [0x874115], eax
mov eax, dword [0x108a3960]
mov dword [0x874122], eax
mov eax, dword [0x108a3964]
mov dword [0x87412f], eax
mov eax, dword [0x108a3968]
mov dword [0x87413c], eax
mov eax, dword [0x108a396c]
mov dword [0x874149], eax
mov eax, dword [0x108a3970]
mov dword [0x874156], eax
mov eax, dword [0x108a3974]
mov dword [0x874163], eax
mov eax, dword [0x108a3978]
mov dword [0x874170], eax
mov eax, dword [0x108a397c]
mov dword [0x87417d], eax
mov eax, dword [0x108a3980]
mov dword [0x87418a], eax
mov eax, dword [0x108a3984]
mov dword [0x874197], eax
mov eax, dword [0x108a3988]
mov dword [0x8741a4], eax
mov eax, dword [0x108a398c]
mov dword [0x8741cb], eax
mov eax, dword [0x108a3990]
mov dword [0x8741d8], eax
mov eax, dword [0x108a3994]
mov dword [0x8741e5], eax
mov eax, dword [0x108a3998]
mov dword [0x8741f2], eax
mov eax, dword [0x108a399c]
mov dword [0x8741ff], eax
mov eax, dword [0x108a39a0]
mov dword [0x87420c], eax
mov eax, dword [0x108a39a4]
mov dword [0x874219], eax
mov eax, dword [0x108a39a8]
mov dword [0x874226], eax
mov eax, dword [0x108a39ac]
mov dword [0x874233], eax
mov eax, dword [0x108a39b0]
mov dword [0x874240], eax
mov eax, dword [0x108a39b4]
mov dword [0x87424d], eax
mov eax, dword [0x108a39b8]
mov dword [0x87425a], eax
mov eax, dword [0x108a39bc]
push 0x1005d0f0
mov dword [0x874267], eax
mov eax, dword [0x108a39c0]
push 0x874670
push 0xe9
mov dword [0x874274], eax
call fcn.100bec40
push 0x100efb78
push str.DataCustomEventEntry.txt
call fcn.100c436a
add esp, 0x14
test eax, eax
je 0x1005d0d6
push eax
call fcn.100c45df
add esp, 4
mov dword [ebp - 0x8c], 0x10699390
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.1005d230
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 + 0x106993dc], eax
lea eax, [ebp - 0x84]
push str.CC_dLevelMax_Normal
push eax
call fcn.1005d230
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 + 0x106993e0], eax
lea eax, [ebp - 0x84]
push str.CC_dLevelMin_MGDLRF
push eax
call fcn.1005d230
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 + 0x106993ac], eax
lea eax, [ebp - 0x84]
push str.CC_dLevelMax_MGDLRF
push eax
call fcn.1005d230
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 + 0x106993b0], eax
lea eax, [ebp - 0x84]
push str.CC_dZen
push eax
call fcn.1005d230
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 0x1005ce60
push str.DataCustomEventEntry.txt
push 0
push str.CC7Zen
push str.ChaosCastle
call esi
cmp dword [0x102c734c], 0
mov dword [0x106993a8], eax
je 0x1005d0b1
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.100c0a54
mov esp, ebp
pop ebp
ret
push str.EventEntry.txt_not_found_
call fcn.100bef00
push str.EventEntry.txt_not_found_
call fcn.100bef00
push str.EventEntry.txt_not_found_
call fcn.100bef00
int3