Function at 0x40b500
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x244
mov eax, dword [0x57f7c4]
xor eax, esp
mov dword [esp + 0x23c], eax
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push edi
push str..dataServerCmd.ini
xor ebx, ebx
push ebx
push str.Keep
push str.KillCount
call esi
mov dword [0x109cdcc], eax
cmp eax, ebx
je 0x40b595
push str..dataServerCmd.ini
push ebx
push str.Value
push str.KillCount
call esi
push str..dataServerCmd.ini
push ebx
push str.StartHour
push str.KillCount
mov dword [0x109cdd4], eax
call esi
push str..dataServerCmd.ini
push ebx
push str.PeriodHour
push str.KillCount
mov word [0x109cdd0], ax
call esi
add eax, dword [0x109cdd0]
mov ebp, 1
mov word [0x109cdd2], ax
mov dword [0x109cdc8], ebp
jmp 0x40b5a0
mov dword [0x109cdc8], ebx
mov ebp, 1
push str..dataServerCmd.ini
push ebx
push str.Keep
push str.GemAdd
call esi
mov dword [0x109ce04], eax
cmp eax, ebx
je 0x40b610
push str..dataServerCmd.ini
push ebx
push str.Value
push str.GemAdd
call esi
push str..dataServerCmd.ini
push ebx
push str.StartHour
push str.GemAdd
mov dword [0x109ce0c], eax
call esi
push str..dataServerCmd.ini
push ebx
push str.PeriodHour
push str.GemAdd
mov word [0x109ce08], ax
call esi
add eax, dword [0x109ce08]
mov dword [0x109ce00], ebp
mov word [0x109ce0a], ax
jmp 0x40b616
mov dword [0x109ce00], ebx
push str..dataServerCmd.ini
push ebx
push str.Keep
push str.GemRem
call esi
mov dword [0x109ce14], eax
cmp eax, ebx
je 0x40b686
push str..dataServerCmd.ini
push ebx
push str.Value
push str.GemAdd
call esi
push str..dataServerCmd.ini
push ebx
push str.StartHour
push str.GemAdd
mov dword [0x109ce1c], eax
call esi
push str..dataServerCmd.ini
push ebx
push str.PeriodHour
push str.GemAdd
mov word [0x109ce18], ax
call esi
add eax, dword [0x109ce18]
mov dword [0x109ce10], ebp
mov word [0x109ce1a], ax
jmp 0x40b68c
mov dword [0x109ce10], ebx
push str..dataServerCmd.ini
push ebx
push str.Keep
push str.EnchantAdd
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [0x109ce24], eax
cmp eax, ebx
je 0x40b722
push str..dataServerCmd.ini
push 0xff
lea eax, [esp + 0x50]
push eax
push ebx
push str.Value
push str.EnchantAdd
call edi
test eax, eax
jbe 0x40b6dc
lea ecx, [esp + 0x48]
push ecx
call fcn.0051c136
add esp, 4
jmp 0x40b6de
fld1
push str..dataServerCmd.ini
fstp qword [0x109ce30]
push ebx
push str.StartHour
push str.EnchantAdd
call esi
push str..dataServerCmd.ini
push ebx
push str.PeriodHour
push str.EnchantAdd
mov word [0x109ce28], ax
call esi
add eax, dword [0x109ce28]
mov dword [0x109ce20], ebp
mov word [0x109ce2a], ax
jmp 0x40b728
mov dword [0x109ce20], ebx
push str..dataServerCmd.ini
push ebx
push str.Keep
push str.ExpUpCamp_0
call esi
mov dword [0x109cde0], eax
cmp eax, ebx
je 0x40b7b8
push str..dataServerCmd.ini
push 0xff
lea edx, [esp + 0x50]
push edx
push ebx
push str.Value
push str.ExpUpCamp_0
call edi
test eax, eax
jbe 0x40b772
lea eax, [esp + 0x48]
push eax
call fcn.0051c136
add esp, 4
jmp 0x40b774
fld1
push str..dataServerCmd.ini
fstp qword [0x109cdf0]
push ebx
push str.StartHour
push str.ExpUpCamp_0
call esi
push str..dataServerCmd.ini
push ebx
push str.PeriodHour
push str.ExpUpCamp_0
mov word [0x109cde8], ax
call esi
add eax, dword [0x109cde8]
mov dword [0x109cdd8], ebp
mov word [0x109cdec], ax
jmp 0x40b7be
mov dword [0x109cdd8], ebx
push str..dataServerCmd.ini
push ebx
push str.Keep
push str.ExpUpCamp_1
call esi
mov dword [0x109cde4], eax
cmp eax, ebx
je 0x40b84f
push str..dataServerCmd.ini
push 0xff
lea ecx, [esp + 0x50]
push ecx
push ebx
push str.Value
push str.ExpUpCamp_1
call edi
test eax, eax
jbe 0x40b808
lea edx, [esp + 0x48]
push edx
call fcn.0051c136
add esp, 4
jmp 0x40b80a
fld1
push str..dataServerCmd.ini
fstp qword [0x109cdf8]
push ebx
push str.StartHour
push str.ExpUpCamp_1
call esi
push str..dataServerCmd.ini
push ebx
push str.PeriodHour
push str.ExpUpCamp_1
mov word [0x109cdea], ax
call esi
add ax, word [0x109cdea]
mov dword [0x109cddc], ebp
mov word [0x109cdee], ax
jmp 0x40b855
mov dword [0x109cddc], ebx
xor ebp, ebp
xor edi, edi
mov dword [esp + 0x10], edi
lea ecx, [ecx]
push ebp
lea eax, [esp + 0x2c]
push str.ExpUpMap__d
push eax
call fcn.0051a8cd
add esp, 0xc
push str..dataServerCmd.ini
push ebx
push str.Keep
lea ecx, [esp + 0x34]
push ecx
call esi
cmp eax, ebx
je 0x40b9b9
mov eax, dword [0x587960]
cmp ebp, dword [eax + 8]
jge 0x40b89c
mov ebx, dword [eax + 0xc]
add ebx, edi
push 0x28
call fcn.0051b26b
add esp, 4
test eax, eax
je 0x40b8cd
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ecx
mov edi, eax
jmp 0x40b8cf
xor edi, edi
push str..dataServerCmd.ini
push 0xff
lea edx, [esp + 0x150]
push edx
push 0
push str.Value
lea eax, [esp + 0x3c]
push eax
mov dword [edi + 4], ebp
mov dword [edi + 8], ebx
mov dword [edi + 0xc], 1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jbe 0x40b916
lea ecx, [esp + 0x148]
push ecx
call fcn.0051c136
add esp, 4
jmp 0x40b918
fld1
push str..dataServerCmd.ini
fstp qword [edi + 0x18]
push 0
push str.StartHour
lea edx, [esp + 0x34]
push edx
call esi
push str..dataServerCmd.ini
push 0
mov word [edi + 0x10], ax
push str.PeriodHour
lea eax, [esp + 0x34]
push eax
call esi
add ax, word [edi + 0x10]
push str..dataServerCmd.ini
push 1
push str.Term
lea ecx, [esp + 0x34]
push ecx
mov word [edi + 0x12], ax
call esi
push str..dataServerCmd.ini
push 0
push str.DayOfWeek
lea edx, [esp + 0x34]
push edx
mov word [edi + 0x20], ax
call esi
push 0x109ce38
mov word [edi + 0x22], ax
mov dword [edi], 1
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ebx, 0x109ce50
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], edi
call fcn.0040ecc0
push 0x109ce38
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [esp + 0x10]
xor ebx, ebx
add edi, 0x208
inc ebp
cmp edi, 0x19640
mov dword [esp + 0x10], edi
jl 0x40b860
xor ebp, ebp
xor edi, edi
mov dword [esp + 0x10], edi
jmp 0x40b9e0
push ebp
lea edx, [esp + 0x2c]
push str.KillUpMap__d
push edx
call fcn.0051a8cd
add esp, 0xc
push str..dataServerCmd.ini
push 0
push str.Keep
lea eax, [esp + 0x34]
push eax
call esi
test eax, eax
je 0x40bb38
mov eax, dword [0x587960]
cmp ebp, dword [eax + 8]
jl 0x40ba1c
xor ebx, ebx
jmp 0x40ba21
mov ebx, dword [eax + 0xc]
add ebx, edi
push 0x1c
call fcn.0051b26b
add esp, 4
test eax, eax
je 0x40ba49
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov edi, eax
jmp 0x40ba4b
xor edi, edi
push str..dataServerCmd.ini
push 0xff
lea ecx, [esp + 0x150]
push ecx
push 0
push str.Value
lea edx, [esp + 0x3c]
push edx
mov dword [edi + 4], ebp
mov dword [edi + 8], ebx
mov dword [edi + 0xc], 1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jbe 0x40ba95
lea eax, [esp + 0x148]
push eax
call fcn.0051ba99
add esp, 4
mov dword [edi + 0x14], eax
jmp 0x40ba9c
mov dword [edi + 0x14], 0
push str..dataServerCmd.ini
push 0
push str.StartHour
lea ecx, [esp + 0x34]
push ecx
call esi
push str..dataServerCmd.ini
push 0
push str.PeriodHour
lea edx, [esp + 0x34]
push edx
mov word [edi + 0x10], ax
call esi
add ax, word [edi + 0x10]
push str..dataServerCmd.ini
push 1
mov word [edi + 0x12], ax
push str.Term
lea eax, [esp + 0x34]
push eax
call esi
push str..dataServerCmd.ini
push 0
push str.DayOfWeek
lea ecx, [esp + 0x34]
push ecx
mov word [edi + 0x18], ax
call esi
push 0x109ce80
mov word [edi + 0x1a], ax
mov dword [edi], 1
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push eax
mov ebx, 0x109ce98
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], edi
call fcn.0040f230
push 0x109ce80
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [esp + 0x10]
add edi, 0x208
inc ebp
cmp edi, 0x19640
mov dword [esp + 0x10], edi
jl 0x40b9e0
push str..dataServerCmd.ini
push 0
push str.Hour
push str.SERVERTIME
call esi
push str..dataServerCmd.ini
push 0
push 0x5704bc
push str.SERVERTIME
mov dword [0x109cec8], eax
call esi
mov ecx, dword [esp + 0x24c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov dword [0x109cecc], eax
call fcn.0051a8be
add esp, 0x244
ret