Function at 0x402330
Capabilities:
Read .ini file

Disassembly:
push str.exdb.ini.dat
mov ecx, 0x4886b0
call fcn.0040e910
test eax, eax
jne 0x402354
push str.Error_:_ExDB.ini.dat_file_not_found__
call dword [sym.imp.LogProc.dll_void___cdecl_MsgBox_char__]
add esp, 4
xor eax, eax
ret
push esi
push edi
mov ecx, 0x4886b0
call fcn.0040ea90
mov ecx, 0x4886b0
call fcn.0040ea80
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x488270
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x4886b0
call fcn.0040ea90
mov ecx, 0x4886b0
call fcn.0040ea80
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x48823c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x4886b0
call fcn.0040ea90
mov ecx, 0x4886b0
call fcn.0040ea70
dec eax
jne 0x40240b
mov ecx, 0x4886b0
call fcn.0040ea90
mov ecx, 0x4886b0
call fcn.0040ea70
mov ecx, 0x4886b0
mov dword [0x46b204], eax
call fcn.0040ea90
mov ecx, 0x4886b0
call fcn.0040ea70
mov dword [0x46b208], eax
mov ecx, 0x4886b0
call fcn.0040e9c0
push str...data_
mov ecx, 0x48e130
call fcn.00401920
push str.commonserver.cfg
mov ecx, 0x48e130
call fcn.00401950
push eax
push 0
push str.Language
push str.GameServerInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str.langkoritem_kor_.txt
mov ecx, 0x48e130
mov dword [0x48ff70], eax
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
push str.langkorSkill_kor_.txt
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4883ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4882ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.MU_ExDB_Ver__0.40.I____WEBZEN__
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x471400
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.__FOR_C.S_
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x471400
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x48ff70]
mov ecx, edx
and ecx, 3
cmp eax, 7
rep movsb byte es:[edi], byte [esi]
ja case.default.0x40250b
jmp dword [eax*4 + 0x402950]
push str.langkoritem_kor_.txt
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
push str.langkorSkill_kor_.txt
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4885ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4884ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str._KOR_
jmp 0x40286a
push str.langengitem_eng_.txt
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
push str.langengSkill_eng_.txt
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4885ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4884ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str._ENG_
jmp 0x40286a
push str.langjpnitem_jpn_.txt
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
push str.langjpnSkill_jpn_.txt
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4885ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4884ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str._JPN_
jmp 0x40286a
push str.langchsitem_chs_.txt
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
push str.langchsSkill_chs_.txt
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4885ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4884ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str._CHA_
jmp 0x40286a
push str.lang_taiitem_tai_.txt
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
push str.lang_taiSkill_tai_.txt
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4885ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4884ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str._THI_
jmp 0x40286a
push str.lang_thaitem_Tha_.txt
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
push str.lang_thaSkill_Tha_.txt
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4885ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4884ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str._THA_
jmp 0x40286a
push str.langphiitem_phi_.txt
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
push str.langphiSkill_phi_.txt
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4885ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4884ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str._PHI_
jmp 0x40286a
push str.lang_vtmitem_vtm_.txt
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
push str.lang_vtmSkill_vtm_.txt
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4885ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x48e130
call fcn.00401950
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4884ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str._VTM_
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x471400
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x48ff70]
mov esi, dword [sym.imp.LogProc.dll_void___cdecl_MsgBox_char__]
test eax, eax
jne 0x4028b6
push 0x4885ac
mov ecx, 0x488818
call fcn.00403a80
test eax, eax
jne 0x4028d3
jmp 0x4028c9
push 0x4883ac
mov ecx, 0x488818
call fcn.00403a80
test eax, eax
jne 0x4028d3
push str.Item_File_Not_Found.
call esi
add esp, 4
push str...dataMonster.txt
mov ecx, 0x488818
call fcn.00403a80
test eax, eax
jne 0x4028f0
push str.Monster_File_Not_Found.
call esi
add esp, 4
mov eax, dword [0x48ff70]
test eax, eax
jne 0x40290e
push 0x4882ac
mov ecx, 0x488818
call fcn.00403a80
test eax, eax
jne 0x40292b
jmp 0x402921
push 0x4884ac
mov ecx, 0x488818
call fcn.00403a80
test eax, eax
jne 0x40292b
push str.Skill_File_Not_Found.
call esi
add esp, 4
push str...data_badsyntax.txt
mov ecx, 0x4709c0
call fcn.00401130
test eax, eax
jne 0x402948
push str.badstring_load_error
call esi
add esp, 4
pop edi
mov eax, 1
pop esi
ret