Function at 0x546f50
Capabilities:
Create directory
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x630a06
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x68b740]
xor eax, esp
push eax
lea eax, [esp + 0x50]
mov dword fs:[0], eax
mov edi, dword [sym.imp.MSVCR80.dll__time32]
lea eax, [esp + 0x14]
push eax
call edi
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.MSVCR80.dll__ctime32]
push eax
push str.Starting_Core......_s
call dword [sym.imp.engine.dll_void___cdecl_g_DebugLog_char_const__]
mov eax, dword [esp + 0x70]
add esp, 0x10
cmp eax, 4
ja 0x546fc9
mov ecx, dword [esp + 0x64]
cmp ecx, 5
ja 0x546fc9
test ecx, ecx
mov dword [0x680760], eax
mov dword [0x680764], ecx
jne 0x546fc9
mov dword [0x680764], 2
push str._settingsgamesetting.ini
call fcn.00545620
mov ebp, dword [sym.imp.MSVCR80.dll_printf]
add esp, 4
test eax, eax
jne 0x546fea
push str.file_load_error:_settings_gamesettings.ini__r_n
call ebp
add esp, 4
mov esi, dword [sym.imp.MSVCR80.dll__mkdir]
push str.Logs
call esi
push str.data
call esi
push str.data__lottery
call esi
lea edx, [esp + 0x38]
push edx
call edi
push eax
call dword [sym.imp.MSVCR80.dll_srand]
push 0x10c
call fcn.00612c66
add esp, 0x18
mov dword [esp + 0x60], eax
test eax, eax
mov dword [esp + 0x58], 0
je 0x547054
push 0x546c50
push 0x572770
push 1
lea esi, [eax + 4]
push 0x108
push esi
mov dword [eax], 1
call fcn.0061345f
mov eax, esi
jmp 0x547056
xor eax, eax
mov esi, dword [sym.imp.MSVCR80.dll_rand]
or ebx, 0xffffffff
mov dword [esp + 0x58], ebx
mov dword [0x8e4d00], eax
call esi
and eax, 0x8000003f
jns 0x547076
dec eax
or eax, 0xffffffc0
inc eax
add eax, 6
shl eax, 0xa
push eax
call fcn.00612c66
push 0x11664
mov dword [esp + 0x28], eax
call fcn.00612c66
add esp, 8
mov dword [esp + 0x60], eax
test eax, eax
mov dword [esp + 0x58], 1
je 0x5470c7
push 0x546ca0
push 0x570320
push 2
lea edi, [eax + 4]
push 0x8b30
push edi
mov dword [eax], 2
call fcn.0061345f
mov eax, edi
jmp 0x5470c9
xor eax, eax
mov dword [esp + 0x58], ebx
mov dword [0x8e48f4], eax
call esi
and eax, 0x8000003f
jns 0x5470e0
dec eax
or eax, 0xffffffc0
inc eax
add eax, 6
shl eax, 0xa
push eax
call fcn.00612c66
push 0x113b804
mov ebx, eax
call fcn.00612c66
add esp, 8
mov dword [esp + 0x60], eax
test eax, eax
mov dword [esp + 0x58], 2
je 0x547132
push 0x545320
push 0x57bfe0
push pe_nt_image_headers32
lea edi, [eax + 4]
push 0x113b8
push edi
mov dword [eax], pe_nt_image_headers32
call fcn.00612f01
mov eax, edi
jmp 0x547134
xor eax, eax
mov dword [esp + 0x58], 0xffffffff
mov dword [0x12c5540], eax
call esi
and eax, 0x8000003f
jns 0x54714f
dec eax
or eax, 0xffffffc0
inc eax
add eax, 6
shl eax, 0xa
push eax
call fcn.00612c66
push 0xaf804
mov edi, eax
call fcn.00612c66
add esp, 8
mov dword [esp + 0x60], eax
test eax, eax
mov dword [esp + 0x58], 3
je 0x54719f
push fcn.0058e120
push fcn.0058edd0
push 0x200
lea esi, [eax + 4]
push 0x57c
push esi
mov dword [eax], 0x200
call fcn.00612f01
jmp 0x5471a1
xor esi, esi
push 0x3d400
mov dword [esp + 0x5c], 0xffffffff
mov dword [0x1341190], esi
call fcn.00612c66
mov esi, eax
add esp, 4
mov dword [esp + 0x60], esi
test esi, esi
mov dword [esp + 0x58], 4
je 0x5471e5
push 0x57eab0
push pe_nt_image_headers32
push 0x3d4
push esi
call fcn.0045cb40
jmp 0x5471e7
xor esi, esi
push 0x1608a4
mov dword [esp + 0x5c], 0xffffffff
mov dword [0x12c5588], esi
call fcn.00612c66
add esp, 4
mov dword [esp + 0x60], eax
test eax, eax
mov dword [esp + 0x58], 5
je 0x547239
push fcn.005b2770
push 0x5b26b0
push 0x1f4
lea esi, [eax + 4]
push 0xb48
push esi
mov dword [eax], 0x1f4
call fcn.00612f01
mov eax, esi
jmp 0x54723b
xor eax, eax
push str._n
mov dword [esp + 0x5c], 0xffffffff
mov dword [0x1344d40], eax
call ebp
push pe_nt_image_headers32
push 2
push 1
push str.MaxSubWorldCount___d_tMaxPlayerCount___d_tMaxNpcCount___d_n
call ebp
push pe_nt_image_headers32
push 0x200
push str.MaxItemCount___d_tMaxObjCount___d_n
call ebp
push 0x78
push 0xc8
push str.MaxPlayerLevel___d_tMaxNpcLevel___d_n
call ebp
push 0x1f4
push 0x40
push 0x7d0
push str.MaxSkillCount___d_tMaxSkillLevel___d_tMaxMissileCount___d_n
call ebp
push str._n
call ebp
mov eax, dword [esp + 0x60]
add esp, 0x40
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
push ebx
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
push edi
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 0xc
call fcn.00546e40
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call dword [sym.imp.engine.dll_void___cdecl_g_RandomSeed_unsigned_int_]
add esp, 4
mov ecx, 0x6e23f0
mov dword [0x6e0f84], 1
call fcn.005520e0
mov ecx, 0x13348fc
call fcn.005ad170
mov ecx, 0x161c940
call fcn.005fcf10
call fcn.005e4c70
call fcn.005f1a50
test eax, eax
jne 0x54730f
mov ecx, dword [0x6e07c8]
push ecx
call dword [sym.imp.engine.dll_void___cdecl_g_DebugLog_char_const__]
add esp, 4
mov ecx, 0x161c2f0
call fcn.005e41e0
mov esi, dword [0x13409f8]
xor ecx, ecx
lea edi, [esi + 1]
mov eax, edi
mov edx, 0x56fc
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00612c66
add esp, 4
mov dword [esp + 0x60], eax
test eax, eax
mov dword [esp + 0x58], 6
je 0x547378
push 0x5c9650
push 0x5c9970
push edi
lea ebx, [eax + 4]
push 0x56fc
push ebx
mov dword [eax], edi
call fcn.00612f01
mov eax, ebx
jmp 0x54737a
xor eax, eax
test eax, eax
mov dword [esp + 0x58], 0xffffffff
mov dword [0x16085a0], eax
jne 0x54739d
push str.Error_in_new_KItemGenerator
call ebp
add esp, 4
push 0
call dword [sym.imp.MSVCR80.dll_exit]
xor edi, edi
test esi, esi
jl 0x5473c0
xor ebx, ebx
mov ecx, dword [0x16085a0]
push edi
add ecx, ebx
call fcn.005c7330
add edi, 1
add ebx, 0x56fc
cmp edi, esi
jle 0x5473a5
call fcn.00545740
mov ecx, 0x161c198
call fcn.005e1a80
mov ecx, 0x161bc30
call fcn.005e17c0
mov ecx, 0x12c5598
call fcn.005818f0
mov ecx, 0x1341c18
call fcn.005ae350
mov ecx, 0x161bc14
call fcn.005e1190
call fcn.00545650
mov edx, dword [0x6e07cc]
mov edi, dword [sym.imp.engine.dll_void___cdecl_g_DebugLog_char_const__]
push 0x130
push edx
call edi
mov esi, dword [sym.imp.engine.dll_public_virtual:_int___thiscall_KTabFile::Load_char_const__]
add esp, 8
push str._settingsSkills.txt
mov ecx, 0x6e1e24
call esi
push str._settingsMissles.txt
mov ecx, 0x6e1e44
call esi
push str._settingsNpcS.txt
mov ecx, 0x6e1ef0
call esi
call fcn.005455e0
call fcn.00545550
call fcn.00545460
call fcn.005453f0
push str._settingsutilities.ini
mov ecx, 0x6e1e78
call dword [sym.imp.engine.dll_public:_int___thiscall_KIniFile::Load_char_const__]
mov ecx, 0x12c5598
call fcn.005e0e10
mov ecx, 0x1618af8
call fcn.005e05d0
test eax, eax
jne 0x547483
push str.Init_PlayerSet_Error_____n
call ebp
add esp, 4
mov ecx, 0x8e48e0
call fcn.00565ff0
push str._settingskiller.ini
mov ecx, 0x13411e0
call fcn.005929a0
push str._settings_auction.ini
mov ecx, 0x1618ac0
call fcn.005df770
mov ecx, 0x12c80d0
call fcn.00586950
push str._settingscitywar.ini
mov ecx, 0x1605fd0
call fcn.005bc070
mov ecx, 0x16182c8
call fcn.005df450
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.MSVCR80.dll__time32]
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.MSVCR80.dll__ctime32]
push eax
push str.Initting_g_Faction__s
call edi
push 0x190
push 0
push 0x6e1118
call sub.MSVCR80.dll_memset
push 0x190
push 0
push 0x6e0f88
call sub.MSVCR80.dll_memset
add esp, 0x28
lea ecx, [esp + 0x30]
call dword [sym.imp.engine.dll_public:_void___thiscall_KTabFile::constructor_void_]
push str._settings_
lea ecx, [esp + 0x34]
mov dword [esp + 0x5c], 7
call esi
test eax, eax
je 0x547649
lea ecx, [esp + 0x30]
call dword [sym.imp.engine.dll_public_virtual:_int___thiscall_KTabFile::GetHeight_void_]
mov esi, dword [sym.imp.engine.dll_public_virtual:_int___thiscall_KTabFile::FindColumn_char_const__]
mov edi, eax
push str.DetailType
lea ecx, [esp + 0x34]
sub edi, 1
call esi
push str.ParticularType
lea ecx, [esp + 0x34]
mov ebp, eax
call esi
push str.PhysicsSkillID
lea ecx, [esp + 0x34]
mov dword [esp + 0x28], eax
call esi
test edi, edi
mov dword [esp + 0x28], eax
jle 0x547649
mov ebx, dword [sym.imp.engine.dll_public_virtual:_int___thiscall_KTabFile::GetInteger_int__int__int__int__]
mov esi, 2
mov dword [esp + 0x20], edi
lea ecx, [ecx]
lea edx, [esp + 0x1c]
push edx
push 0xffffffffffffffff
xor edi, edi
push ebp
push esi
lea ecx, [esp + 0x40]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x70], edi
call ebx
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x18]
push eax
push 0xffffffffffffffff
push ecx
push esi
lea ecx, [esp + 0x40]
call ebx
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x60]
push edx
push 0xffffffffffffffff
push eax
push esi
lea ecx, [esp + 0x40]
call ebx
mov eax, dword [esp + 0x1c]
cmp eax, edi
jne 0x5475fc
mov ecx, dword [esp + 0x18]
cmp ecx, 0x63
ja 0x54763b
mov eax, dword [esp + 0x60]
lea edx, [eax - 1]
cmp edx, 0x7ce
ja 0x54763b
mov dword [ecx*4 + 0x6e1118], eax
jmp 0x54763b
cmp eax, 1
jne 0x547622
mov ecx, dword [esp + 0x18]
cmp ecx, 0x63
ja 0x54763b
mov eax, dword [esp + 0x60]
lea edx, [eax - 1]
cmp edx, 0x7ce
ja 0x54763b
mov dword [ecx*4 + 0x6e0f88], eax
jmp 0x54763b
cmp eax, 0xffffffff
jne 0x54763b
mov eax, dword [esp + 0x60]
lea ecx, [eax - 1]
cmp ecx, 0x7ce
ja 0x54763b
mov dword [0x6e0f80], eax
add esi, 1
sub dword [esp + 0x20], 1
jne 0x547590
push str._settings_rolename.flt
mov ecx, 0x1341274
call fcn.00592bc0
push str._settings_tongname.flt
mov ecx, 0x134127c
call fcn.00592bc0
push str._settings_nw_title.flt
mov ecx, 0x1341284
call fcn.00592bc0
mov ecx, 0x1605f28
call fcn.005b71d0
test eax, eax
jne 0x547692
push str.Buysell_init_failed_
call dword [sym.imp.engine.dll_void___cdecl_g_DebugLog_char_const__]
add esp, 4
call fcn.005fcf10
call fcn.00612160
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.MSVCR80.dll__time32]
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.MSVCR80.dll__ctime32]
push eax
push str.End_of_Init__Game_Started___s
call dword [sym.imp.engine.dll_void___cdecl_g_DebugLog_char_const__]
add esp, 0x10
lea ecx, [esp + 0x30]
mov dword [esp + 0x58], 0xffffffff
call dword [sym.imp.engine.dll_public_virtual:_void___thiscall_KTabFile::destructor_void_]
mov ecx, dword [esp + 0x50]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret