Function at 0x4a3990
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xa4
push ebx
push ebp
mov ebp, dword [esp + 0xb0]
cmp dword [ebp + 0x1c8], 0
mov ebx, dword [ebp]
push esi
push edi
mov esi, eax
jle 0x4a39e5
push str.parameters_are_not_allowed_in_views
mov edi, ebp
call fcn.00476d80
add esp, 4
mov esi, dword [esp + 0xc4]
test esi, esi
je 0x4a39da
push esi
push ebx
call fcn.004b43f0
push esi
push ebx
call fcn.00474d20
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc0]
push eax
push 0
push 1
push ecx
mov eax, esi
mov ecx, ebp
call fcn.004a27a0
mov edi, dword [ebp + 0x200]
add esp, 0x10
test edi, edi
je 0x4a39be
cmp dword [ebp + 0x40], 0
jne 0x4a39be
mov edx, dword [esp + 0xc0]
push ebp
lea ecx, [esp + 0x20]
mov eax, esi
call fcn.004a26c0
mov esi, dword [edi + 0x44]
add esp, 4
mov ecx, ebx
call fcn.004b3cf0
test eax, eax
jl 0x4a3a94
cmp eax, 1
je 0x4a3a94
mov edx, dword [ebp]
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x60], ebp
mov ecx, dword [edx + 8]
shl eax, 4
mov edx, dword [eax + ecx]
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x60]
push esi
push ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], str.view
mov dword [esp + 0x74], eax
call fcn.004a13d0
add esp, 8
test eax, eax
je 0x4a3a9b
mov edi, ebx
call fcn.004b45a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
mov esi, dword [esp + 0xc4]
push 1
push esi
push ebx
call fcn.0049a660
add esp, 0xc
mov dword [edi + 0x1c], eax
test esi, esi
je 0x4a3abf
push esi
push ebx
call fcn.004b43f0
push esi
push ebx
call fcn.00474d20
add esp, 0x10
cmp byte [ebx + 0x1e], 0
jne 0x4a39da
cmp byte [ebx + 0x7c], 0
jne 0x4a3ad9
push edi
push ebp
call fcn.004a3df0
add esp, 8
mov eax, dword [ebp + 0x1f4]
mov cl, byte [eax]
mov edx, dword [ebp + 0x1f8]
test cl, cl
je 0x4a3af2
cmp cl, 0x3b
je 0x4a3af2
add eax, edx
mov edx, dword [esp + 0xbc]
mov ecx, dword [edx]
sub eax, ecx
test eax, eax
jle 0x4a3b14
movzx edx, byte [ecx + eax - 1]
test byte [edx + 0x535068], 1
je 0x4a3b14
dec eax
test eax, eax
jg 0x4a3b01
mov edi, dword [ebp]
cmp byte [edi + 0x1e], 0
lea eax, [ecx + eax - 1]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 1
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], edi
jne 0x4a39da
mov ebx, dword [ebp + 0x200]
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x4a39da
mov esi, dword [ebx + 0x44]
mov ecx, edi
call fcn.004b3cf0
mov esi, dword [ebx + 0x2c]
mov dword [esp + 0x1c], eax
test esi, esi
je 0x4a3be3
xor eax, eax
push 0x40
push eax
lea ecx, [esp + 0x78]
push ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
call fcn.004f4810
mov eax, dword [ebx]
mov edx, 1
mov dword [esp + 0x90], ebx
lea ecx, [esp + 0x7c]
mov ebx, esi
add esp, 0xc
lea esi, [esp + 0x3c]
mov word [esp + 0x70], dx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ecx
mov byte [esp + 0x52], dl
call fcn.004992f0
test eax, eax
jne 0x4a39da
mov ebx, dword [esp + 0x18]
cmp byte [edi + 0x7c], 0
je 0x4a3bf9
mov edx, dword [edi + 0x78]
mov dword [ebx + 0x14], edx
cmp byte [edi + 0x7c], 0
jne 0x4a3d71
mov edi, ebp
call fcn.004b6520
mov edi, eax
xor ebx, ebx
mov dword [esp + 0x2c], edi
cmp edi, ebx
je 0x4a39da
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x4a3c21
call fcn.0048d6b0
test eax, eax
jne 0x4a3c48
mov ecx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x2b
mov byte [eax + 3], 0
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [edi + 0x62], 0
mov edi, dword [esp + 0x18]
cmp dword [edi + 0x1c], ebx
jne 0x4a3c60
mov dword [esp + 0x28], str.table
mov edx, str.TABLE
jmp 0x4a3c6d
mov dword [esp + 0x28], str.view
mov edx, str.VIEW
mov ecx, dword [ebp + 0x1ec]
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x14]
sub eax, ecx
push ecx
inc eax
push eax
push edx
push str.CREATE__s__.s
mov esi, ebx
call fcn.00476200
mov esi, dword [esp + 0x2c]
add esp, 0x10
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], str.sqlite_temp_master
cmp esi, 1
je 0x4a3cad
mov dword [esp + 0x24], str.sqlite_master
mov edx, dword [ebp + 0x198]
mov ecx, dword [edi]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [ebp + 0x19c]
push eax
mov eax, dword [ebx + 8]
push ecx
push ecx
mov ecx, dword [esp + 0x3c]
push ecx
mov edi, esi
shl edi, 4
mov ecx, dword [edi + eax]
push edx
push ecx
push str.UPDATE__Q._s_SET_type_s__name_Q__tbl_name_Q__rootpage_d__sql_Q_WHERE_rowid_d
mov ebx, ebp
call fcn.004a1d30
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x38]
add esp, 0x24
push edx
push eax
call fcn.00474d20
mov ebx, esi
add esp, 8
mov esi, ebp
call fcn.004a3280
mov ecx, dword [esp + 0x18]
test byte [ecx + 0x22], 8
je 0x4a3d2f
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
mov ecx, dword [eax + edi + 0xc]
add eax, edi
cmp dword [ecx + 0x44], 0
jne 0x4a3d2f
mov edx, dword [eax]
push edx
push str.CREATE_TABLE__Q.sqlite_sequence_name_seq_
mov ebx, ebp
call fcn.004a1d30
add esp, 8
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
push 0xffffffffffffffff
push ecx
mov ecx, dword [eax]
push ecx
push str.tbl_name_q
call fcn.00476200
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
add esp, 0xc
push eax
push 0x63
xor eax, eax
xor ecx, ecx
call fcn.0048d820
mov ebx, dword [esp + 0x24]
mov edi, esi
add esp, 0xc
cmp byte [edi + 0x7c], 0
je 0x4a39da
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x44]
push ebx
call fcn.00476ca0
push ecx
lea ecx, [edx + 4]
call fcn.00477e30
add esp, 8
test eax, eax
je 0x4a3d9b
mov byte [edi + 0x1e], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
mov dword [ebp + 0x200], 0
inc dword [edi + 0x28]
or dword [edi + 0xc], 0x200
cmp dword [ebx + 0x1c], 0
jne 0x4a39da
mov edx, dword [esp + 0x20]
mov ebp, dword [ebp + 0x1ec]
cmp dword [edx], edx
jne 0x4a3dcf
lea eax, [esp + 0x30]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
sub edx, ebp
mov ecx, ebp
call fcn.00476b30
pop edi
pop esi
add eax, 0xd
pop ebp
mov dword [ebx + 0x30], eax
pop ebx
add esp, 0xa4
ret