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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
mov eax, dword [0x100db040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x100cfbe0
push str.DataCustomEventEntry.txt
call fcn.100a3afa
add esp, 8
test eax, eax
je 0x100637b1
push eax
call fcn.100a3d6f
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
add esp, 4
mov edi, 1
mov dword [ebp - 0x90], 6
xor ebx, ebx
push edi
lea eax, [ebp - 0x88]
push str.DS_dLevelMin_Normal
push eax
call fcn.10011730
add esp, 0xc
lea eax, [ebp - 0x88]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.DevilSquare
call esi
push edi
mov dword [ebx + 0x1087fd54], eax
lea eax, [ebp - 0x88]
push str.DS_dLevelMax_Normal
push eax
call fcn.10011730
add esp, 0xc
lea eax, [ebp - 0x88]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.DevilSquare
call esi
push edi
mov dword [ebx + 0x1087fd58], eax
lea eax, [ebp - 0x88]
push str.DS_dLevelMin_MGDLRF
push eax
call fcn.10011730
add esp, 0xc
lea eax, [ebp - 0x88]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.DevilSquare
call esi
push edi
mov dword [ebx + 0x1087fd84], eax
lea eax, [ebp - 0x88]
push str.DS_dLevelMax_MGDLRF
push eax
call fcn.10011730
add esp, 0xc
lea eax, [ebp - 0x88]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.DevilSquare
call esi
inc edi
mov dword [ebx + 0x1087fd88], eax
sub dword [ebp - 0x90], 1
lea ebx, [ebx + 8]
jne 0x10063110
mov eax, dword [0x1087fd54]
mov dword [0x80b1ad], eax
mov eax, dword [0x1087fd58]
mov dword [0x80b1ba], eax
mov eax, dword [0x1087fd5c]
mov dword [0x80b1c7], eax
mov eax, dword [0x1087fd60]
mov dword [0x80b1d4], eax
mov eax, dword [0x1087fd64]
mov dword [0x80b1e1], eax
mov eax, dword [0x1087fd68]
mov dword [0x80b1ee], eax
mov eax, dword [0x1087fd6c]
mov dword [0x80b1fb], eax
mov eax, dword [0x1087fd70]
mov dword [0x80b208], eax
mov eax, dword [0x1087fd74]
mov dword [0x80b215], eax
mov eax, dword [0x1087fd78]
mov dword [0x80b222], eax
mov eax, dword [0x1087fd7c]
mov dword [0x80b22f], eax
mov eax, dword [0x1087fd80]
mov dword [0x80b23c], eax
mov eax, dword [0x1087fd84]
mov dword [0x80b25d], eax
mov eax, dword [0x1087fd88]
mov dword [0x80b26a], eax
mov eax, dword [0x1087fd8c]
mov dword [0x80b277], eax
mov eax, dword [0x1087fd90]
mov dword [0x80b284], eax
mov eax, dword [0x1087fd94]
mov dword [0x80b291], eax
mov eax, dword [0x1087fd98]
mov dword [0x80b29e], eax
mov eax, dword [0x1087fd9c]
mov dword [0x80b2ab], eax
mov eax, dword [0x1087fda0]
mov dword [0x80b2b8], eax
mov eax, dword [0x1087fda4]
mov dword [0x80b2c5], eax
mov eax, dword [0x1087fda8]
mov dword [0x80b2d2], eax
mov eax, dword [0x1087fdac]
push 0x10063870
mov dword [0x80b2df], eax
mov eax, dword [0x1087fdb0]
push 0x80bc74
push 0xe9
mov dword [0x80b2ec], eax
call fcn.10099d10
add esp, 0xc
push 0x100cfbe0
push str.DataCustomEventEntry.txt
call fcn.100a3afa
add esp, 8
test eax, eax
je 0x100637bb
push eax
call fcn.100a3d6f
add esp, 4
mov dword [ebp - 0x90], 7
mov edi, 1
xor ebx, ebx
nop dword [eax]
push edi
lea eax, [ebp - 0x88]
push str.BC_dLevelMin_Normal
push eax
call fcn.10011730
add esp, 0xc
lea eax, [ebp - 0x88]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.BloodCastle
call esi
push edi
mov dword [ebx + 0x1087fce4], eax
lea eax, [ebp - 0x88]
push str.BC_dLevelMax_Normal
push eax
call fcn.10011730
add esp, 0xc
lea eax, [ebp - 0x88]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.BloodCastle
call esi
push edi
mov dword [ebx + 0x1087fce8], eax
lea eax, [ebp - 0x88]
push str.BC_dLevelMin_MGDLRF
push eax
call fcn.10011730
add esp, 0xc
lea eax, [ebp - 0x88]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.BloodCastle
call esi
push edi
mov dword [ebx + 0x1087fd1c], eax
lea eax, [ebp - 0x88]
push str.BC_dLevelMax_MGDLRF
push eax
call fcn.10011730
add esp, 0xc
lea eax, [ebp - 0x88]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.BloodCastle
call esi
inc edi
mov dword [ebx + 0x1087fd20], eax
sub dword [ebp - 0x90], 1
lea ebx, [ebx + 8]
jne 0x10063320
lea eax, [ebp - 0x8c]
push eax
push 0x40
push 0x17d
push 0x807c1a
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [0x1087fce4]
mov dword [0x807c1a], eax
mov eax, dword [0x1087fce8]
mov dword [0x807c27], eax
mov eax, dword [0x1087fcec]
mov dword [0x807c34], eax
mov eax, dword [0x1087fcf0]
mov dword [0x807c41], eax
mov eax, dword [0x1087fcf4]
mov dword [0x807c4e], eax
mov eax, dword [0x1087fcf8]
mov dword [0x807c5b], eax
mov eax, dword [0x1087fcfc]
mov dword [0x807c68], eax
mov eax, dword [0x1087fd00]
mov dword [0x807c75], eax
mov eax, dword [0x1087fd04]
mov dword [0x807c82], eax
mov eax, dword [0x1087fd08]
mov dword [0x807c8f], eax
mov eax, dword [0x1087fd0c]
mov dword [0x807c9c], eax
mov eax, dword [0x1087fd10]
mov dword [0x807ca9], eax
mov eax, dword [0x1087fd14]
mov dword [0x807cb6], eax
mov eax, dword [0x1087fd18]
mov dword [0x807cc3], eax
mov eax, dword [0x1087fd1c]
mov dword [0x807ce4], eax
mov eax, dword [0x1087fd20]
mov dword [0x807cf1], eax
mov eax, dword [0x1087fd24]
mov dword [0x807cfe], eax
mov eax, dword [0x1087fd28]
mov dword [0x807d0b], eax
mov eax, dword [0x1087fd2c]
mov dword [0x807d18], eax
mov eax, dword [0x1087fd30]
mov dword [0x807d25], eax
mov eax, dword [0x1087fd34]
mov dword [0x807d32], eax
mov eax, dword [0x1087fd38]
mov dword [0x807d3f], eax
mov eax, dword [0x1087fd3c]
mov dword [0x807d4c], eax
mov eax, dword [0x1087fd40]
mov dword [0x807d59], eax
mov eax, dword [0x1087fd44]
mov dword [0x807d66], eax
mov eax, dword [0x1087fd48]
mov dword [0x807d73], eax
mov eax, dword [0x1087fd4c]
push 0x100637d0
mov dword [0x807d80], eax
mov eax, dword [0x1087fd50]
push 0x9b28b3
push 0xe9
mov dword [0x807d8d], eax
call fcn.10099d10
add esp, 0xc
push 0x100cfbe0
push str.DataCustomEventEntry.txt
call fcn.100a3afa
add esp, 8
test eax, eax
je 0x100637c5
push eax
call fcn.100a3d6f
add esp, 4
mov dword [ebp - 0x90], 0x104fa0c8
mov edi, 1
mov dword [ebp - 0x8c], 6
xor ebx, ebx
nop word [eax + eax]
push edi
lea eax, [ebp - 0x88]
push str.CC_dLevelMin_Normal
push eax
call fcn.10063910
add esp, 0xc
lea eax, [ebp - 0x88]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.ChaosCastle
call esi
push edi
mov dword [ebx + 0x104fa114], eax
lea eax, [ebp - 0x88]
push str.CC_dLevelMax_Normal
push eax
call fcn.10063910
add esp, 0xc
lea eax, [ebp - 0x88]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.ChaosCastle
call esi
push edi
mov dword [ebx + 0x104fa118], eax
lea eax, [ebp - 0x88]
push str.CC_dLevelMin_MGDLRF
push eax
call fcn.10063910
add esp, 0xc
lea eax, [ebp - 0x88]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.ChaosCastle
call esi
push edi
mov dword [ebx + 0x104fa0e4], eax
lea eax, [ebp - 0x88]
push str.CC_dLevelMax_MGDLRF
push eax
call fcn.10063910
add esp, 0xc
lea eax, [ebp - 0x88]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.ChaosCastle
call esi
push edi
mov dword [ebx + 0x104fa0e8], eax
lea eax, [ebp - 0x88]
push str.CC_dZen
push eax
call fcn.10063910
add esp, 0xc
lea eax, [ebp - 0x88]
push str.DataCustomEventEntry.txt
push 0
push eax
push str.ChaosCastle
call esi
mov ecx, dword [ebp - 0x90]
lea ebx, [ebx + 8]
inc edi
mov dword [ecx], eax
add ecx, 4
sub dword [ebp - 0x8c], 1
mov dword [ebp - 0x90], ecx
jne 0x10063580
push str.DataCustomEventEntry.txt
push 0
push str.CC7Zen
push str.ChaosCastle
call esi
cmp dword [0x102c4f48], 0
mov dword [0x104fa0e0], eax
je 0x10063772
push 0x10063060
push 0x9b265a
push 0xe8
call fcn.10099d10
add esp, 0xc
push 0x10063060
push 0x9b265a
push 0xe8
call fcn.10099d10
mov ebx, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x8c]
add esp, 0xc
push eax
push 0x40
push 1
push 0x80b355
call ebx
lea eax, [ebp - 0x8c]
mov byte [0x80b355], 6
push eax
push dword [ebp - 0x8c]
push 1
push 0x80b355
call ebx
lea eax, [ebp - 0x8c]
push eax
push 0x40
push 1
push 0x80b450
call ebx
lea eax, [ebp - 0x8c]
mov byte [0x80b450], 6
push eax
push dword [ebp - 0x8c]
push 1
push 0x80b450
call ebx
lea eax, [ebp - 0x8c]
push eax
push 0x40
push 1
push 0x80b57d
call ebx
lea eax, [ebp - 0x8c]
mov byte [0x80b57d], 6
push eax
push dword [ebp - 0x8c]
push 1
push 0x80b57d
call ebx
push 0x10063070
push 0x9b22c0
push 0xe8
call fcn.10099d10
add esp, 0xc
push 0x10063070
push 0x9b232e
push 0xe8
call fcn.10099d10
mov ecx, dword [ebp - 4]
add esp, 0xc
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.100a0150
mov esp, ebp
pop ebp
ret
push str.EventEntry.txt_not_found_
call fcn.10099e60
push str.EventEntry.txt_not_found_
call fcn.10099e60
push str.EventEntry.txt_not_found_
call fcn.10099e60
int3