Function at 0x408810
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x934
mov eax, dword [0x41f018]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 4]
mov edx, dword [eax + 6]
push ebx
push esi
mov word [ebp - 0x91c], cx
mov ecx, dword [eax + 0xa]
push edi
lea edi, [eax + 6]
mov dword [ebp - 0x91a], edx
mov dx, word [edi + 8]
mov dword [ebp - 0x916], ecx
mov cl, byte [edi + 0xa]
lea esi, [eax + 0x11]
mov eax, dword [esi + 4]
mov word [ebp - 0x912], dx
mov edx, dword [esi]
mov byte [ebp - 0x910], cl
movzx ecx, word [esi + 8]
mov dword [ebp - 0x90f], edx
mov dl, byte [esi + 0xa]
mov word [ebp - 0x907], cx
mov dword [ebp - 0x920], 0x41809c2
mov dword [ebp - 0x90b], eax
mov byte [ebp - 0x905], dl
xor ecx, ecx
mov al, byte [esi + ecx]
cmp al, 0x20
je 0x408e6f
cmp al, 0x22
je 0x408e6f
cmp al, 0x27
je 0x408e6f
inc ecx
cmp ecx, 0xb
jl 0x408891
mov al, 1
test al, al
setne al
mov byte [ebp - 0x904], al
test al, al
je 0x408e76
push esi
push edi
push str.SELECT__FROM_Character_WHERE_AccountID_s_AND_Name_s
mov ecx, 0x4eb8c0
call fcn.00412e90
add esp, 0xc
test al, al
je 0x408e76
mov eax, dword [0x4eb8cc]
push eax
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x408e76
push str.cLevel
mov ebx, 0x4eb8c0
call fcn.00413050
push str.Class
mov word [ebp - 0x902], ax
call fcn.00413050
push str.LevelUpPoint
mov byte [ebp - 0x903], al
call fcn.00413050
push str.Experience
mov dword [ebp - 0x900], eax
call fcn.00413050
push str.Strength
mov dword [ebp - 0x8fc], eax
call fcn.00413050
push str.Dexterity
mov dword [ebp - 0x8f4], eax
call fcn.00413050
push str.Vitality
mov dword [ebp - 0x8f0], eax
call fcn.00413050
push str.Energy
mov dword [ebp - 0x8ec], eax
call fcn.00413050
push str.Leadership
mov dword [ebp - 0x8e8], eax
call fcn.00413050
push 0x6c0
lea ecx, [ebp - 0x8c0]
push ecx
push str.Inventory
mov dword [ebp - 0x8e4], eax
call fcn.00413250
push 0xb4
lea edx, [ebp - 0x200]
push edx
push str.MagicList
call fcn.00413250
push str.Money
call fcn.00413050
push str.Life
mov dword [ebp - 0x8f8], eax
call fcn.004130c0
fnstcw word [ebp - 0x922]
movzx eax, word [ebp - 0x922]
or eax, 0xc00
mov dword [ebp - 0x92c], eax
push str.MaxLife
fldcw word [ebp - 0x92c]
fistp qword [ebp - 0x930]
mov eax, dword [ebp - 0x930]
mov dword [ebp - 0x8e0], eax
fldcw word [ebp - 0x922]
call fcn.004130c0
fnstcw word [ebp - 0x922]
movzx eax, word [ebp - 0x922]
or eax, 0xc00
mov dword [ebp - 0x92c], eax
push str.Mana
fldcw word [ebp - 0x92c]
fistp qword [ebp - 0x930]
mov ecx, dword [ebp - 0x930]
mov dword [ebp - 0x8dc], ecx
fldcw word [ebp - 0x922]
call fcn.004130c0
fnstcw word [ebp - 0x922]
movzx eax, word [ebp - 0x922]
or eax, 0xc00
mov dword [ebp - 0x92c], eax
push str.MaxMana
fldcw word [ebp - 0x92c]
fistp qword [ebp - 0x930]
mov edx, dword [ebp - 0x930]
mov dword [ebp - 0x8d8], edx
fldcw word [ebp - 0x922]
call fcn.004130c0
fnstcw word [ebp - 0x922]
movzx eax, word [ebp - 0x922]
or eax, 0xc00
mov dword [ebp - 0x92c], eax
fldcw word [ebp - 0x92c]
fistp qword [ebp - 0x930]
push 0x41966c
mov eax, dword [ebp - 0x930]
mov dword [ebp - 0x8d4], eax
fldcw word [ebp - 0x922]
call fcn.004130c0
fnstcw word [ebp - 0x922]
movzx eax, word [ebp - 0x922]
or eax, 0xc00
mov dword [ebp - 0x92c], eax
push str.MaxBP
fldcw word [ebp - 0x92c]
fistp qword [ebp - 0x930]
mov ecx, dword [ebp - 0x930]
mov dword [ebp - 0x8d0], ecx
fldcw word [ebp - 0x922]
call fcn.004130c0
fnstcw word [ebp - 0x922]
movzx eax, word [ebp - 0x922]
or eax, 0xc00
mov dword [ebp - 0x92c], eax
push str.Shield
fldcw word [ebp - 0x92c]
fistp qword [ebp - 0x930]
mov edx, dword [ebp - 0x930]
mov dword [ebp - 0x8cc], edx
fldcw word [ebp - 0x922]
call fcn.004130c0
fnstcw word [ebp - 0x922]
movzx eax, word [ebp - 0x922]
or eax, 0xc00
mov dword [ebp - 0x92c], eax
push str.MaxShield
fldcw word [ebp - 0x92c]
fistp qword [ebp - 0x930]
mov eax, dword [ebp - 0x930]
mov dword [ebp - 0x8c8], eax
fldcw word [ebp - 0x922]
call fcn.004130c0
fnstcw word [ebp - 0x922]
movzx eax, word [ebp - 0x922]
or eax, 0xc00
mov dword [ebp - 0x92c], eax
push str.MapNumber
fldcw word [ebp - 0x92c]
fistp qword [ebp - 0x930]
mov ecx, dword [ebp - 0x930]
mov dword [ebp - 0x8c4], ecx
fldcw word [ebp - 0x922]
call fcn.00413050
push str.MapPosX
mov byte [ebp - 0x14c], al
call fcn.00413050
push str.MapPosY
mov byte [ebp - 0x14b], al
call fcn.00413050
push str.MapDir
mov byte [ebp - 0x14a], al
call fcn.00413050
push str.PkCount
mov byte [ebp - 0x149], al
call fcn.00413050
push str.PkLevel
mov dword [ebp - 0x148], eax
call fcn.00413050
push str.PkTime
mov dword [ebp - 0x144], eax
call fcn.00413050
push str.CtlCode
mov dword [ebp - 0x140], eax
call fcn.00413050
push 0x32
lea edx, [ebp - 0x13b]
push edx
push str.Quest
mov byte [ebp - 0x13c], al
call fcn.00413250
push str.ChatLimitTime
call fcn.00413050
mov dword [ebp - 0x108], eax
push 0xd0
lea eax, [ebp - 0x100]
push eax
push str.EffectList
call fcn.00413250
push str.FruitAddPoint
call fcn.00413050
push str.FruitSubPoint
mov word [ebp - 0x104], ax
call fcn.00413050
push str.IsNewChar
mov word [ebp - 0x102], ax
call fcn.00413050
push str.Married
mov dword [ebp - 0x28], eax
call fcn.00413050
push 0xb
lea ecx, [ebp - 0x22]
push ecx
push str.MarryCouple
mov word [ebp - 0x24], ax
call fcn.004131c0
mov edx, dword [0x4eb8cc]
mov ebx, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push edx
call ebx
mov eax, dword [0x4eb8cc]
push 2
push eax
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
cmp dword [ebp - 0x28], 0
je 0x408d1f
push esi
push str.UPDATE_Character_SET_IsNewChar0_WHERE_Name_s
mov ecx, 0x4eb8c0
call fcn.00412e90
mov ecx, dword [0x4eb8cc]
add esp, 8
push ecx
call ebx
mov edx, dword [0x4eb8cc]
push 2
push edx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
push esi
push edi
push str.EXEC_WZ_GetResetInfo__s__s
mov ecx, 0x4eb8c0
call fcn.00412e90
mov eax, dword [0x4eb8cc]
add esp, 0xc
push eax
call dword [sym.imp.ODBC32.dll_SQLFetch]
push str.Reset
mov ebx, 0x4eb8c0
call fcn.00413050
mov ecx, dword [0x4eb8cc]
push ecx
mov dword [ebp - 0x30], eax
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov edx, dword [0x4eb8cc]
push 2
push edx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
push esi
push edi
push str.EXEC_WZ_GetMasterResetInfo__s__s
mov ecx, ebx
call fcn.00412e90
mov eax, dword [0x4eb8cc]
add esp, 0xc
push eax
call dword [sym.imp.ODBC32.dll_SQLFetch]
push str.MasterReset
call fcn.00413050
mov ecx, dword [0x4eb8cc]
push ecx
mov dword [ebp - 0x2c], eax
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov edx, dword [0x4eb8cc]
push 2
push edx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
push esi
push edi
push str.EXEC_WZ_GetEventEntryInfo__s__s
mov ecx, ebx
call fcn.00412e90
mov eax, dword [0x4eb8cc]
add esp, 0xc
push eax
call dword [sym.imp.ODBC32.dll_SQLFetch]
push str.BCCount
call fcn.00413050
push str.CCCount
mov word [ebp - 0x16], ax
call fcn.00413050
push str.DSCount
mov word [ebp - 0x14], ax
call fcn.00413050
push str.DGCount
mov word [ebp - 0x12], ax
call fcn.00413050
push str.ITCount
mov word [ebp - 0x10], ax
call fcn.00413050
push str.IGCount
mov word [ebp - 0xe], ax
call fcn.00413050
mov ecx, dword [0x4eb8cc]
mov ebx, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push ecx
mov word [ebp - 0xc], ax
call ebx
mov edx, dword [0x4eb8cc]
push 2
push edx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
push edi
push esi
push str.UPDATE_AccountCharacter_SET_GameIDC_s_WHERE_Id_s
mov ecx, 0x4eb8c0
call fcn.00412e90
mov eax, dword [0x4eb8cc]
add esp, 0xc
push eax
call ebx
mov ecx, dword [0x4eb8cc]
push 2
push ecx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
jmp 0x408e98
xor al, al
jmp 0x4088b4
mov edx, dword [0x4eb8cc]
push edx
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov eax, dword [0x4eb8cc]
push 2
push eax
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
mov byte [ebp - 0x904], 0
mov edx, dword [ebp + 0xc]
lea ecx, [ebp - 0x920]
push ecx
push edx
mov ebx, 0x918
call fcn.00414a90
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00415bda
mov esp, ebp
pop ebp
ret