Function at 0x4c34f0
Capabilities:
Reference sql statements

Disassembly:
sub esp, 0x30
push ebx
push ebp
push esi
push edi
push 0x124
call fcn.004c4410
mov ebx, dword [esp + 0x50]
xor edi, edi
add esp, 4
cmp ebx, edi
mov esi, eax
je 0x4c3512
mov dword [ebx], edi
cmp esi, edi
je 0x4c3669
push 1
lea ecx, [esi + 0xe8]
lea eax, [esi + 8]
push 3
push ecx
mov dword [esi + 0x104], 0x63
mov dword [esi + 0x100], edi
mov dword [esi + 0x108], 0xf03b7906
mov dword [esi], 2
mov dword [esi + 4], eax
call fcn.004c56a0
mov eax, dword [esi]
add esp, 0xc
xor ebp, ebp
cmp eax, edi
jle 0x4c35ac
mov edx, dword [esi + 4]
push 0
push 3
lea eax, [edx + edi + 0xc]
push eax
call fcn.004c56a0
mov ecx, dword [esi + 4]
push 0
push 3
lea edx, [ecx + edi + 0x20]
push edx
call fcn.004c56a0
mov eax, dword [esi + 4]
push 0
push 3
lea ecx, [eax + edi + 0x34]
push ecx
call fcn.004c56a0
mov edx, dword [esi + 4]
push 1
push 3
lea eax, [edx + edi + 0x48]
push eax
call fcn.004c56a0
mov eax, dword [esi]
add esp, 0x30
inc ebp
add edi, 0x60
cmp ebp, eax
jl 0x4c355b
mov ecx, dword [esi + 4]
mov edi, dword [esp + 0x44]
add ecx, 4
push ecx
push 0x7d0
push 0
push edi
push esi
call fcn.004c4380
add esp, 0x14
test eax, eax
je 0x4c35ed
push 0
push edi
push str.unable_to_open_database:
push ebx
call fcn.004c45d0
push esi
call fcn.004c4480
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edx, dword [esi + 4]
push esi
mov dword [edx], str.main
mov eax, dword [esi + 4]
mov dword [eax + 0x60], str.temp
call fcn.004ca770
add esp, 4
xor ebp, ebp
xor edi, edi
xor ebx, ebx
cmp edi, dword [esi]
jge 0x4c3683
mov ecx, dword [esi + 4]
mov dl, byte [ecx + ebx + 0x5e]
and dl, 4
cmp dl, 4
je 0x4c3633
mov eax, dword [esp + 0x4c]
push eax
push edi
push esi
call fcn.004c3860
add esp, 0xc
mov ebp, eax
inc edi
add ebx, 0x60
test ebp, ebp
je 0x4c360f
mov eax, dword [esi + 0xc8]
and al, 0xfd
mov dword [esi + 0xc8], eax
mov dword [esi + 0x108], 0xa029a697
mov eax, dword [0x582830]
test eax, eax
je 0x4c36a1
push esi
call fcn.004c3c80
mov ebx, dword [esp + 0x50]
add esp, 4
push 0
push str.out_of_memory
push ebx
call fcn.004c45d0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
test ebp, ebp
jne 0x4c363b
mov edx, dword [esi + 0xc8]
push esi
or edx, 2
mov dword [esi + 0xc8], edx
call fcn.004c6490
add esp, 4
jmp 0x4c3649
test ebp, ebp
je 0x4c36bd
cmp ebp, 5
je 0x4c36bd
push esi
call fcn.004c3c80
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edi, dword [esp + 0x4c]
test edi, edi
je 0x4c36d6
mov ecx, dword [edi]
push ecx
call fcn.004c4480
add esp, 4
mov dword [edi], 0
test ebp, ebp
jne 0x4c376f
cmp byte [esi + 0xcc], 3
jae 0x4c376f
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x10]
push eax
push ebp
push ebp
push ecx
push 0x4c37c0
lea edx, [esp + 0x60]
push str.BEGIN__SELECT_name_FROM_sqlite_master_WHERE_typetable_
push esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], edx
mov byte [esi + 0xcc], 3
call fcn.004c3db0
add esp, 0x1c
test eax, eax
jne 0x4c3779
mov edx, dword [esi + 4]
mov eax, dword [edx + 4]
lea edx, [esp + 0x18]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [esi + 4]
mov dword [esp + 0x28], 4
lea edx, [esp + 0x20]
mov eax, dword [eax + 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
push ebp
push ebp
push ebp
push ebp
push ebp
push str.COMMIT
push esi
call fcn.004c3db0
mov ecx, dword [esp + 0x78]
add esp, 0x2c
push ecx
call fcn.004eb314
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [esp + 0x4c]
push 0
push eax
neg eax
sbb eax, eax
and eax, 0x53d2dc
push eax
push str.unable_to_upgrade_database_to_the_version_2.6_format
push edi
call fcn.004c45d0
mov eax, dword [esp + 0x60]
push eax
call fcn.004eb314
push esi
call fcn.004c3c80
add esp, 0x1c
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret