Function at 0x406990
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43debd
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x453040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x34], esi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x30]
push esi
push 0x20
push eax
push str.127.0.0.1:2000
push str.Zone
push str.Login
call edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x11], 0
call fcn.00414d40
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0
call fcn.00414d40
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x40]
call fcn.00414e00
push 0x3a
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x40]
call fcn.00415480
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 2
call fcn.00414de0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.00414db0
cmp byte [ebp + 8], 0
lea ebx, [esi + 0x880]
mov dword [ebp - 0x38], ebx
je 0x406a4e
push dword [ebp - 0x50]
call fcn.0041ba10
add esp, 4
mov dword [ebx], eax
jmp 0x406a51
mov dword [ebp - 0x38], ebx
lea ecx, [ebp - 0x40]
call fcn.00415590
push esi
push 0x440508
push str.RecordLogins
push str.Login
mov word [esi + 0x884], ax
call fcn.0041c290
push esi
test eax, eax
push str.1280
setne al
push str.ResX
push str.Login
mov byte [esi + 0x886], al
call fcn.0041c290
push esi
push str.1024
push str.ResY
push str.Login
mov word [esi + 0x888], ax
call fcn.0041c290
add esp, 0x30
mov word [esi + 0x88a], ax
lea eax, [esi + 0x8d8]
push esi
push 0x40
push eax
push str.Spawns.txt
push str.Spawns
push str.Database
call edi
push esi
push 0x40
lea eax, [esi + 0x918]
mov byte [esi + 0x917], 0
push eax
push str.Commands.txt
push str.Commands
push str.Database
call edi
push esi
push 0x40
lea eax, [esi + 0x958]
mov byte [esi + 0x957], 0
push eax
push str.Operators.txt
push str.Operators
push str.Database
call edi
push esi
push 0x440594
push str.SaveInterval
push str.Database
mov byte [esi + 0x997], 0
call fcn.0041c290
add esp, 0x10
imul eax, eax, 0x64
push esi
push 0x40
mov dword [esi + 0x8d4], eax
lea eax, [esi + 0x88e]
push eax
push str.My_first_bot_terminal
push str.WindowCaption
push str.Misc
call edi
push esi
push 0x4405d8
push str.MaxSpawns
push str.Misc
mov byte [esi + 0x8cd], 0
call fcn.0041c290
push esi
push 0x4405e8
push str.MaskBan
push str.Misc
mov dword [esi + 0x998], eax
call fcn.0041c290
test eax, eax
setne al
push esi
push 0x4405e8
push str.PlayerVoices
push str.Misc
mov byte [esi + 0x8ce], al
call fcn.0041c290
push esi
test eax, eax
push 0x4405e8
setne al
push str.ForceContinuum
push str.Misc
mov byte [esi + 0x8d1], al
call fcn.0041c290
add esp, 0x40
test eax, eax
setne al
mov byte [esi + 0x99d], al
push esi
push 0x4405e8
push str.RunSilent
push str.Misc
call fcn.0041c290
push esi
test eax, eax
push 0x4405e8
setne al
push str.NoTerminal
push str.Misc
mov byte [esi + 0x99e], al
call fcn.0041c290
push esi
test eax, eax
push 0x4405e8
setne al
push str.DisablePubCommands
push str.Misc
mov byte [esi + 0x99c], al
call fcn.0041c290
push esi
test eax, eax
push 0x4405e8
setne al
push str.NoisySpectator
push str.Misc
mov byte [esi + 0x99f], al
call fcn.0041c290
add esp, 0x40
test eax, eax
setne al
mov byte [esi + 0x9a0], al
push esi
push 0x4405d8
push str.MaxConnectionTries
push str.Misc
call fcn.0041c290
add esp, 0x10
mov dword [esi + 0x9a4], eax
lea eax, [esi + 0x9a8]
push esi
push 0x40
push eax
push 0x4403a1
push str.InitialChatChannels
push str.Misc
call edi
push esi
push 0x440508
push str.EncryptMode
push str.Security
mov byte [esi + 0x9e7], 0
call fcn.0041c290
push esi
test eax, eax
push 0x440508
setne al
push str.RemoteInterpreter
push str.Security
mov byte [esi + 0x88d], al
call fcn.0041c290
test eax, eax
push esi
push 0x440508
setne al
push str.RemoteOperator
push str.Security
mov byte [esi + 0x8cf], al
call fcn.0041c290
push esi
test eax, eax
push 0x4405e8
setne al
push str.ChatterLog
push str.Security
mov byte [esi + 0x8d0], al
call fcn.0041c290
add esp, 0x40
lea ebx, [esi + 0x805]
test eax, eax
setne al
push esi
push 0x28
push ebx
push str.Catid
push str.Name
push str.Registration
mov byte [esi + 0x88c], al
call edi
push esi
push 0x28
lea edi, [esi + 0x82d]
mov byte [esi + 0x82c], 0
push edi
push str.cat02e_fsu.edu
push str.EMail
push str.Registration
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [ebp - 0x34]
push ecx
push 0x28
mov byte [esi + 0x854], 0
add esi, 0x855
push esi
push str.California
push str.State
push str.Registration
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0x34]
push eax
push 0x44070c
push 0x440710
push str.Registration
mov byte [eax + 0x87c], 0
call fcn.0041c290
mov ecx, dword [ebp - 0x34]
add esp, 0x10
push dword [ecx + 0x998]
mov byte [ecx + 0x87d], al
lea eax, [ecx + 0x218]
push ecx
mov ecx, eax
mov dword [ebp - 0x44], eax
call fcn.00408e20
mov ecx, dword [ebp - 0x44]
push 0x4403a1
push str.AHH_CRAP
push str.UNKNOWN_BOT_ERROR
call fcn.00408e40
mov ecx, dword [ebp - 0x34]
movzx eax, word [ecx + 0x884]
lea ecx, [ecx + 0x218]
push eax
mov eax, dword [ebp - 0x38]
push dword [eax]
call fcn.00408f50
mov ecx, dword [ebp - 0x34]
movzx eax, byte [ecx + 0x8d1]
push eax
movzx eax, word [ecx + 0x88a]
push eax
movzx eax, word [ecx + 0x888]
push eax
push 8
push 0x4405e8
lea ecx, [ecx + 0x218]
call fcn.00408d70
mov ecx, dword [ebp - 0x34]
push 0
push 0
push 0
movzx eax, byte [ecx + 0x87d]
push eax
push 0x4d
push esi
push 0x4403a1
push edi
push ebx
lea ebx, [ecx + 0x218]
mov ecx, ebx
call fcn.00408ea0
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0x8ce], 0
je 0x406e6e
mov ecx, ebx
call fcn.00408980
lea ecx, [ebp - 0x50]
call fcn.00414db0
lea ecx, [ebp - 0x40]
call fcn.00414db0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041c73b
mov esp, ebp
pop ebp
ret 4