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

Disassembly:
sub esp, 0x9c
push ebx
push ebp
mov ebp, dword [esp + 0xa8]
cmp dword [ebp + 0x1c8], 0
mov ebx, dword [ebp]
push esi
push edi
mov esi, eax
jle 0x476575
push str.parameters_are_not_allowed_in_views
mov edi, ebp
call fcn.00433540
add esp, 4
mov esi, dword [esp + 0xbc]
test esi, esi
je 0x47656a
push esi
push ebx
call fcn.00428010
push esi
push ebx
call fcn.00420620
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xb8]
push eax
push 0
push 1
push ecx
mov eax, esi
mov ecx, ebp
call fcn.0046b760
mov edi, dword [ebp + 0x200]
add esp, 0x10
test edi, edi
je 0x47654e
cmp dword [ebp + 0x40], 0
jne 0x47654e
mov edx, dword [esp + 0xb8]
push ebp
lea ecx, [esp + 0x14]
mov eax, esi
call fcn.00435ff0
mov esi, dword [edi + 0x44]
add esp, 4
mov ecx, ebx
call fcn.00427fe0
test eax, eax
jl 0x476624
cmp eax, 1
je 0x476624
mov edx, dword [ebp]
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x5c], ebp
mov ecx, dword [edx + 8]
shl eax, 4
mov edx, dword [eax + ecx]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x5c]
push esi
push ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], str.view
mov dword [esp + 0x70], eax
call fcn.004359e0
add esp, 8
test eax, eax
je 0x47662b
mov edi, ebx
call fcn.00428090
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov esi, dword [esp + 0xbc]
push 1
push esi
push ebx
call fcn.00435340
add esp, 0xc
mov dword [edi + 0x1c], eax
test esi, esi
je 0x47664f
push esi
push ebx
call fcn.00428010
push esi
push ebx
call fcn.00420620
add esp, 0x10
cmp byte [ebx + 0x1e], 0
jne 0x47656a
cmp byte [ebx + 0x7c], 0
jne 0x476669
push edi
push ebp
call fcn.00470e80
add esp, 8
mov eax, dword [ebp + 0x1f4]
mov cl, byte [eax]
mov edx, dword [ebp + 0x1f8]
test cl, cl
je 0x476682
cmp cl, 0x3b
je 0x476682
add eax, edx
mov edx, dword [esp + 0xb4]
mov ecx, dword [edx]
sub eax, ecx
test eax, eax
jle 0x4766a4
movzx edx, byte [ecx + eax - 1]
test byte [edx + 0x4941e8], 1
je 0x4766a4
dec eax
test eax, eax
jg 0x476691
mov edi, dword [ebp]
cmp byte [edi + 0x1e], 0
lea eax, [ecx + eax - 1]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 1
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], edi
jne 0x47656a
mov esi, dword [ebp + 0x200]
mov dword [esp + 0x18], esi
test esi, esi
je 0x47656a
mov edx, dword [esi + 0x44]
mov dword [esp + 0x1c], 0xfff0bdc0
test edx, edx
je 0x476717
cmp dword [edi + 4], 0
mov dword [esp + 0x1c], 0
jle 0x476717
mov eax, dword [edi + 8]
add eax, 0xc
cmp dword [eax], edx
je 0x476717
mov ecx, dword [esp + 0x1c]
inc ecx
add eax, 0x10
cmp ecx, dword [edi + 4]
mov dword [esp + 0x1c], ecx
jl 0x476702
mov ebx, dword [esi + 0x2c]
test ebx, ebx
je 0x47679f
xor eax, eax
push 0x40
push eax
lea ecx, [esp + 0x74]
push ecx
mov dword [esp + 0x44], eax
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
call fcn.0047d730
mov eax, dword [esi]
mov edx, 1
mov dword [esp + 0x8c], esi
lea ecx, [esp + 0x78]
add esp, 0xc
lea esi, [esp + 0x38]
mov word [esp + 0x6c], dx
mov dword [esp + 0x78], eax
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x4e], dl
call fcn.00444770
test eax, eax
jne 0x47656a
mov esi, dword [esp + 0x18]
cmp byte [edi + 0x7c], 0
je 0x4767b5
mov edx, dword [edi + 0x78]
mov dword [esi + 0x14], edx
cmp byte [edi + 0x7c], 0
jne 0x476983
mov edi, ebp
call fcn.00438c10
mov edi, eax
test edi, edi
je 0x47656a
push 0
push 0x2b
call fcn.0042e040
mov ebx, dword [esp + 0x20]
add esp, 8
cmp dword [ebx + 0x1c], 0
jne 0x4767eb
mov dword [esp + 0x24], str.table
mov edx, str.TABLE
jmp 0x4767f8
mov dword [esp + 0x24], str.view
mov edx, str.VIEW
mov ecx, dword [ebp + 0x1ec]
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
sub eax, ecx
push ecx
inc eax
push eax
push edx
push str.CREATE__s__.s
call fcn.004332e0
mov esi, dword [esp + 0x2c]
add esp, 0x10
mov edx, eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], str.sqlite_temp_master
cmp esi, 1
je 0x476838
mov dword [esp + 0x10], str.sqlite_master
mov ecx, dword [ebx]
mov ebx, dword [ebp + 0x198]
push ebx
push edx
mov edx, dword [ebp + 0x19c]
push edx
mov edx, dword [esp + 0x1c]
push ecx
push ecx
mov ecx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [ecx + 8]
mov eax, esi
shl eax, 4
mov dword [esp + 0x50], eax
mov eax, dword [eax + edx]
push eax
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.00435d40
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x38]
push ecx
push ebx
call fcn.00420620
push esi
mov esi, ebp
call fcn.0042ffa0
mov esi, dword [esp + 0x48]
add esp, 0x30
test byte [esi + 0x22], 8
je 0x4768bc
mov eax, dword [ebx + 8]
add eax, dword [esp + 0x34]
xor ebx, ebx
mov edx, dword [eax + 0xc]
cmp dword [edx + 0x44], ebx
jne 0x4768be
mov eax, dword [eax]
push eax
push str.CREATE_TABLE__Q.sqlite_sequence_name_seq_
mov ebx, ebp
call fcn.00435d40
add esp, 8
xor ebx, ebx
mov ecx, dword [esi]
mov esi, dword [esp + 0x14]
push ecx
push str.tbl_name_q
call fcn.004332e0
mov esi, dword [edi + 0xc]
add esp, 8
cmp dword [edi + 0x10], esi
mov dword [esp + 0x10], eax
jg 0x4768ee
call fcn.0042df10
test eax, eax
je 0x4768ee
mov eax, 1
jmp 0x476918
mov eax, dword [edi + 0x14]
inc dword [edi + 0xc]
mov ecx, dword [esp + 0x1c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x63
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [edi + 0x62], bl
mov eax, esi
mov esi, dword [edi + 0x14]
mov edx, dword [edi]
cmp esi, ebx
je 0x476963
cmp byte [edx + 0x1e], bl
jne 0x476963
cmp eax, ebx
jge 0x47692e
mov eax, dword [edi + 0xc]
dec eax
lea eax, [eax + eax*4]
mov ecx, dword [esi + eax*4 + 0x10]
lea esi, [esi + eax*4]
movsx eax, byte [esi + 1]
mov edi, edx
call fcn.0042e240
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esi + 0x10], ebx
cmp eax, ebx
jne 0x47695a
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x476975
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
jmp 0x476975
mov ecx, dword [esp + 0x10]
or eax, 0xffffffff
mov edi, edx
call fcn.0042e240
mov edi, dword [esp + 0x14]
cmp byte [edi + 0x7c], 0
mov esi, dword [esp + 0x18]
je 0x47656a
mov ecx, dword [esi]
mov edx, dword [esi + 0x44]
push esi
call fcn.00420830
push ecx
lea ecx, [edx + 4]
call fcn.0042b680
add esp, 8
test eax, eax
je 0x4769ad
mov byte [edi + 0x1e], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov dword [ebp + 0x200], 0
inc dword [edi + 0x28]
or dword [edi + 0xc], 0x200
cmp dword [esi + 0x1c], 0
jne 0x47656a
mov ecx, dword [esp + 0x20]
mov ebp, dword [ebp + 0x1ec]
cmp dword [ecx], ecx
jne 0x4769e1
lea edx, [esp + 0x2c]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
sub edx, ebp
mov ecx, ebp
call fcn.00420760
pop edi
add eax, 0xd
mov dword [esi + 0x30], eax
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret