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

Disassembly:
sub esp, 0x9c
mov eax, dword [0x5340e4]
xor eax, esp
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xac]
push ebx
mov ebx, dword [esp + 0xac]
push ebp
mov ebp, dword [esp + 0xa8]
push esi
mov dword [esp + 0x14], eax
push edi
mov esi, dword [ebp + 8]
mov eax, dword [ebp]
mov edi, dword [esp + 0xb4]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], esi
test esi, esi
jne 0x49f25b
cmp dword [ebp + 0x80], esi
jne 0x49f244
test byte [eax + 0x50], 8
jne 0x49f244
mov byte [ebp + 0x17], 1
push ebp
call fcn.004b1580
mov esi, eax
mov dword [esp + 0x44], eax
add esp, 4
test esi, esi
je 0x4a36cd
mov ecx, dword [esi + 0x6c]
lea edx, [esi + 0x6c]
lea eax, [esi + 0x70]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x64], eax
cmp dword [eax], ecx
jg 0x49f286
push 0
push 1
push 1
push 0xa6
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x49f2b8
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [esp + 0x24]
mov dword [ebp + 0x2c], 2
push eax
push ebx
push edi
push ebp
call fcn.004ad540
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x3c], ecx
test ecx, ecx
js 0x4a36cd
mov eax, dword [esp + 0x10]
mov ebp, ecx
shl ebp, 4
mov dword [esp + 0x70], ebp
mov edi, dword [eax + 0x10]
add edi, ebp
cmp ecx, 1
jne 0x49f30c
push dword [esp + 0x14]
call fcn.0049c630
add esp, 4
test eax, eax
jne 0x4a36cd
mov eax, dword [esp + 0x10]
push dword [esp + 0x24]
push eax
call fcn.0049bfa0
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x4a36cd
cmp dword [esp + 0xc0], 0
push dword [esp + 0x18]
je 0x49f346
push 0x51c608
push dword [esp + 0x18]
call fcn.0049b7d0
add esp, 0xc
jmp 0x49f352
push dword [esp + 0x14]
call fcn.0049bfa0
add esp, 8
cmp dword [ebx + 4], 0
mov dword [esp + 0x20], eax
jbe 0x49f360
mov ebx, dword [edi]
jmp 0x49f362
xor ebx, ebx
push ebx
push eax
push dword [esp + 0x3c]
mov dword [esp + 0x34], ebx
push 0x13
push dword [esp + 0x24]
call fcn.0047da60
add esp, 0x14
test eax, eax
jne 0x4a36a7
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 0
mov eax, dword [ecx + 0xc]
mov dword [ecx + 0x1c8], 0
mov dword [esp + 0x18], 1
test eax, eax
je 0x49f3d5
push eax
call dword [0x532140]
mov ecx, dword [esp + 0x14]
add esp, 4
test ebx, ebx
je 0x49f3ee
push ebx
push ecx
call fcn.0048fe70
mov ebx, eax
add esp, 8
test ebx, ebx
jns 0x49f3f0
jmp 0x49f479
xor ebx, ebx
mov eax, dword [esp + 0x10]
add ebx, ebx
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ebx*8 + 4]
test ebx, ebx
je 0x49f479
cmp byte [ebx + 9], 0
je 0x49f419
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x49f419
push ebx
call fcn.0044c370
add esp, 4
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x49f43f
mov dword [esp + 0x18], 0xc
jmp 0x49f456
lea edx, [esp + 0x98]
push edx
push 0xe
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x1c8], eax
cmp byte [ebx + 9], 0
je 0x49f479
add dword [ebx + 0xc], 0xffffffff
jne 0x49f479
push ebx
call fcn.004ca290
add esp, 4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x49f48e
push eax
call dword [0x532148]
add esp, 4
mov ebx, dword [esp + 0x18]
test ebx, ebx
jne 0x49f59b
push 1
push esi
call fcn.004bd9a0
push 0xffffffffffffffff
push dword [esp + 0xa4]
push ebx
push ebx
push esi
call fcn.004bd950
mov edi, dword [esp + 0xb4]
add esp, 0x1c
test edi, edi
je 0x4a36a7
push ebx
push edi
push ebx
push 1
push ebx
push 0x75
push esi
call fcn.004b0e50
mov edx, dword [esp + 0x38]
add esp, 0x1c
mov eax, dword [esp + 0x64]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x49f4f6
push ebx
push 1
push 1
push 0x54
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x49f528
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0x98]
test edi, edi
je 0x4a36a7
cmp dword [0x5320f0], 0
je 0x49f58c
mov eax, dword [0x536de8]
test eax, eax
je 0x49f553
push eax
call dword [0x532140]
add esp, 4
push edi
call dword [0x53211c]
sub dword [0x536d88], eax
dec dword [0x536dac]
push edi
call dword [0x532114]
mov eax, dword [0x536de8]
add esp, 8
test eax, eax
je 0x4a36a7
push eax
call dword [0x532148]
add esp, 4
jmp 0x4a36a7
push edi
call dword [0x532114]
add esp, 4
jmp 0x4a36a7
cmp ebx, 0xc
je 0x49f644
mov eax, dword [esp + 0x98]
test eax, eax
je 0x49f635
push eax
push 0x51956c
push dword [esp + 0x1c]
call fcn.00489e60
mov esi, dword [esp + 0xa4]
add esp, 0xc
test esi, esi
je 0x49f635
cmp dword [0x5320f0], 0
je 0x49f62b
mov eax, dword [0x536de8]
test eax, eax
je 0x49f5ec
push eax
call dword [0x532140]
add esp, 4
push esi
call dword [0x53211c]
sub dword [0x536d88], eax
dec dword [0x536dac]
push esi
call dword [0x532114]
mov eax, dword [0x536de8]
add esp, 8
test eax, eax
je 0x49f635
push eax
call dword [0x532148]
mov eax, dword [esp + 0x18]
add esp, 4
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x4a36a7
push esi
call dword [0x532114]
add esp, 4
mov eax, dword [esp + 0x14]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x4a36a7
push dword [esp + 0x34]
call fcn.00472210
mov ebx, eax
add esp, 4
mov dword [esp + 0x6c], ebx
test ebx, ebx
je 0x4a36a7
test byte [ebx + 5], 1
je 0x49f678
push dword [esp + 0x14]
call fcn.004a4a80
add esp, 4
test eax, eax
jne 0x4a36a7
mov al, byte [ebx + 5]
test al, 2
jne 0x49f695
test al, 4
je 0x49f68b
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x49f699
push ebx
push esi
call fcn.00479fa0
add esp, 8
mov edx, dword [esp + 0x20]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x49f6a7.5
jmp dword [eax*4 + 0x4a36e8]
mov ebp, dword [esp + 0x3c]
push ebp
push esi
call fcn.004be330
mov eax, dword [esp + 0x28]
add esp, 8
test eax, eax
jne 0x49f6fd
mov eax, dword [esp + 0x14]
push 0
push 0x51288c
push 9
add dword [eax + 0x2c], 2
push esi
call fcn.004b0f30
push dword [esp + 0x44]
push dword [esp + 0x24]
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x7c], 0xfffff830
call fcn.00487a00
add esp, 0x18
jmp 0x4a36cd
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0
push ecx
push eax
call fcn.00496740
mov ebx, dword [esp + 0x20]
add esp, 8
test ebx, ebx
jns 0x49f72c
cmp ebx, 0x80000000
jne 0x49f72a
mov ebx, 0x7fffffff
jmp 0x49f72c
neg ebx
push ebp
push 0
push dword [esp + 0x1c]
call fcn.0047e600
push ebx
push 3
push ebp
push 0x64
push esi
call fcn.004b0df0
mov eax, dword [edi + 0xc]
mov dword [eax + 0x50], ebx
mov eax, dword [edi + 0xc]
push dword [eax + 0x50]
push dword [edi + 4]
call fcn.00481ee0
push dword [esp + 0x5c]
push dword [esp + 0x3c]
call fcn.00487a00
mov eax, dword [esp + 0x50]
add esp, 0x30
jmp 0x4a36c0
mov edi, dword [edi + 4]
test edx, edx
jne 0x49f790
test edi, edi
je 0x49f788
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
cdq
jmp 0x4a03d6
xor eax, eax
cdq
jmp 0x4a03d6
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
push edx
call fcn.00496740
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push 0
push 0
push eax
push edi
mov dword [ecx + 0x64], eax
call fcn.00481f80
add esp, 0x18
cmp eax, 7
jne 0x4a36a7
mov edi, dword [esp + 0x10]
push edi
call fcn.0049c250
push dword [esp + 0x38]
push edi
call fcn.00487a00
mov eax, dword [esp + 0x2c]
add esp, 0xc
jmp 0x4a36c0
mov eax, dword [edi + 4]
or ecx, 0xffffffff
mov dword [esp + 0x24], eax
mov dword [esp + 0x58], ecx
test edx, edx
je 0x49f823
push str.fast
push edx
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x49f80e
lea ecx, [eax + 2]
jmp 0x49f81f
push 0
push dword [esp + 0x24]
call fcn.004964f0
add esp, 8
movzx ecx, al
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x2c]
cmp dword [eax + 4], 0
jne 0x49f8bc
test ecx, ecx
js 0x49f8bc
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x49f8bc
mov esi, dword [esp + 0x58]
xor ebp, ebp
mov ecx, 0xfff3
nop
mov eax, dword [eax + 0x10]
mov edi, dword [eax + ebp + 4]
test edi, edi
je 0x49f8a7
cmp byte [edi + 9], 0
je 0x49f878
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x49f878
push edi
call fcn.0044c370
add esp, 4
mov ecx, 0xfff3
mov eax, dword [edi + 4]
and word [eax + 0x18], cx
lea eax, [esi*4]
mov ecx, dword [edi + 4]
or word [ecx + 0x18], ax
cmp byte [edi + 9], 0
je 0x49f8a2
add dword [edi + 0xc], 0xffffffff
jne 0x49f8a2
push edi
call fcn.004ca290
add esp, 4
mov ecx, 0xfff3
mov eax, dword [esp + 0x10]
inc ebx
add ebp, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x49f850
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x58]
push ecx
push dword [esp + 0x28]
call fcn.00481df0
cdq
push edx
push eax
push esi
call fcn.00477790
add esp, 0x14
jmp 0x4a36a7
mov ebp, dword [esp + 0x3c]
xorps xmm0, xmm0
mov ebx, dword [esp + 0x14]
push ebp
push ebx
movlpd qword [esp + 0x94], xmm0
call fcn.004843e0
mov eax, dword [esp + 0x3c]
add esp, 8
inc dword [ebx + 0x2c]
mov edi, dword [ebx + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x512ea8], 0x70
jne 0x49f92e
push edi
push ebp
push 0xb2
push esi
call fcn.004b0d90
add esp, 0x10
push 1
push edi
push 0x54
push esi
call fcn.004b0d90
add esp, 0x10
jmp 0x4a36a7
mov eax, dword [esp + 0x20]
test eax, eax
je 0x49f980
lea ecx, [esp + 0x8c]
push ecx
push eax
call fcn.00487ee0
add esp, 8
test eax, eax
jne 0x49f980
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
test ecx, ecx
jg 0x49f96e
jl 0x49f980
test eax, eax
jb 0x49f980
test ecx, ecx
jl 0x49f993
jg 0x49f96e
cmp eax, 0xfffffffe
jbe 0x49f993
mov eax, 0xfffffffe
mov dword [esp + 0x90], 0
jmp 0x49f993
xorps xmm0, xmm0
movlpd qword [esp + 0x8c], xmm0
mov eax, dword [esp + 0x8c]
push eax
push edi
push ebp
push 0xb3
push esi
call fcn.004b0df0
add esp, 0x14
push 1
push edi
push 0x54
push esi
call fcn.004b0d90
add esp, 0x10
jmp 0x4a36a7
test edx, edx
je 0x49f9eb
push str.exclusive
push edx
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x49f9d2
lea ecx, [eax + 1]
jmp 0x49f9ee
push str.normal
push dword [esp + 0x24]
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x49f9eb
xor ecx, ecx
jmp 0x49f9ee
or ecx, 0xffffffff
mov eax, dword [esp + 0x2c]
cmp dword [eax + 4], 0
jne 0x49fa5d
mov eax, dword [esp + 0x10]
cmp ecx, 0xffffffff
jne 0x49fa07
movzx eax, byte [eax + 0x59]
jmp 0x49fa6e
mov edx, 2
cmp dword [eax + 0x14], edx
jle 0x49fa5a
mov ebx, 0x20
mov esi, eax
nop dword [eax + eax]
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ebx + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x49fa49
cmp byte [eax + 0xc], 0
jne 0x49fa49
mov ebp, dword [eax + 0xe8]
test ebp, ebp
je 0x49fa46
cmp byte [ebp + 0x2b], 2
je 0x49fa49
mov byte [eax + 4], cl
inc edx
add ebx, 0x10
cmp edx, dword [esi + 0x14]
jl 0x49fa20
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov byte [eax + 0x59], cl
mov eax, dword [edi + 4]
push ecx
mov eax, dword [eax + 4]
push dword [eax]
call fcn.0049cdf0
add esp, 8
cmp eax, 1
mov edx, str.exclusive
mov ecx, str.normal
cmove ecx, edx
push ecx
push esi
call fcn.00477820
add esp, 8
jmp 0x4a36a7
test edx, edx
je 0x49fb2b
mov ecx, edx
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49faa0
sub ecx, edx
and ecx, 0x3fffffff
xor ebp, ebp
mov dword [esp + 0x24], ecx
cmp ebp, 6
je 0x49fb2b
mov edi, dword [ebp*4 + 0x512ab8]
test edi, edi
je 0x49fb2b
mov ebx, dword [esp + 0x20]
mov edx, ecx
test ecx, ecx
je 0x49faf1
nop
mov al, byte [ebx]
dec edx
test al, al
je 0x49faf2
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x512ea8]
cmp al, byte [ecx + 0x512ea8]
jne 0x49faf2
inc ebx
inc edi
test edx, edx
jg 0x49fad0
dec edx
test edx, edx
js 0x49fb15
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x512ea8]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x512ea8]
sub eax, ecx
je 0x49fb15
mov ecx, dword [esp + 0x24]
inc ebp
jmp 0x49fab5
cmp ebp, 2
jne 0x49fb47
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x49fb4c
or ebp, 0xffffffff
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 4], 0
jne 0x49fb50
xor edx, edx
mov dword [ecx + 4], 1
mov dword [esp + 0x3c], edx
jmp 0x49fb54
cmp ebp, 0xffffffff
je 0x49fb2e
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x49fc1b
mov ebx, edi
shl ebx, 4
nop dword [eax]
mov eax, dword [eax + 0x10]
cmp dword [eax + ebx + 4], 0
je 0x49fc03
cmp edi, edx
je 0x49fb88
cmp dword [ecx + 4], 0
jne 0x49fc03
mov eax, dword [esi + 0x9c]
bts eax, edi
mov dword [esi + 0x9c], eax
cmp edi, 1
je 0x49fbba
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebx + 4]
cmp byte [eax + 9], 0
je 0x49fbba
mov eax, dword [esi + 0xa0]
bts eax, edi
mov dword [esi + 0xa0], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x49fbd9
push ebp
push 1
push edi
push 4
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x49fc03
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 4
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x2c]
sub ebx, 0x10
sub edi, 1
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
jns 0x49fb70
push 1
push 1
push 0x54
push esi
call fcn.004b0d90
add esp, 0x10
jmp 0x4a36a7
mov eax, dword [edi + 4]
mov dword [esp + 0x8c], 0xfffffffe
mov dword [esp + 0x90], 0xffffffff
mov eax, dword [eax + 4]
mov edi, dword [eax]
test edx, edx
je 0x49fca6
lea eax, [esp + 0x8c]
push eax
push edx
call fcn.00487ee0
mov ecx, dword [esp + 0x98]
add esp, 8
cmp ecx, 0xffffffff
jg 0x49fc83
jl 0x49fc7c
mov eax, dword [esp + 0x8c]
cmp eax, 0xffffffff
jae 0x49fc8a
or eax, 0xffffffff
or ecx, eax
jmp 0x49fc8a
mov eax, dword [esp + 0x8c]
mov edx, dword [edi + 0xe8]
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], ecx
test edx, edx
je 0x49fca6
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [edi + 0xb4]
push dword [edi + 0xb0]
jmp 0x4a369e
mov edi, dword [edi + 4]
test edx, edx
jne 0x49fce2
push edi
call fcn.0047ffd0
cdq
push edx
push eax
push esi
call fcn.00477790
push dword [esp + 0x44]
push dword [esp + 0x24]
call fcn.00487a00
add esp, 0x18
jmp 0x4a36cd
push str.none
push edx
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x49fcf8
xor ebx, ebx
jmp 0x49fd4f
mov ebx, dword [esp + 0x20]
push str.full
push ebx
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x49fd13
lea ebx, [eax + 1]
jmp 0x49fd4f
push str.incremental
push ebx
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x49fd2a
lea ebx, [eax + 2]
jmp 0x49fd4f
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
push ebx
call fcn.00496740
xor ecx, ecx
add esp, 8
cmp dword [esp + 0x18], 2
cmovbe ecx, dword [esp + 0x18]
movzx ebx, cl
mov eax, dword [esp + 0x10]
push ebx
push edi
mov byte [eax + 0x5a], bl
call fcn.00481e60
add esp, 8
test eax, eax
jne 0x4a36a7
cmp ebx, 1
je 0x49fd76
cmp ebx, 2
jne 0x4a36a7
mov eax, dword [esp + 0x1c]
push 0
push 0x512b44
push 5
mov edi, dword [eax]
push esi
call fcn.004b0f30
mov edx, dword [esp + 0x4c]
lea ecx, [edi + 4]
push edx
push esi
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
call fcn.004be330
push dword [esp + 0x4c]
push dword [esp + 0x2c]
call fcn.00487a00
mov eax, dword [esp + 0x40]
add esp, 0x20
jmp 0x4a36c0
mov dword [esp + 0x18], 0
test edx, edx
je 0x49fdea
lea eax, [esp + 0x18]
push eax
push edx
call fcn.00496740
add esp, 8
test eax, eax
je 0x49fdea
mov edi, dword [esp + 0x18]
test edi, edi
jg 0x49fdef
mov edi, 0x7fffffff
mov ebx, dword [esp + 0x3c]
push ebx
push 0
push dword [esp + 0x1c]
call fcn.0047e600
push 1
push edi
push 0x47
push esi
call fcn.004b0d90
push ebx
push 0x3e
push esi
call fcn.004b0d30
push 1
push 0x54
push esi
mov edi, eax
call fcn.004b0d30
push 0xffffffffffffffff
push 1
push 0x56
push esi
call fcn.004b0d90
add esp, 0x44
push edi
push 1
push 0x3b
push esi
call fcn.004b0d90
push edi
push esi
call fcn.004bb180
add esp, 0x18
jmp 0x4a36a7
test edx, edx
jne 0x49fe58
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x50]
cdq
jmp 0x4a03d6
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
push edx
call fcn.00496740
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x50], eax
mov eax, dword [edi + 0xc]
push dword [eax + 0x50]
push dword [edi + 4]
call fcn.00481ee0
push dword [esp + 0x44]
push dword [esp + 0x24]
call fcn.00487a00
mov eax, dword [esp + 0x38]
add esp, 0x18
jmp 0x4a36c0
test edx, edx
jne 0x49fec4
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x20
or eax, edx
je 0x4a017d
push 0
push dword [edi + 4]
call fcn.004820b0
add esp, 8
jmp 0x4a017d
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 1
push eax
push edx
call fcn.00496740
mov esi, dword [esp + 0x20]
add esp, 8
test eax, eax
je 0x49feee
push esi
push dword [edi + 4]
call fcn.004820b0
add esp, 8
test esi, esi
setne al
movzx eax, al
push eax
push dword [esp + 0x24]
call fcn.004964f0
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
test al, al
je 0x49ff16
or ecx, 0x20
jmp 0x49ff19
and ecx, 0xffffffdf
mov eax, dword [esp + 0x10]
push eax
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
call fcn.00479d40
push dword [esp + 0x38]
push dword [esp + 0x18]
call fcn.00487a00
mov eax, dword [esp + 0x2c]
add esp, 0xc
jmp 0x4a36c0
test edx, edx
je 0x4a0060
lea eax, [esp + 0x8c]
push eax
push edx
call fcn.00487ee0
add esp, 8
cmp dword [esp + 0x90], 0
jg 0x49ff8a
jl 0x49ff71
cmp dword [esp + 0x8c], 0
jae 0x49ff8a
mov eax, dword [0x532198]
mov ecx, dword [0x53219c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
cmp dword [eax + 4], 0
jne 0x49ffac
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], ecx
mov ebx, dword [edx + 0x14]
sub ebx, 1
js 0x4a0060
mov esi, dword [esp + 0x2c]
mov ebp, ebx
shl ebp, 4
mov eax, dword [edx + 0x10]
mov edi, dword [eax + ebp + 4]
test edi, edi
je 0x4a0050
cmp ebx, dword [esp + 0x3c]
je 0x49ffdc
cmp dword [esi + 4], 0
jne 0x4a0050
cmp byte [edi + 9], 0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x24], eax
je 0x4a0015
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x4a0015
push edi
call fcn.0044c370
mov eax, dword [esp + 0x28]
add esp, 4
mov eax, dword [eax]
mov ecx, dword [esp + 0x70]
push eax
mov dword [eax + 0x88], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x8c], ecx
call fcn.0046d890
add esp, 4
cmp byte [edi + 9], 0
je 0x4a004c
add dword [edi + 0xc], 0xffffffff
jne 0x4a004c
push edi
call fcn.004ca290
add esp, 4
mov edx, dword [esp + 0x10]
sub ebp, 0x10
sub ebx, 1
jns 0x49ffc1
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
mov ebx, 1
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x90], 0xffffffff
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x4a0094
push eax
call dword [0x532140]
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4a00b1
push eax
push ecx
call fcn.0048fe70
mov edi, eax
add esp, 8
test edi, edi
jns 0x4a00b3
jmp 0x4a012d
xor edi, edi
mov eax, dword [esp + 0x10]
add edi, edi
mov eax, dword [eax + 0x10]
mov edi, dword [eax + edi*8 + 4]
test edi, edi
je 0x4a012d
cmp byte [edi + 9], 0
je 0x4a00dc
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x4a00dc
push edi
call fcn.0044c370
add esp, 4
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ebp, dword [ecx + 0x1c8]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x4a00f9
lea ebx, [ecx + 0xc]
jmp 0x4a010e
lea edx, [esp + 0x8c]
push edx
push 0x12
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov ebx, eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0x1c8], ebp
cmp byte [edi + 9], 0
je 0x4a0131
add dword [edi + 0xc], 0xffffffff
jne 0x4a0131
push edi
call fcn.004ca290
add esp, 4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4a0142
push eax
call dword [0x532148]
add esp, 4
test ebx, ebx
jne 0x4a0159
push dword [esp + 0x90]
push dword [esp + 0x90]
jmp 0x4a369e
cmp ebx, 0xc
je 0x4a36a7
mov eax, dword [esp + 0x14]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x4a36a7
test edx, edx
jne 0x4a0198
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx + 0x56]
cdq
push edx
push eax
push esi
call fcn.00477790
push dword [esp + 0x40]
push ebx
call fcn.00487a00
add esp, 0x14
jmp 0x4a36cd
mov cl, byte [edx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x4a01aa
movsx ebx, cl
sub ebx, 0x30
jmp 0x4a01dc
push str.file
push edx
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x4a01c1
lea ebx, [eax + 1]
jmp 0x4a01dc
push str.memory
push dword [esp + 0x24]
call fcn.004abf20
add esp, 8
neg eax
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 2
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx]
movzx eax, byte [esi + 0x56]
cmp eax, ebx
je 0x4a36a7
push ecx
call fcn.00460d50
add esp, 4
test eax, eax
jne 0x4a36a7
mov byte [esi + 0x56], bl
jmp 0x4a0370
cmp byte [0x5320f4], 0
je 0x4a0229
push 0xb
call dword [0x532138]
add esp, 4
test eax, eax
je 0x4a0229
push eax
call dword [0x532140]
add esp, 4
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x4a0245
push dword [0x536d18]
push esi
call fcn.00477820
add esp, 8
jmp 0x4a02bf
cmp byte [ecx], 0
je 0x4a0273
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x24]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x4a033d
cmp dword [esp + 0x24], eax
je 0x4a033d
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x56], 1
ja 0x4a0289
push dword [esp + 0x14]
call fcn.00460d50
add esp, 4
push dword [0x536d18]
call fcn.0043b060
mov eax, dword [esp + 0x24]
add esp, 4
cmp byte [eax], 0
je 0x4a02b5
push eax
push 0x51956c
call fcn.0043ac50
add esp, 8
mov dword [0x536d18], eax
jmp 0x4a02bf
mov dword [0x536d18], 0
cmp byte [0x5320f4], 0
je 0x4a36a7
push 0xb
call dword [0x532138]
add esp, 4
jmp 0x49f575
cmp byte [0x5320f4], 0
je 0x4a02fe
push 0xb
call dword [0x532138]
add esp, 4
test eax, eax
je 0x4a02fe
push eax
call dword [0x532140]
add esp, 4
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x4a0317
push dword [0x536d1c]
push esi
call fcn.00477820
add esp, 8
jmp 0x4a02bf
cmp byte [ecx], 0
je 0x4a0389
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x24]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x4a033d
cmp dword [esp + 0x24], eax
jne 0x4a0389
push str.not_a_writable_directory
push dword [esp + 0x18]
call fcn.00489e60
add esp, 8
cmp byte [0x5320f4], 0
je 0x4a0370
push 0xb
call dword [0x532138]
add esp, 4
test eax, eax
je 0x4a0370
push eax
call dword [0x532148]
add esp, 4
push dword [esp + 0x34]
push dword [esp + 0x14]
call fcn.00487a00
mov eax, dword [esp + 0x28]
add esp, 8
jmp 0x4a36c0
push dword [0x536d1c]
call fcn.0043b060
mov eax, dword [esp + 0x24]
add esp, 4
cmp byte [eax], 0
je 0x4a03b8
push eax
push 0x51956c
call fcn.0043ac50
add esp, 8
mov dword [0x536d1c], eax
jmp 0x4a02bf
mov dword [0x536d1c], 0
jmp 0x4a02bf
test edx, edx
jne 0x4a03f3
movzx eax, byte [edi + 8]
cdq
sub eax, 1
sbb edx, 0
push edx
push eax
push esi
call fcn.00477790
push dword [esp + 0x40]
push dword [esp + 0x20]
call fcn.00487a00
add esp, 0x14
jmp 0x4a36cd
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x55], 0
jne 0x4a0424
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x18]
call fcn.00489e60
push dword [esp + 0x3c]
push dword [esp + 0x1c]
call fcn.00487a00
mov eax, dword [esp + 0x30]
add esp, 0x10
jmp 0x4a36c0
cmp dword [esp + 0x3c], 1
je 0x4a36ab
push 1
push 0
push edx
call fcn.0045f860
inc eax
mov ecx, 1
and eax, 7
mov byte [edi + 9], cl
cmove eax, ecx
mov byte [edi + 8], al
mov edi, dword [esp + 0x1c]
push edi
call fcn.00479d40
push dword [esp + 0x44]
push edi
call fcn.00487a00
mov eax, dword [esp + 0x38]
add esp, 0x18
jmp 0x4a36c0
test edx, edx
jne 0x4a04ca
push ebx
push esi
call fcn.00479fa0
mov edi, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
and ecx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or ecx, eax
je 0x4a0496
mov eax, 1
xor ecx, ecx
jmp 0x4a04b0
xorps xmm0, xmm0
movlpd qword [esp + 0x8c], xmm0
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
push ecx
push eax
push esi
call fcn.00477790
push dword [esp + 0x40]
push edi
call fcn.00487a00
add esp, 0x14
jmp 0x4a36cd
mov ebp, dword [esp + 0x10]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
cmp byte [ebp + 0x55], 0
jne 0x4a04e0
and edi, 0xffffbfff
push 0
push edx
call fcn.004964f0
add esp, 8
test al, al
je 0x4a0510
mov eax, edi
and eax, 1
or eax, 0
je 0x4a0506
mov eax, dword [ebp + 0x20]
and eax, 0x10000000
or eax, 0
jne 0x4a0560
mov eax, ebp
or dword [eax + 0x20], edi
or dword [eax + 0x24], ebx
jmp 0x4a0560
mov edx, ebp
mov ecx, edi
mov eax, ebx
not ecx
not eax
and dword [edx + 0x20], ecx
and dword [edx + 0x24], eax
cmp edi, 0x80000
jne 0x4a053a
test ebx, ebx
jne 0x4a053a
mov dword [edx + 0x208], ebx
mov dword [edx + 0x20c], ebx
jmp 0x4a0560
and edi, 1
or edi, 0
je 0x4a0560
push str.reset
push dword [esp + 0x24]
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x4a0560
push ebp
call fcn.004a5530
add esp, 4
push 0xa6
push esi
call fcn.004b0ce0
mov esi, ebp
push esi
call fcn.00479d40
push dword [esp + 0x40]
push esi
call fcn.00487a00
mov eax, dword [esp + 0x34]
add esp, 0x14
jmp 0x4a36c0
test edx, edx
je 0x4a36a7
mov ebp, dword [esp + 0x28]
push ebp
push dword [esp + 0x18]
call fcn.00484360
push ebp
push dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
push 2
push ebp
call fcn.0049b220
mov edi, eax
add esp, 0x18
mov dword [esp + 0x5c], edi
test edi, edi
je 0x4a36a7
push edi
mov dword [esp + 0x34], 0
call fcn.004a3e00
push edi
push ebp
mov dword [esp + 0x64], eax
mov dword [ebp + 0x2c], 7
call fcn.004be420
movzx edx, word [edi + 0x22]
xor eax, eax
mov ecx, dword [edi + 4]
add esp, 0xc
xor ebp, ebp
mov dword [esp + 0x54], ecx
cmp ax, dx
jge 0x4a36a7
mov eax, edx
mov dword [esp + 0x44], eax
movzx edx, word [ecx + 0xe]
xor edi, edi
test dl, 0x62
je 0x4a0641
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x4a0625
mov edx, dword [esp + 0x44]
inc dword [esp + 0x30]
movzx eax, dx
jmp 0x4a07a9
mov eax, dword [esp + 0x44]
test dl, 0x20
je 0x4a0635
mov edi, 2
jmp 0x4a0641
movzx edi, dl
and edi, 0x40
or edi, 0x20
shr edi, 5
test dl, 1
jne 0x4a064a
xor edx, edx
jmp 0x4a0687
cmp dword [esp + 0x58], 0
mov edx, 1
je 0x4a0687
cwde
mov dword [esp + 0x24], eax
cmp eax, edx
jl 0x4a0687
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x24]
mov ecx, dword [eax + 4]
nop word [eax + eax]
movsx eax, word [ecx]
cmp eax, ebp
je 0x4a067f
inc edx
add ecx, 2
cmp edx, ebx
jle 0x4a0670
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x54]
movzx eax, word [ecx + 0xc]
mov dword [esp + 0x18], eax
test ax, ax
jne 0x4a0698
xor eax, eax
jmp 0x4a06dd
mov eax, dword [esp + 0x5c]
cmp byte [eax + 0x2b], 0
je 0x4a06a6
xor eax, eax
jmp 0x4a06dd
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4a06dd
mov ebx, dword [esp + 0x18]
movzx ebx, bx
cmp dword [eax], ebx
mov ebx, dword [esp + 0x6c]
jge 0x4a06c0
xor eax, eax
jmp 0x4a06dd
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
movzx eax, cx
mov ecx, dword [esi + 0x34]
mov esi, dword [esp + 0x40]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0xc]
mov ecx, dword [esp + 0x54]
cmp edi, 2
jae 0x4a06ef
test eax, eax
je 0x4a06ef
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
jmp 0x4a06f7
mov dword [esp + 0x38], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x48], str.issisii
jne 0x4a070f
mov dword [esp + 0x48], str.issisi
movzx eax, word [ecx + 0xe]
test al, 4
je 0x4a0745
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x70], eax
lea eax, [ecx + 1]
mov dword [esp + 0x24], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a0726
mov eax, dword [esp + 0x70]
sub ecx, dword [esp + 0x24]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 4]
jmp 0x4a076d
mov eax, dword [ecx + 4]
mov dword [esp + 0x44], eax
shr eax, 4
and eax, 0xf
je 0x4a0761
mov eax, dword [eax*4 + 0x5322e0]
mov dword [esp + 0x18], eax
jmp 0x4a0769
mov dword [esp + 0x18], 0x52a5cb
mov eax, dword [esp + 0x44]
push edi
push edx
push dword [esp + 0x40]
test al, 0xf
mov eax, 0
setne al
push eax
push dword [esp + 0x28]
mov eax, ebp
push dword [ecx]
sub eax, dword [esp + 0x48]
push eax
push dword [esp + 0x64]
push 1
push esi
call fcn.004bca10
mov eax, dword [esp + 0x84]
add esp, 0x28
mov ecx, dword [esp + 0x54]
movzx eax, word [eax + 0x22]
movzx edx, ax
inc ebp
cwde
add ecx, 0x10
cmp ebp, eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x44], edx
mov eax, edx
jl 0x4a0602
jmp 0x4a0370
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
push ebx
push eax
mov dword [eax + 0x2c], 6
call fcn.00484360
mov eax, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x5c], 0
cmp dword [eax + 0x14], 0
jle 0x4a36ab
xor ebp, ebp
mov dword [esp + 0x58], ebp
nop dword [eax]
test ebx, ebx
je 0x4a0824
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp]
test eax, eax
je 0x4a0ba9
push eax
push ebx
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x4a0ba9
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + ebp + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x4a0a5c
mov esi, dword [esp + 0x10]
mov eax, dword [edx + 8]
dec ebx
mov dword [esp + 0x24], ebx
test eax, eax
je 0x4a0a58
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x4a0866
mov eax, dword [eax]
test eax, eax
jne 0x4a0851
jmp 0x4a0a58
push dword [ecx]
push str.SELECTFROM__w_
push esi
call fcn.0049b7d0
add esp, 0xc
mov dword [esp + 0x70], eax
test eax, eax
je 0x4a0a20
push 0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push ecx
push 0
push 0
push 0xffffffffffffffff
push eax
push esi
call fcn.0049b440
mov edi, dword [esp + 0x34]
add esp, 0x1c
test edi, edi
je 0x4a0a13
mov ebp, dword [edi]
test ebp, ebp
jne 0x4a08e2
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.00444580
push 0x51e124
push 0x15f4b
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.00444580
add esp, 0x1c
jmp 0x4a0a0f
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4a08f3
push eax
call dword [0x532140]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x4a0911
jg 0x4a0907
cmp dword [edi + 0x88], 0
jbe 0x4a0911
push edi
push ebp
call fcn.00460da0
add esp, 8
push edi
call fcn.004bd5f0
mov ebx, dword [edi]
push edi
push ebx
mov dword [esp + 0x3c], eax
call fcn.004b13a0
add esp, 0xc
cmp dword [ebx + 0x210], 0
jne 0x4a0945
mov ecx, dword [edi + 4]
mov eax, dword [edi + 8]
mov dword [ecx], eax
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x4a0945
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
cmp edi, dword [ebx + 0x164]
jae 0x4a0980
cmp edi, dword [ebx + 0x15c]
jb 0x4a0968
mov eax, dword [ebx + 0x158]
mov dword [edi], eax
mov dword [ebx + 0x158], edi
jmp 0x4a09ea
cmp edi, dword [ebx + 0x160]
jb 0x4a0980
mov eax, dword [ebx + 0x150]
mov dword [edi], eax
mov dword [ebx + 0x150], edi
jmp 0x4a09ea
cmp dword [ebx + 0x210], 0
je 0x4a0995
push edi
push ebx
call fcn.00469e10
add esp, 8
jmp 0x4a09ea
cmp dword [0x5320f0], 0
je 0x4a09e0
mov eax, dword [0x536de8]
test eax, eax
je 0x4a09b1
push eax
call dword [0x532140]
add esp, 4
push edi
call dword [0x53211c]
sub dword [0x536d88], eax
dec dword [0x536dac]
push edi
call dword [0x532114]
mov eax, dword [0x536de8]
add esp, 8
test eax, eax
je 0x4a09ea
push eax
call dword [0x532148]
jmp 0x4a09e7
push edi
call dword [0x532114]
add esp, 4
cmp byte [ebp + 0x57], 0
mov eax, dword [esp + 0x30]
jne 0x4a09f8
test eax, eax
je 0x4a0a02
push eax
push ebp
call fcn.00448780
add esp, 8
push ebp
call fcn.0049a340
mov ebx, dword [esp + 0x28]
add esp, 4
mov ebp, dword [esp + 0x58]
push dword [esp + 0x70]
push esi
call fcn.00487a00
add esp, 8
cmp byte [esi + 0x57], 0
je 0x4a0a46
push str.out_of_memory
push dword [esi + 0x10c]
call fcn.00489e60
mov eax, dword [esi + 0x10c]
add esp, 8
mov dword [eax + 0xc], 7
mov eax, dword [esi + 0x10]
mov edx, dword [eax + ebp + 0xc]
add edx, 8
test ebx, ebx
jne 0x4a0841
mov esi, dword [esp + 0x40]
mov edi, dword [edx + 8]
mov dword [esp + 0x54], edi
test edi, edi
je 0x4a0ba5
mov ecx, dword [esp + 0x20]
nop
mov ebx, dword [edi + 8]
test ecx, ecx
je 0x4a0a93
mov eax, dword [ebx]
test eax, eax
je 0x4a0b97
push eax
push ecx
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x4a0b93
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x4a0aa4
mov dword [esp + 0x18], str.view
jmp 0x4a0aca
cmp al, 1
jne 0x4a0ab2
mov dword [esp + 0x18], str.virtual
jmp 0x4a0aca
test dword [ebx + 0x1c], 0x1000
mov eax, str.shadow
mov ecx, str.table
cmove eax, ecx
mov dword [esp + 0x18], eax
mov ebp, dword [ebx]
mov edx, 7
test ebp, ebp
je 0x4a0b55
mov edi, ebp
mov ebx, str.sqlite_
mov al, byte [edi]
dec edx
test al, al
je 0x4a0b02
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x512ea8]
cmp al, byte [ecx + 0x512ea8]
jne 0x4a0b02
inc edi
inc ebx
test edx, edx
jg 0x4a0ae0
dec edx
test edx, edx
js 0x4a0b1e
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x512ea8]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x512ea8]
sub eax, ecx
jne 0x4a0b51
lea edi, [ebp + 7]
push 0x519f93
push edi
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x4a0b3a
mov ebp, str.sqlite_schema
jmp 0x4a0b51
push 0x51a177
push edi
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x4a0b51
mov ebp, str.sqlite_temp_schema
mov edi, dword [esp + 0x54]
mov edx, dword [edi + 8]
mov ecx, dword [edx + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edx + 0x22]
and ecx, 1
push ecx
push eax
push dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push ebp
mov ebp, dword [esp + 0x6c]
mov eax, dword [eax + 0x10]
push dword [eax + ebp]
push str.sssiii
push 1
push esi
call fcn.004bca10
add esp, 0x24
mov ecx, dword [esp + 0x20]
mov edi, dword [edi]
mov dword [esp + 0x54], edi
test edi, edi
jne 0x4a0a70
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
add ebp, 0x10
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], eax
cmp eax, dword [ecx + 0x14]
mov eax, ecx
jl 0x4a0800
jmp 0x4a36ab
test edx, edx
je 0x4a36a7
mov edi, dword [esp + 0x28]
push edi
push edx
push dword [esp + 0x18]
call fcn.00490a10
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x4a0c28
push edi
push dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
push 2
push edi
call fcn.0049b220
add esp, 0x10
test eax, eax
je 0x4a36a7
test byte [eax + 0x1c], 0x80
je 0x4a36a7
push eax
call fcn.004a3e00
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x4a36a7
jmp 0x4a0c2c
mov edi, dword [esp + 0x14]
mov edx, dword [ebp + 0x18]
mov ecx, 0xffff8000
test edx, edx
je 0x4a0c50
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x4a0c50
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x4a0c48
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
je 0x4a0c63
movzx eax, word [ebp + 0x34]
mov edx, 6
jmp 0x4a0c6c
movzx eax, word [ebp + 0x32]
mov edx, 3
mov dword [esp + 0x18], eax
mov dword [edi + 0x2c], edx
mov eax, dword [ebp + 0xc]
push ecx
push edi
mov dword [esp + 0x2c], eax
call fcn.004843e0
xor edi, edi
add esp, 8
cmp word [esp + 0x18], di
je 0x4a36a7
mov eax, dword [ebp + 4]
movzx eax, word [eax + edi*2]
movsx edx, ax
test ax, ax
jns 0x4a0ca4
xor eax, eax
jmp 0x4a0cb2
mov eax, dword [esp + 0x24]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
push edx
push edi
push str.iisX
push 1
push esi
call fcn.004bca10
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x4a0cf6
movzx eax, word [ebp + 0x32]
cmp edi, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [ebp + 0x20]
push dword [eax + edi*4]
mov eax, dword [ebp + 0x1c]
movzx eax, byte [eax + edi]
push eax
push str.isiX
push 4
push esi
call fcn.004bca10
add esp, 0x18
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x2c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x64]
cmp dword [eax], ecx
jg 0x4a0d1d
push 0
push edx
push 1
push 0x54
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x4a0d53
mov ebx, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [ebx], eax
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x6c]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
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 + 0x18]
inc edi
movzx eax, cx
cmp edi, eax
jl 0x4a0c91
jmp 0x4a0370
test edx, edx
je 0x4a36a7
push dword [esp + 0x28]
push edx
push dword [esp + 0x18]
call fcn.00490ae0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4a36a7
mov edx, dword [edi + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x4a0daf
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x4a0daf
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x4a0da7
mov eax, dword [esp + 0x14]
push ecx
push eax
mov dword [eax + 0x2c], 5
call fcn.004843e0
mov edi, dword [edi + 8]
add esp, 8
xor ebx, ebx
test edi, edi
je 0x4a36a7
mov dword [esp + 0x8c], 0x51c6b0
mov dword [esp + 0x90], 0x51c6b4
mov dword [esp + 0x94], 0x517f4c
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x90]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.004bca10
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x4a0df2
jmp 0x4a0370
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [eax + 0x2c], 3
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], edi
jle 0x4a36ab
xor ebx, ebx
nop dword [eax]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x4a0e90
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
jne 0x4a0e76
cmp dword [eax], 0x532b70
je 0x4a0e76
mov eax, dword [eax + 0xb8]
jmp 0x4a0e7b
mov eax, 0x513410
push eax
push dword [ecx + ebx]
push edi
push 0x51c6c0
push 1
push esi
call fcn.004bca10
add esp, 0x18
mov eax, dword [esp + 0x10]
inc edi
add ebx, 0x10
cmp edi, dword [eax + 0x14]
jl 0x4a0e50
jmp 0x4a36ab
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [edi + 0x1b8]
test edi, edi
je 0x4a36a7
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x51c6c4
push 1
push esi
call fcn.004bca10
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x4a0ec1
jmp 0x4a36a7
mov eax, dword [esp + 0x10]
mov ebp, 0x536d28
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x14]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
mov edi, dword [ebp]
test edi, edi
je 0x4a0f1b
push ebx
push 1
push edi
push esi
call fcn.00472180
mov edi, dword [edi + 0x24]
add esp, 0x10
test edi, edi
jne 0x4a0f07
add ebp, 4
cmp ebp, 0x536d84
jl 0x4a0f00
mov edi, dword [esp + 0x10]
mov edi, dword [edi + 0x1a8]
test edi, edi
je 0x4a36a7
push ebx
push 0
push dword [edi + 8]
push esi
call fcn.00472180
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x4a0f38
jmp 0x4a36a7
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [edi + 0x18c]
test edi, edi
je 0x4a36a7
nop
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x51a5e0
push 1
push esi
call fcn.004bca10
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x4a0f70
jmp 0x4a36a7
mov edi, 0x512400
push dword [edi]
push 0x51a5e0
push 1
push esi
call fcn.004bca10
add edi, 0x10
add esp, 0x10
cmp edi, 0x512830
jl 0x4a0f96
jmp 0x4a36a7
test edx, edx
je 0x4a36a7
push dword [esp + 0x28]
push edx
push dword [esp + 0x18]
call fcn.00490ae0
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
je 0x4a36a7
cmp byte [eax + 0x2b], 0
jne 0x4a36a7
mov edi, dword [eax + 0x30]
test edi, edi
je 0x4a36a7
mov edx, dword [eax + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x4a1018
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x4a1018
nop
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x4a1010
mov eax, dword [esp + 0x14]
xor ebp, ebp
push ecx
push eax
mov dword [esp + 0x20], ebp
mov dword [eax + 0x2c], 8
call fcn.004843e0
add esp, 8
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x4a10eb
lea ebp, [edi + 0x24]
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x4a104d
jmp dword [eax*4 + 0x4a3794]
mov ecx, str.SET_NULL
jmp 0x4a1075
mov ecx, str.SET_DEFAULT
jmp 0x4a1075
mov ecx, str.CASCADE
jmp 0x4a1075
mov ecx, str.RESTRICT
jmp 0x4a1075
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x4a1081
jmp dword [eax*4 + 0x4a37a4]
mov eax, str.SET_NULL
jmp 0x4a10a9
mov eax, str.SET_DEFAULT
jmp 0x4a10a9
mov eax, str.CASCADE
jmp 0x4a10a9
mov eax, str.RESTRICT
jmp 0x4a10a9
mov eax, str.NO_ACTION
push str.NONE
push ecx
mov ecx, dword [ebp]
push eax
push dword [ebp + 4]
mov eax, dword [esp + 0x34]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x34]
push str.iissssss
push 1
push esi
call fcn.004bca10
inc ebx
add esp, 0x2c
add ebp, 8
cmp ebx, dword [edi + 0x14]
jl 0x4a1041
mov ebp, dword [esp + 0x18]
mov edi, dword [edi + 4]
inc ebp
mov dword [esp + 0x18], ebp
test edi, edi
jne 0x4a1033
jmp 0x4a0370
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [edx + 0x2c], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x4a36a7
nop
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4a1150
push dword [esp + 0x28]
push eax
push 0
push edx
call fcn.0049b220
mov edx, dword [esp + 0x24]
add esp, 0x10
xor ecx, ecx
jmp 0x4a1155
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x48], eax
test eax, eax
je 0x4a18d9
cmp byte [eax + 0x2b], 0
jne 0x4a18d9
cmp dword [eax + 0x30], 0
je 0x4a18d9
mov ecx, dword [eax + 0x3c]
mov edi, 0xffff8000
test ecx, ecx
je 0x4a119d
mov eax, dword [esp + 0x10]
xor edi, edi
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x4a119d
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x4a1195
mov eax, dword [esp + 0x10]
mov ebp, edi
shl ebp, 4
mov ecx, edi
mov dword [esp + 0x24], ebp
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp]
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0x80]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x5c]
test ebx, eax
jne 0x4a12d0
bts ebx, edi
mov dword [edx + 0x5c], ebx
cmp edi, 1
jne 0x4a12d9
push edx
call fcn.0049c630
add esp, 4
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
movsx eax, word [ebx + 0x22]
add eax, dword [esp + 0x38]
cmp dword [ecx + 0x2c], eax
jge 0x4a1203
mov dword [ecx + 0x2c], eax
push 0x70
push ebx
push edi
push 0
push ecx
call fcn.0049c2e0
push 0
push dword [ebx]
push 0
push dword [esp + 0x80]
push 0
push 0x75
push esi
call fcn.004b0e50
mov eax, dword [ebx + 0x30]
add esp, 0x30
mov dword [esp + 0x18], eax
mov ebp, 1
test eax, eax
je 0x4a13b9
nop dword [eax]
push dword [esp + 0x28]
push dword [eax + 8]
push dword [esp + 0x18]
call fcn.00490ae0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x4a13a1
mov dword [esp + 0x44], 0
cmp edi, 1
je 0x4a1292
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x4a1292
push dword [ebx]
push 0
push dword [ebx + 0x14]
push edi
push edx
call fcn.00468c10
add esp, 0x14
push 0
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x20]
push ebx
push dword [esp + 0x24]
call fcn.004926f0
add esp, 0x14
test eax, eax
jne 0x4a36a7
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x4a130a
push 0x70
push ebx
push edi
push ebp
push dword [esp + 0x24]
call fcn.0049c2e0
add esp, 0x14
jmp 0x4a13a1
cmp edi, 1
je 0x4a11eb
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x48]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp + 4]
cmp byte [eax + 9], 0
je 0x4a11f3
push dword [ebx]
push 0
push dword [ebx + 0x14]
push edi
push ecx
call fcn.00468c10
add esp, 0x14
jmp 0x4a11ef
mov edx, dword [eax + 0x2c]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x4a132b
push edi
push edx
push ebp
push 0x70
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x4a1351
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
push dword [esp + 0x44]
push eax
mov ebx, dword [eax + 8]
call fcn.0049a220
mov edx, eax
add esp, 8
test edx, edx
je 0x4a13a1
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x4a138f
cmp dword [eax + 0x210], 0
jne 0x4a13a1
add dword [edx], 0xffffffff
jne 0x4a13a1
push edx
push dword [edx + 0xc]
call fcn.00487c30
add esp, 8
jmp 0x4a13a1
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [esp + 0x18]
inc ebp
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a1240
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x28], ebp
jge 0x4a13c5
mov dword [eax + 0x28], ebp
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov edx, dword [edi]
mov dword [esp + 0x5c], edx
cmp dword [eax], edx
jg 0x4a13ee
push 0
push 0
push 0
push 0x24
push esi
call fcn.0045f9a0
add esp, 0x14
mov dword [esp + 0x5c], eax
jmp 0x4a1420
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [ebx + 0x30]
mov dword [esp + 0x4c], 1
mov dword [esp + 0x2c], ebp
test ebp, ebp
je 0x4a1867
mov ecx, dword [esp + 0x10]
nop dword [eax + eax]
push dword [esp + 0x28]
push dword [ebp + 8]
push ecx
call fcn.00490ae0
xor edi, edi
mov dword [esp + 0x30], eax
add esp, 0xc
mov dword [esp + 0x44], 0
mov dword [esp + 0x18], edi
test eax, eax
je 0x4a1482
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x48]
push ecx
push ebp
push eax
push dword [esp + 0x24]
call fcn.004926f0
mov edi, dword [esp + 0x2c]
add esp, 0x14
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x18], ebx
lea ecx, [edx + eax]
cmp dword [esi + 0x2c], ecx
mov esi, dword [esp + 0x40]
jge 0x4a14b1
mov eax, dword [esp + 0x14]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp + 0x14]
xor ebp, ebp
test eax, eax
jle 0x4a1554
mov ecx, dword [esp + 0x2c]
mov ebx, edx
add ecx, 0x24
mov dword [esp + 0x30], ecx
lea eax, [edi + ebp*4]
test edi, edi
jne 0x4a14d1
mov eax, ecx
mov eax, dword [eax]
push ebx
push eax
push 0
push dword [esp + 0x54]
push esi
call fcn.0048b100
mov edx, dword [esp + 0x30]
add esp, 0x14
mov eax, dword [esp + 0x64]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x4a1506
push 0
push dword [esp + 0x1c]
push ebx
push 0x32
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x4a1534
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
inc ebp
mov ecx, dword [esp + 0x30]
inc ebx
add ecx, 8
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x14]
cmp ebp, eax
jl 0x4a14c8
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
test edx, edx
je 0x4a15f3
mov ecx, dword [edx + 0x10]
test ecx, ecx
jne 0x4a157f
push edx
push dword [esp + 0x14]
call fcn.00450fc0
mov ebp, dword [esp + 0x34]
mov ecx, eax
add esp, 8
mov eax, dword [ebp + 0x14]
jmp 0x4a1583
mov ebp, dword [esp + 0x2c]
push eax
push ecx
push 0
push eax
push dword [esp + 0x48]
push 0x60
push esi
call fcn.004b0e50
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov edx, dword [ebp + 0x14]
mov ecx, dword [eax]
mov eax, dword [esp + 0x64]
cmp dword [eax], ecx
jg 0x4a15c2
push edx
push dword [esp + 0x3c]
push ebx
push dword [esp + 0x58]
push 0x1d
push esi
call fcn.00445f60
add esp, 0x18
jmp 0x4a165f
mov ebp, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [ebp], eax
mov eax, dword [esi + 0x68]
mov ebp, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x38]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x4a165b
cmp dword [esp + 0x24], 0
je 0x4a165b
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [ebp]
lea edx, [ecx + 2]
cmp dword [eax], ecx
jg 0x4a1622
push dword [esp + 0x38]
push edx
push dword [esp + 0x54]
push 0x1e
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x4a1651
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebp, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x1e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], 0
push ebx
push esi
call fcn.004bac00
add esp, 8
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
mov ecx, dword [eax]
test byte [edx + 0x1c], 0x80
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
jne 0x4a16ab
cmp eax, ecx
jg 0x4a1693
mov eax, dword [esp + 0x60]
push 0
inc eax
push eax
push 0
push 0x87
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x4a1701
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx], eax
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x87
jmp 0x4a16dc
cmp eax, ecx
jg 0x4a16c6
mov eax, dword [esp + 0x60]
push 0
inc eax
push eax
push 0
push 0x4b
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x4a1701
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx], eax
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov edx, dword [esp + 0x60]
mov ebp, dword [esp + 0x2c]
inc edx
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 4], 0
mov eax, dword [esp + 0x4c]
dec eax
push eax
push dword [ebp + 8]
mov eax, dword [esp + 0x68]
push 0x51c6dc
add eax, 2
push eax
push esi
call fcn.004bca10
mov edx, dword [esp + 0x30]
add esp, 0x14
mov eax, dword [esp + 0x64]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x4a1743
push 0
push 4
push dword [esp + 0x68]
push 0x54
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x4a1775
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x60]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4a178f
push ebx
push esi
push ecx
call fcn.00475850
add esp, 0xc
jmp 0x4a179b
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebx*4], eax
mov ecx, dword [esp + 0x10]
test edi, edi
je 0x4a1850
cmp edi, dword [ecx + 0x164]
jae 0x4a17e2
cmp edi, dword [ecx + 0x15c]
jb 0x4a17ca
mov eax, dword [ecx + 0x158]
mov dword [edi], eax
mov dword [ecx + 0x158], edi
jmp 0x4a1850
cmp edi, dword [ecx + 0x160]
jb 0x4a17e2
mov eax, dword [ecx + 0x150]
mov dword [edi], eax
mov dword [ecx + 0x150], edi
jmp 0x4a1850
cmp dword [ecx + 0x210], 0
je 0x4a17f7
push edi
push ecx
call fcn.00469e10
add esp, 8
jmp 0x4a184c
cmp dword [0x5320f0], 0
je 0x4a1842
mov eax, dword [0x536de8]
test eax, eax
je 0x4a1813
push eax
call dword [0x532140]
add esp, 4
push edi
call dword [0x53211c]
sub dword [0x536d88], eax
dec dword [0x536dac]
push edi
call dword [0x532114]
mov eax, dword [0x536de8]
add esp, 8
test eax, eax
je 0x4a184c
push eax
call dword [0x532148]
jmp 0x4a1849
push edi
call dword [0x532114]
add esp, 4
mov ecx, dword [esp + 0x10]
mov ebp, dword [ebp + 4]
inc dword [esp + 0x4c]
mov dword [esp + 0x2c], ebp
test ebp, ebp
jne 0x4a1440
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
mov ecx, dword [edi]
lea edx, [ebx + 1]
cmp dword [eax], ecx
jg 0x4a188a
push 0
push edx
push 0
push 0x27
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x4a18b8
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
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 eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x4a18c9
mov eax, 0x536fc0
jmp 0x4a18d2
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x6c]
mov dword [eax + 8], edx
test ecx, ecx
je 0x4a36a7
mov edx, dword [esp + 0x14]
jmp 0x4a1130
test edx, edx
je 0x4a36a7
push 0
push edx
call fcn.004964f0
add esp, 8
test al, al
je 0x4a1910
mov ebp, 0x5133e8
mov dword [esp + 0x18], 0xc
jmp 0x4a191d
mov ebp, 0x5133e4
mov dword [esp + 0x18], 4
mov esi, dword [esp + 0x10]
mov ebx, 2
nop word [eax + eax]
lea edi, [ebx + 1]
cmp edi, 0x80
ja 0x4a1a45
push 0
push 1
push ebx
push str.like
push esi
call fcn.0048fed0
add esp, 0x14
test eax, eax
je 0x4a19e4
mov ecx, dword [eax + 4]
and cl, 3
cmp cl, 1
jne 0x4a19e4
movsx eax, byte [eax]
cmp eax, ebx
jne 0x4a19e4
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xbc], 0
je 0x4a19d5
push str.unable_to_delete_modify_user_function_due_to_active_statements
push 5
push eax
call fcn.00489ef0
add esp, 0xc
mov esi, dword [esp + 0x10]
push 0
push 1
push ebx
push str.like
push esi
call fcn.0048fed0
mov ebx, edi
add esp, 0x14
mov ecx, dword [eax + 4]
or ecx, dword [esp + 0x18]
and ecx, 0xffdfffff
mov dword [eax + 4], ecx
cmp ebx, 3
jle 0x4a1930
push dword [esp + 0x34]
push esi
call fcn.00487a00
mov eax, dword [esp + 0x28]
add esp, 8
jmp 0x4a36c0
push 0
push eax
call fcn.0048a2b0
mov esi, dword [esp + 0x18]
add esp, 8
push 1
push 1
push ebx
push str.like
push esi
call fcn.0048fed0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4a198d
push esi
push dword [esp + 0x14]
call fcn.0045d530
mov eax, dword [esi + 4]
add esp, 8
and eax, 3
mov dword [esi + 0x24], 0
or eax, 0x200000
mov dword [esi + 0x10], 0x4375b0
mov dword [esi + 4], eax
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 8], ebp
mov byte [esi], bl
jmp 0x4a198d
push 0x51e124
push 0x2bf2c
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.00444580
add esp, 0x14
jmp 0x4a1991
mov edi, dword [esp + 0x3c]
xor eax, eax
mov ebx, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x28], eax
mov ebp, 0x64
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x30], ebp
movzx eax, byte [eax]
mov al, byte [eax + 0x512ea8]
cmp al, 0x71
mov byte [esp + 0x53], al
mov eax, dword [esp + 0x2c]
sete cl
mov dword [esp + 0x80], ecx
mov ecx, 0xffffffff
cmp dword [eax], 0
mov dword [ebx + 0x2c], 6
cmove edi, ecx
mov dword [esp + 0x3c], edi
test edx, edx
je 0x4a1b17
lea eax, [esp + 0x30]
push eax
push edx
call fcn.00496740
add esp, 8
test eax, eax
je 0x4a1ae5
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x18], ebp
test ebp, ebp
jg 0x4a1b17
mov ebp, 0x64
jmp 0x4a1b13
test edi, edi
js 0x4a1af9
mov eax, dword [esp + 0x10]
mov ecx, edi
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x4a1afb
xor eax, eax
push eax
push dword [esp + 0x24]
push 0
push ebx
call fcn.0049b220
mov ebp, dword [esp + 0x40]
add esp, 0x10
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ebp
push 1
lea ecx, [ebp - 1]
push ecx
push 0x47
push esi
call fcn.004b0d90
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x48], ecx
cmp dword [eax + 0x14], ecx
jle 0x4a2f6b
nop dword [eax + eax]
xor ebp, ebp
test edi, edi
js 0x4a1b4e
cmp ecx, edi
jne 0x4a2f59
mov eax, dword [ebx + 0x80]
mov edx, ebx
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x5c]
test edi, eax
jne 0x4a1b81
bts edi, ecx
mov dword [edx + 0x5c], edi
cmp ecx, 1
jne 0x4a1b81
push edx
call fcn.0049c630
mov ecx, dword [esp + 0x4c]
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, ecx
mov byte [ebx + 0x17], 0
xor ecx, ecx
shl edx, 4
mov dword [esp + 0x24], edx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 0xc]
mov dword [esp + 0x30], eax
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x4a2f49
mov edx, dword [esp + 0x28]
nop
mov edi, dword [ebx + 8]
test edx, edx
je 0x4a1bbb
cmp edx, edi
jne 0x4a1be2
test byte [edi + 0x1c], 0x80
lea eax, [ecx + 1]
cmovne eax, ecx
xor edx, edx
mov ecx, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x4a1bd9
mov eax, dword [eax + 0x14]
inc ecx
inc edx
test eax, eax
jne 0x4a1bd0
cmp edx, ebp
cmovg ebp, edx
mov edx, dword [esp + 0x28]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4a1bb0
test ecx, ecx
je 0x4a2f49
test edx, edx
lea eax, [ecx + 1]
push ebx
cmove eax, ecx
lea eax, [eax*4 + 4]
push eax
push dword [esp + 0x18]
call fcn.00487b10
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4a2f67
xor edx, edx
cmp dword [esp + 0x28], edx
je 0x4a1c25
lea edx, [ebx + 1]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x30]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x4a1c6b
mov esi, dword [esp + 0x28]
mov ecx, dword [ebx + 8]
test esi, esi
je 0x4a1c3f
cmp esi, ecx
jne 0x4a1c61
test byte [ecx + 0x1c], 0x80
jne 0x4a1c4c
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x4a1c61
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4a1c53
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4a1c34
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x14]
add ebp, 8
mov dword [edi], edx
cmp dword [ebx + 0x2c], ebp
jge 0x4a1c7c
mov dword [ebx + 0x2c], ebp
push 0xfffffffffffffff2
push edi
push 1
push edx
push 2
push 0x9b
push esi
mov byte [ebx + 0x13], 0
mov dword [ebx + 0x1c], 0
call fcn.004b0e50
mov ebp, dword [esp + 0x38]
add esp, 0x1c
mov edi, dword [ebp]
test edi, edi
jle 0x4a1cbd
mov eax, dword [esp + 0x48]
lea ecx, [edi + edi*4]
movzx edx, al
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edi, dword [ebp]
mov eax, dword [esp + 0x64]
cmp dword [eax], edi
jg 0x4a1cda
push 0
push 0
push 2
push 0x32
push esi
call fcn.0045f9a0
add esp, 0x14
mov edi, eax
jmp 0x4a1d0d
lea eax, [edi + 1]
mov dword [ebp], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
push 0xfffffffffffffffa
mov eax, dword [edx + 0x10]
push dword [eax + ecx]
push str._in_database__s__n
push edx
call fcn.0049b7d0
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.004b0e50
mov eax, dword [esp + 0x80]
add esp, 0x1c
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x4a1d5e
push 3
push 3
push 2
push 0x6f
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x4a1d91
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.00460be0
mov eax, dword [esi]
add esp, 4
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x4a1dac
mov eax, 0x536fc0
jmp 0x4a1db5
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x30]
mov ebp, dword [eax + 0x10]
mov dword [esp + 0x24], ebp
test ebp, ebp
je 0x4a2f4d
mov eax, dword [esp + 0x28]
nop
mov ebp, dword [ebp + 8]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x7c], 0
mov dword [esp + 0x44], 0xffffffff
test eax, eax
je 0x4a1df3
cmp eax, ebp
jne 0x4a2f34
mov al, byte [ebp + 0x2b]
test al, al
je 0x4a1fa6
cmp al, 1
jne 0x4a2f30
cmp word [ebp + 0x22], 0
jg 0x4a1e30
mov eax, dword [ebp + 0x30]
push 0
push dword [eax]
mov eax, dword [esp + 0x18]
add eax, 0x184
push eax
call fcn.00459820
add esp, 0xc
cmp dword [eax + 8], 0
je 0x4a2f30
cmp byte [ebp + 0x2b], 1
je 0x4a1e3d
cmp word [ebp + 0x22], 0
jg 0x4a1e47
push ebp
push ebx
call fcn.004d0b90
add esp, 8
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x4a2f30
mov eax, dword [eax + 8]
test eax, eax
je 0x4a2f30
mov eax, dword [eax]
test eax, eax
je 0x4a2f30
cmp dword [eax], 4
jl 0x4a2f30
cmp dword [eax + 0x60], 0
je 0x4a2f30
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x4a1ea9
push dword [esp + 0x80]
push 3
push dword [esp + 0x50]
push 0xae
push esi
call fcn.0045f9a0
mov edx, dword [esp + 0x30]
add esp, 0x14
jmp 0x4a1ede
mov edi, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x80]
mov dword [eax + ecx*4], 0xae
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp + 0x18]
lea eax, [ecx + 1]
mov dword [ebp + 0x18], eax
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4a1f0b
cmp dword [eax + 0x210], 0
jne 0x4a1f1c
mov dword [ebp + 0x18], ecx
test ecx, ecx
jne 0x4a1f1c
push ebp
push eax
call fcn.004540f0
add esp, 8
jmp 0x4a1f1c
mov eax, dword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf0
mov dword [eax + ecx*4 - 4], ebp
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov edi, dword [ebp]
cmp dword [eax], edi
jg 0x4a1f40
push 0
push 0
push 3
push 0x32
push esi
call fcn.0045f9a0
add esp, 0x14
mov edi, eax
jmp 0x4a1f73
lea eax, [edi + 1]
mov dword [ebp], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.00460be0
mov eax, dword [esi]
add esp, 4
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x4a1f94
mov eax, 0x536fc0
mov dword [eax + 8], edx
jmp 0x4a2f30
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x4a2f30
cmp byte [esp + 0x53], 0x71
je 0x4a2095
test byte [ebp + 0x1c], 0x80
je 0x4a2095
mov edi, dword [ebp + 8]
mov dword [esp + 0x4c], edi
test edi, edi
je 0x4a1fda
mov eax, dword [edi + 0x38]
and al, 3
cmp al, 2
je 0x4a1fd6
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x4a1fc6
mov dword [esp + 0x4c], edi
movzx ecx, word [edi + 0x32]
cmp ecx, 1
jne 0x4a200b
mov al, byte [ebx + 0x13]
test al, al
jne 0x4a1ff6
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x2c], eax
jmp 0x4a2034
dec al
mov byte [ebx + 0x13], al
movzx eax, al
mov eax, dword [ebx + eax*4 + 0xa4]
mov dword [esp + 0x2c], eax
jmp 0x4a2034
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x2c], eax
cmp ecx, edx
jg 0x4a2025
add eax, ecx
sub edx, ecx
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x1c], edx
jmp 0x4a2034
mov eax, dword [ebx + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x2c], edx
mov dword [ebx + 0x2c], eax
movzx eax, word [edi + 0x32]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
dec edx
add edx, eax
mov eax, dword [esp + 0x64]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a2061
push edx
push dword [esp + 0x30]
push 1
push 0x4b
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x4a20a9
mov ebp, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], ebp
mov ebp, dword [esp + 0x68]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4a20a9
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x2c], 0
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x64]
push eax
push 0
push 1
push 0
push 0x70
push ebp
push ebx
call fcn.0049c420
mov eax, dword [esp + 0x84]
add esp, 0x20
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a20e5
push 0
push 7
push 0
push 0x47
push esi
call fcn.0045f9a0
add esp, 0x14
jmp 0x4a2117
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 7
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [ebp + 8]
test edi, edi
je 0x4a213d
mov ebx, 8
push ebx
push 0
push 0x47
push esi
call fcn.004b0d90
mov edi, dword [edi + 0x14]
add esp, 0x10
inc ebx
test edi, edi
jne 0x4a2123
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x60]
push 0
push edi
push 0x24
push esi
call fcn.004b0d90
push 1
push 7
push 0x56
push esi
call fcn.004b0d90
add esp, 0x20
mov dword [esp + 0x8c], eax
test byte [ebp + 0x1c], 0x80
jne 0x4a21a5
movsx edi, word [ebp + 0x22]
or ecx, 0xffffffff
test edi, edi
jle 0x4a2193
mov edx, dword [ebp + 4]
add edx, 0xe
nop dword [eax]
test byte [edx], 0x20
lea eax, [ecx + 1]
lea edx, [edx + 0x10]
cmovne eax, ecx
mov ecx, eax
sub edi, 1
jne 0x4a2180
movsx eax, word [ebp + 0x20]
lea edx, [ecx - 1]
mov edi, dword [esp + 0x60]
cmp ecx, eax
cmovne edx, ecx
jmp 0x4a21c5
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x4a21c0
nop dword [eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x4a21c0
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4a21b0
movzx edx, word [ecx + 0x34]
dec edx
test edx, edx
js 0x4a220d
push 3
push edx
push edi
push 0x5e
push esi
call fcn.004b0df0
mov eax, dword [esi]
add esp, 0x14
cmp byte [eax + 0x57], 0
je 0x4a21e7
mov eax, 0x536fc0
jmp 0x4a21f9
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp dword [eax + 0xc], 3
jne 0x4a220d
cmp byte [eax], 0x5e
jne 0x4a220d
mov ecx, 0x80
or word [eax + 2], cx
cmp byte [esp + 0x53], 0x71
je 0x4a22f4
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4a22f4
movzx eax, word [eax + 0x32]
push eax
push dword [esp + 0x30]
push 0
push edi
push 0x29
push esi
call fcn.004b0ed0
push dword [esp + 0x44]
mov edi, eax
push 0x32
push esi
call fcn.004b0d30
push dword [ebp]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x3c]
call fcn.0049b7d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.004b0e50
add esp, 0x4c
push esi
call fcn.00460be0
mov eax, dword [esp + 0x20]
lea ecx, [edi + edi*4]
add esp, 4
shl ecx, 2
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4a228f
mov eax, 0x536fc0
jmp 0x4a2294
mov eax, dword [esi + 0x68]
add eax, ecx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4a22ac
mov eax, 0x536fc8
jmp 0x4a22b4
mov eax, dword [esi + 0x68]
add eax, 0x1c
add eax, ecx
mov dword [eax], edx
xor ecx, ecx
mov eax, dword [esp + 0x4c]
xor edi, edi
cmp cx, word [eax + 0x32]
jae 0x4a22f4
mov ebp, dword [esp + 0x60]
mov esi, eax
nop word [eax + eax]
mov eax, dword [esp + 0x2c]
add eax, edi
push eax
push edi
push ebp
push esi
push ebx
call fcn.0048c0b0
movzx eax, word [esi + 0x32]
inc edi
add esp, 0x14
cmp edi, eax
jl 0x4a22d0
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x68]
movzx ecx, word [ebp + 0x1e]
xor ebx, ebx
and ecx, 1
mov dword [esp + 0x30], ebx
xor eax, eax
mov dword [esp + 0x5c], ecx
cmp ax, word [ebp + 0x22]
jge 0x4a2840
mov dword [esp + 0x40], eax
mov edx, dword [ebp + 4]
add edx, eax
movsx eax, word [ebp + 0x20]
mov dword [esp + 0x54], edx
cmp ebx, eax
je 0x4a2818
test ecx, ecx
mov ecx, dword [edx + 4]
je 0x4a2345
mov eax, ecx
mov edi, 0x10
and eax, 0xf0
cmp edi, eax
sbb eax, eax
neg eax
jmp 0x4a234e
xor eax, eax
cmp byte [edx + 8], 0x41
setg al
mov dword [esp + 0x6c], eax
test cl, 0xf
jne 0x4a235f
test eax, eax
je 0x4a2814
test byte [edx + 0xe], 0x20
mov dword [esp + 0x58], 5
je 0x4a238d
push 3
push ebx
push dword [esp + 0x68]
push ebp
push esi
call fcn.0048b100
add esp, 0x14
or ecx, 0xffffffff
mov dword [esp + 0x38], ecx
lea ebp, [ecx + 4]
jmp 0x4a247a
movzx eax, word [edx + 0xc]
test ax, ax
je 0x4a2420
cmp byte [ebp + 0x2b], 0
mov dword [esp + 0x38], 0
jne 0x4a2420
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x4a2420
cmp dword [ecx], eax
jl 0x4a2420
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*4 - 0xc]
test ecx, ecx
je 0x4a2420
push 0
lea eax, [esp + 0x3c]
push eax
movzx eax, byte [edx + 8]
mov edx, dword [esp + 0x18]
push eax
movzx eax, byte [edx + 0x54]
push eax
push ecx
push edx
call fcn.004cc590
mov edi, dword [esp + 0x50]
add esp, 0x18
test edi, edi
je 0x4a2420
movzx ecx, word [edi + 0x10]
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x517158]
mov dword [esp + 0x58], eax
test ecx, 0x9000
jne 0x4a240b
cmp dword [edi + 0x18], 0
je 0x4a2414
push edi
call fcn.004ce210
add esp, 4
push edi
push dword [edi + 0x14]
call fcn.00487a00
add esp, 8
test byte [ebp + 0x1c], 0x80
mov eax, dword [esp + 0x60]
mov dword [esp + 0x38], eax
je 0x4a2469
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x4a2445
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x4a2445
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4a2435
movzx edi, word [ecx + 0x34]
xor edx, edx
test edi, edi
je 0x4a245f
mov eax, dword [ecx + 4]
cmp bx, word [eax]
je 0x4a2464
inc edx
add eax, 2
cmp edx, edi
jl 0x4a2452
or eax, 0xffffffff
jmp 0x4a2473
movzx eax, dx
jmp 0x4a2473
push ebx
push ebp
call fcn.004ac560
add esp, 8
mov ecx, dword [esp + 0x38]
movsx ebp, ax
mov edx, dword [esp + 0x14]
mov ebx, esi
mov dword [esp + 0x84], ebx
mov eax, dword [edx + 0x38]
dec eax
mov dword [esp + 0x74], eax
lea edi, [eax - 1]
mov eax, dword [esp + 0x54]
mov dword [edx + 0x38], edi
mov dword [esp + 0x78], edi
test byte [eax + 4], 0xf
je 0x4a25b0
push dword [esp + 0x58]
push ebp
push edi
push ecx
push 0x12
push esi
call fcn.004b0ed0
mov edx, dword [esp + 0x50]
mov ebx, eax
mov eax, dword [esp + 0x34]
add esp, 0x18
mov ecx, dword [eax]
test edx, edx
jns 0x4a24e1
test ecx, ecx
jle 0x4a24dd
lea edx, [ecx + ecx*4]
mov eax, 0xf
mov ecx, dword [esi + 0x68]
mov word [ecx + edx*4 - 0x12], ax
mov edi, ebx
jmp 0x4a2515
test ecx, ecx
jle 0x4a24f9
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov edx, 0xd
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x38]
push 3
push ebp
push edx
push 0x5e
push esi
call fcn.004b0df0
push edi
push 3
push 0x33
push esi
call fcn.004b0d90
add esp, 0x24
mov edi, eax
mov eax, dword [esp + 0x54]
push dword [eax]
mov eax, dword [esp + 0x6c]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.0049b7d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.004b0e50
mov ecx, dword [esp + 0x98]
add esp, 0x2c
test ecx, ecx
je 0x4a264e
push dword [esp + 0x74]
push esi
call fcn.004bac00
mov eax, dword [esp + 0x24]
add esp, 8
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4a2574
mov eax, 0x536fc0
jmp 0x4a257d
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4a2595
mov eax, 0x536fc0
jmp 0x4a259e
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x78]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x6c]
cmp dword [esp + 0x5c], 0
je 0x4a2691
test ecx, ecx
je 0x4a2662
push dword [esp + 0x58]
push ebp
mov ebp, dword [esp + 0x40]
push edi
push ebp
push 0x12
push esi
call fcn.004b0ed0
mov ebx, dword [esp + 0x34]
add esp, 0x18
mov ecx, dword [ebx]
test ecx, ecx
jle 0x4a2606
mov eax, dword [esp + 0x54]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + 4]
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x5338fb]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x40]
mov eax, dword [ecx + 4]
push dword [eax + ebp]
mov eax, dword [esp + 0x58]
push dword [ecx]
mov eax, dword [eax + 4]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x5322e0]
push str.non__s_value_in__s._s
push dword [esp + 0x20]
call fcn.0049b7d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.004b0e50
add esp, 0x30
jmp 0x4a266c
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 0x54]
jmp 0x4a25b4
mov esi, ebx
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x74]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4a27cf
push edx
push esi
push ecx
call fcn.00475850
add esp, 0xc
jmp 0x4a27d7
cmp byte [eax + 8], 0x42
mov esi, ebx
jne 0x4a2702
push dword [esp + 0x58]
push ebp
mov ebp, dword [esp + 0x40]
push edi
push ebp
push 0x12
push ebx
call fcn.004b0ed0
mov eax, dword [esp + 0x34]
add esp, 0x18
mov eax, dword [eax]
test eax, eax
jle 0x4a26c9
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [ebx + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x40]
mov eax, dword [ecx + 4]
push dword [eax + ebp]
push dword [ecx]
push str.NUMERIC_value_in__s._s
push dword [esp + 0x1c]
call fcn.0049b7d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push ebx
call fcn.004b0e50
add esp, 0x2c
mov esi, ebx
jmp 0x4a2668
cmp byte [eax + 8], 0x43
jl 0x4a2664
mov ebx, dword [esp + 0x58]
push ebx
push ebp
mov ebp, dword [esp + 0x40]
push edi
push ebp
push 0x12
push esi
call fcn.004b0ed0
mov eax, dword [esp + 0x34]
add esp, 0x18
mov eax, dword [eax]
test eax, eax
jle 0x4a273d
lea ecx, [eax + eax*4]
mov edx, 0x1b
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
test ebp, ebp
js 0x4a2758
push 3
push dword [esp + 0x34]
push dword [esp + 0x68]
push dword [esp + 0x74]
push esi
call fcn.0048b100
add esp, 0x14
push 0xffffffffffffffff
push 0x51c760
push 0
push 1
push 3
push 0x60
push esi
call fcn.004b0e50
push ebx
push 3
push edi
push 0xffffffffffffffff
push 0x12
push esi
call fcn.004b0ed0
mov ebx, dword [esp + 0x50]
add esp, 0x34
mov eax, dword [ebx]
test eax, eax
jle 0x4a2798
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x40]
mov eax, dword [ecx + 4]
push dword [eax + ebp]
push dword [ecx]
push str.TEXT_value_in__s._s
push dword [esp + 0x1c]
call fcn.0049b7d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.004b0e50
add esp, 0x2c
jmp 0x4a266c
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
push esi
call fcn.00460be0
mov ecx, dword [esi + 0xc]
add esp, 4
not edi
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4a2802
push edi
push esi
push ecx
call fcn.00475850
mov ebx, dword [esp + 0x3c]
add esp, 0xc
mov ecx, dword [esp + 0x5c]
jmp 0x4a281c
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x30]
mov dword [ecx + edi*4], eax
mov ecx, dword [esp + 0x5c]
jmp 0x4a281c
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x40]
add ebp, 0x10
inc ebx
mov dword [esp + 0x40], ebp
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x30], ebx
movsx eax, word [ebp + 0x22]
cmp ebx, eax
mov eax, dword [esp + 0x40]
jl 0x4a2315
mov dword [esp + 0x40], esi
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x4a297d
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x4a297d
push eax
push ecx
push ebx
call fcn.0048ef90
add esp, 0xc
mov edx, eax
cmp byte [ebx + 0x57], 0
mov dword [esp + 0x30], edx
jne 0x4a296f
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
inc eax
mov ebp, dword [edi + 0x38]
dec ebp
mov dword [edi + 0x34], eax
lea ebx, [ebp - 1]
mov dword [edi + 0x38], ebx
mov edi, dword [edx]
dec edi
mov dword [esp + 0x74], ebx
test edi, edi
jle 0x4a28d2
mov esi, dword [esp + 0x14]
lea ebx, [edi*4 + 2]
add ebx, edi
lea ebx, [edx + ebx*4]
nop dword [eax]
push 0
push ebp
push dword [ebx]
push esi
call fcn.0048e050
dec edi
lea ebx, [ebx - 0x14]
add esp, 0x10
test edi, edi
jg 0x4a28b0
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x74]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
push 0x10
push ebx
push dword [edx + 8]
push edi
call fcn.0048e440
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4a28ff
push ebp
push esi
push ecx
call fcn.00475850
add esp, 0xc
jmp 0x4a290b
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebp*4], eax
mov ebp, dword [esp + 0x68]
mov dword [edi + 0x34], 0
push dword [ebp]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x18]
call fcn.0049b7d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.004b0e50
push esi
call fcn.00460be0
mov ecx, dword [esi + 0xc]
add esp, 0x2c
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4a295b
push ebx
push esi
push ecx
call fcn.00475850
add esp, 0xc
jmp 0x4a2967
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebx*4], eax
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
test edx, edx
je 0x4a297d
push edx
push ebx
call fcn.00458120
add esp, 8
cmp byte [esp + 0x53], 0x71
je 0x4a2dc4
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x4a2dc4
mov ebx, dword [esp + 0x70]
mov eax, 8
mov ecx, dword [esp + 0x4c]
sub eax, ebx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], ebx
nop
mov edi, dword [eax + 0x38]
dec edi
mov dword [eax + 0x38], edi
cmp ecx, ebp
je 0x4a2db4
push dword [esp + 0x44]
lea ecx, [esp + 0x8c]
push dword [esp + 0x80]
push ecx
push 0
push 0
push dword [esp + 0x74]
push ebp
push eax
call fcn.00495d70
mov ecx, dword [esp + 0x94]
push 1
add ecx, ebx
mov dword [esp + 0x68], eax
push ecx
push 0x56
push esi
mov dword [esp + 0xac], ebp
call fcn.004b0d90
movzx eax, word [ebp + 0x34]
push eax
push dword [esp + 0x78]
push edi
push ebx
push 0x1d
push esi
call fcn.004b0ed0
add esp, 0x48
mov edi, eax
push 0
push str.row
push 0
push 3
push 0
push 0x75
push esi
call fcn.004b0e50
push 3
push 3
push 7
push 0x6f
push esi
call fcn.004b0df0
push 0
push str._missing_from_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.004b0e50
add esp, 0x4c
push 3
push 3
push 4
push 0x6f
push esi
call fcn.004b0df0
push 0
push dword [ebp]
push 0
push 4
push 0
push 0x75
push esi
call fcn.004b0e50
push 3
push 3
push 4
push 0x6f
push esi
mov dword [esp + 0x74], eax
call fcn.004b0df0
add esp, 0x44
push esi
call fcn.00460be0
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp byte [ecx + 0x57], 0
je 0x4a2aab
mov ecx, 0x536fc0
jmp 0x4a2ab4
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x68]
mov dword [ecx + 8], edx
test byte [eax + 0x1c], 0x80
jne 0x4a2b58
push 3
push ebx
push 0x8e
push esi
call fcn.004b0d90
mov ecx, dword [esp + 0x54]
movzx eax, word [ebp + 0x34]
dec ecx
add eax, ecx
push eax
push 0
push 3
push 0x35
push esi
call fcn.004b0df0
push 0
push str.rowid_not_at_end_of_record_for_row
push 0
push 3
push 0
push 0x75
push esi
mov edi, eax
call fcn.004b0e50
add esp, 0x40
push 3
push 3
push 7
push 0x6f
push esi
call fcn.004b0df0
push 0
push str._of_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.004b0e50
mov eax, dword [esp + 0x60]
dec eax
push eax
push esi
call fcn.004bac00
mov eax, dword [esp + 0x54]
add esp, 0x38
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4a2b4c
mov eax, 0x536fc0
jmp 0x4a2b55
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
xor eax, eax
xor ebx, ebx
xor edi, edi
cmp ax, word [ebp + 0x32]
jae 0x4a2c5d
nop dword [eax + eax]
mov eax, dword [ebp + 0x20]
cmp dword [eax + edi*4], 0x512fbc
je 0x4a2bae
test ebx, ebx
jne 0x4a2b8a
mov eax, dword [esp + 0x14]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
push 3
push edi
push dword [esp + 0x40]
push 0x5e
push esi
call fcn.004b0df0
mov eax, dword [esp + 0x58]
add eax, edi
push eax
push ebx
push 3
push 0x34
push esi
call fcn.004b0df0
add esp, 0x28
movzx eax, word [ebp + 0x32]
inc edi
cmp edi, eax
jl 0x4a2b70
test ebx, ebx
je 0x4a2c5d
push 9
push esi
call fcn.004b0ce0
mov edx, dword [esi + 0xc]
add esp, 8
mov edi, eax
not ebx
mov ecx, dword [edx + 0x3c]
add ecx, dword [edx + 0x38]
jns 0x4a2be6
push ebx
push esi
push edx
call fcn.00475850
add esp, 0xc
jmp 0x4a2bf2
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebx*4], eax
push 0
push str.row
push 0
push 3
push 0
push 0x75
push esi
call fcn.004b0e50
push 3
push 3
push 7
push 0x6f
push esi
call fcn.004b0df0
push 0
push str._values_differ_from_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.004b0e50
mov eax, dword [esp + 0x7c]
add esp, 0x4c
dec eax
push eax
push esi
call fcn.004bac00
mov eax, dword [esp + 0x24]
add esp, 8
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4a2c51
mov eax, 0x536fc0
jmp 0x4a2c5a
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp byte [ebp + 0x36], 0
je 0x4a2d4e
mov eax, dword [esp + 0x14]
xor edi, edi
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
xor eax, eax
cmp ax, word [ebp + 0x32]
jae 0x4a2cb7
nop dword [eax + eax]
mov eax, dword [ebp + 4]
movsx ecx, word [eax + edi*2]
test ecx, ecx
js 0x4a2c9b
mov eax, dword [esp + 0x68]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x4a2cae
mov eax, dword [esp + 0x44]
push ebx
add eax, edi
push eax
push 0x32
push esi
call fcn.004b0d90
add esp, 0x10
movzx eax, word [ebp + 0x32]
inc edi
cmp edi, eax
jl 0x4a2c80
push dword [esp + 0x38]
push 0x27
push esi
call fcn.004b0d30
push ebx
push esi
mov edi, eax
call fcn.004bac00
mov ecx, dword [esi]
add esp, 0x14
mov eax, dword [esp + 0x1c]
cmp byte [ecx + 0x57], 0
mov edx, dword [eax]
je 0x4a2ce4
mov eax, 0x536fc0
jmp 0x4a2ced
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
movzx eax, word [ebp + 0x32]
push eax
push dword [esp + 0x48]
push ebx
push dword [esp + 0x44]
push 0x29
push esi
call fcn.004b0ed0
push 0
push str.non_unique_entry_in_index
push 0
push 3
push 0
push 0x75
push esi
call fcn.004b0e50
push dword [esp + 0x64]
push esi
call fcn.004bac00
mov ecx, dword [esi + 0xc]
add esp, 0x3c
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4a2d42
push ebx
push esi
push ecx
call fcn.00475850
add esp, 0xc
jmp 0x4a2d4e
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4a2d63
mov eax, 0x536fc0
jmp 0x4a2d70
mov eax, dword [esp + 0x78]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x14]
test edx, edx
je 0x4a2dac
mov edi, dword [eax + 8]
not edx
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4a2d9f
push edx
push edi
push ecx
call fcn.00475850
add esp, 0xc
jmp 0x4a2da8
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x14]
inc ebx
mov dword [esp + 0x38], ebx
test ebp, ebp
jne 0x4a29b0
mov ebx, dword [esp + 0x8c]
push ebx
push dword [esp + 0x64]
push 0x27
push esi
call fcn.004b0d90
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4a2df0
mov eax, 0x536fc8
jmp 0x4a2dfc
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
cmp byte [esp + 0x53], 0x71
mov dword [eax], edx
je 0x4a2f2c
push 0
push str.wrong__of_entries_in_index
push 0
push 2
push 0
push 0x75
push esi
call fcn.004b0e50
mov eax, dword [esp + 0x84]
add esp, 0x1c
mov edi, dword [eax + 8]
test edi, edi
je 0x4a2ee8
mov eax, dword [esp + 0x4c]
mov ebx, 8
nop dword [eax]
cmp eax, edi
je 0x4a2edc
mov eax, dword [esp + 0x70]
add eax, 0xfffffff8
push 3
add eax, ebx
push eax
push 0x62
push esi
call fcn.004b0d90
push 3
push 0
push ebx
push 0x35
push esi
call fcn.004b0df0
mov ebp, eax
add esp, 0x24
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
jle 0x4a2e88
lea edx, [ecx + ecx*4]
mov eax, 0x90
mov ecx, dword [esi + 0x68]
mov word [ecx + edx*4 - 0x12], ax
push 0
push dword [edi]
push 0
push 4
push 0
push 0x75
push esi
call fcn.004b0e50
push 3
push 2
push 4
push 0x6f
push esi
call fcn.004b0df0
push esi
call fcn.00460be0
mov eax, dword [esp + 0x50]
add esp, 0x34
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4a2ec6
mov eax, 0x536fc0
jmp 0x4a2ed5
mov eax, dword [esi + 0x68]
lea ecx, [ebp*4]
add ecx, ebp
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x4c]
mov edi, dword [edi + 0x14]
inc ebx
test edi, edi
jne 0x4a2e40
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x4a2f30
movzx eax, word [eax + 0x32]
cmp eax, 1
jne 0x4a2f1b
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x4a2f30
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x4a2f30
movzx eax, al
mov dword [ebx + eax*4 + 0xa4], ecx
inc byte [ebx + 0x13]
jmp 0x4a2f30
cmp eax, dword [ebx + 0x1c]
jle 0x4a2f30
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x20], eax
jmp 0x4a2f30
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov ebp, dword [ebp]
mov dword [esp + 0x24], ebp
test ebp, ebp
jne 0x4a1dd0
jmp 0x4a2f4d
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x48], ecx
cmp ecx, dword [eax + 0x14]
jl 0x4a1b40
mov ebp, dword [esp + 0x18]
push 0
push 0x512c28
push 7
push esi
call fcn.004b0f30
add esp, 0x10
test eax, eax
je 0x4a2fa1
mov ecx, 1
mov byte [eax + 0x29], 0xff
sub ecx, ebp
mov dword [eax + 0x38], 0x51c840
mov dword [eax + 8], ecx
mov byte [eax + 0x65], 0xff
mov dword [eax + 0x74], str.database_disk_image_is_malformed
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
sub eax, 2
push eax
push 0
push esi
call fcn.004b1200
jmp 0x4a36a4
test edx, edx
jne 0x4a2ff9
mov ebx, dword [esp + 0x14]
push ebx
call fcn.004a4a80
add esp, 4
test eax, eax
jne 0x4a36a7
mov eax, dword [ebx]
movzx eax, byte [eax + 0x54]
push dword [eax*8 + 0x512c50]
push esi
call fcn.00477820
push dword [esp + 0x3c]
push dword [esp + 0x1c]
call fcn.00487a00
add esp, 0x10
jmp 0x4a36cd
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 0x40
jne 0x4a36ab
mov eax, dword [str.UTF8]
mov esi, 0x512c50
test eax, eax
je 0x4a3074
push eax
push edx
call fcn.004abf20
add esp, 8
test eax, eax
je 0x4a3033
mov eax, dword [esi + 8]
add esi, 8
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x4a3015
jmp 0x4a3070
mov cl, byte [esi + 4]
mov edx, 2
movzx eax, cl
test cl, cl
mov ecx, dword [esp + 0x10]
cmovne edx, eax
mov byte [esp + 0x8c], dl
push dword [esp + 0x8c]
mov eax, dword [ecx + 0x10]
push ecx
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
call fcn.004aaa20
add esp, 8
cmp dword [esi], 0
jne 0x4a36a7
mov edx, dword [esp + 0x20]
push edx
push str.unsupported_encoding:__s
push dword [esp + 0x1c]
call fcn.00489e60
push dword [esp + 0x40]
push dword [esp + 0x20]
call fcn.00487a00
mov eax, dword [esp + 0x34]
add esp, 0x14
jmp 0x4a36c0
mov ebp, dword [esp + 0x3c]
mov edi, dword [ebx + 8]
push ebp
push esi
call fcn.004be330
add esp, 8
cmp dword [esp + 0x20], 0
je 0x4a3124
test byte [ebx + 5], 8
jne 0x4a3124
push 0
push 0x512c98
push 2
push esi
call fcn.004b0f30
mov esi, eax
mov dword [esp + 0x34], 0
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x34]
mov dword [esi + 4], ebp
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], edi
call fcn.00496740
mov eax, dword [esp + 0x3c]
add esp, 0x18
mov dword [esi + 0x20], eax
mov eax, 1
mov word [esi + 0x16], ax
mov eax, dword [esp + 0x10]
cmp edi, 1
jne 0x4a36ab
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x4a36a7
mov byte [esi + 0x14], 0xbb
jmp 0x4a0370
push 0
push 0x512c44
push 3
push esi
call fcn.004b0f30
push esi
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x20], edi
call fcn.004bd690
add esp, 0x14
jmp 0x4a36a7
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [eax + 0x2c], 1
cmp edi, 0x27
ja 0x4a318a
mov eax, dword [edi*4 + 0x512e08]
inc edi
test eax, eax
je 0x4a318a
push 0
push eax
push 0
push 1
push 0
push 0x75
push esi
call fcn.004b0e50
push 1
push 1
push 0x54
push esi
call fcn.004b0d90
add esp, 0x2c
jmp 0x4a3157
push esi
call fcn.004bd690
add esp, 4
jmp 0x4a36a7
mov eax, dword [esp + 0x2c]
mov ebx, 0xc
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x3c]
xor edi, edi
test edx, edx
je 0x4a31fb
push str.full
push edx
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x4a31c6
lea edi, [eax + 1]
jmp 0x4a31fb
push str.restart
push dword [esp + 0x24]
call fcn.004abf20
add esp, 8
test eax, eax
jne 0x4a31e0
lea edi, [eax + 2]
jmp 0x4a31fb
push str.truncate
push dword [esp + 0x24]
call fcn.004abf20
add esp, 8
mov ecx, 3
test eax, eax
cmove edi, ecx
mov eax, dword [esp + 0x14]
push 1
push edi
push ebx
push 3
push esi
mov dword [eax + 0x2c], 3
call fcn.004b0df0
push 3
push 1
push 0x54
push esi
call fcn.004b0d90
add esp, 0x24
jmp 0x4a36a7
test edx, edx
je 0x4a324d
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
push edx
call fcn.00496740
push dword [esp + 0x2c]
push dword [esp + 0x1c]
call fcn.004446a0
add esp, 0x10
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x110], 0x4bf880
jne 0x4a3268
mov eax, dword [eax + 0x114]
jmp 0x4a369b
xor eax, eax
jmp 0x4a369b
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4a3284
push eax
call dword [0x532140]
add esp, 4
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x5f], 0
jne 0x4a329b
push eax
call fcn.0044c030
mov eax, dword [esp + 0x14]
add esp, 4
xor esi, esi
cmp dword [eax + 0x14], esi
jle 0x4a32d3
xor edi, edi
mov eax, dword [eax + 0x10]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x4a32c6
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xe4]
push dword [eax + 0x34]
call dword [0x532184]
add esp, 4
mov eax, dword [esp + 0x10]
inc esi
add edi, 0x10
cmp esi, dword [eax + 0x14]
jl 0x4a32a4
cmp byte [eax + 0x5f], 0
jne 0x4a32e6
push eax
call fcn.0044c330
mov eax, dword [esp + 0x14]
add esp, 4
mov eax, dword [eax + 0xc]
jmp 0x49f575
test edx, edx
je 0x4a331b
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
push edx
call fcn.00496740
mov ecx, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0x18], ecx
test cl, 2
je 0x4a36a7
jmp 0x4a3323
mov dword [esp + 0x18], 0xfffe
cmp dword [esp + 0x28], 0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x30], edx
lea eax, [edx + 1]
mov dword [ebx + 0x28], eax
je 0x4a3347
mov eax, ecx
mov dword [esp + 0x5c], eax
jmp 0x4a335b
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x5c], eax
cmp ecx, eax
jg 0x4a34d7
mov edi, 1
rol edi, cl
mov dword [esp + 0x24], edi
cmp ecx, 1
je 0x4a34bd
mov eax, dword [ebx + 0x80]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x5c]
test eax, edi
jne 0x4a338d
mov ebx, dword [esp + 0x3c]
bts eax, ebx
mov dword [ecx + 0x5c], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + ebp + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x4a34b1
nop dword [eax]
nop word [eax + eax]
mov edi, dword [ebx + 8]
test dword [edi + 0x1c], 0x100
je 0x4a34a3
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ebp, ax
mov eax, dword [edi + 8]
test eax, eax
je 0x4a33df
test byte [eax + 0x38], 0x80
je 0x4a341f
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4a33d2
test bp, bp
je 0x4a341f
push 0x70
push edi
push dword [esp + 0x44]
push edx
push dword [esp + 0x24]
call fcn.0049c2e0
mov ecx, dword [esp + 0x2c]
movsx eax, bp
and ecx, 1
push eax
mov eax, dword [esp + 0x34]
add ecx, 2
mov eax, dword [eax]
add eax, ecx
push eax
push dword [esp + 0x4c]
push 0x21
push esi
call fcn.004b0df0
mov ecx, dword [esp + 0x38]
add esp, 0x28
push dword [edi]
mov eax, dword [ecx + 0x10]
mov ebp, dword [esp + 0x74]
push dword [eax + ebp]
push str.ANALYZE___w_.__w_
push ecx
call fcn.0049b7d0
add esp, 0x10
mov edx, eax
test byte [esp + 0x18], 1
je 0x4a3484
mov edi, dword [esp + 0x14]
mov cl, byte [edi + 0x13]
test cl, cl
jne 0x4a3455
inc dword [edi + 0x2c]
mov edi, dword [edi + 0x2c]
jmp 0x4a3464
dec cl
movzx eax, cl
mov byte [edi + 0x13], cl
mov edi, dword [edi + eax*4 + 0xa4]
push 0xfffffffffffffffa
push edx
push 0
push edi
push 0
push 0x75
push esi
call fcn.004b0e50
push 1
push edi
push 0x54
push esi
call fcn.004b0d90
add esp, 0x2c
jmp 0x4a349b
push 0xfffffffffffffffa
push edx
push 0
push 0
push 0
push 0x94
push esi
call fcn.004b0e50
add esp, 0x1c
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4a33b0
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
inc ecx
rol edi, 1
add ebp, 0x10
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x24], edi
cmp ecx, eax
jle 0x4a3366
push 0xa6
push esi
call fcn.004b0ce0
add esp, 8
jmp 0x4a36a7
test edx, edx
je 0x4a3519
lea eax, [esp + 0x8c]
push eax
push edx
call fcn.00487ee0
add esp, 8
test eax, eax
jne 0x4a3519
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.0043f7f0
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0043f7f0
push edx
push eax
push esi
call fcn.00477790
add esp, 0x14
jmp 0x4a36a7
test edx, edx
je 0x4a358b
lea eax, [esp + 0x8c]
push eax
push edx
call fcn.00487ee0
add esp, 8
test eax, eax
jne 0x4a358b
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0043f900
mov edi, dword [esp + 0x98]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x4a358b
mov ecx, dword [esp + 0x8c]
jg 0x4a3571
test ecx, ecx
je 0x4a358b
mov eax, ebx
or eax, edx
je 0x4a3581
cmp edx, edi
jl 0x4a358b
jg 0x4a3581
cmp ebx, ecx
jbe 0x4a358b
push edi
push ecx
call fcn.0043f900
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0043f900
push edx
push eax
push esi
call fcn.00477790
add esp, 0x14
jmp 0x4a36a7
test edx, edx
je 0x4a35e7
lea eax, [esp + 0x8c]
push eax
push edx
call fcn.00487ee0
add esp, 8
test eax, eax
jne 0x4a35e7
cmp dword [esp + 0x90], eax
jl 0x4a35e7
mov eax, dword [esp + 0x8c]
jg 0x4a35d3
test eax, eax
jb 0x4a35e7
and eax, 0x7fffffff
push eax
push 0xb
push dword [esp + 0x18]
call fcn.0043c680
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
jmp 0x4a369b
test edx, edx
je 0x4a3634
lea eax, [esp + 0x8c]
push eax
push edx
call fcn.00487ee0
add esp, 8
test eax, eax
jne 0x4a3634
cmp dword [esp + 0x90], eax
jl 0x4a3634
mov eax, dword [esp + 0x8c]
jg 0x4a3625
test eax, eax
jb 0x4a3634
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1f0], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f0]
jmp 0x4a369b
test edx, edx
je 0x4a3691
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
push edx
call fcn.00496740
mov edi, dword [esp + 0x2c]
add esp, 8
test edi, edi
jle 0x4a3681
mov eax, dword [esp + 0x10]
push eax
push 0x4c91a0
push eax
call fcn.0043a630
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [eax + 0x1f4], edi
jmp 0x4a3695
push 0
push 0
push dword [esp + 0x18]
call fcn.0043a630
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f4]
cdq
push edx
push eax
push esi
call fcn.00477790
add esp, 0xc
mov eax, dword [esp + 0x10]
push dword [esp + 0x34]
push eax
call fcn.00487a00
mov eax, dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x4a36cd
push eax
push dword [esp + 0x14]
call fcn.00487a00
add esp, 8
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004e56df
add esp, 0x9c
ret