Function at 0x4064a0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x1c2c
call fcn.0042d360
mov eax, dword [0x44d998]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push esi
push edi
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_ENCHANT
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x1c44], eax
mov byte [esp + 0x20], 0x6e
mov byte [esp + 0x21], 5
mov dword [esp + 0x23], 1
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_RANKUP
mov dword [esp + 0x23], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_ENCHANT
lea edi, [esp + 0x27]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x6b], 2
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_ADDSOCKET
mov dword [esp + 0x6b], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_RANKUP
lea edi, [esp + 0x6f]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0xb3], 4
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_FILLSOCKET
mov dword [esp + 0xb3], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_ADDSOCKET
lea edi, [esp + 0xb7]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0xfb], 8
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_EXTRACTSOCKET
mov dword [esp + 0xfb], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_FILLSOCKET
lea edi, [esp + 0xff]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x143], 0x10
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_COMPOSE
mov dword [esp + 0x143], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_EXTRACTSOCKET
lea edi, [esp + 0x147]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x18b], 0x20
call ebx
push str..MasterServer.ini
push 1
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_COMPOSE
lea edi, [esp + 0x18b]
mov dword [esp + 0x187], eax
push str.FUNCTIONALRESTRICT_CRYSTALIZE
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1cf], 0x40
push str.FUNCTIONALRESTRICT
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_USE_EXTRASTONE
mov dword [esp + 0x1d3], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_CRYSTALIZE
lea edi, [esp + 0x1d7]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x21b], 0x80
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_USE_WAREHOUSE
mov dword [esp + 0x21b], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_USE_EXTRASTONE
lea edi, [esp + 0x21f]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x263], pe_nt_image_headers32
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_USE_TRADE
mov dword [esp + 0x263], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_USE_WAREHOUSE
lea edi, [esp + 0x267]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x2ab], 0x200
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_USE_VENDOR
mov dword [esp + 0x2ab], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_USE_TRADE
lea edi, [esp + 0x2af]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x2f3], 0x400
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_USE_GUILD
mov dword [esp + 0x2f3], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_USE_VENDOR
lea edi, [esp + 0x2f7]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x33b], 0x800
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_USE_MONSTERDRO
mov dword [esp + 0x33b], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_USE_GUILD
lea edi, [esp + 0x33f]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x383], 0x1000
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_COMBINE_ITEM
mov dword [esp + 0x383], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_USE_MONSTERDRO
lea edi, [esp + 0x387]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x3cb], 0x2000
call ebx
mov dword [esp + 0x3bf], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_COMBINE_ITEM
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_DIVIDE_ITEM
lea edi, [esp + 0x3cf]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x413], 0x4000
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_REPAIR_ITEM
mov dword [esp + 0x413], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_DIVIDE_ITEM
lea edi, [esp + 0x417]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x45b], 0x8000
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_SELL_ITEM
mov dword [esp + 0x45b], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_REPAIR_ITEM
lea edi, [esp + 0x45f]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x4a3], 0x10000
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_BUY_ITEM
mov dword [esp + 0x4a3], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_SELL_ITEM
lea edi, [esp + 0x4a7]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x4eb], 0x20000
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_EXCHANGE_ITEM
mov dword [esp + 0x4eb], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_BUY_ITEM
lea edi, [esp + 0x4ef]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x533], 0x40000
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_VENDOR_LIST_NP
mov dword [esp + 0x533], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_EXCHANGE_ITEM
lea edi, [esp + 0x537]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x57b], 0x80000
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_BUY_SHOPITEM
mov dword [esp + 0x57b], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_VENDOR_LIST_NP
lea edi, [esp + 0x57f]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x5c3], 0x100000
call ebx
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_BUY_SHOPITEM
lea edi, [esp + 0x5bb]
mov dword [esp + 0x5b7], eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x5fb], 0x200000
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_SHOP_SERVICE
push str.FUNCTIONALRESTRICT
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_GM_COMMAND
mov dword [esp + 0x60b], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_SHOP_SERVICE
lea edi, [esp + 0x60f]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x653], 0x400000
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_PARTY_RETURN_FOR_UCUSER
mov dword [esp + 0x653], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_GM_COMMAND
lea edi, [esp + 0x657]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x69b], 0x800000
call ebx
push str..MasterServer.ini
push 1
push str.FUNCTIONALRESTRICT_WAREINVEN_LOCK_BY_PWD
mov dword [esp + 0x69b], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_PARTY_RETURN_FOR_UCUSER
lea edi, [esp + 0x69f]
rep movsd dword es:[edi], dword [esi]
push str.FUNCTIONALRESTRICT
mov dword [esp + 0x6e3], 0x1000000
call ebx
push 1
mov dword [esp + 0x6db], eax
mov ecx, 0x10
mov esi, str.FUNCTIONALRESTRICT_WAREINVEN_LOCK_BY_PWD
lea edi, [esp + 0x6df]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x1c40]
push 1
lea eax, [esp + 0x14]
push eax
push ecx
mov byte [esp + 0x22], 0x19
call fcn.004063a0
mov ecx, dword [esp + 0x1c44]
add esp, 0x10
pop edi
pop esi
pop ebx
call fcn.0042cc6e
add esp, 0x1c2c
ret