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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
mov eax, ecx
mov dword [esp + 0x14], edx
push esi
push edi
xor ebx, ebx
mov dword [esp + 0x10], eax
mov edi, dword [eax]
xor esi, esi
mov dword [esp + 0x30], edi
cmp byte [edi + 0x53], bl
jne 0x1004abcf
mov ecx, edx
mov edx, dword [ecx + 8]
test edx, edx
je 0x1004a7b6
mov eax, dword [edi + 0x10]
xor ecx, ecx
add eax, 0xc
cmp dword [eax], edx
je 0x1004a7a8
nop
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x1004a7a0
mov eax, dword [edi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8]
mov eax, dword [esp + 0x10]
jmp 0x1004a7b9
mov ecx, dword [ecx + 0xc]
push ecx
mov ecx, dword [esp + 0x20]
xor edx, edx
push dword [ecx + 0x10]
mov ecx, eax
call fcn.100527a0
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x1004abcf
mov ecx, dword [eax + 0x3c]
mov edx, 0xffff8000
mov dword [esp + 0x24], edx
test ecx, ecx
je 0x1004a80c
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x24], edx
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x1004a80c
nop
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x1004a800
mov dword [esp + 0x24], edx
mov eax, dword [edi + 0x10]
add edx, edx
mov eax, dword [eax + edx*8]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
test eax, eax
je 0x1004abbd
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
test eax, eax
je 0x1004a868
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, edi
call fcn.10005060
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x1004a86a
push dword [esp + 0x28]
push dword [esp + 0x30]
push ebx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x34]
add esp, 0xc
mov byte [eax + ebx], 0
jmp 0x1004a86a
xor ebx, ebx
mov ecx, ebx
call fcn.10008c40
test ebx, ebx
je 0x1004abcf
push dword [esp + 0x14]
mov edx, ebx
mov ecx, edi
call fcn.100524b0
add esp, 4
test eax, eax
jne 0x1004abb2
push dword [esp + 0x14]
mov edx, ebx
mov ecx, edi
call fcn.100529b0
add esp, 4
test eax, eax
jne 0x1004abb2
mov edx, dword [esp + 0x18]
mov ecx, edi
push ebx
call fcn.10055840
add esp, 4
test eax, eax
jne 0x1004abb2
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
call fcn.1004a580
test eax, eax
jne 0x1004abcf
mov ecx, dword [esp + 0x10]
mov edx, ebx
push ebx
push str.table
call fcn.10053b90
add esp, 8
test eax, eax
jne 0x1004abcf
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x2b], 2
mov eax, dword [ecx]
jne 0x1004a92a
push eax
push str.view__s_may_not_be_altered
push dword [esp + 0x18]
call fcn.10008be0
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ecx, edi
call fcn.10059f40
mov edx, ebx
mov ecx, edi
call fcn.10004cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x10]
mov edx, 0x1a
push 0
push eax
push dword [esp + 0x1c]
call fcn.10051b80
add esp, 0xc
test eax, eax
jne 0x1004abcf
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
call fcn.10056680
test eax, eax
jne 0x1004abcf
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x2b], 1
jne 0x1004a988
mov esi, dword [eax + 0x34]
test esi, esi
je 0x1004a97b
cmp dword [esi], edi
je 0x1004a97b
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x1004a970
mov eax, dword [esi + 8]
xor ecx, ecx
mov eax, dword [eax]
cmp dword [eax + 0x4c], ecx
cmove esi, ecx
mov ecx, dword [esp + 0x10]
call fcn.10075ea0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1004abcf
mov eax, dword [esp + 0x10]
mov edx, eax
mov ecx, dword [eax + 0x74]
test ecx, ecx
cmovne edx, ecx
mov ecx, dword [esp + 0x18]
mov byte [edx + 0x15], 1
xor edx, edx
mov ecx, dword [ecx]
mov edi, ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
cmp byte [edi], dl
mov edi, dword [esp + 0x30]
je 0x1004a9fc
nop dword [eax]
cmp ecx, 0xffffffff
jae 0x1004a9f4
mov al, byte [ecx]
inc ecx
cmp al, 0xc0
jb 0x1004a9ee
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x1004a9ee
mov al, byte [ecx + 1]
inc ecx
and al, 0xc0
cmp al, 0x80
je 0x1004a9e4
inc edx
cmp byte [ecx], 0
jne 0x1004a9d0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x28]
xor ecx, ecx
cmp dword [esp + 0x24], 1
push edx
sete cl
push ecx
push ebx
push edx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x24]
push ecx
push ecx
push str.UPDATE___w_.sqlite_master_SET_sql__sqlite_rename_table__Q__type__name__sql___Q___Q___d__WHERE__type_index_OR_tbl_name_Q_COLLATE_nocase_AND___name_NOT_LIKE_sqliteX____ESCAPE_X
push eax
call fcn.10052380
push dword [esp + 0x48]
mov eax, ebx
push dword [esp + 0x50]
push eax
push eax
push eax
push dword [esp + 0x48]
push str.UPDATE__Q.sqlite_master_SET_tbl_name___Q__name__CASE_WHEN_typetable_THEN__Q_WHEN_name_LIKE_sqliteX_autoindex___ESCAPE_X______AND_typeindex_THEN_sqlite_autoindex____Q__substr_name__d18__ELSE_name_END_WHERE_tbl_name_Q_COLLATE_nocase_AND__typetable_OR_typeindex_OR_typetrigger__
push dword [esp + 0x4c]
call fcn.10052380
add esp, 0x40
mov edx, str.sqlite_sequence
mov ecx, edi
push dword [esp + 0x14]
call fcn.100524b0
add esp, 4
test eax, eax
je 0x1004aa78
mov eax, dword [esp + 0x18]
push dword [eax]
push ebx
push dword [esp + 0x1c]
push str.UPDATE___w_.sqlite_sequence_set_name___Q_WHERE_name___Q
push dword [esp + 0x20]
call fcn.10052380
add esp, 0x14
cmp dword [esp + 0x24], 1
je 0x1004aaa0
mov edx, dword [esp + 0x14]
mov eax, ebx
mov ecx, dword [esp + 0x28]
push eax
push edx
push ecx
push eax
push ecx
push edx
push str.UPDATE_sqlite_temp_schema_SET_sql__sqlite_rename_table__Q__type__name__sql___Q___Q__1___tbl_name__CASE_WHEN_tbl_name_Q_COLLATE_nocase_AND___sqlite_rename_test__Q__sql__type__name__1__after_rename__0__THEN__Q_ELSE_tbl_name_END_WHERE_type_IN__view__trigger_
push dword [esp + 0x2c]
call fcn.10052380
add esp, 0x20
test esi, esi
je 0x1004ab6a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
push ebx
inc dword [eax + 0x2c]
mov eax, dword [eax + 0x2c]
mov edx, eax
mov dword [esp + 0x30], eax
call fcn.100294a0
mov ecx, dword [esp + 0x24]
add esp, 4
mov edx, dword [ecx + 0x74]
cmp dword [ecx + 0x78], edx
jg 0x1004aaea
push 0
push 0
push dword [esp + 0x34]
mov edx, 0xad
call fcn.10029250
add esp, 0xc
mov edx, eax
jmp 0x1004ab25
mov edi, dword [esp + 0x2c]
lea eax, [edx + 1]
mov dword [ecx + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x70]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0xad
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
cmp byte [eax + 0x53], 0
jne 0x1004ab6a
test edx, edx
jns 0x1004ab39
mov edx, dword [ecx + 0x74]
dec edx
mov eax, dword [esp + 0x20]
lea ecx, [edx + edx*4]
mov eax, dword [eax + 0x70]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1004ab60
mov ecx, dword [esp + 0x20]
mov edx, eax
push 0xfffffffffffffff4
push esi
call fcn.1002a2c0
add esp, 8
jmp 0x1004ab6a
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0xf4
inc dword [esi + 0xc]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
push 1
call fcn.1004a6b0
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, dword [esp + 0x10]
push 0
push str.after_rename
push dword [esp + 0x3c]
call fcn.1004a630
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ecx, edi
call fcn.10059f40
mov edx, ebx
mov ecx, edi
call fcn.10004cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push str.there_is_already_another_table_or_index_with_this_name:__s
jmp 0x1004a903
mov edx, dword [esp + 0x1c]
mov ecx, edi
call fcn.10059f40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x1c]
mov ecx, edi
call fcn.10059f40
test ebx, ebx
je 0x1004abe7
mov edx, ebx
mov ecx, edi
call fcn.10004cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret