Function at 0x441bc0
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x48cc7c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x808
mov eax, dword [esp + 0x818]
push ebx
push ebp
push esi
push edi
mov esi, ecx
push eax
mov dword [esp + 0x48], esi
call dword [sym.imp.Nw200.dll_public:_void___thiscall_CMugServer::constructor_unsigned_int_]
lea edi, [esi + 0x34]
xor ebx, ebx
mov ecx, edi
mov dword [esp + 0x820], ebx
call dword [sym.imp.Nw200.dll_public:_void___thiscall_CConnectHandler::constructor_void_]
lea ecx, [esi + 0x3184]
mov byte [esp + 0x820], 1
call fcn.00406fc0
lea ecx, [esi + 0x31dc]
mov byte [esp + 0x820], 2
call fcn.00488090
lea ecx, [esi + 0x31fc]
mov byte [esp + 0x820], 3
call fcn.0040a0c0
lea ecx, [esi + 0x323c]
mov byte [esp + 0x820], 4
call fcn.00486780
lea ecx, [esi + 0x325c]
mov byte [esp + 0x820], 5
call fcn.004046c0
lea ecx, [esi + 0x32b8]
mov byte [esp + 0x820], 6
call fcn.00405620
lea ecx, [esi + 0x32dc]
mov byte [esp + 0x820], 7
call fcn.004855a0
lea ecx, [esi + 0x32e8]
mov byte [esp + 0x820], 8
call fcn.004849e0
lea ecx, [esi + 0x3310]
mov byte [esp + 0x820], 9
call fcn.004016e0
lea ecx, [esi + 0x34fc]
mov byte [esp + 0x820], 0xa
call fcn.00401000
lea ecx, [esi + 0x351c]
mov byte [esp + 0x820], 0xb
call fcn.00408d00
lea ecx, [esi + 0x3558]
mov byte [esp + 0x820], 0xc
call sub.MFC42.DLL_CString::CString
lea ecx, [esi + 0x355c]
mov byte [esp + 0x820], 0xd
call sub.MFC42.DLL_CString::CString
push 0xa
lea ecx, [esi + 0x3578]
mov byte [esp + 0x824], 0xe
call fcn.00489cdc
push 0xa
lea ecx, [esi + 0x3594]
mov byte [esp + 0x824], 0xf
call sub.MFC42.DLL_CPtrList::CPtrList
mov byte [esp + 0x820], 0x10
lea ebp, [esi + 0x35b0]
push ebx
mov ecx, ebp
call fcn.00489b62
mov dword [ebp], 0x48fa74
add ebp, 8
push ebp
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea ecx, [esi + 0x35d4]
mov byte [esp + 0x820], 0x11
call sub.MFC42.DLL_CString::CString
lea ecx, [esi + 0x35d8]
mov byte [esp + 0x820], 0x12
call sub.MFC42.DLL_CString::CString
lea ecx, [esi + 0x35dc]
mov byte [esp + 0x820], 0x13
call fcn.0040a0c0
lea ecx, [esi + 0x361c]
mov byte [esp + 0x820], 0x14
call fcn.00488850
mov ecx, dword [esp + 0x82c]
mov dword [esi], 0x48fe08
mov dword [edi], 0x48fdfc
mov dword [esi + 4], 6
mov dword [esi + 0x31d0], ecx
mov ebp, 1
mov dword [esi + 0x3670], ebx
mov dword [esi + 0x3668], ebp
mov dword [esi + 0x21c4], ebx
mov dword [esi + 0x21c8], ebx
mov dword [esi + 0x3658], ebx
mov byte [esp + 0x820], 0x15
mov dword [esi + 0x3674], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push ebx
push ebp
push ebx
push ebx
lea ecx, [esp + 0x2c]
mov dword [esi + 0x366c], eax
call fcn.00442c20
mov edx, dword [eax]
push ecx
mov ecx, esp
lea eax, [esp + 0x18]
mov dword [esp + 0x14], esp
push eax
mov dword [ecx], edx
lea ecx, [esp + 0x28]
push ecx
call sub.MFC42.DLL_CTime::GetTickCount
mov ecx, eax
call fcn.00415dd0
mov edx, dword [eax]
push ebx
push ebp
push ebx
push ebx
lea ecx, [esp + 0x2c]
mov dword [esi + 0x3680], edx
call fcn.00442c20
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
lea edx, [esp + 0x24]
mov dword [ecx], eax
lea ecx, [esp + 0x18]
push ecx
push edx
call sub.MFC42.DLL_CTime::GetTickCount
mov ecx, eax
call fcn.00415dd0
mov eax, dword [eax]
lea ecx, [esp + 0x1c]
push ecx
mov dword [esi + 0x3684], eax
call sub.MFC42.DLL_CTime::GetTickCount
mov edx, dword [eax]
mov ecx, 0x96
mov dword [esi + 0x330c], edx
mov dword [esi + 0x368c], ebx
mov dword [esi + 0x3690], ebx
mov dword [esi + 0x3694], ebx
mov dword [esi + 0x3698], ebx
mov dword [esi + 0x369c], ebx
mov dword [esi + 0x36a0], ebx
mov dword [esi + 0x36a4], ecx
mov byte [esi + 0x36d4], bl
mov dword [esi + 0x3554], ebp
or eax, 0xffffffff
mov dword [esi + 0x3308], 0x3e8
mov word [esi + 0x3300], ax
mov word [esi + 0x3302], ax
mov eax, dword [esi + 0x32c4]
mov byte [esi + 0x3304], bl
cmp eax, 0x84
jl 0x441ee6
cmp eax, 0x88
jle 0x441f53
cmp eax, 0xb4
jl 0x441ef4
cmp eax, 0xbc
jle 0x441f53
mov eax, dword [esi + 0x31d0]
cmp eax, 1
je 0x441f53
cmp eax, 2
mov dword [esi + 0x3170], 0x64
jne 0x441f2d
mov eax, 0x78
mov dword [esi + 0x3174], eax
mov dword [esi + 0x3178], eax
mov dword [esi + 0x317c], eax
mov dword [esi + 0x3180], eax
jmp 0x441f85
mov dword [esi + 0x3174], 0x78
mov dword [esi + 0x3178], ecx
mov dword [esi + 0x317c], 0xb4
mov dword [esi + 0x3180], 0xc8
jmp 0x441f85
mov dword [esi + 0x3170], 0x64
mov dword [esi + 0x3174], 0x69
mov dword [esi + 0x3178], 0x6e
mov dword [esi + 0x317c], 0x73
mov dword [esi + 0x3180], 0x78
mov ecx, esi
call fcn.00445f40
mov ecx, esi
call fcn.00442f60
test eax, eax
jne 0x441fa8
push ebx
push ebx
push str.Map_Server_:_ServerIndex_Load_Failed
call sub.MFC42.DLL_AfxMessageBox
jmp 0x442bbf
mov eax, dword [esi + 0x32c4]
sub eax, 0x83
neg eax
sbb eax, eax
and eax, 0x2328
add eax, 0x3e8
mov ecx, eax
mov dword [esi + 0x3308], eax
push ecx
push ebx
push ebx
push ebx
mov ecx, esi
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CThinThread::CreateThread_unsigned_long_int__unsigned_int__struct__SECURITY_ATTRIBUTES___unsigned_int_]
mov ecx, esi
call fcn.00446010
mov eax, dword [esi + 0x32c4]
cmp eax, 0x15
je 0x44201c
cmp eax, 0x27
je 0x44201c
cmp eax, 0xb4
jl 0x441ffa
cmp eax, 0xbc
jle 0x44201c
cmp eax, 0x84
jl 0x442008
cmp eax, 0x88
jle 0x44201c
cmp dword [esi + 0x31d0], 1
je 0x44201c
mov ecx, esi
call fcn.00444590
test eax, eax
je 0x44207a
push 0x50
call sub.MFC42.DLL_operatornew
mov ebp, eax
add esp, 4
mov dword [esp + 0x1c], ebp
cmp ebp, ebx
mov byte [esp + 0x820], 0x16
je 0x44204d
push 1
mov ecx, ebp
call dword [sym.imp.rmDB.dll_public:_void___thiscall_CBillDBServer::constructor_int_]
mov dword [ebp], 0x48fdf8
mov eax, ebp
jmp 0x44204f
xor eax, eax
mov dword [esi + 0x21c4], eax
mov ecx, dword [eax + 4]
cmp ecx, ebx
mov byte [esp + 0x820], 0x15
je 0x442069
cmp dword [eax + 8], ebx
jne 0x442080
push ebx
push ebx
push str.Map_Server_:_Connection_to_BillDB_Server_Failed
call sub.MFC42.DLL_AfxMessageBox
jmp 0x442bbf
mov dword [esi + 0x21c4], ebx
mov ebp, dword [esi + 0x3668]
mov edx, ebp
shl edx, 5
add edx, ebp
lea eax, [edx*4 + 4]
push eax
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov byte [esp + 0x820], 0x17
je 0x4420d4
mov ecx, dword [sym.imp.rmDB.dll_public_virtual:_void___thiscall_CGameDBServer::destructor_void_]
mov dword [eax], ebp
push ecx
push 0x442cf0
add eax, 4
push ebp
push 0x84
push eax
mov dword [esp + 0x24], eax
call fcn.00489f8f
mov eax, dword [esp + 0x10]
jmp 0x4420d6
xor eax, eax
mov dword [esi + 0x21c8], eax
mov edx, dword [esi + 0x3668]
xor ecx, ecx
cmp edx, ebx
mov byte [esp + 0x820], 0x15
jbe 0x442119
add eax, 8
cmp dword [eax - 4], ebx
je 0x442108
cmp dword [eax], ebx
je 0x442108
inc ecx
add eax, 0x84
cmp ecx, edx
jae 0x442119
jmp 0x4420f3
push ebx
push ebx
push str.Map_Server_:_Connection_to_GameDB_Server_Failed
call sub.MFC42.DLL_AfxMessageBox
jmp 0x442bbf
mov eax, 1
mov ecx, esi
mov dword [esi + 0x32c8], ebx
mov dword [esi + 0x32cc], ebx
mov dword [esi + 0x31d4], 0x1a
mov dword [esi + 0x31d8], 0x2a
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3544], eax
mov dword [esi + 0x3548], eax
mov dword [esi + 0x354c], eax
mov dword [esi + 0x3550], eax
mov dword [esi + 0x365c], ebx
mov dword [esi + 0x3664], ebx
call fcn.00445e40
mov eax, dword [esi + 0x3664]
cmp eax, 4
ja case.0x442177.2
jmp dword [eax*4 + 0x442bdc]
mov dword [esi + 0x36a8], 0x32
jmp 0x4421ac
mov dword [esi + 0x36a8], 0x113
jmp 0x4421ac
mov dword [esi + 0x36a8], 0x190
jmp 0x4421ac
mov dword [esi + 0x36a8], 0x64
mov ecx, esi
mov dword [esi + 0x3560], ebx
mov dword [esi + 0x3564], ebx
mov dword [esi + 0x3568], ebx
mov dword [esi + 0x356c], ebx
mov dword [esi + 0x3570], ebx
mov dword [esi + 0x3574], ebx
call fcn.004445a0
mov edx, dword [esi + 0x32c4]
mov eax, dword [eax + 0x44]
lea ebp, [esi + 0x3184]
push edx
push eax
mov ecx, ebp
call fcn.00407050
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
lea ecx, [esp + 0x34]
mov eax, dword [eax + 0x74]
push eax
call sub.MFC42.DLL_CString::CString_2
push str._NoInitGroup
lea ecx, [esp + 0x38]
mov byte [esp + 0x824], 0x18
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x442226
mov ecx, ebp
call fcn.00407fa0
push ebx
call dword [sym.imp.MSVCRT.dll_time]
push eax
call dword [sym.imp.MSVCRT.dll_srand]
add esp, 8
lea ecx, [esp + 0x28]
mov dword [esi + 0x35d0], 0xffffffff
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x40]
lea edx, [esp + 0x28]
push ecx
push edx
mov ecx, esi
mov byte [esp + 0x828], 0x19
call fcn.00470550
test eax, eax
jne 0x442278
push ebx
push ebx
push str.Map_Center
call sub.MFC42.DLL_AfxMessageBox
jmp 0x442b9d
push 0x94
call sub.MFC42.DLL_operatornew
mov ebp, eax
add esp, 4
mov dword [esp + 0x1c], ebp
cmp ebp, ebx
mov byte [esp + 0x820], 0x1a
je 0x4422b3
mov eax, esi
push 1
neg eax
sbb eax, eax
mov ecx, ebp
and eax, edi
push eax
call dword [sym.imp.Nw200.dll_public:_void___thiscall_CConnectSocket::constructor_class_CConnectHandler___int_]
mov dword [ebp], 0x48fddc
jmp 0x4422b5
xor ebp, ebp
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
push eax
push ecx
mov ecx, ebp
mov byte [esp + 0x828], 0x19
mov dword [esi + 0x38], ebp
call dword [sym.imp.Nw200.dll_public:_int___thiscall_CEventSocket::Connect_char_const___unsigned_int_]
test eax, eax
jne 0x4422f7
push ebx
push ebx
push str.Connection_to_Map_Center_Failed
call sub.MFC42.DLL_AfxMessageBox
mov ecx, dword [esi + 0x38]
cmp ecx, ebx
je 0x4422ef
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x38], ebx
jmp 0x442b9d
mov dword [esi + 0x21cc], ebx
mov dword [esi + 0x21d0], 0x14
mov ecx, 2
lea edi, [esi + 0x21d4]
mov eax, ecx
mov ebp, 0x64
cdq
idiv ebp
cmp edx, 0x5f
jl 0x442337
lea eax, [edx + edx - 0xbb]
mov edx, dword [edi - 4]
imul eax, ecx
imul eax, ecx
add eax, edx
mov dword [edi], eax
jmp 0x442365
cmp ecx, 0x64
jl 0x442359
cmp edx, 3
jg 0x442359
add edx, edx
mov eax, 9
sub eax, edx
mov edx, dword [edi - 4]
imul eax, ecx
imul eax, ecx
add eax, edx
mov dword [edi], eax
jmp 0x442365
mov edx, ecx
mov eax, dword [edi - 4]
imul edx, ecx
add edx, eax
mov dword [edi], edx
inc ecx
add edi, 4
cmp ecx, 0x3e8
jle 0x442312
lea eax, [esi + 0x2fdc]
mov ecx, 0x63
mov edx, dword [eax]
add eax, 4
shl edx, 3
mov dword [eax - 4], edx
dec ecx
jne 0x44237c
or edi, 0xffffffff
mov dword [esi + 0x316c], edi
mov dword [esi + 0x3168], edi
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
lea ecx, [esp + 0x10]
mov eax, dword [eax + 0x74]
push eax
call sub.MFC42.DLL_CString::CString_2
push str._nodelspitem
mov ecx, eax
mov byte [esp + 0x824], 0x1b
call sub.MFC42.DLL_CString::Find
cmp eax, edi
lea ecx, [esp + 0x10]
sete byte [esp + 0x27]
mov byte [esp + 0x820], 0x19
call fcn.00489b20
cmp byte [esp + 0x27], bl
je 0x4423f9
mov edi, dword [esi + 0x32c4]
mov ecx, esi
call fcn.004445a0
mov eax, dword [eax + 0x40]
push edi
mov ecx, eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CSpecialItem::RemoveAllMapItem_int_]
mov ecx, esi
call fcn.00464820
mov ecx, esi
mov byte [esp + 0x18], al
call fcn.004445a0
mov edi, dword [eax + 0x18]
mov al, byte [esp + 0x18]
cmp al, 1
je 0x44241a
cmp al, 2
jne 0x442427
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, edi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::CancelArmyCreationInfo_unsigned_char_]
push edi
lea ecx, [esi + 0x3310]
call fcn.004018d0
test eax, eax
jne 0x442443
push ebx
push ebx
push str.Map_Server_:_Initialize_ArmyManager_Failed
call sub.MFC42.DLL_AfxMessageBox
mov ecx, esi
call fcn.004445a0
mov edx, dword [esi + 0x3308]
mov eax, dword [eax + 0x48]
push edx
push eax
lea ecx, [esi + 0x351c]
call fcn.00408e50
test eax, eax
jne 0x442470
push ebx
push ebx
push str.Map_Server_:_Initialize_LegalDefenseManager_Failed
call sub.MFC42.DLL_AfxMessageBox
mov ecx, esi
call fcn.00446330
mov ecx, esi
call fcn.00446420
mov eax, dword [esi + 0x3248]
mov ecx, dword [esi + 0x3244]
push eax
push ecx
lea ecx, [esi + 0x325c]
call fcn.00404c50
mov ebp, dword [sym.imp.Staff2.dll_class_CString___cdecl_STAFFGetInstancePathAndFilename_struct_HINSTANCE_____char_const__]
push str.DataSkill_skill00.rmi
lea edx, [esp + 0x14]
push ebx
push edx
call ebp
add esp, 0xc
mov eax, dword [eax]
lea ecx, [esi + 0x32dc]
push eax
mov byte [esp + 0x824], 0x1c
call fcn.00485670
lea ecx, [esp + 0x10]
mov byte [esp + 0x820], 0x19
call fcn.00489b20
mov edi, dword [esi + 0x3664]
push str.DataItemInfo_
lea eax, [esp + 0x14]
push ebx
push eax
call ebp
add esp, 0xc
mov eax, dword [eax]
push edi
push 8
push eax
lea ecx, [esi + 0x32e8]
mov byte [esp + 0x82c], 0x1d
call fcn.00484ae0
lea ecx, [esp + 0x10]
mov byte [esp + 0x820], 0x19
call fcn.00489b20
push str.Config_rmServer.ini
lea ecx, [esp + 0x18]
push ebx
push ecx
call ebp
mov eax, dword [eax]
lea edx, [esp + 0x1c]
push eax
push str.ArmySafeLogPath
push str.MapServer
push edx
mov byte [esp + 0x83c], 0x1e
call dword [sym.imp.Staff2.dll_class_CString___cdecl_STAFFGetPrivateProfilePath_char_const___char_const___char_const__]
add esp, 0x1c
lea edi, [esi + 0x35d4]
push eax
mov ecx, edi
mov byte [esp + 0x824], 0x1f
call fcn.00489c52
lea ecx, [esp + 0x10]
mov byte [esp + 0x820], 0x1e
call fcn.00489b20
lea ecx, [esp + 0x14]
mov byte [esp + 0x820], 0x19
call fcn.00489b20
push str.Config_rmServer.ini
lea eax, [esp + 0x18]
push ebx
push eax
call ebp
mov eax, dword [eax]
mov byte [esp + 0x82c], 0x20
push eax
push str.ArmyAgitLogPath
lea ecx, [esp + 0x24]
push str.MapServer
push ecx
call dword [sym.imp.Staff2.dll_class_CString___cdecl_STAFFGetPrivateProfilePath_char_const___char_const___char_const__]
add esp, 0x1c
push eax
mov ecx, edi
mov byte [esp + 0x824], 0x21
call fcn.00489c52
lea ecx, [esp + 0x10]
mov byte [esp + 0x820], 0x20
call fcn.00489b20
lea ecx, [esp + 0x14]
mov byte [esp + 0x820], 0x19
call fcn.00489b20
push str.Config_rmServer.ini
lea edx, [esp + 0x14]
push ebx
push edx
call ebp
mov eax, dword [eax]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
add esp, 0xc
push eax
push ebx
push str.UserDefenceUp
push str.GameSetting
call edi
lea ecx, [esp + 0x10]
mov dword [esi + 0x368c], eax
call fcn.00489b20
push str.Config_rmServer.ini
lea eax, [esp + 0x14]
push ebx
push eax
call ebp
mov eax, dword [eax]
add esp, 0xc
push eax
push ebx
push str.NoDeathPenalty
push str.GameSetting
call edi
neg eax
sbb eax, eax
lea ecx, [esp + 0x10]
neg eax
mov dword [esi + 0x3674], eax
call fcn.00489b20
push str.Config_rmServer.ini
lea ecx, [esp + 0x14]
push ebx
push ecx
call ebp
mov eax, dword [eax]
add esp, 0xc
push eax
push ebx
push str.PKModeMessage
push str.GameSetting
call edi
neg eax
sbb eax, eax
lea ecx, [esp + 0x10]
neg eax
mov dword [esi + 0x3690], eax
call fcn.00489b20
push str.Config_rmServer.ini
lea edx, [esp + 0x14]
push ebx
push edx
call ebp
mov eax, dword [eax]
add esp, 0xc
push eax
push ebx
push str.BattleArenaMessage
push str.GameSetting
call edi
neg eax
sbb eax, eax
lea ecx, [esp + 0x10]
neg eax
mov dword [esi + 0x3694], eax
call fcn.00489b20
push str.Config_rmServer.ini
lea eax, [esp + 0x14]
push ebx
push eax
call ebp
mov eax, dword [eax]
add esp, 0xc
push eax
push ebx
push str.BattleMatchMessage
push str.GameSetting
call edi
neg eax
sbb eax, eax
lea ecx, [esp + 0x10]
neg eax
mov dword [esi + 0x3698], eax
call fcn.00489b20
cmp dword [esi + 0x3694], 1
jne 0x442705
cmp dword [esi + 0x3698], 1
jne 0x442705
push ebx
push ebx
push str.Map_Server_:_You_can_not_execute_BattleZone_and_BattleMatch_at_the_same_time
call sub.MFC42.DLL_AfxMessageBox
mov ecx, dword [esi + 0x3694]
mov eax, 1
cmp ecx, eax
je 0x442720
cmp dword [esi + 0x3698], eax
jne 0x44294c
push str.Config_rmServer.ini
lea ecx, [esp + 0x14]
push ebx
push ecx
call ebp
mov eax, dword [eax]
add esp, 0xc
push eax
push 0xc8
push str.MaxBattleUserCount
push str.GameSetting
call edi
lea ecx, [esp + 0x10]
mov dword [esi + 0x36a4], eax
call fcn.00489b20
push str.Config_rmServer.ini
lea edx, [esp + 0x14]
push ebx
push edx
call ebp
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 0x36a8]
push eax
push str.StartBattleLevel
push str.GameSetting
call edi
lea ecx, [esp + 0x10]
mov dword [esi + 0x36a8], eax
call fcn.00489b20
cmp dword [esi + 0x3698], 1
jne 0x442797
shr dword [esi + 0x36a4], 1
push str.Config_rmServer.ini
lea ecx, [esp + 0x14]
push ebx
push ecx
call ebp
mov eax, dword [eax]
add esp, 0xc
push eax
push ebx
push str.FreeBattle
push str.GameSetting
call edi
neg eax
sbb eax, eax
lea ecx, [esp + 0x10]
neg eax
mov dword [esi + 0x36a0], eax
call fcn.00489b20
lea edx, [esp + 0x1c]
push edx
call sub.MFC42.DLL_CTime::GetTickCount
mov eax, dword [eax]
mov ecx, 0x1f4
mov dword [esp + 0x18], eax
xor eax, eax
lea edi, [esp + 0x48]
push str.Config_rmServer.ini
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
push ebx
push ecx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
call ebp
mov eax, dword [eax]
add esp, 0xc
lea edx, [esp + 0x48]
push eax
push 0x7d0
push edx
push 0x49c738
push str.BattleTime
push str.GameSetting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x10]
mov edi, eax
call fcn.00489b20
cmp edi, ebx
jle 0x442931
lea eax, [esp + 0x48]
push 0x2e
push eax
lea edi, [esp + 0x50]
call dword [sym.imp.MSVCRT.dll_strchr]
add esp, 8
cmp eax, ebx
mov dword [esp + 0x20], eax
je 0x44292a
cmp byte [esi + 0x36d4], 0xa
jae 0x44292a
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x30]
push ecx
push edx
push str._d:_d
push edi
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x10
lea ecx, [esp + 0x18]
push ebx
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 0xc]
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x14], eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov edi, dword [eax + 0x10]
push ebx
lea ecx, [esp + 0x1c]
inc edi
call sub.MFC42.DLL_CTime::GetLocalTm
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0x14]
push 0xffffffffffffffff
push ebx
push ecx
mov ecx, dword [esp + 0x1c]
push edx
add eax, 0x76c
push ecx
push edi
push eax
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CTime::CTime
push ecx
lea edx, [esp + 0x40]
mov eax, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x1c]
mov dword [eax], 0x348
call fcn.00415dd0
mov edx, dword [eax]
mov eax, dword [esp + 0x20]
xor ecx, ecx
push 0x2e
mov cl, byte [esi + 0x36d4]
lea edi, [eax + 1]
mov dword [esi + ecx*4 + 0x36ac], edx
mov dl, byte [esi + 0x36d4]
lea ecx, [esi + ecx*4 + 0x36ac]
inc dl
push edi
mov byte [esi + 0x36d4], dl
call dword [sym.imp.MSVCRT.dll_strchr]
add esp, 8
cmp eax, ebx
mov dword [esp + 0x20], eax
jne 0x442856
mov ecx, esi
call fcn.004749a0
mov eax, dword [esi + 0x32c4]
cmp eax, 0xb4
jl 0x44294c
cmp eax, 0xbc
jg 0x44294c
mov ecx, esi
call fcn.00474b80
cmp dword [esi + 0x3674], 1
jne 0x442a6e
mov ecx, 0x1f4
xor eax, eax
lea edi, [esp + 0x48]
mov dword [esp + 0x14], ebx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x18], ebx
push ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], ebx
call sub.MFC42.DLL_CTime::GetTickCount
mov eax, dword [eax]
push str.Config_rmServer.ini
lea edx, [esp + 0x14]
push ebx
mov dword [esi + 0x367c], eax
push edx
mov dword [esi + 0x3678], eax
call ebp
mov eax, dword [eax]
add esp, 0xc
push eax
lea eax, [esp + 0x4c]
push 0x7d0
push eax
push 0x49c738
push str.NoDeathPenaltyTime
push str.GameSetting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x10]
mov edi, eax
call fcn.00489b20
cmp edi, ebx
jle 0x442a6e
lea edi, [esp + 0x48]
xor ebp, ebp
push 0x2e
push edi
call dword [sym.imp.MSVCRT.dll_strchr]
add esp, 8
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0x442a6e
lea ecx, [esp + 0x20]
lea edx, [esp + 0x30]
push ecx
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
push str._d__d__d__d:_d
push edi
call dword [sym.imp.MSVCRT.dll_sscanf]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
add esp, 0x1c
push 0xffffffffffffffff
push ebx
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x24]
push edx
push eax
push ecx
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CTime::CTime
cmp ebp, ebx
jne 0x442a4e
mov edx, dword [esp + 0x10]
mov dword [esi + 0x3678], edx
jmp 0x442a5d
cmp ebp, 1
jne 0x442a5d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x367c], eax
mov ecx, dword [esp + 0x1c]
inc ebp
cmp ebp, 2
lea edi, [ecx + 1]
jl 0x4429dd
mov ecx, esi
call fcn.004466c0
mov ecx, esi
call fcn.004469d0
test eax, eax
jne 0x442af8
mov eax, dword [esi + 0x3664]
cmp eax, 4
ja case.default.0x442a8b
jmp dword [eax*4 + 0x442bf0]
push str.http:__board.redmoon.co.kr_
lea ecx, [esi + 0x3558]
call sub.MFC42.DLL_CString::operator
jmp 0x442af8
push str.http:__e_board.redmoon.co.kr_
lea ecx, [esi + 0x3558]
call sub.MFC42.DLL_CString::operator
jmp 0x442af8
push str.http:__board.redmoon.com.tw_
lea ecx, [esi + 0x3558]
call sub.MFC42.DLL_CString::operator
jmp 0x442af8
push str.http:__board.redmooncn.com_
lea ecx, [esi + 0x3558]
call sub.MFC42.DLL_CString::operator
jmp 0x442af8
push str.http:__board.redmooncn.co.id_
lea ecx, [esi + 0x3558]
call sub.MFC42.DLL_CString::operator
jmp 0x442af8
push ebx
push ebx
push str.Initialze_BoardAddress_Failed
call sub.MFC42.DLL_AfxMessageBox
mov ecx, esi
call fcn.00446b00
test eax, eax
jne 0x442b7b
mov eax, dword [esi + 0x3664]
cmp eax, 4
ja case.default.0x442b0e
jmp dword [eax*4 + 0x442c04]
push str.http:__atlas.redmoon.co.kr_RMatlas_map.asp_
lea ecx, [esi + 0x355c]
call sub.MFC42.DLL_CString::operator
jmp 0x442b7b
push str.http:__www.redmoon_online.com_RMEAtlas_map.asp_
lea ecx, [esi + 0x355c]
call sub.MFC42.DLL_CString::operator
jmp 0x442b7b
push str.http:__map.redmoon.com.tw_map.asp_
lea ecx, [esi + 0x355c]
call sub.MFC42.DLL_CString::operator
jmp 0x442b7b
push str.http:__map.redmoon.com.cn_map.asp_
lea ecx, [esi + 0x355c]
call sub.MFC42.DLL_CString::operator
jmp 0x442b7b
push str.http:__map.redmoon.co.id_map.asp_
lea ecx, [esi + 0x355c]
call sub.MFC42.DLL_CString::operator
jmp 0x442b7b
push ebx
push ebx
push str.Initialze_MinimapAddress_Failed
call sub.MFC42.DLL_AfxMessageBox
push 0xffffffffffffffff
push ebx
push ebx
push 0x13
push 0x1f
push 8
push 0x7d1
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_CTime::CTime
mov edx, dword [esp + 0x38]
mov dword [esi + 0x31cc], edx
lea ecx, [esp + 0x28]
mov byte [esp + 0x820], 0x18
call fcn.00489b20
lea ecx, [esp + 0x34]
mov byte [esp + 0x820], 0x15
call fcn.00489b20
mov ecx, dword [esp + 0x818]
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x814
ret 8