joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4db520
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7408d3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x94c
mov ecx, dword [ebp + 8]
push ebx
xor ebx, ebx
push esi
cmp ecx, ebx
push edi
jne 0x4db57e
push 0x168
push 0x7a8f44
push str.pUser
push str.CHECK
push 0x793720
call fcn.00401080
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 0xc]
mov edx, dword [ecx]
push eax
push 3
lea edi, [ecx + 8]
call dword [edx + 4]
push eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
push eax
push str.cq_sys_leaveword
lea ecx, [ebp - 0x52c]
push str.SELECT__FROM__s_WHERE__user_name_s_OR_user_id_u__AND_type_d_AND_item_id_u_ORDER_BY_id_LIMIT_1
push ecx
call fcn.0070258b
mov ecx, dword [0x7fd5f0]
add esp, 0x1c
lea eax, [ebp - 0x52c]
mov edx, dword [ecx]
push 1
push eax
call dword [edx]
mov esi, eax
mov dword [ebp + 0xc], esi
cmp esi, ebx
mov dword [ebp - 4], ebx
je 0x4db707
mov dword [ebp + 8], ebx
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x60]
cmp dword [ebp + 8], eax
jae 0x4db6f9
mov eax, dword [esi]
push 0x10
push 4
mov ecx, esi
call dword [eax + 0x48]
lea ecx, [ebp - 0x2c]
push eax
push ecx
call fcn.0040cc10
mov edx, dword [esi]
add esp, 0xc
mov ecx, esi
push 5
call dword [edx + 0x44]
push eax
lea eax, [ebp - 0x1c]
push 0x7961e4
push eax
call fcn.0070258b
mov edx, dword [esi]
add esp, 0xc
mov ecx, esi
push 0x100
push 6
call dword [edx + 0x48]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.0040cc10
add esp, 0xc
lea ecx, [ebp - 0x958]
call fcn.005c28a0
mov eax, dword [edi]
push 3
push ebx
push 0x844
lea ecx, [ebp - 0x1c]
push ebx
lea edx, [ebp - 0x12c]
push ecx
push edx
mov ecx, edi
mov byte [ebp - 4], 1
call dword [eax + 8]
lea ecx, [ebp - 0x2c]
push eax
push ecx
lea ecx, [ebp - 0x958]
call fcn.005c29b0
test eax, eax
jne 0x4db696
push 0x17f
push 0x7a8f44
push str.msg.Create_szSender__pUser__GetName____szWords__szTime__0___TXTATR_SYS_LEAVEWORD___TXT_NORMAL__SYSLEAVEWORD_TYPE_GETBACK_
push str.IF_OK
push 0x793720
call fcn.00401080
add esp, 0x14
jmp 0x4db6a7
mov edx, dword [edi]
lea eax, [ebp - 0x958]
push eax
mov ecx, edi
call dword [edx + 0x1b0]
mov edx, dword [esi]
push ebx
mov ecx, esi
call dword [edx + 0x44]
push eax
push str.cq_sys_leaveword
lea eax, [ebp - 0x52c]
push str.DELETE_FROM__s_WHERE_id_u_LIMIT_1
push eax
call fcn.0070258b
mov ecx, dword [0x7fd5f0]
add esp, 0x10
lea eax, [ebp - 0x52c]
mov edx, dword [ecx]
push ebx
push eax
call dword [edx + 8]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x64]
lea ecx, [ebp - 0x958]
mov byte [ebp - 4], bl
call fcn.005c2950
inc dword [ebp + 8]
jmp 0x4db5d4
mov eax, dword [esi]
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
Function at 0x4eb460
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
test esi, esi
mov ebx, ecx
je 0x4eb52c
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x4eb52c
call fcn.004ebe40
test eax, eax
mov dword [ebp + 8], eax
je 0x4eb52c
mov edi, dword [ebx + 0x10]
mov dword [ebp - 4], eax
push 0x7b4240
push 0x7aa0c8
lea eax, [ebp - 0x104]
push str.SELECT__FROM__s_WHERE__s0_LIMIT_1
push eax
call fcn.0070258b
mov ecx, dword [0x801a80]
add esp, 0x10
test ecx, ecx
jne 0x4eb537
mov edx, dword [edi]
lea eax, [ebp - 0x104]
push ecx
push eax
mov ecx, edi
call dword [edx]
mov edi, eax
mov eax, dword [0x801a80]
test eax, eax
jne 0x4eb4df
test edi, edi
jne 0x4eb4fd
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 [0x801a80], ecx
jne 0x4eb537
push 0x38
push str.....GameBaseCodeMTGameData.h
push str.CreateNewDefault_pDb_
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ecx]
push 0
call dword [edx]
mov edi, dword [ebp - 4]
test eax, eax
mov dword [edi + 4], eax
je 0x4eb556
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
je 0x4eb52c
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 4]
push edx
push 1
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 8]
push edx
push 2
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp + 8]
lea edx, [esi + 0xc]
push 0x10
push edx
mov eax, dword [ecx]
push 3
call dword [eax + 0x14]
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 0x1c]
push edx
push 4
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x20]
push 0x10
push edx
mov eax, dword [ecx]
push 5
call dword [eax + 0x14]
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 0x30]
push edx
push 6
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 0x34]
push edx
push 7
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
lea ecx, [ebx + 4]
cmp eax, edx
je 0x4eb5fb
test eax, eax
je 0x4eb5e6
mov edx, dword [ebp + 8]
mov dword [eax], edx
mov eax, dword [ecx + 4]
pop edi
add eax, 4
pop esi
mov dword [ecx + 4], eax
mov eax, dword [ebp + 8]
pop ebx
mov esp, ebp
pop ebp
ret 4
lea edx, [ebp + 8]
push edx
push eax
call fcn.004ec0f0
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4eb830
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7411ae
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
test edi, edi
mov ebx, ecx
jne 0x4eb890
push 0xbf
push 0x7aa0e0
push 0x7999e8
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x4eb89b
mov eax, dword [ecx]
call dword [eax]
mov dword [ebx + 0xc], 0
mov ecx, dword [0x7fd53c]
test ecx, ecx
jne 0x4eb8cf
push 0x1a0
push 0x797a90
push str.g_pConfigSet
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
xor ecx, ecx
lea edx, [ebp - 0x10]
mov dword [ebp - 0x10], 0x1f55
push edx
call fcn.0047ae00
mov eax, dword [eax]
test eax, eax
je 0x4eb8f1
mov edx, dword [eax]
push 2
mov ecx, eax
call dword [edx + 8]
mov dword [ebx + 0xc], eax
push 0x14
call fcn.00728cf3
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
test esi, esi
mov dword [ebp - 4], 0
je 0x4eb929
lea eax, [ebp + 0xb]
lea ecx, [esi + 4]
push eax
mov dword [esi], 0x7542d0
call fcn.004ec0e0
mov dword [esi], 0x7542b0
mov byte [esi + 0x10], 1
jmp 0x4eb92b
xor esi, esi
test esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebx + 8], esi
jne 0x4eb96f
push 0xce
push 0x7aa0e0
push str.m_setItem
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebx + 0xc]
lea edx, [ebp - 0x418]
push ecx
push 0x79a1d8
push str.SELECT__FROM__s_WHERE_owner_id_d
push edx
mov dword [ebx + 4], edi
call fcn.0070258b
mov eax, dword [edi]
add esp, 0x10
lea ecx, [ebp - 0x418]
push 1
push ecx
mov ecx, edi
call dword [eax]
mov edi, eax
mov dword [ebp - 0x14], edi
test edi, edi
mov dword [ebp - 4], 1
je 0x4eba5b
mov dword [ebp - 0x10], 0
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x60]
cmp dword [ebp - 0x10], eax
jae 0x4eba5b
push 0x24
call fcn.005d7e60
add esp, 4
mov dword [ebp - 0x18], eax
test eax, eax
mov byte [ebp - 4], 2
je 0x4eb9e9
mov ecx, eax
call fcn.005d7f00
mov esi, eax
jmp 0x4eb9eb
xor esi, esi
test esi, esi
mov byte [ebp - 4], 1
jne 0x4eba20
push 0xd9
push 0x7aa0e0
push str.pItem
push str.ASSERT
push 0x793720
call fcn.00401080
mov edx, dword [edi]
add esp, 0x14
mov ecx, edi
call dword [edx + 0x64]
inc dword [ebp - 0x10]
jmp 0x4eb9b9
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x18]
test al, al
je 0x4eba44
mov ecx, dword [ebx + 8]
push esi
mov edx, dword [ecx]
call dword [edx + 0xc]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x64]
inc dword [ebp - 0x10]
jmp 0x4eb9b9
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x64]
inc dword [ebp - 0x10]
jmp 0x4eb9b9
test edi, edi
mov dword [ebp - 4], 0xffffffff
je 0x4eba6d
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov al, 1
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
Function at 0x509540
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x742159
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push esi
mov esi, ecx
push edi
xor ebx, ebx
push 0x34
mov dword [ebp - 0x14], esi
mov dword [esi + 0x20], ebx
call fcn.004055b0
mov cl, byte [ebp - 0xd]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ebx
mov byte [esi + 0x28], cl
mov byte [eax], bl
mov edx, dword [esi + 0x20]
add esp, 4
mov dword [edx + 4], ebx
mov eax, dword [esi + 0x20]
mov dword [eax + 8], eax
mov eax, dword [esi + 0x20]
mov dword [eax + 0xc], eax
mov dword [ebp - 4], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ebx
mov ecx, 0x7e5430
mov byte [ebp - 4], 2
mov dword [esi + 0x44], ebx
call fcn.00401df0
mov byte [ebp - 4], 3
mov eax, dword [0x7e53f8]
cmp eax, ebx
jne 0x5095d1
push 0x18
call fcn.00405f50
add esp, 4
jmp 0x5095d9
mov ecx, dword [eax]
mov dword [0x7e53f8], ecx
mov dword [0x7e5430], ebx
mov dl, byte [ebp - 0xd]
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], ebx
mov byte [esi + 0x4c], dl
mov byte [eax], bl
mov eax, dword [esi + 0x44]
mov ecx, 8
lea edi, [esi + 0x5c]
mov dword [eax + 4], ebx
mov eax, dword [esi + 0x44]
mov dword [eax + 8], eax
mov eax, dword [esi + 0x44]
mov dword [eax + 0xc], eax
xor eax, eax
mov dword [esi], 0x754c20
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x54], ebx
mov dword [esi + 0x58], ebx
mov word [esi + 0x50], bx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x50c610
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x74233b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push esi
mov esi, ecx
xor ebx, ebx
mov ecx, 0x7e5430
mov dword [ebp - 0x14], esi
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x38], ebx
call fcn.00401df0
mov dword [ebp - 4], ebx
mov eax, dword [0x7e53fc]
cmp eax, ebx
jne 0x50c665
push 0x20
call fcn.00405f50
add esp, 4
jmp 0x50c66d
mov ecx, dword [eax]
mov dword [0x7e53fc], ecx
mov dword [0x7e5430], ebx
mov dl, byte [ebp - 0xd]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ebx
mov byte [esi + 0x40], dl
mov byte [eax], bl
mov eax, dword [esi + 0x38]
mov dword [eax + 4], ebx
mov eax, dword [esi + 0x38]
mov dword [eax + 8], eax
mov eax, dword [esi + 0x38]
mov dword [eax + 0xc], eax
mov ecx, 0x7e5430
mov dword [ebp - 4], 1
mov dword [esi + 0x44], ebx
call fcn.00401df0
mov byte [ebp - 4], 2
mov eax, dword [0x7e53f8]
cmp eax, ebx
jne 0x50c6c0
push 0x18
call fcn.00405f50
add esp, 4
jmp 0x50c6c8
mov ecx, dword [eax]
mov dword [0x7e53f8], ecx
mov dword [0x7e5430], ebx
mov dl, byte [ebp - 0xd]
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], ebx
mov byte [esi + 0x4c], dl
mov byte [eax], bl
mov eax, dword [esi + 0x44]
mov ecx, dword [ebp - 0xc]
mov dword [eax + 4], ebx
mov eax, dword [esi + 0x44]
mov dword [eax + 8], eax
mov eax, dword [esi + 0x44]
mov dword [eax + 0xc], eax
mov dword [esi], 0x754d30
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov byte [esi + 0x50], bl
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x514580
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x74283b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x410
mov dword [ebp - 0x14], ecx
push ebx
mov ecx, dword [ebp + 8]
push esi
push edi
test ecx, ecx
mov dword [ebp - 0x10], esp
jne 0x5145e2
push 0x211
push 0x7ae24c
push str.pUser
push str.CHECK
push 0x793720
call fcn.00401080
add esp, 0x14
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ecx]
push 2
call dword [eax + 4]
push eax
push 0x7ae410
lea ecx, [ebp - 0x41c]
push str.SELECT__FROM__s_WHERE_del_flag0_AND_owner_id___u_LIMIT__d
push ecx
call fcn.0070258b
mov ecx, dword [0x7fd5f0]
add esp, 0x14
lea eax, [ebp - 0x41c]
mov edx, dword [ecx]
push 1
push eax
call dword [edx]
mov edi, eax
test edi, edi
mov dword [ebp - 0x18], edi
je 0x514683
mov dword [ebp + 8], 0
or ebx, 0xffffffff
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x60]
cmp dword [ebp + 8], eax
jae 0x51467c
push 0x14
call fcn.00728cf3
add esp, 4
mov dword [ebp - 0x1c], eax
xor esi, esi
cmp eax, esi
mov dword [ebp - 4], esi
je 0x514654
mov ecx, eax
call fcn.0068ce30
mov esi, eax
test esi, esi
mov dword [ebp - 4], ebx
jne 0x514696
push 0x21c
push 0x7ae24c
push str.pCastle
push str.IF_NOT
push 0x793720
call fcn.00401080
add esp, 0x14
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4
push edi
mov ecx, esi
call fcn.0068d070
test al, al
jne 0x514737
push 0x21f
push 0x7ae24c
push str.pCastle__CreateByRes_pRes_
push str.IF_NOT
push 0x793720
call fcn.00401080
add esp, 0x14
mov ecx, esi
mov dword [ebp - 4], 1
call fcn.0068ce90
push esi
call fcn.00728d1c
mov eax, dword [ebp + 8]
add esp, 4
inc eax
mov ecx, edi
mov dword [ebp + 8], eax
mov eax, dword [edi]
mov dword [ebp - 4], ebx
call dword [eax + 0x64]
jmp 0x514629
mov ecx, dword [ebp - 0x14]
push esi
call fcn.005136b0
mov eax, dword [ebp + 8]
mov ecx, edi
inc eax
mov dword [ebp + 8], eax
mov eax, dword [edi]
call dword [eax + 0x64]
jmp 0x514629
Function at 0x514df0
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x45c
push esi
push 0x7ae410
lea eax, [ebp - 0x45c]
push str.SELECT_id__population__max_population__food__max_food__happiness__count_time_FROM__s_WHERE_del_flag0
mov dword [ebp - 8], ecx
push eax
call fcn.0070258b
mov ecx, dword [0x7fd5f0]
add esp, 0xc
lea eax, [ebp - 0x45c]
mov edx, dword [ecx]
push 1
push eax
call dword [edx]
mov esi, eax
test esi, esi
je 0x514f01
push ebx
push 0
push 3
call fcn.0040ab00
xor edx, edx
mov ecx, 0x64
div ecx
add esp, 8
mov ecx, esi
mov dword [ebp - 4], 0
mov ebx, edx
mov edx, dword [esi]
call dword [edx + 0x60]
test eax, eax
jbe 0x514ef9
push edi
mov eax, dword [esi]
push 6
mov ecx, esi
call dword [eax + 0x44]
cmp ebx, eax
je 0x514edb
mov edx, dword [esi]
mov ecx, 0x15
xor eax, eax
lea edi, [ebp - 0x5c]
rep stosd dword es:[edi], eax
push eax
mov ecx, esi
call dword [edx + 0x44]
mov dword [ebp - 0x5c], eax
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x44]
mov edx, dword [esi]
push 2
mov ecx, esi
mov dword [ebp - 0x20], eax
call dword [edx + 0x44]
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
push 3
mov ecx, esi
call dword [eax + 0x44]
mov edx, dword [esi]
push 4
mov ecx, esi
mov dword [ebp - 0xc], eax
call dword [edx + 0x44]
mov dword [ebp - 0x14], eax
mov eax, dword [esi]
push 5
mov ecx, esi
call dword [eax + 0x44]
mov edx, dword [esi]
push 6
mov ecx, esi
mov dword [ebp - 0x10], eax
call dword [edx + 0x44]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x5c]
push ebx
push eax
call fcn.00514f10
mov edi, dword [ebp - 4]
mov edx, dword [esi]
inc edi
mov ecx, esi
mov dword [ebp - 4], edi
call dword [edx + 0x64]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x60]
cmp edi, eax
jb 0x514e62
pop edi
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x5163b0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x742940
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [ebp - 0x20], esi
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0xa0], ebx
mov dword [esi + 0xa4], ebx
mov dword [esi + 0xa8], ebx
mov dword [ebp - 4], ebx
mov dword [esi + 0xac], ebx
mov dword [esi + 0xb0], ebx
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xc4], ebx
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xd0], ebx
mov dword [esi + 0xd4], ebx
lea edi, [esi + 0xd8]
push 0x18
mov byte [ebp - 4], 3
mov dword [ebp - 0x1c], edi
mov dword [edi], ebx
call fcn.004055b0
add esp, 4
mov dword [edi], eax
mov al, byte [ebp - 0xd]
mov ecx, edi
mov byte [ebp - 4], 4
mov dword [edi + 4], ebx
mov byte [edi + 8], al
call fcn.0049d860
lea edx, [esi + 0x5c]
mov dword [esi + 0xe4], ebx
mov dword [esi + 0xe8], ebx
mov dword [esi + 0xec], ebx
xor ecx, ecx
mov dword [esi], 0x754f10
mov dword [esi + 0x40], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x38], ebx
mov byte [esi + 0x44], bl
mov dword [esi + 0x50], ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x4c], ebx
mov dword [edx], ecx
xor eax, eax
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
lea ecx, [esi + 0x6c]
xor edx, edx
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
lea eax, [esi + 0x7c]
mov dword [esi + 0x7c], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x90], ebx
mov dword [esi + 0x94], ebx
mov byte [esi + 0x98], bl
mov byte [esi + 0x99], bl
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], ebx
mov eax, dword [esi + 0xe8]
mov ecx, eax
mov edi, dword [esi + 0xe4]
sub eax, ecx
mov dword [ebp - 0x1c], edi
mov edx, eax
mov eax, 0x2aaaaaab
imul edx
sar edx, 1
mov eax, edx
mov dword [ebp - 0x14], edi
shr eax, 0x1f
add edx, eax
cmp edx, ebx
jle 0x51655a
mov eax, ecx
mov dword [ebp - 0x18], edx
sub eax, edi
mov dword [ebp - 0x20], eax
jmp 0x516536
mov eax, dword [ebp - 0x20]
add eax, edi
mov edx, dword [eax]
mov dword [edi], edx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
add edi, 0xc
dec eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], eax
jne 0x516533
mov edx, dword [ebp - 0x1c]
mov eax, 0x2aaaaaab
sub ecx, edx
mov edi, dword [esi + 0xe8]
imul ecx
sar edx, 1
mov ecx, edx
mov eax, esi
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [ebp - 0xc]
lea edx, [edx + edx*2]
shl edx, 2
sub edi, edx
mov dword [esi + 0xe8], edi
mov dword [esi + 0x54], ebx
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x525700
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
test edi, edi
mov ebx, ecx
je 0x5257e2
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x5257e2
mov eax, dword [edi]
push eax
call fcn.005256a0
test eax, eax
jne 0x5257e4
call fcn.00525cc0
mov esi, eax
test esi, esi
je 0x5257e2
mov ecx, dword [ebx + 0x10]
push 0x7b4240
push 0x7af7d8
lea edx, [ebp - 0x10c]
push str.SELECT__FROM__s_WHERE__s0_LIMIT_1
push edx
mov dword [ebp + 8], ecx
call fcn.0070258b
mov ecx, dword [0x801a60]
add esp, 0x10
test ecx, ecx
jne 0x5257ed
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x10c]
push 0
push edx
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [0x801a60]
mov dword [ebp + 8], eax
test ecx, ecx
jne 0x525792
test eax, eax
jne 0x5257b3
push 0x1a
push str.....common_autoptr.h
push str._m_ptr__ptr
push str.ASSERT
push 0x793720
call fcn.00401080
mov eax, dword [ebp + 8]
add esp, 0x14
test eax, eax
mov ecx, eax
setne al
test al, al
mov dword [0x801a60], ecx
jne 0x5257ed
push 0x38
push str.....GameBaseCodeMTGameData.h
push str.CreateNewDefault_pDb_
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ecx]
push 0
call dword [eax]
test eax, eax
mov dword [esi + 4], eax
je 0x525809
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
je 0x5257e2
mov ecx, dword [edi + 4]
mov eax, dword [esi]
push ecx
push 1
mov ecx, esi
call dword [eax + 0x10]
mov edx, dword [esi]
lea eax, [edi + 8]
push 0x10
push eax
push 2
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [edi + 0x18]
mov edx, dword [esi]
push eax
push 3
mov ecx, esi
call dword [edx + 0x10]
mov edx, dword [esi]
lea eax, [edi + 0x1c]
push 0x10
push eax
push 4
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [edi + 0x2c]
mov edx, dword [esi]
push eax
push 5
mov ecx, esi
call dword [edx + 0x10]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
mov edx, dword [ebx + 4]
lea ecx, [ebx + 4]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], esi
mov edi, dword [edx + 4]
mov dword [ebp - 4], ecx
test edi, edi
mov ebx, edx
mov cl, 1
je 0x525895
mov ecx, dword [edi + 0x10]
mov ebx, edi
cmp eax, ecx
setb cl
test cl, cl
je 0x52588e
mov edi, dword [edi + 8]
jmp 0x525891
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x52587b
test cl, cl
mov dword [ebp + 8], ebx
je 0x5258c6
cmp ebx, dword [edx + 8]
jne 0x5258be
lea eax, [ebp - 0xc]
lea ecx, [ebp - 4]
push eax
push ebx
push edi
push ecx
mov ecx, dword [ebp - 4]
call fcn.00526570
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [ebp + 8]
call fcn.00437850
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov eax, dword [edx + 0x10]
cmp eax, ecx
jae 0x5258e5
lea ecx, [ebp - 0xc]
lea edx, [ebp - 4]
push ecx
mov ecx, dword [ebp - 4]
push ebx
push edi
push edx
call fcn.00526570
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4