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

Disassembly:
sub esp, 0x138
mov eax, dword [esp + 0x158]
push ebx
xor ebx, ebx
mov dword [esp + 0x20], 0
push ebp
push esi
mov esi, dword [esp + 0x148]
mov dword [eax], ebx
xor eax, eax
push edi
xor edi, edi
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x164], eax
mov dword [esp + 0x14], edi
setne al
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x443a2f
push eax
call dword [0x506228]
add esp, 4
push 0
push 0x20
push esi
call fcn.00491d60
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x1c], ebp
test ebp, ebp
je 0x443a60
xor eax, eax
mov dword [ebp], eax
mov dword [ebp + 4], eax
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], eax
push 0x114
lea eax, [esp + 0x38]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
test ebp, ebp
je 0x443fbc
mov dword [esp + 0x34], esi
test ebx, ebx
je 0x443b2d
cmp dword [esi + 0x1f8], 0
je 0x443aa0
push ebx
push esi
call fcn.00478920
add esp, 8
jmp 0x443b2d
cmp ebx, dword [esi + 0x14c]
jae 0x443ad8
cmp ebx, dword [esi + 0x144]
jb 0x443ac0
mov eax, dword [esi + 0x140]
mov dword [ebx], eax
mov dword [esi + 0x140], ebx
jmp 0x443b2d
cmp ebx, dword [esi + 0x148]
jb 0x443ad8
mov eax, dword [esi + 0x138]
mov dword [ebx], eax
mov dword [esi + 0x138], ebx
jmp 0x443b2d
cmp dword [0x5061d8], 0
je 0x443b23
mov eax, dword [0x50df18]
test eax, eax
je 0x443af4
push eax
call dword [0x506228]
add esp, 4
push ebx
call dword [0x506204]
sub dword [0x50de98], eax
dec dword [0x50debc]
push ebx
call dword [0x5061fc]
mov eax, dword [0x50df18]
add esp, 8
test eax, eax
je 0x443b2d
push eax
call dword [0x506230]
jmp 0x443b2a
push ebx
call dword [0x5061fc]
add esp, 4
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], eax
cmp byte [esi + 0x59], al
jne 0x443b45
push esi
call fcn.004546f0
add esp, 4
push dword [esp + 0x150]
mov ebx, dword [esp + 0x158]
lea eax, [esp + 0x38]
push ebx
push 0
push eax
call fcn.004a6f30
mov edi, eax
add esp, 0x10
mov dword [esp + 0x20], edi
test edi, edi
je 0x443f3d
cmp dword [edi + 0x38], 0
jne 0x443f2a
test byte [edi + 0x24], 0x80
jne 0x443f22
cmp dword [edi + 0xc], 0
jne 0x443f1a
mov dword [ebp + 0x1c], edi
mov ecx, 0xfff0bdc0
mov edx, dword [edi + 0x48]
test edx, edx
je 0x443bb8
mov eax, dword [esi + 0x10]
xor ecx, ecx
add eax, 0xc
cmp dword [eax], edx
je 0x443bb8
lea ebx, [ebx]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x443bb0
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov dword [ebp + 0x18], eax
xor ebp, ebp
movsx ebx, word [edi + 0x2a]
mov dword [esp + 0x28], ebp
test ebx, ebx
jle 0x443c1e
mov edi, dword [edi + 4]
mov esi, dword [esp + 0x158]
mov edx, dword [edi]
sub esi, edx
nop
movzx ecx, byte [edx]
movzx eax, byte [edx + esi]
cmp ecx, eax
jne 0x443bf2
test ecx, ecx
je 0x443c0f
inc edx
jmp 0x443be0
movzx eax, byte [eax + 0x4e9aa0]
movzx ecx, byte [ecx + 0x4e9aa0]
sub ecx, eax
jne 0x443c07
inc edx
jmp 0x443be0
inc ebp
add edi, 0x14
cmp ebp, ebx
jl 0x443bd4
mov esi, dword [esp + 0x14c]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x28], ebp
cmp ebp, ebx
je 0x443eea
cmp dword [esp + 0x18], 0
je 0x443cb4
mov eax, dword [esi + 0x20]
xor ebx, ebx
and eax, 0x4000
or eax, ebx
je 0x443c66
mov edx, dword [edi + 0x10]
test edx, edx
je 0x443c66
mov ecx, dword [edx + 0x14]
test ecx, ecx
jle 0x443c5f
lea eax, [edx + 0x24]
cmp dword [eax], ebp
jne 0x443c59
mov ebx, str.foreign_key
add eax, 8
dec ecx
jne 0x443c50
mov edx, dword [edx + 4]
test edx, edx
jne 0x443c46
mov edi, dword [edi + 8]
test edi, edi
je 0x443cac
lea ecx, [ecx]
movzx esi, word [edi + 0x32]
xor eax, eax
test esi, esi
jle 0x443c9e
mov ebp, dword [edi + 4]
lea ecx, [ecx]
movzx edx, word [ebp + eax*2]
movsx ecx, dx
cmp ecx, dword [esp + 0x28]
je 0x443c94
cmp dx, 0xfffe
jne 0x443c99
mov ebx, str.indexed
inc eax
cmp eax, esi
jl 0x443c80
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x443c70
mov esi, dword [esp + 0x14c]
test ebx, ebx
jne 0x443ed9
lea eax, [esp + 0x34]
push eax
call fcn.004b9430
mov ebp, dword [esp + 0x20]
mov esi, eax
add esp, 4
mov dword [ebp + 0x10], esi
test esi, esi
je 0x443e6c
mov ecx, dword [esp + 0x20]
mov edi, 0xfff0bdc0
mov ecx, dword [ecx + 0x48]
test ecx, ecx
je 0x443cfd
mov ebx, dword [esp + 0x14c]
xor edi, edi
mov eax, dword [ebx + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x443cfd
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x443cf5
mov edx, dword [esi + 0x6c]
mov ebp, dword [ecx + 4]
mov ebx, dword [ecx]
mov dword [esp + 0x30], ebp
cmp dword [esi + 0x70], edx
jg 0x443d23
push ebx
push dword [esp + 0x1c]
push edi
push 2
push esi
call fcn.004752f0
add esp, 0x14
mov edx, eax
jmp 0x443d52
mov ebp, dword [esp + 0x18]
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], ebp
mov ebp, dword [esp + 0x30]
mov dword [eax + ecx*4], 2
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x443d69
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], ebp
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x443d80
lea ecx, [eax + eax*4]
mov edx, 1
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
push 0
push 0x4e8640
push 6
push esi
call fcn.004b8c00
mov edx, 1
mov ecx, edi
shl edx, cl
add esp, 0x10
or dword [esi + 0x9c], edx
mov ebx, eax
cmp edi, 1
je 0x443dbf
mov eax, dword [esi]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
cmp byte [eax + 9], 0
je 0x443dbf
or dword [esi + 0xa0], edx
mov ebp, dword [esp + 0x14c]
cmp byte [ebp + 0x51], 0
jne 0x443e68
mov ecx, dword [esp + 0x20]
mov dword [ebx + 4], edi
mov eax, dword [ecx + 0x1c]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
mov eax, dword [ecx]
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x443dfc
push eax
push 0
push ecx
call fcn.00462150
add esp, 0xc
jmp 0x443e0f
push 0
push eax
mov eax, dword [esi + 0x68]
add eax, 0x28
push eax
push esi
call fcn.004d0560
add esp, 0x10
cmp byte [ebp + 0x51], 0
jne 0x443e68
cmp dword [esp + 0x18], 0
je 0x443e20
mov byte [ebx + 0x14], 0x61
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x1c]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], edi
mov byte [ebx + 0x15], 0xfd
movsx eax, word [ecx + 0x2a]
inc eax
mov dword [ebx + 0x24], eax
movsx eax, word [ecx + 0x2a]
mov dword [ebx + 0x44], eax
xor eax, eax
mov word [esp + 0xf8], ax
lea eax, [esp + 0x34]
push eax
push esi
mov dword [esp + 0x68], 1
mov dword [esp + 0x64], 1
call fcn.004c0f80
add esp, 8
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14c]
mov eax, dword [esp + 0x28]
mov word [ebp + 8], ax
mov dword [ebp + 0x14], esi
cmp byte [esi + 0x59], 0
jne 0x443e8d
push esi
call fcn.00454a80
add esp, 4
cmp byte [esi + 0x51], 0
jne 0x443fb8
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebp
call fcn.00453c10
mov edi, eax
add esp, 0x10
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], eax
cmp eax, 0x32
jge 0x443ee1
cmp edi, 0x11
jne 0x443ee1
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x10], ebx
jmp 0x443a60
push ebx
push str.cannot_open__s_column_for_writing
jmp 0x443ef6
mov ebx, dword [esp + 0x24]
jmp 0x443fc0
push dword [esp + 0x158]
push str.no_such_column:___s_
push esi
call fcn.004a73d0
add esp, 0xc
mov dword [esp + 0x14], 1
cmp byte [esi + 0x59], 0
mov ebx, eax
jne 0x443f6c
push esi
call fcn.00454a80
add esp, 4
jmp 0x443f6c
push ebx
push str.cannot_open_view:__s
jmp 0x443f30
push ebx
push str.cannot_open_table_without_rowid:__s
jmp 0x443f30
push ebx
push str.cannot_open_virtual_table:__s
lea eax, [esp + 0x3c]
push eax
call fcn.00493e20
add esp, 0xc
mov eax, dword [esp + 0x38]
test eax, eax
je 0x443f51
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], 0
cmp byte [esi + 0x59], 0
mov dword [esp + 0x14], 1
jne 0x443f68
push esi
call fcn.00454a80
add esp, 4
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
test ebp, ebp
je 0x44414c
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x44409e
mov eax, dword [esi + 0x14]
cmp eax, 0x2df20da3
je 0x443f94
cmp eax, 0x319c2973
jne 0x443f9d
push esi
call fcn.004c3020
add esp, 4
mov edi, dword [esi]
push esi
push edi
call fcn.004b9090
mov ecx, dword [esi + 4]
add esp, 8
mov eax, dword [esi + 8]
test ecx, ecx
je 0x443fd8
mov dword [ecx + 8], eax
jmp 0x443fdb
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test edi, edi
jne 0x443f6c
cmp byte [esi + 0x51], 0
jne 0x443f6c
mov eax, dword [esp + 0x168]
mov dword [eax], ebp
jmp 0x44414c
mov dword [edi + 4], eax
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x443fe8
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov dword [esi + 0x14], 0x5606c3c8
mov dword [esi], 0
test edi, edi
je 0x444049
cmp dword [edi + 0x1f8], 0
je 0x444011
push esi
push edi
call fcn.00478920
add esp, 8
jmp 0x44409e
cmp esi, dword [edi + 0x14c]
jae 0x444049
cmp esi, dword [edi + 0x144]
jb 0x444031
mov eax, dword [edi + 0x140]
mov dword [esi], eax
mov dword [edi + 0x140], esi
jmp 0x44409e
cmp esi, dword [edi + 0x148]
jb 0x444049
mov eax, dword [edi + 0x138]
mov dword [esi], eax
mov dword [edi + 0x138], esi
jmp 0x44409e
cmp dword [0x5061d8], 0
je 0x444094
mov eax, dword [0x50df18]
test eax, eax
je 0x444065
push eax
call dword [0x506228]
add esp, 4
push esi
call dword [0x506204]
sub dword [0x50de98], eax
dec dword [0x50debc]
push esi
call dword [0x5061fc]
mov eax, dword [0x50df18]
add esp, 8
test eax, eax
je 0x44409e
push eax
call dword [0x506230]
jmp 0x44409b
push esi
call dword [0x5061fc]
add esp, 4
mov esi, dword [esp + 0x14c]
cmp dword [esi + 0x1f8], 0
je 0x4440bd
push ebp
push esi
call fcn.00478920
add esp, 8
jmp 0x44414c
cmp ebp, dword [esi + 0x14c]
jae 0x4440f7
cmp ebp, dword [esi + 0x144]
jb 0x4440de
mov eax, dword [esi + 0x140]
mov dword [ebp], eax
mov dword [esi + 0x140], ebp
jmp 0x44414c
cmp ebp, dword [esi + 0x148]
jb 0x4440f7
mov eax, dword [esi + 0x138]
mov dword [ebp], eax
mov dword [esi + 0x138], ebp
jmp 0x44414c
cmp dword [0x5061d8], 0
je 0x444142
mov eax, dword [0x50df18]
test eax, eax
je 0x444113
push eax
call dword [0x506228]
add esp, 4
push ebp
call dword [0x506204]
sub dword [0x50de98], eax
dec dword [0x50debc]
push ebp
call dword [0x5061fc]
mov eax, dword [0x50df18]
add esp, 8
test eax, eax
je 0x44414c
push eax
call dword [0x506230]
jmp 0x444149
push ebp
call dword [0x5061fc]
add esp, 4
mov ebp, dword [esp + 0x14]
mov eax, ebx
neg eax
push ebx
sbb eax, eax
and eax, 0x4ef2e0
push eax
push ebp
push esi
call fcn.00493ec0
add esp, 0x10
test ebx, ebx
je 0x444214
cmp dword [esi + 0x1f8], 0
je 0x444187
push ebx
push esi
call fcn.00478920
add esp, 8
jmp 0x444214
cmp ebx, dword [esi + 0x14c]
jae 0x4441bf
cmp ebx, dword [esi + 0x144]
jb 0x4441a7
mov eax, dword [esi + 0x140]
mov dword [ebx], eax
mov dword [esi + 0x140], ebx
jmp 0x444214
cmp ebx, dword [esi + 0x148]
jb 0x4441bf
mov eax, dword [esi + 0x138]
mov dword [ebx], eax
mov dword [esi + 0x138], ebx
jmp 0x444214
cmp dword [0x5061d8], 0
je 0x44420a
mov eax, dword [0x50df18]
test eax, eax
je 0x4441db
push eax
call dword [0x506228]
add esp, 4
push ebx
call dword [0x506204]
sub dword [0x50de98], eax
dec dword [0x50debc]
push ebx
call dword [0x5061fc]
mov eax, dword [0x50df18]
add esp, 8
test eax, eax
je 0x444214
push eax
call dword [0x506230]
jmp 0x444211
push ebx
call dword [0x5061fc]
add esp, 4
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x34]
test edi, edi
je 0x4442cd
test esi, esi
je 0x444278
cmp dword [esi + 0x1f8], 0
je 0x444240
push edi
push esi
call fcn.00478920
add esp, 8
jmp 0x4442cd
cmp edi, dword [esi + 0x14c]
jae 0x444278
cmp edi, dword [esi + 0x144]
jb 0x444260
mov eax, dword [esi + 0x140]
mov dword [edi], eax
mov dword [esi + 0x140], edi
jmp 0x4442cd
cmp edi, dword [esi + 0x148]
jb 0x444278
mov eax, dword [esi + 0x138]
mov dword [edi], eax
mov dword [esi + 0x138], edi
jmp 0x4442cd
cmp dword [0x5061d8], 0
je 0x4442c3
mov eax, dword [0x50df18]
test eax, eax
je 0x444294
push eax
call dword [0x506228]
add esp, 4
push edi
call dword [0x506204]
sub dword [0x50de98], eax
dec dword [0x50debc]
push edi
call dword [0x5061fc]
mov eax, dword [0x50df18]
add esp, 8
test eax, eax
je 0x4442cd
push eax
call dword [0x506230]
jmp 0x4442ca
push edi
call dword [0x5061fc]
add esp, 4
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4442df
push eax
push esi
call fcn.0045f150
add esp, 8
test esi, esi
je 0x444302
movzx eax, byte [esp + 0x4c]
sub dword [esi + 0x118], eax
je 0x4442f4
xor eax, eax
jmp 0x4442fb
movzx eax, word [esi + 0x11e]
mov word [esi + 0x11c], ax
mov ebx, dword [esp + 0x14c]
mov byte [esp + 0x4c], 0
cmp byte [ebx + 0x51], 0
jne 0x444321
cmp ebp, 0xc0a
je 0x444321
and ebp, dword [ebx + 0x44]
jmp 0x44432c
push ebx
call fcn.00451600
add esp, 4
mov ebp, eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x44433d
push eax
call dword [0x506230]
add esp, 4
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x138
ret