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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x138
mov edi, dword [esp + 0x14c]
mov esi, dword [esp + 0x168]
lea eax, [esp + 0x24]
mov dword [esp + 8], 0
push 0x114
push 0xff
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi], 0
cmp dword [esp + 0x164], 0
mov eax, dword [edi + 0xc]
setne bl
test eax, eax
je 0x429de9
push eax
call dword [0x51d1f8]
add esp, 4
mov ecx, edi
mov edx, 0x20
push 0
call fcn.00435490
add esp, 4
test eax, eax
mov dword [esp], eax
je 0x42a4e7
mov ebp, dword [esp + 0x158]
xor ecx, ecx
mov cl, bl
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [esp + 0x10], ecx
push 0x114
push 0
lea eax, [esp + 0x2c]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
xor edx, edx
xor esi, esi
mov dword [esp + 0x18], 0
test edx, edx
mov dword [esp + 0x24], edi
je 0x429e7a
mov ecx, edi
call fcn.004352c0
mov dword [esp + 8], 0
cmp byte [edi + 0x59], 0
jne 0x429e8f
mov ecx, edi
call fcn.00439970
lea ecx, [esp + 0x24]
xor edx, edx
push dword [esp + 0x150]
push dword [esp + 0x158]
call fcn.0042a6e0
add esp, 8
test eax, eax
je 0x42a543
cmp dword [eax + 0x38], 0
jne 0x42a51b
cmp byte [eax + 0x24], 0
js 0x42a522
cmp dword [eax + 0xc], 0
jne 0x42a529
mov edx, dword [esp]
mov dword [edx + 0x1c], eax
mov ecx, dword [eax + 0x48]
mov edi, dword [edi + 0x10]
test ecx, ecx
je 0x429f00
add edi, 0xfffffff0
nop word cs:[eax + eax]
nop
cmp dword [edi + 0x1c], ecx
lea edi, [edi + 0x10]
jne 0x429ef0
jmp 0x429f06
add edi, 0xff0bdc00
mov ecx, dword [edi]
mov dword [esp + 4], eax
mov dword [esp + 0x20], esi
mov dword [edx + 0x18], ecx
movsx edi, word [eax + 0x2a]
test edi, edi
jle 0x429f70
mov edx, dword [eax + 4]
xor eax, eax
mov dword [esp + 0xc], edx
lea ecx, [eax + eax*4]
xor esi, esi
mov edx, dword [edx + ecx*4]
jmp 0x429f40
movzx ebx, byte [ebx + 0x50ce7b]
cmp bl, byte [ecx + 0x50ce7b]
jne 0x429f60
inc esi
movzx ebx, byte [edx + esi]
movzx ecx, byte [ebp + esi]
cmp bl, cl
jne 0x429f30
test bl, bl
jne 0x429f3f
jmp 0x429f72
mov edx, dword [esp + 0xc]
inc eax
cmp eax, edi
jl 0x429f24
jmp 0x429f72
xor eax, eax
cmp eax, edi
je 0x42a571
cmp dword [esp + 0x164], 0
mov dword [esp + 0x14], eax
je 0x429ff3
mov ecx, dword [esp + 0x14c]
xor eax, eax
test byte [ecx + 0x21], 0x40
je 0x429fe0
mov ecx, dword [esp + 4]
mov edi, str.foreign_key
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x429fe0
xor eax, eax
jmp 0x429fb7
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x429fe0
mov edx, dword [ecx + 0x14]
test edx, edx
jle 0x429fb0
mov ebx, dword [esp + 0x14]
lea esi, [ecx + 0x24]
nop word cs:[eax + eax]
nop
cmp dword [esi], ebx
cmove eax, edi
add esi, 8
dec edx
jne 0x429fd0
jmp 0x429fb0
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x42a032
test eax, eax
jne 0x42a579
mov ebx, dword [esp + 0x24]
movzx eax, word [ebx + 0x11c]
cmp eax, 0xdf
ja 0x42a070
cmp dword [ebx + 0x118], 0
mov edx, dword [esp]
je 0x42a087
cmp byte [ebx + 0x51], 0
jne 0x42a44f
jmp 0x42a430
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x158]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x429feb
movzx edx, word [ecx + 0x32]
mov dword [esp + 0xc], ecx
test edx, edx
je 0x42a020
mov esi, dword [ecx + 4]
mov ecx, dword [esp + 0x14]
xor ebx, ebx
mov edi, str.indexed
nop dword [eax]
movsx ebp, word [esi + ebx*2]
cmp ecx, ebp
cmove eax, edi
cmp ebp, 0xfffffffe
cmove eax, edi
inc ebx
cmp ebx, edx
jb 0x42a050
jmp 0x42a020
mov esi, dword [ebx + 0x138]
mov edx, dword [esp]
test esi, esi
je 0x42a092
mov eax, dword [esi]
mov dword [ebx + 0x138], eax
jmp 0x42a0a8
inc dword [ebx + 0x12c]
jmp 0x42a430
mov esi, dword [ebx + 0x134]
test esi, esi
je 0x42a424
mov eax, dword [esi]
mov dword [ebx + 0x134], eax
inc dword [ebx + 0x128]
test esi, esi
je 0x42a44f
mov dword [esi + 0x6c], 0
mov dword [esi + 0x68], 0
mov dword [esi + 0x74], 0
mov dword [esi + 0x70], 0
mov dword [esi + 0x7c], 0
mov dword [esi + 0x78], 0
mov dword [esi + 0x84], 0
mov dword [esi + 0x80], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x88], 0
mov dword [esi + 0x94], 0
mov dword [esi + 0x90], 0
mov dword [esi + 0x9c], 0
mov dword [esi + 0x98], 0
mov dword [esi + 0xa4], 0
mov dword [esi + 0xa0], 0
mov dword [esi + 0xac], 0
mov dword [esi + 0xa8], 0
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb0], 0
mov dword [esi + 0xbc], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0xc4], 0
mov dword [esi + 0xc0], 0
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc8], 0
mov dword [esi + 0xd4], 0
mov dword [esi + 0xd0], 0
mov dword [esi + 0xdc], 0
mov dword [esi + 0xd8], 0
mov dword [esi], ebx
mov eax, dword [ebx + 4]
test eax, eax
je 0x42a1e1
mov dword [eax + 4], esi
mov eax, dword [ebx + 4]
jmp 0x42a1e3
xor eax, eax
mov dword [esi + 8], eax
lea eax, [esp + 0x24]
mov dword [esi + 4], 0
mov dword [ebx + 4], esi
mov dword [esi + 0x14], 0x16bceaa5
mov dword [esi + 0xc], eax
mov dword [esp + 0x2c], esi
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x42a240
lea ecx, [eax + 1]
lea eax, [eax + eax*4]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov dword [ecx + eax*4], 0x3e
mov dword [ecx + eax*4 + 4], 0
mov dword [ecx + eax*4 + 8], 1
mov dword [ecx + eax*4 + 0xc], 0
mov dword [ecx + eax*4 + 0x10], 0
jmp 0x42a259
mov edx, 0x3e
mov ecx, esi
push 0
push 1
push 0
call fcn.0046c600
mov edx, dword [esp + 0xc]
add esp, 0xc
mov eax, dword [esp + 4]
mov dword [edx + 0x10], esi
mov eax, dword [eax + 0x48]
test eax, eax
je 0x42a28a
mov ecx, dword [esp + 0x14c]
mov ebx, 0xffffffff
mov ecx, dword [ecx + 0x10]
add ecx, 0xc
nop dword [eax]
inc ebx
cmp dword [ecx], eax
lea ecx, [ecx + 0x10]
jne 0x42a280
jmp 0x42a28f
mov ebx, 0xfff0bdc0
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
mov dword [esp + 0xc], ecx
jle 0x42a2e0
lea ecx, [eax + 1]
mov dword [esp + 0x1c], edi
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
lea edx, [eax + eax*4]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov dword [ecx + edx*4], 2
mov dword [ecx + edx*4 + 4], ebx
mov dword [ecx + edx*4 + 8], ebp
mov dword [ecx + edx*4 + 0xc], edi
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x1c]
mov dword [ecx + edx*4 + 0x10], 0
jmp 0x42a2f8
mov ecx, esi
mov edx, 2
push dword [esp + 0xc]
push dword [esp + 0x14]
push ebx
call fcn.0046c600
add esp, 0xc
mov edx, dword [esi]
lea ecx, [esi + 0x68]
cmp byte [edx + 0x51], 0
jne 0x42a311
mov edx, dword [ecx]
lea eax, [eax + eax*4]
mov byte [edx + eax*4 + 1], 0xfd
mov dword [edx + eax*4 + 0x10], edi
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x42a324
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 1
mov ecx, esi
mov edx, 6
push 0x50d0d3
call fcn.0042b210
add esp, 4
mov edi, eax
mov eax, 1
mov ecx, ebx
shl eax, cl
or dword [esi + 0x98], eax
cmp ebx, 1
je 0x42a368
mov ecx, dword [esi]
mov edx, ebx
shl edx, 4
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + edx + 4]
cmp byte [ecx + 9], 0
je 0x42a368
or dword [esi + 0x9c], eax
mov eax, dword [esp + 0x14c]
mov edx, dword [esp]
cmp byte [eax + 0x51], 0
jne 0x42a45d
mov eax, dword [esp + 4]
mov dword [edi + 4], ebx
mov eax, dword [eax + 0x1c]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x10]
mov dword [edi + 0xc], eax
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x42a3b4
mov edx, dword [esi + 0x68]
mov ecx, esi
add edx, 0x28
push 0
mov eax, dword [esp + 8]
push dword [eax]
call fcn.0046c7f0
mov edx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 0x14c]
cmp byte [eax + 0x51], 0
jne 0x42a45d
cmp dword [esp + 0x164], 0
je 0x42a3d3
mov byte [edi + 0x14], 0x61
mov ecx, dword [esp + 4]
lea edx, [esp + 0x24]
mov eax, dword [ecx + 0x1c]
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], ebx
mov byte [edi + 0x15], 0xfd
movsx eax, word [ecx + 0x2a]
inc eax
mov dword [edi + 0x24], eax
movsx eax, word [ecx + 0x2a]
mov ecx, esi
mov dword [edi + 0x44], eax
mov word [esp + 0xe8], 0
mov dword [esp + 0x50], 1
mov dword [esp + 0x4c], 1
call fcn.0042b4a0
mov eax, dword [esp + 0x14c]
mov edx, dword [esp]
jmp 0x42a45d
inc dword [ebx + 0x130]
nop word [eax + eax]
mov edx, 0xe0
mov ecx, ebx
push 0
call fcn.00435620
mov edx, dword [esp + 4]
add esp, 4
mov esi, eax
test esi, esi
jne 0x42a0b6
mov eax, dword [esp + 0x14c]
mov dword [edx + 0x10], 0
mov ecx, dword [esp + 0x14]
mov edi, eax
mov word [edx + 8], cx
mov dword [edx + 0x14], eax
cmp byte [eax + 0x59], 0
jne 0x42a47a
mov ecx, edi
call fcn.004399d0
mov edx, dword [esp]
cmp byte [edi + 0x51], 0
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
jne 0x42a5ad
mov ecx, edx
mov edx, dword [esp + 0x15c]
lea eax, [esp + 8]
push eax
push dword [esp + 0x164]
call fcn.0042b930
add esp, 8
mov ebx, eax
cmp esi, 0x30
ja 0x42a5aa
mov edx, dword [esp]
cmp ebx, 0x11
jne 0x42a5ad
push 0x114
push 0
lea eax, [esp + 0x2c]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov edx, dword [esp + 8]
inc esi
mov dword [esp + 0x18], esi
mov esi, 0x11
jmp 0x429e6b
push 0x114
push 0
lea eax, [esp + 0x2c]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov edx, dword [esp + 0xc]
add esp, 0xc
xor ebx, ebx
cmp byte [edi + 0x51], 0
jne 0x42a5b5
mov eax, dword [esp + 0x168]
xor ebx, ebx
mov dword [eax], edx
jmp 0x42a629
mov eax, str.cannot_open_virtual_table:__s
jmp 0x42a52e
mov eax, str.cannot_open_table_without_rowid:__s
jmp 0x42a52e
mov eax, str.cannot_open_view:__s
push dword [esp + 0x154]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0042af90
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x42a557
mov dword [esp + 8], eax
mov dword [esp + 0x28], 0
cmp byte [edi + 0x59], 0
mov edx, dword [esp]
mov ebx, 1
jne 0x42a5b9
mov ecx, edi
call fcn.004399d0
mov edx, dword [esp]
jmp 0x42a5b9
push ebp
push str.no_such_column:___s_
jmp 0x42a57f
push eax
push str.cannot_open__s_column_for_writing
mov edi, dword [esp + 0x154]
push edi
call fcn.0042b0f0
add esp, 0xc
mov dword [esp + 8], eax
mov ebx, 1
cmp byte [edi + 0x59], 0
jne 0x42a5a5
mov ecx, edi
call fcn.004399d0
mov edx, dword [esp]
jmp 0x42a5b5
mov edx, dword [esp]
test ebx, ebx
je 0x42a4ff
test edx, edx
je 0x42a629
mov esi, dword [edx + 0x10]
test esi, esi
je 0x42a622
mov eax, dword [esi + 0x14]
cmp eax, 0x319c2973
je 0x42a5d1
cmp eax, 0x2df20da3
jne 0x42a5d8
mov ecx, esi
call fcn.00425730
mov edi, dword [esi]
mov edx, esi
mov ecx, edi
call fcn.0041aa20
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
test ecx, ecx
je 0x42a5f2
mov dword [ecx + 8], eax
jmp 0x42a5f5
mov dword [edi + 4], eax
mov eax, dword [esi + 8]
test eax, eax
je 0x42a602
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
mov ecx, edi
mov edx, esi
mov dword [esi + 0x14], 0x5606c3c8
mov dword [esi], 0
call fcn.004352c0
mov edi, dword [esp + 0x14c]
mov edx, dword [esp]
mov ecx, edi
call fcn.004352c0
mov esi, dword [esp + 8]
mov eax, 0x50cf7b
test esi, esi
cmove eax, esi
push esi
push eax
push ebx
push edi
call fcn.00422620
add esp, 0x10
test esi, esi
je 0x42a650
mov ecx, edi
mov edx, esi
call fcn.004352c0
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x24]
test edx, edx
je 0x42a663
mov ecx, esi
call fcn.004352c0
mov edx, dword [esp + 0x68]
test edx, edx
je 0x42a672
mov ecx, esi
call fcn.0046a010
test esi, esi
je 0x42a695
movzx eax, byte [esp + 0x3c]
sub dword [esi + 0x118], eax
je 0x42a687
xor eax, eax
jmp 0x42a68e
movzx eax, word [esi + 0x11e]
mov word [esi + 0x11c], ax
cmp ebx, 0xc0a
mov byte [esp + 0x3c], 0
je 0x42a6ad
cmp byte [edi + 0x51], 0
jne 0x42a6ad
and ebx, dword [edi + 0x44]
jmp 0x42a6b9
mov ecx, edi
call fcn.00448de0
mov ebx, 7
mov eax, dword [edi + 0xc]
test eax, eax
je 0x42a6ca
push eax
call dword [0x51d200]
add esp, 4
mov eax, ebx
add esp, 0x138
pop esi
pop edi
pop ebx
pop ebp
ret