Function at 0x40e300
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14c
mov eax, dword [0x44000c]
xor eax, ebp
mov dword [ebp - 4], eax
movzx eax, word [ecx + 4]
movq xmm0, qword [ecx + 6]
push ebx
push esi
push edi
lea edi, [ecx + 6]
mov word [ebp - 0x140], ax
movzx eax, word [edi + 8]
mov word [ebp - 0x136], ax
mov al, byte [edi + 0xa]
mov dword [ebp - 0x14c], edx
lea edx, [ecx + 0x11]
mov byte [ebp - 0x134], al
xor eax, eax
mov word [ebp - 0x144], 0x12c1
mov byte [ebp - 0x142], 3
mov dword [ebp - 0x128], edi
movq qword [ebp - 0x13e], xmm0
mov dword [ebp - 0x130], edx
nop dword [eax]
mov cl, byte [edx + eax]
cmp cl, 0x20
je 0x40e859
cmp cl, 0x22
je 0x40e859
cmp cl, 0x27
je 0x40e859
inc eax
cmp eax, 0xb
jl 0x40e370
push edx
push edi
push str.EXEC_WZ_DeleteCharacter__s__s
push 0x440e30
call fcn.00416550
add esp, 0x10
test al, al
je 0x40e859
push dword [0x440e3c]
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x40e859
push 0x441a62
call fcn.00422137
mov esi, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
add esp, 4
mov bl, al
mov byte [ebp - 0x133], bl
push dword [0x440e3c]
call esi
mov eax, dword [sym.imp.ODBC32.dll_SQLFreeStmt]
push 2
push dword [0x440e3c]
call eax
cmp bl, 1
jne 0x40e87a
push edi
push str.SELECT__FROM_AccountCharacter_WHERE_Id_s
push 0x440e30
mov byte [ebp - 0x121], 0
call fcn.00416550
add esp, 0xc
test al, al
je 0x40e5a1
push dword [0x440e3c]
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x40e5a1
push str.GameID1
call fcn.004167c0
cmp eax, 0xffffffff
jne 0x40e465
xorps xmm0, xmm0
mov word [ebp - 0x118], 0
movq qword [ebp - 0x120], xmm0
mov byte [ebp - 0x116], 0
jmp 0x40e481
shl eax, 0xe
push 0xa
add eax, 0x441a62
push eax
lea eax, [ebp - 0x120]
push 0xb
push eax
call fcn.00422930
add esp, 0x10
push str.GameID2
call fcn.004167c0
cmp eax, 0xffffffff
jne 0x40e4ad
xorps xmm0, xmm0
mov word [ebp - 0x10d], 0
movq qword [ebp - 0x115], xmm0
mov byte [ebp - 0x10b], 0
jmp 0x40e4c9
shl eax, 0xe
push 0xa
add eax, 0x441a62
push eax
lea eax, [ebp - 0x115]
push 0xb
push eax
call fcn.00422930
add esp, 0x10
push str.GameID3
call fcn.004167c0
cmp eax, 0xffffffff
jne 0x40e4f5
xorps xmm0, xmm0
mov word [ebp - 0x102], 0
movq qword [ebp - 0x10a], xmm0
mov byte [ebp - 0x100], 0
jmp 0x40e511
shl eax, 0xe
push 0xa
add eax, 0x441a62
push eax
lea eax, [ebp - 0x10a]
push 0xb
push eax
call fcn.00422930
add esp, 0x10
push str.GameID4
call fcn.004167c0
cmp eax, 0xffffffff
jne 0x40e53d
xorps xmm0, xmm0
mov word [ebp - 0xf7], 0
movq qword [ebp - 0xff], xmm0
mov byte [ebp - 0xf5], 0
jmp 0x40e559
shl eax, 0xe
push 0xa
add eax, 0x441a62
push eax
lea eax, [ebp - 0xff]
push 0xb
push eax
call fcn.00422930
add esp, 0x10
push str.GameID5
call fcn.004167c0
cmp eax, 0xffffffff
jne 0x40e585
xorps xmm0, xmm0
mov word [ebp - 0xec], 0
movq qword [ebp - 0xf4], xmm0
mov byte [ebp - 0xea], 0
jmp 0x40e5a1
shl eax, 0xe
push 0xa
add eax, 0x441a62
push eax
lea eax, [ebp - 0xf4]
push 0xb
push eax
call fcn.00422930
add esp, 0x10
push dword [0x440e3c]
call esi
mov ebx, dword [sym.imp.ODBC32.dll_SQLFreeStmt]
push 2
push dword [0x440e3c]
call ebx
mov eax, 1
lea edi, [ebp - 0xd3]
mov dword [ebp - 0x12c], eax
nop word [eax + eax]
push dword [ebp - 0x128]
inc eax
push eax
push str.SELECT__FROM_AccountCharacter_d_WHERE_Id_s
push 0x440e30
mov dword [ebp - 0x148], eax
call fcn.00416550
add esp, 0x10
test al, al
je 0x40e732
push dword [0x440e3c]
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x40e732
push str.GameID1
call fcn.004167c0
lea ecx, [edi - 0x16]
cmp eax, 0xffffffff
jne 0x40e633
xorps xmm0, xmm0
movq qword [ecx], xmm0
mov word [ecx + 8], 0
mov byte [ecx + 0xa], 0
jmp 0x40e649
shl eax, 0xe
push 0xa
add eax, 0x441a62
push eax
push 0xb
push ecx
call fcn.00422930
add esp, 0x10
push str.GameID2
call fcn.004167c0
lea ecx, [edi - 0xb]
cmp eax, 0xffffffff
jne 0x40e66e
xorps xmm0, xmm0
movq qword [ecx], xmm0
mov word [ecx + 8], 0
mov byte [ecx + 0xa], 0
jmp 0x40e684
shl eax, 0xe
push 0xa
add eax, 0x441a62
push eax
push 0xb
push ecx
call fcn.00422930
add esp, 0x10
push str.GameID3
call fcn.004167c0
cmp eax, 0xffffffff
jne 0x40e6a6
xorps xmm0, xmm0
movq qword [edi], xmm0
mov word [edi + 8], 0
mov byte [edi + 0xa], 0
jmp 0x40e6bc
shl eax, 0xe
push 0xa
add eax, 0x441a62
push eax
push 0xb
push edi
call fcn.00422930
add esp, 0x10
push str.GameID4
call fcn.004167c0
lea ecx, [edi + 0xb]
cmp eax, 0xffffffff
jne 0x40e6e1
xorps xmm0, xmm0
movq qword [ecx], xmm0
mov word [ecx + 8], 0
mov byte [ecx + 0xa], 0
jmp 0x40e6f7
shl eax, 0xe
push 0xa
add eax, 0x441a62
push eax
push 0xb
push ecx
call fcn.00422930
add esp, 0x10
push str.GameID5
call fcn.004167c0
lea ecx, [edi + 0x16]
cmp eax, 0xffffffff
jne 0x40e71c
xorps xmm0, xmm0
movq qword [ecx], xmm0
mov word [ecx + 8], 0
mov byte [ecx + 0xa], 0
jmp 0x40e732
shl eax, 0xe
push 0xa
add eax, 0x441a62
push eax
push 0xb
push ecx
call fcn.00422930
add esp, 0x10
push dword [0x440e3c]
call esi
push 2
push dword [0x440e3c]
call ebx
xor ebx, ebx
lea esi, [edi - 0x16]
nop dword [eax]
push dword [ebp - 0x130]
push esi
call fcn.0041f328
add esp, 8
test eax, eax
je 0x40e791
inc ebx
add esi, 0xb
cmp ebx, 5
jl 0x40e750
mov eax, dword [ebp - 0x148]
add edi, 0x37
mov dword [ebp - 0x12c], eax
cmp eax, 5
jge 0x40e79f
mov esi, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov ebx, dword [sym.imp.ODBC32.dll_SQLFreeStmt]
jmp 0x40e5d0
mov edi, dword [ebp - 0x12c]
mov byte [ebp - 0x121], bl
jmp 0x40e7a2
or edi, 0xffffffff
xor ebx, ebx
lea esi, [ebp - 0x120]
nop word [eax + eax]
push dword [ebp - 0x130]
push esi
call fcn.0041f328
add esp, 8
test eax, eax
je 0x40e814
inc ebx
add esi, 0xb
cmp ebx, 5
jl 0x40e7b0
cmp edi, 0xffffffff
jne 0x40e7dd
mov byte [ebp - 0x133], 1
jmp 0x40e87a
test edi, edi
je 0x40e818
lea eax, [edi - 1]
cmp eax, 3
ja 0x40e87a
push dword [ebp - 0x128]
movzx eax, byte [ebp - 0x121]
inc eax
push eax
lea eax, [edi + 1]
push eax
push str.UPDATE_AccountCharacter_d_SET_GameID_dNULL_WHERE_Id_s
push 0x440e30
call fcn.00416550
add esp, 0x14
jmp 0x40e83b
mov al, bl
jmp 0x40e81e
mov al, byte [ebp - 0x121]
push dword [ebp - 0x128]
movzx eax, al
inc eax
push eax
push str.UPDATE_AccountCharacter_SET_GameID_dNULL_WHERE_Id_s
push 0x440e30
call fcn.00416550
add esp, 0x10
push dword [0x440e3c]
mov eax, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
call eax
mov eax, dword [sym.imp.ODBC32.dll_SQLFreeStmt]
push 2
push dword [0x440e3c]
call eax
jmp 0x40e87a
push dword [0x440e3c]
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push 2
push dword [0x440e3c]
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
mov byte [ebp - 0x133], 0
push 0x12
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x14c]
call fcn.00418230
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004197fb
mov esp, ebp
pop ebp
ret