Function at 0x100695b0
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 [0x1010c040]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x10101c58
push str.DataCustomEventEntry.txt
call fcn.100d667a
add esp, 8
test eax, eax
je 0x10069ce2
push ebx
push esi
push edi
push eax
call fcn.100d68ef
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.10069e50
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 + 0x1150aa34], eax
lea eax, [ebp - 0x84]
push str.DS_dLevelMax_Normal
push eax
call fcn.10069e50
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 + 0x1150aa38], eax
lea eax, [ebp - 0x84]
push str.DS_dLevelMin_MGDLRF
push eax
call fcn.10069e50
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 + 0x1150aa64], eax
lea eax, [ebp - 0x84]
push str.DS_dLevelMax_MGDLRF
push eax
call fcn.10069e50
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 + 0x1150aa68], eax
sub dword [ebp - 0x8c], 1
lea ebx, [ebx + 8]
jne 0x10069600
lea eax, [ebp - 0x88]
push eax
push 0x40
push 0x13f
push 0x877c0b
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [0x1150aa34]
mov dword [0x877c0b], eax
mov eax, dword [0x1150aa38]
mov dword [0x877c18], eax
mov eax, dword [0x1150aa3c]
mov dword [0x877c25], eax
mov eax, dword [0x1150aa40]
mov dword [0x877c32], eax
mov eax, dword [0x1150aa44]
mov dword [0x877c3f], eax
mov eax, dword [0x1150aa48]
mov dword [0x877c4c], eax
mov eax, dword [0x1150aa4c]
mov dword [0x877c59], eax
mov eax, dword [0x1150aa50]
mov dword [0x877c66], eax
mov eax, dword [0x1150aa54]
mov dword [0x877c73], eax
mov eax, dword [0x1150aa58]
mov dword [0x877c80], eax
mov eax, dword [0x1150aa5c]
mov dword [0x877c8d], eax
mov eax, dword [0x1150aa60]
mov dword [0x877c9a], eax
mov eax, dword [0x1150aa64]
mov dword [0x877cc1], eax
mov eax, dword [0x1150aa68]
mov dword [0x877cce], eax
mov eax, dword [0x1150aa6c]
mov dword [0x877cdb], eax
mov eax, dword [0x1150aa70]
mov dword [0x877ce8], eax
mov eax, dword [0x1150aa74]
mov dword [0x877cf5], eax
mov eax, dword [0x1150aa78]
mov dword [0x877d02], eax
mov eax, dword [0x1150aa7c]
mov dword [0x877d0f], eax
mov eax, dword [0x1150aa80]
mov dword [0x877d1c], eax
mov eax, dword [0x1150aa84]
mov dword [0x877d29], eax
mov eax, dword [0x1150aa88]
mov dword [0x877d36], eax
mov eax, dword [0x1150aa8c]
push 0x10069db0
mov dword [0x877d43], eax
mov eax, dword [0x1150aa90]
push 0x878750
push 0xe9
mov dword [0x877d50], eax
call fcn.100d0e40
push 0x10101c58
push str.DataCustomEventEntry.txt
call fcn.100d667a
add esp, 0x14
test eax, eax
je 0x10069cec
push eax
call fcn.100d68ef
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.10069e50
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 + 0x1150a9c4], eax
lea eax, [ebp - 0x84]
push str.BC_dLevelMax_Normal
push eax
call fcn.10069e50
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 + 0x1150a9c8], eax
lea eax, [ebp - 0x84]
push str.BC_dLevelMin_MGDLRF
push eax
call fcn.10069e50
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 + 0x1150a9fc], eax
lea eax, [ebp - 0x84]
push str.BC_dLevelMax_MGDLRF
push eax
call fcn.10069e50
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 + 0x1150aa00], eax
sub dword [ebp - 0x8c], 1
lea ebx, [ebx + 8]
jne 0x10069822
lea eax, [ebp - 0x88]
push eax
push 0x40
push 0x17d
push 0x8740fb
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [0x1150a9c4]
mov dword [0x8740fb], eax
mov eax, dword [0x1150a9c8]
mov dword [0x874108], eax
mov eax, dword [0x1150a9cc]
mov dword [0x874115], eax
mov eax, dword [0x1150a9d0]
mov dword [0x874122], eax
mov eax, dword [0x1150a9d4]
mov dword [0x87412f], eax
mov eax, dword [0x1150a9d8]
mov dword [0x87413c], eax
mov eax, dword [0x1150a9dc]
mov dword [0x874149], eax
mov eax, dword [0x1150a9e0]
mov dword [0x874156], eax
mov eax, dword [0x1150a9e4]
mov dword [0x874163], eax
mov eax, dword [0x1150a9e8]
mov dword [0x874170], eax
mov eax, dword [0x1150a9ec]
mov dword [0x87417d], eax
mov eax, dword [0x1150a9f0]
mov dword [0x87418a], eax
mov eax, dword [0x1150a9f4]
mov dword [0x874197], eax
mov eax, dword [0x1150a9f8]
mov dword [0x8741a4], eax
mov eax, dword [0x1150a9fc]
mov dword [0x8741cb], eax
mov eax, dword [0x1150aa00]
mov dword [0x8741d8], eax
mov eax, dword [0x1150aa04]
mov dword [0x8741e5], eax
mov eax, dword [0x1150aa08]
mov dword [0x8741f2], eax
mov eax, dword [0x1150aa0c]
mov dword [0x8741ff], eax
mov eax, dword [0x1150aa10]
mov dword [0x87420c], eax
mov eax, dword [0x1150aa14]
mov dword [0x874219], eax
mov eax, dword [0x1150aa18]
mov dword [0x874226], eax
mov eax, dword [0x1150aa1c]
mov dword [0x874233], eax
mov eax, dword [0x1150aa20]
mov dword [0x874240], eax
mov eax, dword [0x1150aa24]
mov dword [0x87424d], eax
mov eax, dword [0x1150aa28]
mov dword [0x87425a], eax
mov eax, dword [0x1150aa2c]
push 0x10069d10
mov dword [0x874267], eax
mov eax, dword [0x1150aa30]
push 0x874670
push 0xe9
mov dword [0x874274], eax
call fcn.100d0e40
push 0x10101c58
push str.DataCustomEventEntry.txt
call fcn.100d667a
add esp, 0x14
test eax, eax
je 0x10069cf6
push eax
call fcn.100d68ef
add esp, 4
mov dword [ebp - 0x8c], 0x106d8570
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.10069e50
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 + 0x106d85bc], eax
lea eax, [ebp - 0x84]
push str.CC_dLevelMax_Normal
push eax
call fcn.10069e50
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 + 0x106d85c0], eax
lea eax, [ebp - 0x84]
push str.CC_dLevelMin_MGDLRF
push eax
call fcn.10069e50
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 + 0x106d858c], eax
lea eax, [ebp - 0x84]
push str.CC_dLevelMax_MGDLRF
push eax
call fcn.10069e50
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 + 0x106d8590], eax
lea eax, [ebp - 0x84]
push str.CC_dZen
push eax
call fcn.10069e50
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 0x10069a80
push str.DataCustomEventEntry.txt
push 0
push str.CC7Zen
push str.ChaosCastle
call esi
cmp dword [0x102e1860], 0
mov dword [0x106d8588], eax
je 0x10069cd1
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.100d2be8
mov esp, ebp
pop ebp
ret
push str.EventEntry.txt_not_found_
call fcn.100d10c0
push str.EventEntry.txt_not_found_
call fcn.100d10c0
push str.EventEntry.txt_not_found_
call fcn.100d10c0
int3