Function at 0x4fad70
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x741a20
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x94c
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x10], esp
test ebx, ebx
mov dword [ebp - 0x18], esi
jne 0x4fadd6
push 0xeb
push 0x7ab474
push str.pUser
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 8
push ebx
mov ecx, esi
call fcn.004fabb0
test al, al
jne 0x4fadf5
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esi + 8]
mov edi, dword [esi + 4]
sub eax, edi
sar eax, 2
cmp eax, 0x3c
jb 0x4faf09
mov esi, dword [esi + 8]
mov esi, dword [esi - 4]
test esi, esi
je 0x4faf09
mov eax, dword [ebx + 0x6e0]
mov edx, dword [esi]
mov edi, dword [ebx + 0x6e4]
push 1
mov ecx, esi
mov dword [ebp - 0x24], eax
call dword [edx + 0x18]
cmp edi, edx
jb 0x4fae40
ja 0x4fae3a
cmp dword [ebp - 0x24], eax
jbe 0x4fae40
mov byte [ebp - 0x11], 1
jmp 0x4fae44
mov byte [ebp - 0x11], 0
mov eax, dword [ebx + 0x6e4]
mov edx, dword [esi]
mov edi, dword [ebx + 0x6e0]
push 1
mov ecx, esi
mov dword [ebp - 0x20], eax
call dword [edx + 0x18]
cmp edi, eax
jne 0x4fae82
cmp dword [ebp - 0x20], edx
jne 0x4fae82
mov eax, dword [esi]
push 2
mov ecx, esi
call dword [eax + 8]
mov edx, dword [ebx]
mov ecx, ebx
mov esi, eax
call dword [edx + 4]
cmp eax, esi
jae 0x4fae82
mov eax, 1
jmp 0x4fae84
xor eax, eax
mov cl, byte [ebp - 0x11]
or cl, al
jne 0x4faf09
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x50]
push eax
push ebx
mov ecx, esi
call fcn.004faac0
mov edx, dword [ebx + 8]
lea ecx, [ebx + 8]
call dword [edx + 0xcc]
and eax, 0xff
jg 0x4faebc
mov ecx, dword [ebp - 0x30]
and ecx, 0xffff
cmp ecx, eax
jg 0x4faec9
jmp 0x4faed5
mov edx, dword [ebp - 0x30]
and edx, 0xffff
cmp edx, eax
jge 0x4faed5
lea eax, [ebp - 0x50]
mov ecx, esi
push eax
push ebx
call fcn.004fc7d0
lea ecx, [ebp - 0x50]
push 2
push ecx
push ebx
mov ecx, esi
call fcn.004fb590
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x4faef4
mov ecx, 0xa
lea esi, [ebp - 0x50]
rep movsd dword es:[edi], dword [esi]
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 8
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x1c], 0xffffffff
mov byte [ebp - 0x11], 0
mov edi, dword [eax + 4]
mov dword [ebp - 4], esi
cmp edi, dword [eax + 8]
je 0x4faf8a
mov ebx, dword [edi]
test ebx, ebx
je 0x4fafd6
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
call dword [edx + 4]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx]
push 2
mov ecx, ebx
call dword [eax + 8]
cmp dword [ebp - 0x20], eax
jne 0x4fafd6
mov edx, dword [ebp - 0x18]
lea ecx, [edi + 4]
mov esi, ebx
mov byte [ebp - 0x11], 1
mov eax, dword [edx + 8]
cmp ecx, eax
je 0x4faf74
sub eax, ecx
sar eax, 2
test eax, eax
jle 0x4faf74
mov ebx, dword [ecx]
add ecx, 4
mov dword [edi], ebx
add edi, 4
dec eax
jmp 0x4faf63
mov ecx, dword [edx + 8]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp + 8]
add ecx, 0xfffffffc
inc eax
mov dword [edx + 8], ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
test esi, esi
je 0x4fafeb
mov ecx, dword [ebx + 0x6e4]
mov edx, dword [esi]
mov edi, dword [ebx + 0x6e0]
mov dword [ebp - 0x20], ecx
push 1
mov ecx, esi
call dword [edx + 0x18]
cmp edi, eax
jne 0x4fafb3
cmp dword [ebp - 0x20], edx
je 0x4fb288
mov ecx, dword [ebx + 0x6e4]
mov eax, dword [ebx + 0x6e0]
mov edx, dword [esi]
push ecx
push eax
push 1
mov ecx, esi
call dword [edx + 0x1c]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2c]
jmp 0x4fb288
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp + 8]
add edi, 4
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
jmp 0x4faf1f
mov ecx, dword [eax + 8]
mov edi, dword [eax + 4]
sub ecx, edi
sar ecx, 2
cmp ecx, 0x3c
jb 0x4fb0e6
mov ecx, dword [eax + 8]
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
test esi, esi
mov dword [eax + 8], ecx
je 0x4fb0e6
mov edx, dword [esi]
mov edi, dword [0x7fd5e4]
push 2
mov ecx, esi
call dword [edx + 8]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x54]
mov edi, eax
test edi, edi
je 0x4fb04e
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x50]
push eax
push esi
call fcn.004fa980
lea ecx, [ebp - 0x50]
push 1
push ecx
mov ecx, dword [ebp - 0x18]
push edi
call fcn.004fb590
jmp 0x4fb09d
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x18]
push edx
push eax
push 0xffffffffffffffff
call fcn.004fa5f0
add esp, 0xc
mov edi, eax
mov eax, dword [esi]
mov ecx, esi
push 2
call dword [eax + 8]
push eax
push edi
push 0x79a1ac
lea ecx, [ebp - 0x558]
push str.UPDATE__s_SET_nobility_d_WHERE_id_u_LIMIT_1
push ecx
call fcn.0070258b
mov ecx, dword [0x7fd5f0]
add esp, 0x14
lea eax, [ebp - 0x558]
mov edx, dword [ecx]
push 1
push eax
call dword [edx + 8]
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 4]
mov edx, dword [esi]
push eax
push 2
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
call dword [eax + 8]
mov edx, dword [esi]
push 0x10
push eax
push 3
mov ecx, esi
call dword [edx + 0x14]
mov ecx, dword [ebx + 0x6e4]
mov eax, dword [ebx + 0x6e0]
mov edx, dword [esi]
push ecx
push eax
push 1
mov ecx, esi
call dword [edx + 0x1c]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2c]
jmp 0x4fb288
push 0xc
call fcn.00728cf3
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x4fb106
mov dword [eax], 0x754764
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov esi, eax
jmp 0x4fb108
xor esi, esi
cmp esi, ecx
jne 0x4fb142
push 0x15f
push 0x7ab474
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 8
mov ecx, dword [0x7fd5f0]
push 0x7b4240
push 0x7ab400
lea edx, [ebp - 0x158]
push str.SELECT__FROM__s_WHERE__s0_LIMIT_1
push edx
mov dword [ebp - 0x20], ecx
call fcn.0070258b
mov ecx, dword [0x801a78]
add esp, 0x10
test ecx, ecx
jne 0x4fb1e6
mov ecx, dword [ebp - 0x20]
lea edx, [ebp - 0x158]
push 0
push edx
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [0x801a78]
mov dword [ebp - 0x20], eax
test ecx, ecx
jne 0x4fb194
test eax, eax
jne 0x4fb1b5
push 0x1a
push str.....common_autoptr.h
push str._m_ptr__ptr
push str.ASSERT
push 0x793720
call fcn.00401080
mov eax, dword [ebp - 0x20]
add esp, 0x14
test eax, eax
mov ecx, eax
setne al
test al, al
mov dword [0x801a78], ecx
jne 0x4fb1e6
push 0x38
push str.....GameBaseCodeMTGameData.h
push str.CreateNewDefault_pDb_
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
jmp 0x4fb20e
mov eax, dword [ecx]
push 0
call dword [eax]
test eax, eax
mov dword [esi + 4], eax
je 0x4fb202
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 0x4fb244
push 0x160
push 0x7ab474
push str.pData__Create_Database____ID_NONE_
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 8
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov edx, dword [esi]
push eax
push 2
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
call dword [eax + 8]
mov edx, dword [esi]
push 0x10
push eax
push 3
mov ecx, esi
call dword [edx + 0x14]
mov ecx, dword [ebx + 0x6e4]
mov eax, dword [ebx + 0x6e0]
mov edx, dword [esi]
push ecx
push eax
push 1
mov ecx, esi
call dword [edx + 0x1c]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x30]
mov edi, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
push ecx
push esi
mov ecx, edi
mov dword [ebp - 0x28], 0xffffffff
call fcn.004fac10
test al, al
jne 0x4fb32f
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x34]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x40]
lea ecx, [ebp - 0x50]
push ecx
push ebx
mov ecx, edi
call fcn.004faac0
mov edx, dword [ebx + 8]
lea ecx, [ebx + 8]
call dword [edx + 0xcc]
and eax, 0xff
jg 0x4fb2e2
mov ecx, dword [ebp - 0x30]
and ecx, 0xffff
cmp ecx, eax
jg 0x4fb2ef
jmp 0x4fb2fb
mov edx, dword [ebp - 0x30]
and edx, 0xffff
cmp edx, eax
jge 0x4fb2fb
lea eax, [ebp - 0x50]
mov ecx, edi
push eax
push ebx
call fcn.004fc7d0
lea ecx, [ebp - 0x50]
push 2
push ecx
push ebx
mov ecx, edi
call fcn.004fb590
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x4fb31a
mov ecx, 0xa
lea esi, [ebp - 0x50]
rep movsd dword es:[edi], dword [esi]
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 8
mov al, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x28]
test al, al
mov eax, dword [ebp - 0x1c]
je 0x4fb3e8
cmp eax, ecx
jne 0x4fb3e8
lea edx, [ebp - 0x50]
mov ecx, edi
push edx
push esi
call fcn.004fa980
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x18]
mov ecx, dword [ebp - 0x28]
push edx
push eax
push ecx
call fcn.004fa5f0
mov esi, eax
add esp, 0xc
cmp esi, 1
jne 0x4fb380
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x20]
cmp eax, 2
jne 0x4fb380
mov esi, eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebx + 8]
lea ecx, [ebx + 8]
mov dword [ebp - 0x2c], eax
mov word [ebp - 0x30], si
call dword [edx + 0xcc]
and eax, 0xff
jg 0x4fb3ac
mov ecx, dword [ebp - 0x30]
and ecx, 0xffff
cmp ecx, eax
jg 0x4fb3b9
jmp 0x4fb3c5
mov edx, dword [ebp - 0x30]
and edx, 0xffff
cmp edx, eax
jge 0x4fb3c5
lea eax, [ebp - 0x50]
mov ecx, edi
push eax
push ebx
call fcn.004fc7d0
lea ecx, [ebp - 0x50]
push 2
push ecx
push ebx
mov ecx, edi
call fcn.004fb590
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 8
cmp eax, 0xffffffff
je 0x4fb3f1
cmp eax, ecx
jle 0x4fb3f3
mov eax, ecx
xor ecx, ecx
test eax, eax
setl cl
dec ecx
and ecx, eax
mov dword [ebp - 0x1c], ecx
mov eax, dword [edi + 8]
mov ebx, dword [edi + 4]
sub eax, ebx
sar eax, 2
cmp ecx, eax
jae 0x4fb3d3
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x4fb521
mov eax, dword [esi]
push 2
mov ecx, esi
call dword [eax + 8]
mov edx, dword [esi]
mov edi, eax
push 1
mov ecx, esi
mov dword [ebp - 0x20], edi
call dword [edx + 0x18]
push edx
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004fa5f0
mov ecx, dword [ebp + 8]
add esp, 0xc
mov ebx, eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, edi
jne 0x4fb458
mov edi, dword [ebp + 8]
jmp 0x4fb466
mov ecx, dword [0x7fd5e4]
push edi
mov eax, dword [ecx]
call dword [eax + 0x54]
mov edi, eax
test edi, edi
je 0x4fb521
lea ecx, [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x18]
push esi
call fcn.004fa980
cmp ebx, 1
jne 0x4fb48e
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x20]
cmp eax, 2
jne 0x4fb48e
mov ebx, eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [edi + 8]
lea ecx, [edi + 8]
mov dword [ebp - 0x2c], eax
mov word [ebp - 0x30], bx
call dword [edx + 0xcc]
mov ebx, dword [ebp + 8]
and eax, 0xff
cmp word [ebp - 0x30], 0
mov esi, eax
jbe 0x4fb4f5
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp dword [ebp - 0x20], eax
jne 0x4fb4c8
mov al, byte [ebp - 0x11]
test al, al
je 0x4fb4e8
test esi, esi
jg 0x4fb4db
mov ecx, dword [ebp - 0x30]
and ecx, 0xffff
cmp ecx, esi
jg 0x4fb4e8
jmp 0x4fb4f5
mov edx, dword [ebp - 0x30]
and edx, 0xffff
cmp edx, esi
jge 0x4fb4f5
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x50]
push eax
push edi
call fcn.004fc7d0
lea ecx, [ebp - 0x50]
push 2
push ecx
mov ecx, dword [ebp - 0x18]
push edi
call fcn.004fb590
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 4]
cmp eax, dword [ebp - 0x20]
jne 0x4fb521
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x4fb521
mov ecx, 0xa
lea esi, [ebp - 0x50]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x1c], eax
mov ecx, eax
jmp 0x4fb400