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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], edi
mov esi, dword [edi]
mov dword [esp + 0x28], esi
cmp byte [esi + 0x53], 0
jne 0x1004ea88
mov ecx, edx
mov edx, dword [ecx + 8]
test edx, edx
je 0x1004e567
mov esi, dword [esi + 0x10]
xor ecx, ecx
cmp dword [esi + 0xc], edx
lea eax, [esi + 0xc]
je 0x1004e558
nop dword [eax]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x1004e550
add ecx, ecx
mov eax, dword [esi + ecx*8]
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
jmp 0x1004e56a
mov eax, dword [ecx + 0xc]
push eax
push dword [ecx + 0x10]
xor edx, edx
mov ecx, edi
call fcn.100527a0
mov ebx, eax
add esp, 8
mov dword [esp + 0x1c], ebx
test ebx, ebx
je 0x1004ea84
mov edx, ebx
mov ecx, edi
call fcn.1004a580
test eax, eax
jne 0x1004ea84
xor edx, edx
mov ecx, str.view
cmp byte [ebx + 0x2b], 2
cmovne ecx, edx
cmp byte [ebx + 0x2b], 1
jne 0x1004e5b4
mov ecx, str.virtual_table
jmp 0x1004e5b8
test ecx, ecx
je 0x1004e5e2
push dword [ebx]
push ecx
push str.drop_column_from
push str.cannot__s__s___s_
push edi
call fcn.10008be0
mov edx, dword [esp + 0x2c]
add esp, 0x14
mov ecx, dword [esp + 0x28]
call fcn.10059f40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
mov ecx, esi
call fcn.100539c0
mov esi, eax
mov dword [esp + 0x38], esi
test esi, esi
je 0x1004ea84
mov edx, esi
mov ecx, ebx
call fcn.10072a30
mov dword [esp + 0x30], eax
test eax, eax
jns 0x1004e61f
push esi
push str.no_such_column:___s_
push edi
call fcn.10008be0
add esp, 0xc
jmp 0x1004ea79
mov ecx, eax
mov eax, dword [ebx + 4]
shl ecx, 4
mov dword [esp + 0x34], ecx
movzx eax, word [eax + ecx + 0xe]
test al, 9
je 0x1004e658
test al, 1
mov ecx, str.UNIQUE
push esi
mov eax, str.PRIMARY_KEY
cmove eax, ecx
push eax
push str.cannot_drop__s_column:___s_
push edi
call fcn.10008be0
add esp, 0x10
jmp 0x1004ea79
cmp word [ebx + 0x22], 1
jg 0x1004e673
push esi
push str.cannot_drop_column___s_:_no_other_columns_exist
push edi
call fcn.10008be0
add esp, 0xc
jmp 0x1004ea79
mov ecx, dword [ebx + 0x3c]
mov edi, 0xffff8000
mov edx, dword [esp + 0x28]
test ecx, ecx
je 0x1004e698
mov eax, dword [edx + 0x10]
xor edi, edi
add eax, 0xc
cmp dword [eax], ecx
je 0x1004e698
nop
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x1004e690
mov eax, dword [edx + 0x10]
mov ecx, edi
add ecx, ecx
xor ebx, ebx
cmp edi, 1
push 0
sete bl
mov esi, dword [eax + ecx*8]
mov edx, esi
mov ecx, dword [esp + 0x14]
push 0x101077f8
push ebx
call fcn.1004a630
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, esi
push ebx
call fcn.1004a680
mov eax, dword [esp + 0x20]
add esp, 4
push dword [eax]
push dword [esp + 0x34]
push edi
push esi
push str.UPDATE___w_.sqlite_master_SET_sql__sqlite_drop_column__d__sql___d__WHERE__typetable_AND_tbl_name_Q_COLLATE_nocase_
push dword [esp + 0x24]
call fcn.10052380
mov ecx, dword [esp + 0x28]
mov edx, edi
push 2
call fcn.1004a6b0
add esp, 0x1c
mov edx, esi
push 1
push str.after_drop_column
push ebx
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.1004a630
add esp, 0xc
cmp dword [ebx + 0x24], 0
jne 0x1004ea75
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov eax, dword [esi + 4]
test byte [eax + ecx + 0xe], 0x20
jne 0x1004ea75
mov ecx, ebx
mov dword [esp + 0x20], 0
mov dword [esp + 0x2c], 0
call fcn.10075ea0
mov ebx, eax
mov eax, dword [esp + 0x10]
push 0x65
push esi
push edi
mov edx, dword [eax + 0x28]
mov edi, eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x20], edx
lea ecx, [edx + 1]
mov dword [eax + 0x28], ecx
mov ecx, edi
call fcn.10065820
add esp, 0xc
mov edx, 0x26
mov ecx, ebx
push dword [esp + 0x14]
call fcn.10029360
mov edx, dword [edi + 0x2c]
add esp, 4
inc edx
mov dword [esp + 0x44], eax
mov dword [edi + 0x2c], edx
test byte [esi + 0x1c], 0x80
mov dword [esp + 0x24], edx
jne 0x1004e7b9
push edx
push dword [esp + 0x18]
mov edx, 0x85
mov ecx, ebx
call fcn.100293c0
movsx eax, word [esi + 0x22]
add esp, 8
add eax, dword [edi + 0x2c]
xor ecx, ecx
jmp 0x1004e860
mov ecx, esi
call fcn.10053cf0
mov ecx, dword [esp + 0x10]
mov edi, eax
xor esi, esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], esi
movzx eax, word [edi + 0x34]
add eax, edx
mov dword [ecx + 0x2c], eax
movzx ecx, word [edi + 0x32]
mov edx, ecx
cmp si, cx
jae 0x1004e851
mov ecx, dword [ebx + 0x74]
cmp dword [ebx + 0x78], ecx
jg 0x1004e80a
mov eax, dword [esp + 0x24]
mov edx, 0x5c
inc eax
mov ecx, ebx
add eax, esi
push eax
push esi
push dword [esp + 0x1c]
call fcn.10029250
add esp, 0xc
jmp 0x1004e83d
lea eax, [ecx + 1]
mov dword [ebx + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x70]
mov dword [eax + ecx*4], 0x5c
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0x10], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x14]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x24]
inc eax
add eax, esi
mov dword [ecx + 0xc], eax
movzx ecx, word [edi + 0x32]
inc esi
cmp esi, ecx
jl 0x1004e7e4
mov edi, dword [esp + 0x10]
mov edx, ecx
mov eax, dword [edi + 0x2c]
jmp 0x1004e855
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
movzx ecx, dx
mov dword [esp + 0x2c], ecx
inc eax
mov dword [edi + 0x2c], eax
xor edi, edi
mov dword [esp + 0x40], eax
xor eax, eax
cmp ax, word [esi + 0x22]
jge 0x1004e9c7
xor edx, edx
mov dword [esp + 0x34], edx
nop dword [eax]
cmp edi, dword [esp + 0x30]
je 0x1004e9b3
mov eax, dword [esi + 4]
test byte [edx + eax + 0xe], 0x20
jne 0x1004e9b3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1004e910
movzx edx, word [eax + 0x34]
xor ecx, ecx
test edx, edx
je 0x1004e8bd
mov eax, dword [eax + 4]
nop dword [eax]
cmp di, word [eax]
je 0x1004e906
inc ecx
add eax, 2
cmp ecx, edx
jl 0x1004e8b0
or esi, 0xffffffff
test edx, edx
je 0x1004e8e5
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov eax, dword [eax + 4]
nop dword [eax]
mov ebx, dword [esp + 0x30]
cmp bx, word [eax]
mov ebx, dword [esp + 0x3c]
je 0x1004e90b
inc ecx
add eax, 2
cmp ecx, edx
jl 0x1004e8d0
or ecx, 0xffffffff
mov eax, dword [esp + 0x20]
movzx eax, word [eax + 0x32]
cmp esi, eax
jl 0x1004e9a7
movsx eax, cx
xor ecx, ecx
cmp esi, eax
setg cl
sub esi, ecx
jmp 0x1004e912
movsx esi, cx
jmp 0x1004e8c4
movzx ecx, cx
jmp 0x1004e8e8
mov esi, ecx
mov edx, dword [esp + 0x24]
inc edx
add edx, esi
mov esi, dword [esp + 0x1c]
movsx eax, word [esi + 0x20]
cmp edi, eax
jne 0x1004e98a
mov ecx, dword [ebx + 0x74]
cmp dword [ebx + 0x78], ecx
jg 0x1004e94c
push 0
push edx
push 0
mov edx, 0x49
mov ecx, ebx
call fcn.10029250
mov ecx, dword [esp + 0x38]
add esp, 0xc
inc ecx
mov dword [esp + 0x2c], ecx
jmp 0x1004e9af
mov esi, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [ebx + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x70]
mov dword [eax + ecx*4], 0x49
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x2c]
inc ecx
mov dword [esp + 0x2c], ecx
jmp 0x1004e9af
push edx
push edi
push dword [esp + 0x1c]
mov edx, esi
mov ecx, ebx
call fcn.10046c60
mov ecx, dword [esp + 0x38]
add esp, 0xc
inc ecx
mov dword [esp + 0x2c], ecx
jmp 0x1004e9af
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
movsx eax, word [esi + 0x22]
inc edi
add edx, 0x10
mov dword [esp + 0x34], edx
cmp edi, eax
jl 0x1004e880
mov esi, dword [esp + 0x24]
inc esi
test ecx, ecx
jne 0x1004e9eb
mov eax, dword [esp + 0x10]
lea edx, [ecx + 0x49]
push esi
push ecx
mov ecx, ebx
inc dword [eax + 0x2c]
call fcn.100293c0
add esp, 8
mov ecx, 1
mov edi, dword [esp + 0x40]
mov edx, 0x5f
push edi
push ecx
push esi
mov ecx, ebx
call fcn.10029290
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov ecx, ebx
test eax, eax
je 0x1004ea26
movzx eax, word [eax + 0x32]
mov edx, 0x88
push eax
push esi
mov esi, dword [esp + 0x1c]
push edi
push esi
call fcn.10029b70
add esp, 0x10
jmp 0x1004ea3d
push dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov edx, 0x7e
push edi
push esi
call fcn.10029290
add esp, 0xc
mov eax, dword [ebx + 0x74]
test eax, eax
jle 0x1004ea54
lea ecx, [eax + eax*4]
mov edx, 2
mov eax, dword [ebx + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov edi, dword [esp + 0x44]
mov edx, 5
mov ecx, ebx
lea eax, [edi + 1]
push eax
push esi
call fcn.100293c0
add esp, 8
mov edx, edi
mov ecx, ebx
call fcn.10029fc0
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
mov edx, esi
call fcn.10004cc0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
call fcn.10059f40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret