Function at 0x5287f0
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x743350
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x150
push ebx
mov ebx, dword [ebp + 8]
mov eax, ebx
push esi
and eax, 0xffff
push edi
cmp eax, 8
mov dword [ebp - 0x10], esp
mov esi, ecx
ja case.default.0x528829
jmp dword [eax*4 + 0x529218]
lea eax, [ebp + 0xc]
lea ecx, [ebp - 0x3c]
lea edi, [esi + 0x48]
push eax
push ecx
mov ecx, edi
call fcn.0052b270
mov eax, dword [edi]
mov ecx, dword [ebp - 0x3c]
cmp eax, ecx
jne case.0x528829.0
push 0xc
call fcn.00728cf3
mov esi, eax
xor eax, eax
add esp, 4
cmp esi, eax
je 0x5288e7
push 0x7b4240
push 0x7af9c8
lea edx, [ebp - 0x15c]
push str.SELECT__FROM__s_WHERE__s0_LIMIT_1
mov dword [esi], 0x755518
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov ebx, dword [0x7fd5f0]
push edx
call fcn.0070258b
mov ecx, dword [0x801a58]
add esp, 0x10
test ecx, ecx
jne 0x52891d
mov eax, dword [ebx]
push ecx
lea ecx, [ebp - 0x15c]
push ecx
mov ecx, ebx
call dword [eax]
push eax
mov ecx, 0x801a58
call fcn.0047bd90
mov ecx, dword [0x801a58]
test ecx, ecx
setne al
test al, al
jne 0x52891d
push 0x38
push str.....GameBaseCodeMTGameData.h
push str.CreateNewDefault_pDb_
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
jmp 0x528945
push 0x204
push 0x7afa10
push str.pData
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ecx]
push 0
call dword [edx]
test eax, eax
mov dword [esi + 4], eax
je 0x528939
mov edx, dword [eax]
push 0x7b4240
mov ecx, eax
call dword [edx + 0x30]
mov dword [esi + 8], eax
mov edx, dword [esi + 4]
test edx, edx
setne al
test al, al
jne 0x52898e
push 0x206
push 0x7afa10
push str.pData__Create_Database____ID_NONE_
push str.IF_NOT
push 0x793720
call fcn.00401080
mov eax, dword [esi]
add esp, 0x14
mov ecx, esi
mov dword [ebp - 4], 0
call dword [eax + 0x40]
jmp case.default.0x528829
mov eax, dword [ebp + 8]
mov edx, dword [esi]
and eax, 0xffff
mov ecx, esi
push eax
push 1
call dword [edx + 0x10]
mov eax, dword [ebp + 0xc]
mov edx, dword [esi]
push eax
push 2
mov ecx, esi
call dword [edx + 0x10]
mov edx, dword [esi]
push 0
push 3
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [esi]
push 0
push 4
mov ecx, esi
call dword [eax + 0x10]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
lea eax, [ebp + 0xc]
lea ecx, [ebp - 0x14]
push eax
push ecx
mov ecx, edi
call fcn.0052b2d0
mov eax, dword [ebp - 0x14]
mov ecx, dword [edi]
cmp eax, ecx
je 0x5289f0
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax + 0x10]
cmp edx, ecx
jae 0x5291ff
lea eax, [ebp - 0x18]
lea ecx, [ebp + 0xc]
push eax
push ecx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x18], 0
call fcn.0052a730
push eax
push ecx
lea edx, [ebp - 0x14]
mov ecx, esp
push edx
call fcn.0052a680
lea eax, [ebp - 0x34]
mov ecx, edi
push eax
call fcn.0052a5f0
mov eax, dword [eax]
mov dword [eax + 0x14], esi
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [ebp + 0xc]
add esi, 0x54
lea edx, [ebp - 0x38]
push ecx
push edx
mov ecx, esi
call fcn.0052b5c0
mov eax, dword [esi]
mov ecx, dword [ebp - 0x38]
cmp eax, ecx
jne case.0x528829.0
mov cx, word [ebp + 8]
mov edi, dword [ebp + 0xc]
lea edx, [ebp + 0xc]
lea eax, [ebp - 0x14]
mov word [ebp - 0x28], cx
xor ebx, ebx
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x1c], ebx
call fcn.0052b620
mov eax, dword [ebp - 0x14]
mov ecx, dword [esi]
cmp eax, ecx
je 0x528a8a
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jae 0x528ac5
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x58], edx
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x4c], edx
push ecx
push ecx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0x14]
lea edx, [ebp - 0x14]
mov ecx, esp
push edx
mov dword [ebp - 0x48], eax
call fcn.0052a720
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
call fcn.0052a690
mov eax, dword [eax]
mov ecx, dword [ebp - 0x28]
add eax, 0x14
mov edx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
lea ebx, [esi + 0x18]
cmp edi, eax
je 0x528b1b
mov ecx, dword [edi]
test ecx, ecx
je 0x528b11
mov eax, dword [ecx]
push 3
call dword [eax + 8]
cmp eax, dword [ebp + 0x10]
je case.0x528829.0
mov eax, dword [esi + 0x1c]
add edi, 4
cmp edi, eax
jne 0x528afb
push 0xc
call fcn.00728cf3
add esp, 4
test eax, eax
je 0x528b3b
xor ecx, ecx
mov dword [eax], 0x755518
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov edi, eax
jmp 0x528b3d
xor edi, edi
test edi, edi
mov dword [ebp - 0x14], edi
jne 0x528b4e
push 0x236
jmp 0x5288ec
mov ecx, dword [0x7fd5f0]
push 0x7b4240
push 0x7af9c8
lea edx, [ebp - 0x15c]
push str.SELECT__FROM__s_WHERE__s0_LIMIT_1
push edx
mov dword [ebp - 0x18], ecx
call fcn.0070258b
mov ecx, dword [0x801a58]
add esp, 0x10
test ecx, ecx
jne 0x528bc9
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x15c]
push 0
push edx
mov eax, dword [ecx]
call dword [eax]
push eax
mov ecx, 0x801a58
call fcn.0047bd90
mov ecx, dword [0x801a58]
test ecx, ecx
setne al
test al, al
jne 0x528bc9
push 0x38
push str.....GameBaseCodeMTGameData.h
push str.CreateNewDefault_pDb_
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
jmp 0x528bf1
mov eax, dword [ecx]
push 0
call dword [eax]
test eax, eax
mov dword [edi + 4], eax
je 0x528be5
mov edx, dword [eax]
push 0x7b4240
mov ecx, eax
call dword [edx + 0x30]
mov dword [edi + 8], eax
mov edx, dword [edi + 4]
test edx, edx
setne al
test al, al
jne 0x528c46
push 0x238
push 0x7afa10
push str.pData__Create_Database____ID_NONE_
push str.IF_NOT
push 0x793720
call fcn.00401080
mov ecx, dword [ebp - 0x14]
add esp, 0x14
test ecx, ecx
je case.default.0x528829
mov eax, dword [ecx]
mov dword [ebp - 4], 2
call dword [eax + 0x40]
jmp case.default.0x528829
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.00529340
mov ecx, dword [ebp - 0x14]
mov esi, eax
mov eax, dword [ebp + 8]
mov edx, dword [ecx]
and eax, 0xffff
push eax
push 1
call dword [edx + 0x10]
mov ecx, dword [ebp - 0x14]
push 0
push 2
mov edx, dword [ecx]
call dword [edx + 0x10]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0x10]
push edx
push 3
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x14]
push esi
push 4
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx]
call dword [edx + 0x30]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
cmp eax, ecx
je 0x528cc4
test eax, eax
je 0x528ca6
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov eax, dword [ebx + 4]
add eax, 4
mov dword [ebx + 4], eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea edx, [ebp - 0x14]
mov ecx, ebx
push edx
push eax
call fcn.0052a9a0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esi + 0x24]
mov edx, dword [ebp + 0x10]
lea ecx, [esi + 0x24]
mov esi, dword [esi + 0x28]
cmp eax, esi
je 0x528d05
cmp dword [eax + 8], edx
je case.0x528829.0
add eax, 0x10
cmp eax, esi
jne 0x528cf5
mov eax, dword [ecx + 4]
mov dword [ebp - 0x20], edx
mov edx, dword [ecx + 8]
xor esi, esi
cmp eax, edx
mov word [ebp - 0x28], bx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], esi
je 0x528d57
cmp eax, esi
je 0x528d39
mov edx, dword [ebp - 0x28]
mov dword [eax], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x20]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x1c]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 4]
add eax, 0x10
mov dword [ecx + 4], eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea edx, [ebp - 0x28]
push edx
push eax
call fcn.0052ac60
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [esi + 0x30]
lea eax, [esi + 0x30]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x34]
cmp ebx, eax
je 0x528db6
mov edi, dword [ebx]
test edi, edi
je 0x528dac
mov eax, dword [edi]
push 2
mov ecx, edi
call dword [eax + 8]
cmp eax, dword [ebp + 0xc]
jne 0x528dac
mov edx, dword [edi]
push 3
mov ecx, edi
call dword [edx + 8]
cmp eax, dword [ebp + 0x10]
je case.0x528829.0
mov eax, dword [esi + 0x34]
add ebx, 4
cmp ebx, eax
jne 0x528d86
push 0xc
call fcn.00728cf3
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x528dd6
mov dword [eax], 0x755518
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov edi, eax
jmp 0x528dd8
xor edi, edi
cmp edi, ecx
mov dword [ebp - 0x14], edi
jne 0x528de9
push 0x279
jmp 0x5288ec
mov ebx, dword [0x7fd5f0]
push 0x7b4240
push 0x7af9c8
lea eax, [ebp - 0x15c]
push str.SELECT__FROM__s_WHERE__s0_LIMIT_1
push eax
call fcn.0070258b
mov ecx, dword [0x801a58]
add esp, 0x10
test ecx, ecx
jne 0x528e5f
mov edx, dword [ebx]
lea eax, [ebp - 0x15c]
push ecx
push eax
mov ecx, ebx
call dword [edx]
push eax
mov ecx, 0x801a58
call fcn.0047bd90
mov ecx, dword [0x801a58]
test ecx, ecx
setne al
test al, al
jne 0x528e5f
push 0x38
push str.....GameBaseCodeMTGameData.h
push str.CreateNewDefault_pDb_
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
jmp 0x528e87
mov edx, dword [ecx]
push 0
call dword [edx]
test eax, eax
mov dword [edi + 4], eax
je 0x528e7b
mov edx, dword [eax]
push 0x7b4240
mov ecx, eax
call dword [edx + 0x30]
mov dword [edi + 8], eax
mov edx, dword [edi + 4]
test edx, edx
setne al
test al, al
jne 0x528edc
push 0x27b
push 0x7afa10
push str.pData__Create_Database____ID_NONE_
push str.IF_NOT
push 0x793720
call fcn.00401080
mov ecx, dword [ebp - 0x14]
add esp, 0x14
test ecx, ecx
je case.default.0x528829
mov eax, dword [ecx]
mov dword [ebp - 4], 4
call dword [eax + 0x40]
jmp case.default.0x528829
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push ecx
push edx
mov ecx, esi
call fcn.00529240
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
and edx, 0xffff
mov esi, eax
mov eax, dword [ecx]
push edx
push 1
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
push edx
push 2
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0x10]
push edx
push 3
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x14]
push esi
push 4
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx]
call dword [edx + 0x30]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
cmp eax, edx
je 0x528f64
test eax, eax
je 0x528f46
mov edx, dword [ebp - 0x14]
mov dword [eax], edx
mov eax, dword [ecx + 4]
add eax, 4
mov dword [ecx + 4], eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea edx, [ebp - 0x14]
push edx
push eax
call fcn.0052a9a0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esi + 0x3c]
mov edx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
lea ecx, [esi + 0x3c]
mov esi, dword [esi + 0x40]
cmp eax, esi
je 0x528fab
cmp dword [eax + 4], edi
jne 0x528fa4
cmp dword [eax + 8], edx
je case.0x528829.0
add eax, 0x10
cmp eax, esi
jne 0x528f96
mov eax, dword [ecx + 4]
mov dword [ebp - 0x20], edx
mov edx, dword [ecx + 8]
mov word [ebp - 0x28], bx
cmp eax, edx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x1c], 0
je 0x528fff
test eax, eax
je 0x528fe1
mov edx, dword [ebp - 0x28]
mov dword [eax], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x20]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x1c]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 4]
add eax, 0x10
mov dword [ecx + 4], eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea edx, [ebp - 0x28]
push edx
push eax
call fcn.0052ac60
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp + 0xc]
lea ecx, [ebp - 0x30]
lea ebx, [esi + 0x60]
push eax
push ecx
mov ecx, ebx
call fcn.0052b270
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x30]
cmp eax, ecx
jne case.0x528829.0
push 0xc
call fcn.00728cf3
mov esi, eax
xor eax, eax
add esp, 4
cmp esi, eax
je 0x5290f9
push 0x7b4240
push 0x7af9c8
lea edx, [ebp - 0x15c]
push str.SELECT__FROM__s_WHERE__s0_LIMIT_1
mov dword [esi], 0x755518
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov edi, dword [0x7fd5f0]
push edx
call fcn.0070258b
mov ecx, dword [0x801a58]
add esp, 0x10
test ecx, ecx
jne 0x529103
mov eax, dword [edi]
push ecx
lea ecx, [ebp - 0x15c]
push ecx
mov ecx, edi
call dword [eax]
mov edi, eax
mov eax, dword [0x801a58]
test eax, eax
jne 0x5290aa
test edi, edi
jne 0x5290c8
push 0x1a
push str.....common_autoptr.h
push str._m_ptr__ptr
push str.ASSERT
push 0x793720
call fcn.00401080
add esp, 0x14
test edi, edi
setne al
mov ecx, edi
test al, al
mov dword [0x801a58], ecx
jne 0x529103
push 0x38
push str.....GameBaseCodeMTGameData.h
push str.CreateNewDefault_pDb_
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
jmp 0x52912b
push 0x2ad
jmp 0x5288ec
mov edx, dword [ecx]
push 0
call dword [edx]
test eax, eax
mov dword [esi + 4], eax
je 0x52911f
mov edx, dword [eax]
push 0x7b4240
mov ecx, eax
call dword [edx + 0x30]
mov dword [esi + 8], eax
mov edx, dword [esi + 4]
test edx, edx
setne al
test al, al
jne 0x529177
push 0x2af
push 0x7afa10
push str.pData__Create_Database____ID_NONE_
push str.IF_NOT
push 0x793720
call fcn.00401080
mov eax, dword [esi]
add esp, 0x14
mov ecx, esi
mov dword [ebp - 4], 6
call dword [eax + 0x40]
jmp case.default.0x528829
mov eax, dword [ebp + 8]
mov edx, dword [esi]
and eax, 0xffff
mov ecx, esi
push eax
push 1
call dword [edx + 0x10]
mov eax, dword [ebp + 0xc]
mov edx, dword [esi]
push eax
push 2
mov ecx, esi
call dword [edx + 0x10]
mov edx, dword [esi]
push 0
push 3
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [esi]
push 0
push 4
mov ecx, esi
call dword [eax + 0x10]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
lea eax, [ebp + 0xc]
lea ecx, [ebp - 0x2c]
push eax
push ecx
mov ecx, ebx
call fcn.0052b2d0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebx]
cmp eax, ecx
je 0x5291d5
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax + 0x10]
cmp edx, ecx
jae 0x5291ff
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x44]
push ecx
push ecx
lea edx, [ebp - 0x2c]
mov ecx, esp
push edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], 0
call fcn.0052a680
lea eax, [ebp - 0x5c]
mov ecx, ebx
push eax
call fcn.0052a5f0
mov eax, dword [eax]
mov dword [eax + 0x14], esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov al, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10