Function at 0x42e37c
Capabilities:
Parse credit card information
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x2f4
mov eax, dword [0x4c3014]
xor eax, esp
mov dword [esp + 0x2ec], eax
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ebx
mov byte [esp + 0x63], bl
mov esi, dword [edi]
mov eax, dword [edi + 4]
mov ebp, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], esi
mov al, byte [esi + 0x3e]
mov byte [esp + 0x4c], al
mov eax, dword [edi + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x20]
mov dword [esp + 0x88], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x8c], eax
call fcn.0042a392
push 7
pop eax
cmp dword [edi + 0x50], eax
je 0x42fcd4
mov dword [edi + 0x50], ebx
mov dword [edi + 0x88], ebx
mov dword [edi + 0x8c], ebx
mov dword [edi + 0x14], ebx
push 9
mov dword [esi + 0x1c4], ebx
pop eax
cmp dword [esi + 0xf0], ebx
jne 0x4328b6
cmp dword [esi + 0x124], ebx
je 0x42e449
mov ecx, dword [esi + 0x12c]
xor edx, edx
mov eax, dword [edi + 0x7c]
div ecx
sub ecx, edx
mov dword [esp + 0xa4], ecx
jmp 0x42e44b
mov ecx, ebx
imul ebp, dword [edi + 0x4c], 0x14
add ebp, dword [esp + 0x34]
mov dword [esp + 0x64], ebp
cmp byte [esi + 0x41], 0
jne 0x42fcd4
mov dl, byte [ebp]
inc dword [esp + 0xa8]
movzx ebx, dl
mov byte [esp + 0x2b], dl
lea eax, [ebx - 1]
mov dword [esp + 0x38], eax
cmp eax, 0x9d
ja case.0x42e484.62
jmp dword [eax*4 + 0x432918]
imul ecx, dword [ebp + 4], 0x28
push 4
pop eax
push 0x14
pop ebx
add ecx, dword [esp + 0x20]
mov word [ecx + 8], ax
mov eax, ebp
sub eax, dword [esp + 0x34]
cdq
idiv ebx
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x431dbc
imul eax, dword [ebp + 4], 0x28
mov ecx, 0x80
add eax, dword [esp + 0x20]
imul ebp, dword [eax], 0x14
add ebp, dword [esp + 0x34]
mov word [eax + 8], cx
jmp case.0x42e484.62
imul ecx, dword [ebp + 4], 0x28
mov eax, dword [ebp + 0xc]
push 4
add ecx, dword [esp + 0x24]
dec eax
cdq
mov dword [ecx], eax
pop eax
mov dword [ecx + 4], edx
mov word [ecx + 8], ax
cmp dword [ebp + 8], 0
jne 0x431dbc
jmp case.0x42e484.62
imul ecx, dword [ebp + 4], 0x28
mov edx, dword [esp + 0x34]
add ecx, dword [esp + 0x20]
lea ebp, [edx - 0x14]
imul eax, dword [ecx], 0x14
imul eax, dword [eax + edx + 8], 0x14
add ebp, eax
mov eax, 0x80
mov word [ecx + 8], ax
jmp case.0x42e484.62
imul esi, dword [ebp + 4], 0x28
sub ebp, dword [esp + 0x34]
push 4
pop eax
push 0x14
add esi, dword [esp + 0x24]
pop ebx
mov word [esi + 8], ax
mov eax, ebp
cdq
idiv ebx
mov ecx, dword [esi]
imul ebp, ecx, 0x14
cdq
mov dword [esi + 4], edx
add ebp, dword [esp + 0x34]
mov dword [esi], eax
mov eax, dword [esp + 0x14]
jmp 0x42e7ad
imul eax, dword [ebp + 0xc], 0x28
xor ebx, ebx
mov ecx, dword [esp + 0x20]
inc ebx
test byte [eax + ecx + 8], bl
je case.0x42e484.62
jmp 0x42e56a
xor ebx, ebx
inc ebx
mov eax, ebp
sub eax, dword [esp + 0x34]
push 0x14
pop ecx
cdq
idiv ecx
mov ecx, dword [ebp + 4]
mov esi, eax
test ecx, ecx
jne 0x432706
mov edx, dword [edi + 0xb0]
test edx, edx
je 0x432706
mov eax, dword [edx + 4]
mov ecx, edx
mov esi, dword [esp + 0x18]
dec dword [edi + 0xb8]
mov dword [edi + 0xb0], eax
mov eax, dword [edi + 0x5c]
add dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
call fcn.0042ab4d
mov ecx, dword [esi + 0x20]
mov edx, dword [edi + 4]
mov dword [esp + 0x88], ecx
mov ecx, dword [esi + 0x24]
push 4
mov dword [esp + 0x90], ecx
pop ecx
mov dword [esp + 0x34], edx
cmp dword [ebp + 8], ecx
jne 0x42e5df
imul eax, eax, 0x14
mov eax, dword [eax + edx + 8]
dec eax
mov ecx, dword [edi + 8]
imul ebp, eax, 0x14
mov dword [esp + 0x20], ecx
add ebp, edx
jmp case.0x42e484.62
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov ecx, eax
mov eax, dword [ebp + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x42e484.62
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
jmp case.0x42e484.62
mov edx, ebp
mov ecx, edi
call fcn.0042e357
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebp + 0x10]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
jmp case.0x42e484.62
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov edx, dword [ebp + 0x10]
mov esi, eax
mov byte [ebp], 0x19
test edx, edx
jne 0x42e660
xor ebx, ebx
mov ecx, ebx
jmp 0x42e67a
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42e665
sub ecx, edi
mov edi, dword [esp + 0x1c]
and ecx, 0x3fffffff
xor ebx, ebx
xor eax, eax
mov dword [ebp + 4], ecx
inc eax
cmp byte [esp + 0x4c], al
je 0x42e6f5
push ebx
push eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.004292cf
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, 0x12
je 0x4310a1
push 2
pop eax
test byte [esi + 8], al
je 0x42e6bd
mov al, byte [esp + 0x4c]
cmp byte [esi + 0xa], al
je 0x42e6bd
mov dl, al
mov ecx, esi
call fcn.0041576e
jmp 0x42e6bf
mov eax, ebx
test eax, eax
jne 0x42fcd0
mov eax, 0x800
mov dword [esi + 0x18], ebx
or word [esi + 8], ax
cmp byte [ebp + 1], 0xff
jne 0x42e6e5
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x18]
call fcn.00413e42
mov byte [ebp + 1], 0xff
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebp + 4], ecx
mov esi, dword [esp + 0x18]
cmp ecx, dword [esi + 0x58]
jg 0x4310a5
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov edx, eax
mov eax, 0xa02
mov word [edx + 8], ax
mov ecx, dword [ebp + 0x10]
mov al, byte [esp + 0x4c]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp + 4]
mov dword [edx + 0xc], ecx
mov byte [edx + 0xa], al
cmp byte [ebp + 3], 0
je case.0x42e484.62
imul ecx, dword [ebp + 0xc], 0x28
mov ebx, dword [esp + 0x20]
mov eax, dword [ecx + ebx]
or eax, dword [ecx + ebx + 4]
je case.0x42e484.62
mov eax, 0xa10
mov word [edx + 8], ax
jmp case.0x42e484.62
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov edx, dword [ebp + 8]
inc ecx
cmp dword [ebp + 4], 0
mov esi, 0x101
cmovne ecx, esi
sub edi, edx
movzx ebx, cx
lea esi, [eax + 8]
mov word [esi], bx
test edi, edi
jle 0x42e7a5
mov eax, 0x2460
lea esi, [esi + 0x28]
test word [esi], ax
je 0x42e79d
lea ecx, [esi - 8]
call fcn.00428d4c
mov eax, 0x2460
dec edi
mov word [esi], bx
test edi, edi
jg 0x42e788
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
push 0x14
pop edx
add ebp, edx
mov dword [esp + 0x64], ebp
test eax, eax
jne 0x42fcec
mov ecx, dword [esp + 0xa4]
jmp 0x42e457
imul ecx, dword [ebp + 4], 0x28
xor ebx, ebx
mov edx, 0xff7f
inc ebx
add ecx, dword [esp + 0x20]
mov ax, word [ecx + 8]
and ax, dx
or ax, bx
jmp 0x42e514
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov edx, dword [ebp + 0x10]
xor ebx, ebx
push ebx
mov esi, eax
push ebx
push dword [ebp + 4]
mov ecx, esi
call fcn.004292cf
mov al, byte [esp + 0x58]
add esp, 0xc
mov byte [esi + 0xa], al
jmp 0x42e547
imul esi, dword [ebp + 4], 0x28
add esi, dword [edi + 0x3c]
lea ecx, [esi - 0x28]
call fcn.004291ad
test eax, eax
jne 0x4310a1
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov ecx, 0x800
lea edx, [esi - 0x28]
push ecx
mov ecx, eax
call fcn.004291ec
pop ecx
jmp 0x42e547
imul edi, dword [ebp + 4], 0x28
imul esi, dword [ebp + 8], 0x28
mov ebx, dword [ebp + 0xc]
add edi, dword [esp + 0x20]
add esi, dword [esp + 0x20]
mov edx, edi
mov ecx, esi
call fcn.004292ad
mov eax, 0x1000
test word [esi + 8], ax
je 0x42e884
mov ecx, esi
call fcn.00428b0d
test eax, eax
jne 0x42fccc
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x42e861
jmp 0x42e7a5
imul edi, dword [ebp + 4], 0x28
imul esi, dword [ebp + 8], 0x28
mov ebx, dword [ebp + 0xc]
add edi, dword [esp + 0x20]
add esi, dword [esp + 0x20]
mov eax, 0x1000
mov edx, edi
push eax
mov ecx, esi
call fcn.004291ec
mov eax, 0x1000
pop ecx
test word [esi + 8], ax
je 0x42e8d1
mov ecx, esi
call fcn.00428b0d
test eax, eax
jne 0x42fccc
mov eax, ebx
dec ebx
test eax, eax
je 0x42e7a5
add esi, 0x28
add edi, 0x28
jmp 0x42e8a7
imul edx, dword [ebp + 4], 0x28
mov eax, 0x1000
imul ecx, dword [ebp + 8], 0x28
push eax
add edx, dword [esp + 0x24]
add ecx, dword [esp + 0x24]
call fcn.004291ec
pop ecx
jmp case.0x42e484.62
mov eax, dword [esi + 0x124]
test eax, eax
je 0x42e929
cmp dword [esp + 0xa8], ecx
jb 0x42e929
push dword [esi + 0x128]
call eax
pop ecx
test eax, eax
jne 0x4327a7
xor edx, edx
mov ecx, edi
call fcn.0042b2e8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42e7b1
xor ebx, ebx
mov ecx, edi
inc ebx
mov edx, ebx
call fcn.0042b1ce
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42e7b1
mov eax, dword [edi + 0x48]
push 2
pop ecx
add eax, ecx
or eax, ebx
xor ebx, ebx
mov dword [edi + 0x48], eax
imul esi, dword [ebp + 4], 0x28
add esi, dword [esp + 0x20]
mov dword [edi + 0x14], esi
cmp dword [ebp + 8], ebx
jle 0x42e9b3
mov eax, 0x1000
test word [esi + 8], ax
je 0x42e98f
mov ecx, esi
call fcn.00428b0d
test eax, eax
jne 0x42fcd0
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
push 2
pop ecx
cmp ax, cx
jne 0x42e9aa
mov ecx, esi
call fcn.00428bd7
inc ebx
add esi, 0x28
cmp ebx, dword [ebp + 8]
jl 0x42e975
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x41], 0
jne 0x42fcd4
sub ebp, dword [esp + 0x34]
mov eax, ebp
mov dword [esp + 0x14], 0x64
push 0x14
cdq
pop ecx
idiv ecx
inc eax
mov dword [edi + 0x4c], eax
jmp 0x4328d5
imul ebx, dword [ebp + 4], 0x28
xor edx, edx
imul edi, dword [ebp + 8], 0x28
inc edx
mov eax, dword [esp + 0x20]
imul esi, dword [ebp + 0xc], 0x28
add ebx, eax
add edi, eax
mov dword [esp + 0x24], ebx
add esi, eax
movzx ecx, word [ebx + 8]
mov al, byte [edi + 8]
or al, cl
test dl, al
je 0x42ea28
mov eax, 0x2460
test word [esi + 8], ax
je 0x42ea1f
mov ecx, esi
call fcn.00428d4c
jmp 0x42e7a5
mov word [esi + 8], dx
jmp 0x42e7a5
mov edx, 0x4000
test edx, ecx
je 0x42ea3f
mov ecx, ebx
call fcn.00428b87
mov edx, 0x4000
jmp 0x42ea41
xor eax, eax
test eax, eax
jne 0x42fccc
test word [edi + 8], dx
je 0x42ea58
mov ecx, edi
call fcn.00428b87
jmp 0x42ea5a
xor eax, eax
test eax, eax
jne 0x42fccc
test byte [ebx + 8], 0x12
jne 0x42ea7d
mov dl, byte [esp + 0x4c]
mov ecx, ebx
push eax
call fcn.00428c31
pop ecx
test eax, eax
jne 0x42fccc
test byte [edi + 8], 0x12
jne 0x42ea99
mov dl, byte [esp + 0x4c]
mov ecx, edi
push 0
call fcn.00428c31
pop ecx
test eax, eax
jne 0x42fccc
mov eax, dword [esp + 0x18]
mov ebx, dword [ebx + 0xc]
add ebx, dword [edi + 0xc]
cmp ebx, dword [eax + 0x58]
jg 0x4328a4
xor eax, eax
lea edx, [ebx + 2]
cmp esi, edi
mov ecx, esi
sete al
push eax
call fcn.00428a25
pop ecx
test eax, eax
jne 0x42fccc
mov ax, word [esi + 8]
mov ecx, 0xbe02
and ax, cx
push 2
pop ecx
or ax, cx
mov word [esi + 8], ax
cmp esi, edi
je 0x42eaf2
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.0047e230
add esp, 0xc
mov eax, dword [esp + 0x24]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [edi + 0xc]
add eax, dword [esi + 0x10]
push eax
call fcn.0047e230
mov eax, dword [esi + 0x10]
xor edx, edx
add esp, 0xc
mov byte [ebx + eax], dl
mov eax, dword [esi + 0x10]
mov byte [ebx + eax + 1], dl
mov eax, 0x200
or word [esi + 8], ax
mov al, byte [esp + 0x4c]
mov dword [esi + 0xc], ebx
mov byte [esi + 0xa], al
jmp 0x42e7a5
imul eax, dword [ebp + 4], 0x28
mov esi, dword [esp + 0x20]
add eax, esi
mov ecx, eax
mov dword [esp + 0x2c], eax
call fcn.0042e33b
movzx ebx, ax
imul eax, dword [ebp + 8], 0x28
mov dword [esp + 0x5c], ebx
add eax, esi
mov ecx, eax
mov dword [esp + 0x40], eax
call fcn.0042e33b
mov ecx, dword [esp + 0x2c]
movzx edx, ax
imul eax, dword [ebp + 0xc], 0x28
mov dword [esp + 0x24], edx
add eax, esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x30], eax
mov al, byte [esi + 8]
or al, byte [ecx + 8]
test al, 1
jne 0x42ee56
mov al, dl
push 4
and al, bl
pop edx
test dl, al
je 0x42edb7
mov eax, ecx
xor ecx, ecx
inc ecx
mov byte [esp + 0x2b], cl
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x40]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
movzx eax, byte [ebp]
mov dword [esp + 0x64], edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], ebx
sub eax, 0x59
je 0x42ed03
sub eax, ecx
je 0x42ec46
sub eax, ecx
je 0x42ec36
sub eax, ecx
mov eax, edx
je 0x42ec0e
or eax, esi
je 0x42ee56
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x42ebf2
mov edx, ecx
xor esi, esi
push esi
push edx
push ebx
push edi
call fcn.004a0420
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
jmp 0x42ed85
or eax, esi
je 0x42ee56
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x42ec2b
test edi, edi
jne 0x42ec2b
cmp ebx, 0x80000000
je 0x42ec5e
push esi
push edx
push ebx
push edi
call fcn.004a0290
jmp 0x42ebfb
push esi
push edx
lea ecx, [esp + 0x98]
call fcn.00416cb6
jmp 0x42ec54
push esi
push edx
lea ecx, [esp + 0x98]
call fcn.00416c6c
pop ecx
pop ecx
test eax, eax
je 0x42ed85
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
call fcn.00428e70
mov ecx, esi
movsd qword [esp + 0x38], xmm0
call fcn.00428e70
movzx eax, byte [ebp]
movaps xmm1, xmm0
movsd qword [esp + 0x78], xmm1
sub eax, 0x59
je 0x42ede9
sub eax, 1
je 0x42ede1
sub eax, 1
je 0x42edd9
movsd xmm0, qword [esp + 0x38]
sub eax, 1
je 0x42edc1
call fcn.004a0cfb
movsd xmm0, qword [esp + 0x78]
mov esi, eax
mov edi, edx
call fcn.004a0cfb
mov ecx, esi
mov dword [esp + 0x94], edx
or ecx, edi
mov ebx, eax
mov dword [esp + 0x90], ebx
je 0x42ee56
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x42eceb
xor esi, esi
inc esi
xor edi, edi
push edi
push esi
push edx
push ebx
call fcn.004a0420
mov ecx, eax
call fcn.004a0e10
movaps xmm1, xmm0
jmp 0x42edef
xor eax, eax
cmp esi, eax
jl 0x42ed38
jg 0x42ed0f
cmp edx, eax
jb 0x42ed38
cmp ebx, eax
jl 0x42ed73
jg 0x42ed19
cmp edi, eax
jbe 0x42ed73
or ecx, 0xffffffff
mov eax, 0x7fffffff
sub ecx, edi
sbb eax, ebx
cmp eax, esi
jg 0x42ed73
jl 0x42ec5e
cmp ecx, edx
jae 0x42ed73
jmp 0x42ec5e
cmp ebx, eax
jg 0x42ed73
jl 0x42ed42
cmp edi, eax
jae 0x42ed73
mov ebx, ecx
mov eax, esi
sub ebx, edi
mov ecx, 0x80000000
mov edi, edx
sbb ecx, dword [esp + 0x50]
add edi, 1
adc eax, 0
cmp ecx, eax
jg 0x42ec5e
jl 0x42ed6b
cmp ebx, edi
ja 0x42ec5e
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x64]
add edx, edi
mov dword [esp + 0x90], edx
adc esi, ebx
mov dword [esp + 0x94], esi
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x90]
mov dword [ecx], eax
mov eax, dword [esp + 0x94]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
mov edx, 0xbe04
push 4
and ax, dx
pop edx
or ax, dx
mov word [ecx + 8], ax
jmp 0x42e7a5
mov byte [esp + 0x2b], 0
jmp 0x42ec66
ucomisd xmm0, qword [0x4bc630]
lahf
test ah, 0x44
jnp 0x42ee56
divsd xmm1, xmm0
jmp 0x42edef
mulsd xmm1, qword [esp + 0x38]
jmp 0x42edef
subsd xmm1, qword [esp + 0x38]
jmp 0x42edef
addsd xmm1, qword [esp + 0x38]
movsd qword [esp + 0x38], xmm1
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x78], xmm0
movsd xmm0, qword [esp + 0x38]
ucomisd xmm0, qword [esp + 0x78]
lahf
test ah, 0x44
jp 0x42ee56
mov ecx, dword [esp + 0x30]
mov edx, 0xbe08
push 8
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm1
pop edx
or ax, dx
mov word [ecx + 8], ax
mov eax, dword [esp + 0x24]
or al, byte [esp + 0x5c]
test dl, al
jne 0x42e7a5
cmp byte [esp + 0x2b], 0
jne 0x42e7a5
call fcn.00428ec2
jmp 0x42e7a5
mov ecx, dword [esp + 0x30]
mov eax, 0x2460
test word [ecx + 8], ax
jne 0x42ea15
xor eax, eax
inc eax
jmp 0x42edae
mov eax, dword [ebp + 4]
test eax, eax
je case.0x42e484.62
imul eax, eax, 0x28
mov ecx, 0x2460
add eax, dword [esp + 0x20]
test word [eax + 8], cx
je 0x42ee9e
xor ebx, ebx
mov ecx, eax
push ebx
push ebx
call fcn.004290eb
jmp 0x43032e
xor edx, edx
push 4
mov dword [eax], edx
mov dword [eax + 4], edx
pop ecx
jmp 0x42e4c5
mov bl, byte [ebp + 3]
mov ecx, esi
movzx eax, bl
lea edx, [eax*4 + 0x1c]
call fcn.00413fe8
mov esi, eax
test esi, esi
je 0x42fcd0
and dword [esi], 0
mov eax, ebp
mov ecx, dword [ebp + 0x10]
sub eax, dword [esp + 0x34]
mov dword [esi + 4], ecx
push 0x14
cdq
pop ecx
idiv ecx
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
mov byte [esi + 0x1a], bl
mov word [ebp], 0xec24
mov dword [ebp + 0x10], esi
imul edi, dword [ebp + 0xc], 0x28
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0x20]
mov edx, dword [esi]
add edi, ebx
cmp edx, edi
je 0x42ef30
movzx ecx, byte [esi + 0x1a]
mov edx, edi
sub ecx, 1
mov dword [esi], edi
js 0x42ef30
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebp + 8]
add eax, ecx
imul eax, eax, 0x28
push 4
add eax, ebx
mov dword [edx], eax
pop eax
sub edx, eax
sub ecx, 1
jns 0x42ef18
mov edx, dword [esi]
mov ax, word [edx + 8]
mov ecx, 0xbe01
and ax, cx
xor ebx, ebx
xor ecx, ecx
inc ecx
or ax, cx
mov ecx, dword [esp + 0x88]
mov word [edx + 8], ax
mov eax, dword [esp + 0x18]
mov byte [esi + 0x19], bl
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0x24], ecx
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
push esi
call dword [ecx + 0xc]
mov eax, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
cmp byte [esi + 0x19], bl
je 0x42efcb
cmp dword [esi + 0x14], ebx
je 0x42efbb
mov ecx, dword [esi]
mov dl, 1
call fcn.0042958d
mov ecx, dword [esp + 0x1c]
push eax
push 0x4b6170
push ecx
call fcn.004299c3
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x14], eax
push dword [ebp + 4]
mov edx, dword [esi + 0x10]
mov ecx, dword [esp + 0x20]
call fcn.0042b727
pop ecx
test byte [edi + 8], 0x12
je 0x42e7a5
mov ecx, dword [esi]
mov eax, ecx
push 2
pop edx
test byte [ecx + 8], dl
je 0x42eff1
mov dl, byte [esp + 0x4c]
cmp byte [ecx + 0xa], dl
je 0x42eff1
call fcn.0041576e
mov eax, dword [esi]
mov ecx, eax
call fcn.004291ad
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
test eax, eax
jne 0x4310a5
jmp case.0x42e484.62
imul ecx, dword [ebp + 8], 0x28
xor ebx, ebx
imul esi, dword [ebp + 4], 0x28
inc ebx
mov eax, dword [esp + 0x20]
imul edx, dword [ebp + 0xc], 0x28
add ecx, eax
add esi, eax
add edx, eax
mov al, byte [ecx + 8]
or al, byte [esi + 8]
mov dword [esp + 0x78], edx
test bl, al
je 0x42f054
mov eax, 0x2460
test word [edx + 8], ax
je 0x42f04b
mov ecx, edx
call fcn.00428d4c
jmp 0x42e547
mov word [edx + 8], bx
jmp 0x42e547
call fcn.00428e1e
mov ecx, esi
mov ebx, eax
mov edi, edx
call fcn.00428e1e
mov cl, byte [ebp]
mov esi, eax
cmp cl, 0x55
jne 0x42f077
and ebx, esi
and edi, edx
jmp 0x42f14e
cmp cl, 0x56
jne 0x42f085
or ebx, esi
or edi, edx
jmp 0x42f14e
mov eax, esi
or eax, edx
je 0x42f14e
xor eax, eax
cmp edx, eax
jg 0x42f0ce
jl 0x42f09b
cmp esi, eax
jae 0x42f0c1
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x42f0b8
jg 0x42f0ad
cmp esi, 0xffffffc0
jbe 0x42f0b8
neg esi
push 0
pop eax
adc edx, eax
neg edx
jmp 0x42f0c1
push 0x40
pop eax
mov esi, eax
xor eax, eax
mov edx, eax
cmp edx, eax
jl 0x42f0f9
jg 0x42f0ce
push 0x40
pop eax
cmp esi, eax
jb 0x42f0f9
xor edx, edx
cmp edi, edx
jg 0x42f0e6
jl 0x42f0da
cmp ebx, edx
jae 0x42f0e6
cmp cl, 0x57
je 0x42f0e6
or ebx, 0xffffffff
or edi, ebx
jmp 0x42f14e
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
jmp 0x42f14e
cmp cl, 0x57
mov eax, ebx
mov edx, edi
mov ecx, esi
jne 0x42f10f
call fcn.004a04e0
mov ecx, eax
mov eax, edx
jmp 0x42f14a
call fcn.004a0500
mov ecx, eax
mov eax, edx
xor edx, edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x5c], eax
cmp edi, edx
jg 0x42f14a
jl 0x42f12c
cmp ebx, edx
jae 0x42f14a
push 0x40
pop eax
mov ecx, eax
or edx, 0xffffffff
sub ecx, esi
or eax, 0xffffffff
call fcn.004a04e0
mov ecx, dword [esp + 0x24]
or ecx, eax
mov eax, dword [esp + 0x5c]
or eax, edx
mov ebx, ecx
mov edi, eax
mov ecx, dword [esp + 0x78]
mov dword [ecx], ebx
mov dword [ecx + 4], edi
jmp 0x42ed9c
imul esi, dword [ebp + 4], 0x28
add esi, dword [esp + 0x20]
mov ecx, esi
call fcn.00428f1e
mov eax, dword [ebp + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x42e547
imul esi, dword [ebp + 4], 0x28
push 4
pop ebx
add esi, dword [esp + 0x20]
movzx eax, word [esi + 8]
mov ecx, eax
test bl, al
jne 0x42f1ef
push dword [esp + 0x4c]
mov dl, 0x43
mov ecx, esi
call fcn.0042e26f
movzx eax, word [esi + 8]
pop ecx
mov ecx, eax
test bl, al
jne 0x42f1ef
cmp dword [ebp + 8], 0
jne 0x431dbc
push 0x14
pop eax
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x41], 0
push 7
pop ecx
cmovne eax, ecx
mov dword [esp + 0x14], eax
cmp eax, 0xc0a
je 0x42fcec
mov ecx, eax
call fcn.004607a0
push eax
push 0x4b6170
push edi
call fcn.004299c3
mov eax, dword [esp + 0x20]
add esp, 0xc
jmp 0x42fcec
mov eax, 0xbe04
and ecx, eax
or ecx, ebx
mov word [esi + 8], cx
jmp 0x42e547
imul ecx, dword [ebp + 4], 0x28
push 4
pop eax
add ecx, dword [esp + 0x20]
test byte [ecx + 8], al
je case.0x42e484.62
call fcn.00428f43
jmp case.0x42e484.62
imul esi, dword [ebp + 4], 0x28
mov eax, 0x4000
add esi, dword [esp + 0x20]
test word [esi + 8], ax
je 0x42f23f
mov ecx, esi
call fcn.00428b87
mov dword [esp + 0x14], eax
jmp 0x42f244
and dword [esp + 0x14], 0
push dword [esp + 0x4c]
mov dl, byte [ebp + 8]
mov ecx, esi
call fcn.00428fd9
jmp 0x42e848
imul edi, dword [ebp + 4], 0x28
imul esi, dword [ebp + 0xc], 0x28
add edi, dword [esp + 0x20]
add esi, dword [esp + 0x20]
movzx ecx, word [edi + 8]
movzx edx, word [esi + 8]
mov eax, ecx
mov dword [esp + 0x40], eax
mov ebx, edx
mov al, bl
or al, cl
test al, 1
mov al, byte [ebp + 3]
je 0x42f2d7
test al, al
jns 0x42f2a6
mov eax, ebx
xor edx, edx
and eax, ecx
bt ax, dx
jae 0x42f29a
test ebx, 0x100
je 0x42f29d
xor edx, edx
inc edx
mov al, byte [esp + 0x2b]
jmp 0x42f3cd
test al, 0x20
je 0x42f2c6
imul ecx, dword [ebp + 8], 0x28
mov edx, 0xbe01
add ecx, dword [esp + 0x20]
mov ax, word [ecx + 8]
and ax, dx
xor edx, edx
inc edx
jmp 0x42edab
test al, 0x10
mov edi, dword [esp + 0x1c]
jne 0x431dbc
jmp 0x42e547
and al, 0x47
cmp al, 0x43
jb 0x42f30a
push 2
mov eax, edx
and cl, 0xe
pop edx
cmp cl, dl
jne 0x42f2f6
xor edx, edx
mov ecx, edi
call fcn.0042e1eb
movzx eax, word [esi + 8]
push 2
and al, 0xe
pop ecx
cmp al, cl
jne 0x42f377
xor edx, edx
mov ecx, esi
call fcn.0042e1eb
jmp 0x42f377
cmp al, 0x42
jne 0x42f377
mov eax, edx
test cl, 2
jne 0x42f348
test cl, 0xc
je 0x42f348
mov dl, byte [esp + 0x4c]
mov ecx, edi
push 1
call fcn.00428c31
mov ax, word [edi + 8]
xor ax, word [esp + 0x44]
pop ecx
mov ecx, 0x1ff
and ax, cx
xor ax, word [edi + 8]
movzx eax, ax
mov dword [esp + 0x40], eax
movzx eax, word [esi + 8]
push 2
pop ecx
test cl, al
jne 0x42f377
test al, 0xc
je 0x42f377
mov dl, byte [esp + 0x4c]
mov ecx, esi
push 1
call fcn.00428c31
mov ax, word [esi + 8]
pop ecx
xor ax, bx
mov ecx, 0x1ff
and ax, cx
xor ax, word [esi + 8]
movzx ebx, ax
mov eax, 0x4000
test word [edi + 8], ax
je 0x42f396
mov ecx, edi
call fcn.00428b87
and dword [esp + 0x40], 0xbfff
mov eax, 0x4000
test word [esi + 8], ax
je 0x42f3a9
mov ecx, esi
call fcn.00428b87
and ebx, 0xbfff
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x41], 0
jne 0x4328c2
push dword [ebp + 0x10]
mov edx, edi
mov ecx, esi
call fcn.0042bea2
pop ecx
mov ecx, dword [esp + 0x40]
mov edx, eax
mov al, byte [ebp]
movzx eax, al
sub eax, 0x4e
je 0x42f40b
sub eax, 1
je 0x42f402
sub eax, 1
je 0x42f3f9
sub eax, 1
je 0x42f3f0
sub eax, 1
je 0x42f3eb
not edx
shr edx, 0x1f
jmp 0x42f414
xor eax, eax
test edx, edx
setle al
jmp 0x42f412
xor eax, eax
test edx, edx
setg al
jmp 0x42f412
xor eax, eax
test edx, edx
sete al
jmp 0x42f412
xor eax, eax
test edx, edx
setne al
mov edx, eax
mov word [edi + 8], cx
mov word [esi + 8], bx
test byte [ebp + 3], 0x20
je 0x42f44b
imul ecx, dword [ebp + 8], 0x28
mov ebx, 0xbe04
push 4
add ecx, dword [esp + 0x24]
mov ax, word [ecx + 8]
and ax, bx
mov dword [ecx], edx
pop ebx
or ax, bx
and dword [ecx + 4], 0
mov word [ecx + 8], ax
jmp 0x42e7a5
test edx, edx
jmp 0x42f2c8
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0xd4], ecx
jmp case.0x42e484.62
test byte [ebp + 3], 1
mov ecx, dword [ebp + 4]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
push 0
pop edi
cmovne edi, dword [esp + 0xd4]
xor ebx, ebx
mov dword [esp + 0x5c], ecx
mov esi, ebx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x78], eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x24], ecx
test eax, eax
jle 0x42f4f0
test edi, edi
je 0x42f49d
mov ecx, dword [edi + esi*4]
jmp 0x42f49f
mov ecx, esi
mov eax, dword [edx + 0x10]
push dword [edx + esi*4 + 0x14]
mov bl, byte [esi + eax]
mov eax, dword [esp + 0x28]
add eax, ecx
imul edx, eax, 0x28
mov eax, dword [esp + 0x60]
add eax, ecx
imul ecx, eax, 0x28
add edx, dword [esp + 0x24]
add ecx, dword [esp + 0x24]
call fcn.0042bea2
mov dword [esp + 0xd4], eax
pop ecx
test eax, eax
jne 0x42f4e1
mov edx, dword [esp + 0x64]
inc esi
cmp esi, dword [esp + 0x78]
jl 0x42f494
jmp 0x42f4ee
test bl, bl
je 0x42f4ee
neg eax
mov dword [esp + 0xd0], eax
xor ebx, ebx
mov dword [esp + 0xd4], ebx
jmp 0x42e7a5
mov eax, dword [esp + 0xd0]
test eax, eax
jns 0x42f50c
mov eax, dword [ebp + 4]
jmp 0x42f516
jne 0x42f513
mov eax, dword [ebp + 8]
jmp 0x42f516
mov eax, dword [ebp + 0xc]
mov ebp, dword [esp + 0x34]
imul eax, eax, 0x14
add ebp, 0xffffffec
add ebp, eax
jmp case.0x42e484.62
imul ecx, dword [ebp + 4], 0x28
xor edx, edx
mov ebx, dword [esp + 0x20]
inc edx
add ecx, ebx
test byte [ecx + 8], dl
je 0x42f53e
push 6
pop esi
jmp 0x42f551
call fcn.00428e1e
or eax, edx
je 0x42f54c
push 3
pop esi
jmp 0x42f54e
xor esi, esi
xor edx, edx
inc edx
imul ecx, dword [ebp + 8], 0x28
add ecx, ebx
test byte [ecx + 8], dl
je 0x42f568
mov ecx, 0x4b2a72
mov eax, 0x4b4eb6
jmp 0x42f58a
call fcn.00428e1e
or eax, edx
je 0x42f57d
mov ecx, 0x4b2a71
mov eax, 0x4b4eb5
jmp 0x42f587
mov ecx, 0x4b2a70
mov eax, 0x4b4eb4
xor edx, edx
inc edx
cmp byte [ebp], 0x48
push 2
cmovne eax, ecx
mov al, byte [eax + esi]
imul esi, dword [ebp + 0xc], 0x28
add esi, ebx
pop ebx
movzx ecx, word [esi + 8]
cmp al, bl
jne 0x42f5b3
mov eax, 0xbe01
and ecx, eax
or ecx, edx
jmp 0x42f1f8
movzx eax, al
cdq
mov dword [esi], eax
mov eax, 0xbe04
and ecx, eax
mov dword [esi + 4], edx
push 4
pop eax
or ecx, eax
jmp 0x42f1f8
imul esi, dword [ebp + 8], 0x28
mov eax, 0x2460
imul edi, dword [ebp + 4], 0x28
add esi, dword [esp + 0x20]
add edi, dword [esp + 0x20]
test word [esi + 8], ax
je 0x42f5f4
mov ecx, esi
call fcn.00428d4c
xor edx, edx
inc edx
jmp 0x42f5fb
xor edx, edx
inc edx
mov word [esi + 8], dx
test byte [edi + 8], dl
jne 0x42e7a5
push 4
pop eax
mov ecx, edi
mov word [esi + 8], ax
call fcn.00428e1e
or eax, edx
jne 0x42f61b
inc eax
xor ecx, ecx
jmp 0x42f62c
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x42e7a5
imul esi, dword [ebp + 8], 0x28
mov eax, 0x2460
imul edi, dword [ebp + 4], 0x28
add esi, dword [esp + 0x20]
add edi, dword [esp + 0x20]
test word [esi + 8], ax
je 0x42f65d
mov ecx, esi
call fcn.00428d4c
xor edx, edx
inc edx
jmp 0x42f664
xor edx, edx
inc edx
mov word [esi + 8], dx
test byte [edi + 8], dl
jne 0x42e7a5
push 4
pop eax
mov ecx, edi
mov word [esi + 8], ax
call fcn.00428e1e
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x42e7a5
mov eax, dword [edi + 0xc8]
mov ecx, dword [ebp + 4]
cmp byte [eax + ecx], 0
jne 0x431dbc
mov byte [eax + ecx], 1
jmp case.0x42e484.62
imul ecx, dword [ebp + 4], 0x28
add ecx, dword [esp + 0x20]
test byte [ecx + 8], 1
je 0x42f6b8
mov eax, dword [ebp + 0xc]
jmp 0x42f6dd
call fcn.00428e70
ucomisd xmm0, qword [0x4bc630]
lahf
xor edx, edx
test ah, 0x44
jnp 0x42f6d2
inc edx
mov eax, edx
jmp 0x42f6d5
xor eax, eax
inc edx
cmp byte [ebp], 0x2e
jne 0x42f6dd
xor eax, edx
test eax, eax
jmp 0x42e4eb
imul eax, dword [ebp + 4], 0x28
mov ecx, dword [esp + 0x20]
test byte [eax + ecx + 8], 1
jmp 0x42e4eb
imul eax, dword [ebp + 4], 0x28
mov ecx, dword [esp + 0x20]
test byte [eax + ecx + 8], 1
je 0x431dbc
jmp case.0x42e484.62
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
imul ebx, dword [ebp + 0xc], 0x28
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x38]
add ebx, dword [esp + 0x20]
mov esi, dword [eax + ecx*4]
mov ecx, esi
mov edi, dword [esi + 0x50]
mov eax, dword [esi]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
call fcn.0042b8de
mov dword [esp + 0x14], eax
test eax, eax
jne 0x432880
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi + 0x3c]
cmp eax, dword [ecx + 0x48]
je 0x42f8c7
cmp byte [esi + 0x19], 0
je 0x42f7b0
cmp dword [esp + 0x2c], 0
jne 0x42f78d
imul ecx, dword [esi + 0x10], 0x28
add ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x9c], eax
mov dword [esi + 0x44], eax
mov eax, dword [esp + 0x9c]
mov dword [esi + 0x40], eax
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x4c], eax
jmp 0x42f831
mov eax, 0x2460
test word [ebx + 8], ax
je 0x42f7a4
mov ecx, ebx
call fcn.00428d4c
jmp 0x42fb66
xor eax, eax
inc eax
mov word [ebx + 8], ax
jmp 0x42fb66
mov ecx, dword [esp + 0x2c]
push 4
pop eax
test byte [esi + 0x1c], al
jne 0x42f7f4
call fcn.00423120
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x9c]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x108], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x10c], eax
call fcn.00423575
mov dword [esi + 0x4c], eax
mov eax, dword [esp + 0x108]
mov dword [esi + 0x40], eax
jmp 0x42f812
call fcn.00423120
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x9c]
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x40], eax
call fcn.00423575
mov dword [esi + 0x4c], eax
mov ecx, dword [esi + 0x40]
mov eax, dword [esp + 0x9c]
cmp ecx, eax
cmovbe eax, ecx
mov dword [esi + 0x44], eax
mov eax, dword [esp + 0x18]
cmp ecx, dword [eax + 0x58]
ja 0x4328a4
mov eax, dword [esp + 0x1c]
mov edx, 0x80
mov ecx, dword [esi + 0x4c]
mov eax, dword [eax + 0x48]
mov dword [esi + 0x3c], eax
mov al, byte [ecx]
cmp al, dl
jae 0x42f857
movzx eax, al
mov dword [esp + 0x84], eax
mov al, 1
jmp 0x42f863
lea edx, [esp + 0x84]
call fcn.00416a65
movzx eax, al
mov dword [esi + 0x48], eax
xor eax, eax
mov word [esi + 0x16], ax
mov eax, dword [esp + 0x84]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
cmp eax, 0x18003
ja 0x42f8a2
cmp eax, dword [esi + 0x40]
ja 0x42f8a2
mov ecx, dword [esp + 0x40]
cmp dword [esp + 0x9c], eax
jae 0x42f8d7
xor eax, eax
mov dword [esi + 0x4c], eax
mov dword [esi + 0x44], eax
jmp 0x42f8d7
push 0x4bbf4c
push 0x126a1
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.004154c8
add esp, 0x10
push 0xb
pop eax
mov dword [esp + 0x14], eax
jmp 0x42e7a9
movzx eax, word [esi + 0x16]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jg 0x42fa9c
mov eax, dword [esi + 0x48]
cmp eax, dword [edi]
jae 0x42fa75
mov ecx, dword [esi + 0x4c]
mov dword [esp + 0x78], ecx
test ecx, ecx
jne 0x42f93a
xor eax, eax
lea edi, [esp + 0x190]
push 0xa
pop ecx
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x30]
lea eax, [esp + 0x190]
mov ecx, dword [esp + 0x2c]
xor edx, edx
push eax
mov eax, dword [esi + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
push dword [edi]
call fcn.004294b1
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42e7a9
mov ecx, dword [esp + 0x1a0]
mov dword [esp + 0x78], ecx
movzx edx, word [esi + 0x16]
mov dword [esp + 0x64], edx
mov eax, dword [edi + edx*4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x30]
mov edi, dword [esi + 0x48]
add edi, ecx
mov eax, dword [eax]
add eax, ecx
mov dword [esp + 0x6c], eax
lea eax, [edx + 0x15]
lea eax, [esi + eax*4]
mov dword [esp + 0x50], eax
mov al, byte [edi]
mov ecx, 0x80
cmp al, cl
jae 0x42f981
movzx eax, al
xor ecx, ecx
mov dword [esp + 0xa0], eax
inc ecx
jmp 0x42f99d
lea edx, [esp + 0xa0]
mov ecx, edi
call fcn.00416a65
mov edx, dword [esp + 0x64]
movzx ecx, al
mov eax, dword [esp + 0xa0]
add edi, ecx
mov ecx, dword [esp + 0x50]
mov dword [ecx], eax
mov eax, dword [esp + 0xa0]
cmp eax, 0xc
jb 0x42f9b8
lea ecx, [eax - 0xc]
shr ecx, 1
jmp 0x42f9bf
movzx ecx, byte [eax + 0x4b2df4]
mov eax, dword [esp + 0x84]
add eax, ecx
mov dword [esp + 0x84], eax
cmp eax, ecx
jb 0x42f9fa
push 4
pop ecx
add dword [esp + 0x50], ecx
inc edx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x64], edx
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x6c]
cmp edx, dword [esp + 0x40]
jg 0x42fa01
cmp edi, ecx
jb 0x42f967
jmp 0x42fa01
mov ecx, dword [esp + 0x6c]
lea edi, [ecx + 1]
mov eax, edi
mov word [esi + 0x16], dx
sub eax, dword [esp + 0x78]
cmp dword [esi + 0x4c], 0
mov dword [esi + 0x48], eax
jne 0x42fa47
mov eax, 0x2460
test dword [esp + 0x198], eax
jne 0x42fa2c
cmp dword [esp + 0x1a8], 0
je 0x42fa3c
lea ecx, [esp + 0x190]
call fcn.00428da9
mov ecx, dword [esp + 0x6c]
xor eax, eax
inc eax
mov word [esp + 0x198], ax
mov eax, dword [esp + 0x84]
cmp edi, ecx
jb 0x42fa59
ja 0x42fa5e
cmp eax, dword [esi + 0x40]
jne 0x42fa5e
cmp eax, dword [esi + 0x40]
jbe 0x42fa6d
push 0x4bbf4c
push 0x126f5
jmp 0x42f8ac
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
movzx eax, word [esi + 0x16]
cmp eax, ecx
jg 0x42fa9c
cmp byte [ebp + 1], 0xf8
jne 0x42f78d
mov edx, dword [ebp + 0x10]
mov eax, 0x800
push eax
mov ecx, ebx
call fcn.004291ec
jmp 0x42fb65
mov eax, 0x2460
test word [ebx + 8], ax
je 0x42faae
mov ecx, ebx
call fcn.00428d4c
mov ecx, dword [esp + 0x40]
mov edx, dword [esi + ecx*4 + 0x54]
mov dword [esp + 0xa0], edx
mov eax, dword [esi + 0x44]
cmp eax, dword [edi + ecx*4 + 4]
jb 0x42fadb
mov eax, dword [esp + 0x40]
mov ecx, dword [esi + 0x4c]
add ecx, dword [edi + eax*4]
push ebx
call fcn.0042baea
jmp 0x42fb5e
mov al, byte [ebp + 3]
test al, 0xc0
je 0x42faf0
cmp edx, 0xc
jb 0x42faec
test dl, 1
je 0x42fb07
test al, al
js 0x42fb07
cmp edx, 0xc
jb 0x42fafc
lea ecx, [edx - 0xc]
shr ecx, 1
jmp 0x42fb03
movzx ecx, byte [edx + 0x4b2df4]
test ecx, ecx
jne 0x42fb18
xor eax, eax
lea ecx, [esp + 0x108]
cmp edx, 0xd
cmova ecx, eax
jmp 0x42fad0
mov eax, dword [esi + 0x1c]
shr eax, 2
not eax
and eax, 1
push ebx
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [edi + eax*4]
call fcn.004294b1
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42e7a9
mov edx, dword [esp + 0xa0]
mov ecx, dword [ebx + 0x10]
push ebx
call fcn.0042baea
mov eax, 0xefff
and word [ebx + 8], ax
mov al, byte [esp + 0x50]
mov byte [ebx + 0xa], al
pop ecx
movzx eax, word [ebx + 8]
bt eax, 0xc
mov esi, eax
jae 0x42e7a5
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x24], eax
test eax, eax
je 0x42e7a5
mov edi, dword [ebx + 0xc]
mov ecx, ebx
lea edx, [edi + 2]
call fcn.00428aee
test eax, eax
jne 0x42fccc
push edi
push dword [esp + 0x28]
push dword [ebx + 0x10]
call fcn.0047e230
mov eax, dword [ebx + 0x10]
xor edx, edx
and esi, 0x12
add esp, 0xc
mov byte [edi + eax], dl
mov eax, dword [ebx + 0x10]
mov byte [edi + eax + 1], dl
mov eax, 0x200
or esi, eax
mov word [ebx + 8], si
jmp 0x42e7a5
imul esi, dword [ebp + 4], 0x28
mov edi, dword [ebp + 0x10]
add esi, dword [esp + 0x20]
jmp 0x42fbeb
push dword [esp + 0x4c]
mov dl, al
mov ecx, esi
inc edi
call fcn.0042e26f
pop ecx
add esi, 0x28
mov al, byte [edi]
test al, al
jne 0x42fbd9
jmp 0x42e7a5
imul edx, dword [ebp + 4], 0x28
xor eax, eax
imul ebx, dword [ebp + 8], 0x28
xorps xmm0, xmm0
mov esi, dword [ebp + 0x10]
movzx ecx, byte [edi + 0x57]
mov dword [esp + 0x2c], eax
imul eax, dword [ebp + 0xc], 0x28
add edx, dword [esp + 0x20]
add ebx, 0xffffffd8
add ebx, edx
movlpd qword [esp + 0x50], xmm0
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x5c], edx
add eax, dword [esp + 0x20]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x24], eax
test esi, esi
je 0x42fc5f
mov al, byte [esi]
mov edi, edx
push dword [esp + 0x4c]
mov dl, al
mov ecx, edi
call fcn.0042e26f
add edi, 0x28
inc esi
pop ecx
mov al, byte [esi]
test al, al
jne 0x42fc43
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x40], eax
mov edx, ecx
mov ecx, ebx
call fcn.0042b903
mov esi, eax
mov dword [ebx + 0x1c], esi
cmp esi, 0xc
jb 0x42fc99
lea edi, [esi - 0xc]
shr edi, 1
jmp 0x42fca0
movzx edi, byte [esi + 0x4b2df4]
mov eax, 0x4000
test word [ebx + 8], ax
je 0x42fd5c
mov eax, dword [esp + 0x30]
or eax, dword [esp + 0x6c]
je 0x42fd4f
mov ecx, ebx
call fcn.00428b87
test eax, eax
je 0x42fd5c
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
push str.out_of_memory
push edi
mov byte [esi + 0x41], 1
call fcn.004299c3
pop ecx
pop ecx
push 7
pop eax
mov dword [esp + 0x14], eax
push dword [edi + 0x2c]
sub ebp, dword [esp + 0x38]
push dword [edi + 0xa8]
mov dword [edi + 0x50], eax
mov eax, ebp
push 0x14
pop ecx
cdq
idiv ecx
push eax
push str.statement_aborts_at__d:___s___s
push dword [esp + 0x24]
call fcn.004154c8
add esp, 0x14
mov ecx, edi
call fcn.0042b346
cmp dword [esp + 0x14], 0xc0a
jne 0x42fd2b
mov byte [esi + 0x41], 1
mov al, byte [esp + 0x63]
mov dword [esp + 0x14], 1
test al, al
je 0x4328d5
movzx edx, al
mov ecx, esi
dec edx
call fcn.0043d5af
jmp 0x4328d5
mov eax, dword [ebx]
cdq
add dword [esp + 0x40], eax
adc dword [esp + 0x50], edx
sub edi, dword [ebx]
mov eax, edi
cdq
add dword [esp + 0x30], eax
adc dword [esp + 0x6c], edx
xor edx, edx
inc edx
cmp esi, 0x7f
jbe 0x42fd84
shr esi, 7
xor ecx, ecx
jmp 0x42fd7e
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
jne 0x42fd76
mov eax, dword [esp + 0x2c]
sub ebx, 0x28
mov ecx, dword [esp + 0x78]
add eax, edx
mov dword [esp + 0x2c], eax
cmp ebx, dword [esp + 0x5c]
jae 0x42fc7f
cmp eax, 0x7e
jle 0x42fdf8
cdq
xor ebx, ebx
mov esi, eax
inc ebx
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x42fdc5
shrd esi, edx, 7
inc ebx
shr edx, 7
mov eax, esi
or eax, edx
jne 0x42fdb7
mov eax, dword [esp + 0x2c]
xor edi, edi
add eax, ebx
inc edi
mov dword [esp + 0x2c], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x42fdf0
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x42fde2
mov eax, dword [esp + 0x2c]
cmp ebx, edi
jge 0x42fdfd
inc eax
mov dword [esp + 0x2c], eax
cdq
mov edi, eax
mov ebx, edx
add eax, dword [esp + 0x30]
mov ecx, ebx
mov esi, eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x18]
adc ecx, dword [esp + 0x6c]
add esi, dword [esp + 0x40]
mov eax, dword [eax + 0x58]
adc ecx, dword [esp + 0x50]
cdq
cmp ecx, edx
jg 0x43109d
jl 0x42fe34
cmp esi, eax
ja 0x43109d
mov esi, dword [esp + 0x24]
mov ecx, esi
mov edx, dword [esp + 0x78]
call fcn.00428aee
test eax, eax
jne 0x42fccc
mov edx, dword [esp + 0x2c]
mov eax, 0x80
mov esi, dword [esi + 0x10]
cmp edx, eax
jae 0x42fe62
xor eax, eax
mov byte [esi], dl
inc eax
jmp 0x42fe6d
push ebx
push edi
mov ecx, esi
call fcn.004168c2
pop ecx
pop ecx
mov ebp, dword [esp + 0x5c]
movzx edi, al
mov ebx, dword [ebp + 0x1c]
lea ecx, [edi + esi]
mov eax, 0x80
cmp ebx, eax
jae 0x42fe8a
xor eax, eax
mov byte [ecx], bl
inc eax
jmp 0x42fe94
push 0
push ebx
call fcn.004168c2
pop ecx
pop ecx
mov ecx, dword [esp + 0x2c]
mov edx, ebp
movzx eax, al
push ebx
add edi, eax
lea ecx, [ecx + esi]
call fcn.0042b9e7
add dword [esp + 0x30], eax
add ebp, 0x28
pop ecx
cmp ebp, dword [esp + 0x38]
jbe 0x42fe74
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x64]
mov dword [ecx + 0xc], eax
push 0x10
pop eax
mov word [ecx + 8], ax
mov eax, edx
or eax, dword [esp + 0x50]
je 0x42fee3
mov eax, 0x4010
mov dword [ecx], edx
mov word [ecx + 8], ax
mov byte [ecx + 0xa], 1
jmp 0x42e7a5
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x110]
mov eax, dword [edi + 0x38]
xorps xmm0, xmm0
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
movlpd qword [esp + 0x110], xmm0
call fcn.0042724f
mov edx, ebp
mov dword [esp + 0x14], eax
mov ecx, edi
call fcn.0042e357
mov ecx, dword [esp + 0x110]
mov dword [eax], ecx
mov ecx, dword [esp + 0x114]
jmp 0x42e61c
mov esi, dword [ebp + 4]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x50], esi
test esi, esi
jne 0x430021
mov esi, dword [esp + 0x18]
xor eax, eax
cmp dword [esi + 0x9c], eax
jle 0x42ff65
push str.cannot_open_savepoint___SQL_statements_in_progress
push edi
call fcn.004299c3
pop ecx
pop ecx
push 5
jmp 0x4304a5
test ebx, ebx
jne 0x42ff6d
mov esi, eax
jmp 0x42ff81
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42ff72
sub esi, ecx
and esi, 0x3fffffff
mov ecx, dword [esp + 0x18]
xor edx, edx
mov eax, dword [ecx + 0x1f4]
add eax, dword [ecx + 0x1f0]
push eax
call fcn.0045540d
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x42f1b3
mov ecx, dword [esp + 0x18]
lea edx, [esi + 0x21]
call fcn.00413fe8
mov edi, eax
test edi, edi
je 0x42e7a5
lea ecx, [esi + 1]
push ecx
lea edx, [edi + 0x20]
push ebx
push edx
mov dword [edi], edx
call fcn.0047e230
mov esi, dword [esp + 0x24]
add esp, 0xc
cmp byte [esi + 0x3f], 0
je 0x42ffe3
mov byte [esi + 0x3f], 0
mov byte [esi + 0x46], 1
jmp 0x42ffe9
inc dword [esi + 0x1f0]
mov eax, dword [esi + 0x1e8]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1f8]
mov dword [esi + 0x1e8], edi
mov dword [edi + 8], eax
mov eax, dword [esi + 0x1fc]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x200]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x204]
mov dword [edi + 0x14], eax
jmp 0x4307ad
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov edi, dword [eax + 0x1e8]
test edi, edi
je 0x4302b1
mov esi, ecx
push ebx
push dword [edi]
call fcn.00415e09
pop ecx
pop ecx
test eax, eax
je 0x43004d
mov edi, dword [edi + 0x18]
inc esi
test edi, edi
jne 0x430037
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x50]
test edi, edi
je 0x4302b1
mov edx, dword [esp + 0x18]
xor eax, eax
xor ebx, ebx
inc eax
cmp dword [edx + 0x9c], ebx
jle 0x43008f
cmp esi, eax
jne 0x43008f
mov edi, dword [esp + 0x1c]
push str.cannot_release_savepoint___SQL_statements_in_progress
push edi
call fcn.004299c3
pop ecx
pop ecx
push 5
pop eax
mov dword [esp + 0x14], eax
jmp 0x42e7ad
cmp dword [edi + 0x18], ebx
jne 0x4300ef
cmp byte [edx + 0x46], bl
je 0x4300ef
mov ebx, eax
mov dword [esp + 0x30], ebx
cmp esi, eax
jne 0x4300f5
mov ecx, dword [esp + 0x1c]
mov edx, eax
call fcn.0042b2e8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4328cd
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov byte [eax + 0x3f], 1
call fcn.0042b346
push 5
pop ecx
cmp eax, ecx
je 0x4327ae
mov ecx, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + 0x1c]
mov byte [ecx + 0x46], dl
mov eax, dword [eax + 0x50]
mov dword [esp + 0x14], eax
jmp 0x4301f5
mov dword [esp + 0x30], ebx
jmp 0x4300f7
xor ebx, ebx
mov ecx, dword [edx + 0x1f0]
sub ecx, dword [esp + 0x40]
mov eax, dword [edx + 0x14]
dec ecx
mov dword [esp + 0x40], ecx
cmp esi, 2
jne 0x43016f
mov ebx, dword [edx + 0x18]
xor edx, edx
shr ebx, 1
and ebx, 1
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43016f
mov ecx, ebx
mov esi, edx
xor ecx, 1
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x18]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [esi + ecx + 4]
call fcn.00422da8
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x432880
mov ecx, dword [esp + 0x24]
push 0x10
pop eax
add esi, eax
inc ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 0x14]
cmp ecx, eax
mov ecx, dword [esp + 0x38]
jl 0x43012b
mov ecx, dword [esp + 0x40]
xor edx, edx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x4301ba
mov esi, edx
mov edx, dword [esp + 0x18]
push ecx
mov ecx, dword [edx + 0x10]
mov edx, dword [esp + 0x54]
mov ecx, dword [esi + ecx + 4]
call fcn.00422f51
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x432880
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
inc eax
push 0x10
pop ecx
add esi, ecx
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x40]
cmp eax, dword [edx + 0x14]
jl 0x43017f
jmp 0x4301be
mov edx, dword [esp + 0x18]
test ebx, ebx
je 0x4301e9
mov eax, dword [edx + 4]
test eax, eax
je 0x4301d6
push 8
pop ecx
or dword [eax + 0x58], ecx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x4301cc
mov ecx, edx
call fcn.0043d5dc
mov ecx, dword [esp + 0x18]
push 2
pop eax
or dword [ecx + 0x18], eax
jmp 0x4301ed
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x50]
cmp dword [ecx + 0x1e8], edi
je 0x43022d
mov ebx, dword [esp + 0x18]
mov edx, dword [ebx + 0x1e8]
mov ecx, ebx
mov eax, dword [edx + 0x18]
mov dword [ebx + 0x1e8], eax
call fcn.00413e42
dec dword [ebx + 0x1f0]
cmp dword [ebx + 0x1e8], edi
jne 0x430201
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
cmp esi, 1
jne 0x430256
mov eax, dword [edi + 0x18]
mov edx, edi
mov dword [ecx + 0x1e8], eax
call fcn.00413e42
test ebx, ebx
jne 0x42e7a5
mov eax, dword [esp + 0x18]
dec dword [eax + 0x1f0]
jmp 0x430289
mov eax, dword [edi + 8]
mov dword [ecx + 0x1f8], eax
mov eax, dword [edi + 0xc]
mov dword [ecx + 0x1fc], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x200], eax
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x204], eax
test ebx, ebx
je 0x430289
push 2
pop eax
cmp esi, eax
jne 0x42e7a5
mov ecx, dword [esp + 0x40]
mov edx, esi
mov esi, dword [esp + 0x18]
push ecx
mov ecx, esi
call fcn.0045540d
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x42f1b7
jmp 0x42e7b1
mov edi, dword [esp + 0x1c]
push ebx
push str.no_such_savepoint:__s
push edi
call fcn.004299c3
xor eax, eax
add esp, 0xc
inc eax
jmp 0x430086
mov ebx, dword [ebp + 4]
mov ecx, dword [ebp + 8]
test ebx, ebx
je 0x4302f8
mov al, byte [esi + 0x3f]
test al, al
jne 0x4302f8
test ecx, ecx
jne 0x4302fb
cmp dword [esi + 0x9c], ecx
jle 0x4302fb
mov dword [esp + 0x14], 5
mov ecx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x430327
mov al, byte [esi + 0x3f]
movzx eax, al
cmp ebx, eax
jne 0x4327d5
test ecx, ecx
mov dword [esp + 0x14], 1
mov eax, str.cannot_rollback___no_transaction_is_active
mov edx, str.cannot_commit___no_transaction_is_active
cmove eax, edx
mov ecx, str.cannot_start_a_transaction_within_a_transaction
test ebx, ebx
cmovne ecx, eax
push ecx
push edi
call fcn.004299c3
pop ecx
jmp 0x42e8ff
mov edx, dword [ebp + 8]
test edx, edx
je 0x430348
test dword [esi + 0x18], 0x2000000
jne 0x432844
mov ecx, dword [ebp + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x43043b
mov ecx, esi
call fcn.00422386
mov dword [esp + 0x14], eax
cmp al, 5
je 0x43284c
test eax, eax
jne 0x42f1b3
cmp dword [ebp + 8], eax
je 0x43040c
test byte [edi + 0x58], 0x20
je 0x43040c
mov ebx, dword [esp + 0x18]
cmp byte [ebx + 0x3f], al
je 0x43039c
cmp dword [ebx + 0x98], 1
jle 0x43040c
mov eax, dword [edi + 0x68]
test eax, eax
jne 0x4303b8
mov eax, dword [ebx + 0x1f0]
inc dword [ebx + 0x1f4]
add eax, dword [ebx + 0x1f4]
mov dword [edi + 0x68], eax
dec eax
xor edx, edx
push eax
mov ecx, ebx
call fcn.0045540d
pop ecx
mov ecx, eax
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x4303dc
mov edx, dword [edi + 0x68]
mov ecx, esi
call fcn.00422f1b
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x1f8]
mov dword [edi + 0x98], eax
mov eax, dword [ebx + 0x1fc]
mov dword [edi + 0x9c], eax
mov eax, dword [ebx + 0x200]
mov dword [edi + 0xa0], eax
mov eax, dword [ebx + 0x204]
mov dword [edi + 0xa4], eax
lea eax, [esp + 0xcc]
xor edx, edx
push eax
inc edx
mov ecx, esi
call fcn.004271bf
mov esi, dword [esp + 0x1c]
pop ecx
mov ecx, dword [ebp + 4]
add ecx, ecx
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0xcc]
jmp 0x43044c
mov esi, dword [esp + 0x18]
xor edx, edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0xcc], eax
cmp byte [ebp + 3], 0
je case.0x42e484.62
cmp eax, dword [ebp + 0xc]
jne 0x430464
cmp ecx, dword [ebp + 0x10]
je case.0x42e484.62
mov edx, dword [edi + 0x2c]
mov ecx, esi
call fcn.00413e42
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.0041410e
mov dword [edi + 0x2c], eax
mov edx, dword [ebp + 4]
mov ecx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [esp + 0xcc]
je 0x43049d
mov ecx, esi
call fcn.0043d5af
push 8
pop eax
or dword [edi + 0x58], eax
push 0x11
pop eax
mov dword [esp + 0x14], eax
jmp 0x42e7b1
mov ecx, dword [esi + 0x10]
lea eax, [esp + 0xf8]
mov edx, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004271bf
pop ecx
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov ecx, eax
mov eax, dword [esp + 0xf8]
jmp 0x42e5fe
imul edi, dword [ebp + 0xc], 0x28
mov eax, dword [esp + 0x18]
mov esi, dword [ebp + 4]
shl esi, 4
add edi, dword [esp + 0x20]
add esi, dword [eax + 0x10]
mov ecx, edi
call fcn.00428f1e
push dword [edi]
mov edx, dword [ebp + 8]
mov ecx, dword [esi + 4]
call fcn.004271ff
xor edx, edx
mov dword [esp + 0x18], eax
inc edx
pop ecx
push 2
cmp dword [ebp + 8], edx
jne 0x430530
mov ecx, dword [esi + 0xc]
mov eax, dword [edi]
mov esi, dword [esp + 0x1c]
mov dword [ecx], eax
pop eax
or dword [esi + 0x18], eax
mov eax, dword [esp + 0x14]
jmp 0x430546
pop ecx
cmp dword [ebp + 8], ecx
jne 0x430542
mov ecx, dword [esi + 0xc]
mov al, byte [edi]
mov byte [ecx + 0x4c], al
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
cmp dword [ebp + 4], edx
jne 0x4307b1
mov eax, dword [esi + 4]
test eax, eax
je 0x430563
push 8
pop ecx
or dword [eax + 0x58], ecx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x430559
mov edi, dword [esp + 0x1c]
and dword [edi + 0x58], 0xfffffff7
jmp case.0x42e484.62
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x430589
mov eax, dword [esi + 0x20]
cmp eax, dword [ebp + 8]
je 0x430696
mov esi, dword [esp + 0x18]
test byte [edi + 0x58], 8
je 0x43059d
mov eax, 0x204
jmp 0x4304a6
mov ecx, dword [ebp + 8]
xor eax, eax
mov esi, dword [ebp + 0xc]
mov edi, eax
mov dword [esp + 0x50], ecx
mov ebx, eax
mov ecx, dword [esp + 0x18]
mov eax, esi
shl eax, 4
mov dword [esp + 0x38], esi
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x50]
cmp dl, 0x37
jne 0x4305e9
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], 1
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x57]
jae 0x4305ed
mov byte [edx + 0x57], al
jmp 0x4305ed
and dword [esp + 0x24], ebx
push 4
pop eax
test byte [ebp + 3], al
je 0x430618
imul esi, ecx, 0x28
add esi, dword [esp + 0x20]
mov ecx, esi
call fcn.00428f1e
mov ecx, dword [esi]
push 2
pop eax
mov dword [esp + 0x50], ecx
cmp ecx, eax
jl 0x432864
mov esi, dword [esp + 0x38]
mov al, byte [ebp + 1]
cmp al, 0xfa
jne 0x43062e
mov ebx, dword [ebp + 0x10]
movzx edi, word [ebx + 8]
movzx eax, word [ebx + 6]
add edi, eax
jmp 0x430635
cmp al, 0xf2
jne 0x430635
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp + 4]
push 1
push esi
push edi
mov edi, dword [esp + 0x28]
mov ecx, edi
call fcn.0042e135
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42fcd0
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x5c]
push 8
pop eax
push dword [esi]
or dword [esi + 0x1c], eax
push ebx
push dword [esp + 0x2c]
mov byte [esi + 0x19], 1
mov dword [esi + 0x20], edx
call fcn.00423057
add esp, 0xc
mov dword [esp + 0x14], eax
xor ecx, ecx
mov dword [esi + 8], ebx
cmp byte [ebp + 1], 0xfa
push 4
pop eax
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 0x1c], ecx
mov cl, byte [ebp + 3]
mov eax, dword [esi]
and cl, 3
mov byte [eax + 0x43], cl
jmp 0x42e547
mov edx, dword [ebp + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.0042e135
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x42fcd4
xor eax, eax
lea edi, [ebx + 4]
inc eax
xor edx, edx
or dword [ebx + 0x1c], eax
mov byte [ebx + 0x19], al
movzx eax, byte [ebp + 3]
mov ecx, dword [esi]
or eax, 5
push 0x41e
push eax
push edi
push esi
call fcn.00421828
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x430796
mov ecx, dword [edi]
xor edx, edx
inc edx
call fcn.00422386
mov dword [esp + 0x14], eax
test eax, eax
jne 0x430796
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x38], eax
test eax, eax
je 0x430778
movzx esi, byte [ebp + 3]
mov edi, dword [edi]
mov ecx, edi
push 2
pop eax
or esi, eax
call fcn.004203ea
push esi
lea edx, [esp + 0x100]
mov ecx, edi
call fcn.00426c3c
pop ecx
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.0042045c
cmp dword [esp + 0x14], 0
jne 0x43076e
push dword [ebx]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x100]
mov ecx, dword [ebx + 4]
push eax
push 1
mov dword [ebx + 8], eax
call fcn.00423057
add esp, 0xc
mov dword [esp + 0x14], eax
and dword [ebx + 0x1c], 0xfffffffb
mov esi, dword [esp + 0x18]
jmp 0x430796
push dword [ebx]
mov ecx, dword [edi]
xor eax, eax
inc eax
push 0
push eax
mov edx, eax
call fcn.00423057
add esp, 0xc
mov dword [esp + 0x14], eax
push 4
pop eax
or dword [ebx + 0x1c], eax
xor ecx, ecx
cmp byte [ebp + 3], 8
push 8
pop eax
cmovne ecx, eax
mov eax, dword [ebx + 0x1c]
and eax, 0xfffffff7
or ecx, eax
mov dword [ebx + 0x1c], ecx
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
jmp 0x42e7b1
mov edx, dword [ebp + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.0042e135
add esp, 0xc
test eax, eax
je 0x42fcd4
mov ecx, dword [ebp + 0x10]
mov dword [eax + 8], ecx
mov ecx, esi
mov edx, dword [ebp + 0xc]
push eax
call fcn.00433927
pop ecx
jmp 0x4304a6
mov eax, dword [edi + 0x38]
mov ecx, dword [ebp + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x28]
mov ecx, edi
mov esi, dword [edx + 0x2c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x28], ecx
adc eax, 0
or edi, esi
mov dword [edx + 0x2c], eax
mov edi, dword [esp + 0x1c]
je 0x431dbc
jmp 0x42e547
mov edx, dword [ebp + 4]
mov ecx, edi
push 0
push 0xffffffffffffffff
push dword [ebp + 0xc]
call fcn.0042e135
add esp, 0xc
test eax, eax
je 0x42fcd4
mov byte [eax + 0x19], 1
mov ecx, dword [ebp + 8]
push 4
mov dword [eax + 0x10], ecx
pop ecx
or dword [eax + 0x1c], ecx
jmp case.0x42e484.62
mov eax, dword [ebp + 4]
mov ecx, edi
mov edx, dword [edi + 0x38]
mov edx, dword [edx + eax*4]
call fcn.0042aab4
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
and dword [eax + ecx*4], 0
jmp case.0x42e484.62
mov eax, dword [edi + 0x38]
mov ecx, dword [ebp + 4]
push 4
mov edi, dword [eax + ecx*4]
pop eax
mov byte [edi + 0x19], 0
test byte [edi + 0x1c], al
je 0x430924
imul esi, dword [ebp + 0xc], 0x28
push 2
pop ecx
add esi, dword [esp + 0x20]
mov al, byte [esi + 8]
and al, 0xe
cmp al, cl
jne 0x4308a3
xor edx, edx
mov ecx, esi
call fcn.0042e1eb
mov ecx, esi
call fcn.00428e1e
movzx ecx, word [esi + 8]
push 4
mov dword [esp + 0x28], eax
pop eax
mov dword [esp + 0x50], edx
test al, cl
jne 0x4308f3
test cl, 8
je 0x431db8
mov ecx, dword [esp + 0x24]
call fcn.004a0e10
movsd xmm1, qword [esi]
comisd xmm0, xmm1
jbe 0x4308e7
mov eax, dword [esp + 0x38]
test bl, 1
cmovne eax, ebx
mov ebx, eax
jmp 0x4308f3
comisd xmm1, xmm0
jbe 0x4308f3
test bl, 1
je 0x4308f3
inc ebx
mov esi, dword [esp + 0x24]
lea eax, [esp + 0x68]
mov ecx, dword [edi]
xor edx, edx
push eax
push 0
push dword [esp + 0x58]
push esi
call fcn.0042380c
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x60]
mov dword [edi + 0x30], esi
mov esi, dword [esp + 0x28]
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x24]
jmp 0x430989
mov eax, dword [edi + 8]
mov dword [esp + 0x154], eax
mov ax, word [ebp + 0x10]
mov word [esp + 0x158], ax
lea eax, [ebx - 1]
and al, 1
neg al
sbb al, al
imul ecx, dword [ebp + 0xc], 0x28
and al, 0xfe
inc al
mov byte [esp + 0x15a], al
mov eax, 0x4000
add ecx, dword [esp + 0x20]
mov dword [esp + 0x15c], ecx
test word [ecx + 8], ax
je 0x43096d
call fcn.00428b87
mov ecx, dword [edi]
lea eax, [esp + 0x68]
push eax
xor eax, eax
lea edx, [esp + 0x158]
push eax
push eax
push eax
call fcn.0042380c
mov dword [esp + 0x24], eax
add esp, 0x10
test eax, eax
jne 0x432889
xor edx, edx
mov byte [edi + 0x1a], dl
mov dword [edi + 0x3c], edx
mov eax, dword [esp + 0x68]
cmp ebx, 0x41
jl 0x4309cb
test eax, eax
js 0x4309b9
jne 0x4309b0
cmp ebx, 0x42
je 0x4309b9
mov dword [esp + 0x68], edx
jmp 0x4307ad
lea eax, [esp + 0x68]
mov dword [esp + 0x68], edx
push eax
push dword [edi]
call fcn.00423c81
jmp 0x4309fb
test eax, eax
jg 0x4309eb
jne 0x4309d6
cmp ebx, 0x3f
je 0x4309eb
mov eax, dword [edi]
xor ecx, ecx
cmp byte [eax + 0x42], 1
mov eax, dword [esp + 0x14]
setne cl
mov dword [esp + 0x68], ecx
jmp 0x430a09
lea eax, [esp + 0x68]
mov dword [esp + 0x68], edx
push eax
push dword [edi]
call fcn.00423dca
mov dword [esp + 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x432889
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x68], 0
jne 0x431dbc
jmp 0x42e7b1
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
mov byte [esi + 0x19], 0
imul ecx, dword [ebp + 8], 0x28
add ecx, dword [esp + 0x20]
call fcn.00428e1e
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
jmp 0x42e547
imul esi, dword [ebp + 0xc], 0x28
xor edx, edx
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
add esi, dword [esp + 0x20]
mov ebx, dword [eax + ecx*4]
mov dword [esp + 0x38], ebx
mov dword [esp + 0xe0], edx
cmp dword [ebp + 0x10], edx
jle 0x430ad2
mov eax, dword [ebx + 8]
mov ebx, edx
movzx ecx, word [ebp + 0x10]
mov dword [esp + 0x140], eax
xor eax, eax
mov word [esp + 0x144], cx
mov dword [esp + 0x148], esi
cmp ax, cx
jae 0x430ac5
mov edi, edx
mov edx, 0x4000
lea eax, [edi + esi]
test word [eax + 8], dx
je 0x430aba
mov ecx, eax
call fcn.00428b87
mov esi, dword [esp + 0x148]
mov edx, 0x4000
mov cx, word [esp + 0x144]
inc ebx
movzx eax, cx
add edi, 0x28
cmp ebx, eax
jl 0x430a96
mov ebx, dword [esp + 0x38]
lea edi, [esp + 0x140]
jmp 0x430b1d
mov ecx, dword [ebx + 8]
lea eax, [esp + 0xe0]
push eax
push 0xbf
lea edx, [esp + 0x240]
call fcn.0042bc6e
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42fccc
mov eax, 0x4000
test word [esi + 8], ax
je 0x430b0c
mov ecx, esi
call fcn.00428b87
mov edx, dword [esi + 0xc]
mov ecx, dword [ebx + 8]
push edi
push dword [esi + 0x10]
call fcn.0042bcc6
pop ecx
pop ecx
xor eax, eax
mov byte [edi + 6], al
mov esi, eax
cmp byte [ebp], 0x44
jne 0x430b4e
movzx edx, word [edi + 4]
mov ecx, eax
test edx, edx
je 0x430b4e
mov eax, dword [edi + 8]
add eax, 8
test byte [eax], 1
jne 0x430b49
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x430b3a
jmp 0x430b4c
xor esi, esi
inc esi
xor eax, eax
lea ecx, [esp + 0xe4]
mov edx, edi
push ecx
mov ecx, dword [ebx]
push eax
push eax
push eax
call fcn.0042380c
mov edx, dword [esp + 0xf0]
add esp, 0x10
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
call fcn.00413e42
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42e7a9
mov eax, dword [esp + 0xe4]
xor ecx, ecx
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0xe4]
test eax, eax
sete cl
test eax, eax
setne al
xor edx, edx
mov byte [ebx + 0x19], al
mov byte [ebx + 0x1a], dl
mov dword [ebx + 0x3c], edx
cmp byte [ebp], 0x46
jne 0x430bba
test ecx, ecx
jmp 0x42f2c8
test esi, esi
jne 0x431db8
test ecx, ecx
jmp 0x43080e
mov eax, dword [edi + 0x38]
xor edx, edx
mov ecx, dword [ebp + 4]
mov edi, dword [esp + 0x20]
mov ebx, dword [eax + ecx*4]
imul eax, dword [ebp + 0xc], 0x28
mov ecx, dword [ebx]
mov dword [esp + 0xc8], edx
mov esi, dword [eax + edi]
mov edi, dword [eax + edi + 4]
lea eax, [esp + 0xc8]
push eax
push edx
push edi
push esi
call fcn.0042380c
xor edx, edx
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], edi
add esp, 0x10
mov word [ebx + 0x19], dx
mov dword [ebx + 0x3c], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc8]
mov dword [ebx + 0xc], eax
cmp dword [esp + 0xc8], edx
je 0x42e7a5
cmp dword [ebp + 8], edx
jne 0x431db8
push 0x4bbf4c
push 0x12cd5
jmp 0x42f8ac
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov ecx, dword [edi + 0x38]
mov edx, dword [ebp + 4]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x28]
mov dword [eax], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.0x42e484.62
and dword [esp + 0xac], 0
xorps xmm0, xmm0
mov edx, ebp
movlpd qword [esp + 0x70], xmm0
mov ecx, edi
call fcn.0042e357
mov edx, dword [ebp + 4]
mov ebx, eax
mov ecx, dword [edi + 0x38]
push 2
pop eax
mov dword [esp + 0x38], ebx
mov edi, dword [ecx + edx*4]
test byte [edi + 0x1c], al
jne 0x430d17
mov ecx, dword [edi]
lea edx, [esp + 0xac]
call fcn.004237bb
mov dword [esp + 0x14], eax
test eax, eax
jne 0x432889
cmp dword [esp + 0xac], eax
je 0x430cd6
and dword [esp + 0x74], eax
mov dword [esp + 0x70], 1
jmp 0x430d17
mov esi, dword [edi]
mov ecx, esi
call fcn.00423120
mov ecx, dword [esi + 0x14]
xor edx, edx
mov eax, dword [esi + 0x10]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x14], edx
cmp ecx, 0x7fffffff
jl 0x430d0a
jg 0x430d02
cmp eax, 0xffffffff
jb 0x430d0a
push 2
pop eax
or dword [edi + 0x1c], eax
jmp 0x430d17
add eax, 1
mov dword [esp + 0x70], eax
adc ecx, edx
mov dword [esp + 0x74], ecx
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x430d9c
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xb0]
test eax, eax
jne 0x430d80
imul esi, edx, 0x28
add esi, dword [esp + 0x20]
mov ecx, esi
call fcn.00428f1e
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x430d50
cmp edx, 0x7fffffff
je 0x430e05
push 2
pop eax
test byte [edi + 0x1c], al
jne 0x430e05
add ecx, 1
adc edx, 0
cmp dword [esp + 0x74], edx
jg 0x430d8f
jl 0x430d72
mov eax, dword [esp + 0x70]
cmp eax, ecx
jae 0x430d93
mov eax, ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
jmp 0x430d93
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x430d7e
imul esi, edx, 0x28
add esi, dword [eax + 0x10]
jmp 0x430d33
mov eax, dword [esp + 0x70]
mov dword [esi], eax
mov eax, dword [esp + 0x74]
mov dword [esi + 4], eax
push 2
pop eax
test byte [edi + 0x1c], al
je 0x430e0c
xor esi, esi
lea eax, [esp + 0x70]
push eax
push 8
pop eax
push eax
call fcn.004154fe
mov eax, dword [esp + 0x7c]
lea ebx, [esp + 0xb4]
mov ecx, dword [esp + 0x78]
and eax, 0x3fffffff
push 0
pop edx
add ecx, 1
push ebx
adc eax, edx
mov dword [esp + 0x7c], ecx
push edx
push eax
mov dword [esp + 0x88], eax
push ecx
mov ecx, dword [edi]
call fcn.0042380c
mov ebx, dword [esp + 0x50]
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x430e0c
cmp dword [esp + 0xac], 0
jne 0x430e0c
inc esi
cmp esi, 0x64
jl 0x430da6
push 0xd
jmp 0x43287f
xor ecx, ecx
mov byte [edi + 0x1a], cl
mov dword [edi + 0x3c], ecx
mov eax, dword [esp + 0x70]
mov dword [ebx], eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 4], eax
jmp 0x42e7a5
imul esi, dword [ebp + 8], 0x28
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov ebx, dword [esp + 0x20]
add esi, ebx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
cmp dl, 0x54
jne 0x430e51
imul eax, eax, 0x28
mov edi, dword [eax + ebx]
mov ebx, dword [eax + ebx + 4]
jmp 0x430e56
cdq
mov edi, eax
mov ebx, edx
mov cl, byte [ebp + 3]
xor edx, edx
inc edx
test dl, cl
je 0x430e6a
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x5c]
mov cl, byte [ebp + 3]
push 2
pop eax
test al, cl
je 0x430e89
mov eax, dword [esp + 0x18]
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], ebx
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], ebx
movzx ecx, word [esi + 8]
xor eax, eax
test dl, cl
je 0x430e99
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], eax
mov dl, byte [ebp + 3]
test dl, 0x10
je 0x430ea8
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0xc]
test ecx, 0x4000
je 0x430eb4
mov ecx, dword [esi]
jmp 0x430eb6
xor ecx, ecx
push eax
movzx eax, dl
xor edx, edx
shr eax, 3
and eax, 1
push eax
push ecx
push dword [esi + 0xc]
push dword [esi + 0x10]
mov esi, dword [esp + 0x38]
push ebx
push edi
mov ecx, dword [esi]
call fcn.00426787
xor ecx, ecx
mov dword [esp + 0x30], eax
add esp, 0x1c
mov byte [esi + 0x1a], cl
mov dword [esi + 0x3c], ecx
test eax, eax
jne 0x42e7a9
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xd4]
test edx, edx
je 0x4326fb
cmp dword [ebp + 0x10], eax
je 0x4326fb
movsx ecx, byte [esi + 0x18]
mov esi, dword [esp + 0x18]
add ecx, ecx
push ebx
push edi
push dword [ebp + 0x10]
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push 4
pop eax
test byte [ebp + 3], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
push dword [esi + 0xd0]
call edx
add esp, 0x18
jmp 0x4307ad
mov eax, dword [edi + 0x38]
mov ecx, dword [ebp + 4]
mov edi, dword [eax + ecx*4]
xor eax, eax
cmp dword [esi + 0xd4], eax
je 0x430f60
cmp dword [ebp + 0x10], eax
je 0x430f60
push 4
pop ecx
mov bl, 1
test byte [edi + 0x1c], cl
jne 0x430f62
mov bl, al
mov al, byte [ebp + 3]
test al, al
je 0x430f89
test bl, bl
je 0x430f89
mov esi, dword [edi]
mov ecx, esi
call fcn.00423120
mov eax, dword [esi + 0x10]
mov dword [edi + 0x30], eax
mov eax, dword [esi + 0x14]
mov esi, dword [esp + 0x18]
mov dword [edi + 0x34], eax
mov al, byte [ebp + 3]
mov ecx, dword [edi]
movzx edx, al
call fcn.004269a1
and dword [edi + 0x3c], 0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x430fcd
test bl, bl
je 0x430fcd
push dword [edi + 0x34]
movsx ecx, byte [edi + 0x18]
push dword [edi + 0x30]
mov eax, dword [esi + 0x10]
add ecx, ecx
push dword [ebp + 0x10]
push dword [eax + ecx*8]
push 9
push dword [esi + 0xd0]
call dword [esi + 0xd4]
mov eax, dword [esp + 0x2c]
add esp, 0x18
test byte [ebp + 8], 1
mov edi, dword [esp + 0x1c]
je 0x42e7b1
inc dword [edi + 0x5c]
jmp 0x42e7b1
mov eax, dword [edi + 0x5c]
add dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
and dword [edi + 0x5c], 0
jmp case.0x42e484.62
mov eax, dword [edi + 0x38]
mov ecx, dword [ebp + 4]
imul edx, dword [ebp + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
lea eax, [esp + 0xe8]
and dword [esp + 0xe8], 0
add edx, dword [esp + 0x20]
push eax
push dword [ebp + 0x10]
call fcn.004350ab
cmp dword [esp + 0xf0], 0
pop ecx
pop ecx
mov dword [esp + 0x14], eax
jmp 0x430a12
imul edx, dword [ebp + 8], 0x28
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
add edx, dword [esp + 0x20]
mov ecx, dword [eax + ecx*4]
call fcn.00435055
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
and dword [eax + 0x3c], 0
jmp case.0x42e484.62
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 4]
imul edi, dword [ebp + 8], 0x28
push 4
mov eax, dword [eax + 0x38]
add edi, dword [esp + 0x24]
mov eax, dword [eax + ecx*4]
pop ecx
mov dword [esp + 0x38], eax
mov ebx, dword [eax]
test byte [eax + 0x1c], cl
mov ecx, ebx
jne 0x4310b9
call fcn.00423120
mov eax, dword [esp + 0x18]
mov esi, dword [ebx + 0x10]
mov eax, dword [eax + 0x58]
cdq
cmp dword [ebx + 0x14], edx
jg 0x43109d
jl 0x4310ce
cmp esi, eax
jbe 0x4310ce
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
push str.string_or_blob_too_big
push edi
call fcn.004299c3
pop ecx
pop ecx
push 0x12
jmp 0x42fce7
call fcn.00423120
mov eax, dword [esp + 0x18]
mov esi, dword [ebx + 0x1c]
cmp esi, dword [eax + 0x58]
ja 0x4328a4
push 0x20
pop edx
cmp esi, edx
mov ecx, edi
cmova edx, esi
call fcn.00428aee
test eax, eax
jne 0x42fccc
mov ax, word [edi + 8]
mov ecx, 0xbe10
and ax, cx
mov dword [edi + 0xc], esi
push 0x10
pop ecx
or ax, cx
mov word [edi + 8], ax
mov eax, dword [esp + 0x38]
push 4
pop ecx
test byte [eax + 0x1c], cl
jne 0x43111e
push 0
push dword [edi + 0x10]
xor edx, edx
mov ecx, ebx
push esi
call fcn.0042328e
add esp, 0xc
jmp 0x43112d
push dword [edi + 0x10]
push esi
push 0
push ebx
call fcn.00423538
add esp, 0x10
mov dword [esp + 0x14], eax
mov byte [edi + 0xa], 1
jmp 0x42e7a9
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov ebx, dword [esp + 0x1c]
mov edi, eax
mov edx, dword [ebp + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 0x19], 0
je 0x43116a
xor eax, eax
inc eax
mov word [edi + 8], ax
mov eax, dword [esp + 0x14]
mov edi, ebx
jmp 0x42e7ad
cmp byte [esi + 0x1a], 0
je 0x43117f
mov ecx, dword [esi + 0x30]
mov dword [esp + 0xd8], ecx
mov eax, dword [esi + 0x34]
jmp 0x4311fe
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x4311ae
mov esi, dword [ecx]
lea edx, [esp + 0xd8]
push edx
push ecx
mov eax, dword [esi]
call dword [eax + 0x30]
pop ecx
pop ecx
mov edx, esi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.0042ca3e
mov ecx, dword [esp + 0xd8]
jmp 0x431205
mov eax, dword [esi]
xor edx, edx
inc edx
cmp byte [eax + 0x42], dl
je 0x4311c6
mov ecx, esi
call fcn.0042b8a4
xor edx, edx
xor ebx, ebx
inc edx
jmp 0x4311ca
xor ebx, ebx
mov eax, ebx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x432880
cmp byte [esi + 0x19], al
je 0x4311e4
mov word [edi + 8], dx
jmp 0x42e7a9
mov esi, dword [esi]
mov ecx, esi
call fcn.00423120
mov ecx, dword [esi + 0x10]
mov dword [esp + 0xd8], ecx
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], ebx
mov dword [esp + 0xdc], eax
mov dword [edi], ecx
mov eax, dword [esp + 0xdc]
mov dword [edi + 4], eax
jmp 0x42e7a5
mov ecx, dword [ebp + 4]
xor ebx, ebx
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], ebx
test esi, esi
je 0x42e547
push dword [esi + 0x30]
call fcn.00413de1
pop ecx
mov dword [esi + 0x30], ebx
mov byte [esi + 0x42], bl
jmp 0x42e547
mov ecx, dword [ebp + 4]
lea edx, [esp + 0xc4]
mov eax, dword [edi + 0x38]
xor ebx, ebx
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
mov dword [esp + 0xc4], ebx
call fcn.004237bb
mov dword [esp + 0x14], eax
mov al, byte [esp + 0xc4]
mov byte [esi + 0x19], al
mov byte [esi + 0x1a], bl
mov dword [esi + 0x3c], ebx
mov eax, dword [ebp + 0xc]
mov dword [esi + 0xc], eax
cmp dword [ebp + 8], ebx
jle 0x42e547
cmp dword [esp + 0xc4], ebx
jmp 0x42f2cc
inc dword [edi + 0x74]
mov ecx, dword [ebp + 4]
lea edx, [esp + 0xb0]
mov eax, dword [edi + 0x38]
xor ebx, ebx
mov esi, dword [eax + ecx*4]
mov dword [esp + 0xb0], 1
cmp dword [esi + 0x38], ebx
je 0x4312c3
mov ecx, esi
call fcn.00434f65
jmp 0x4312d0
mov ecx, dword [esi]
call fcn.00423790
mov byte [esi + 0x1a], bl
mov dword [esi + 0x3c], ebx
mov dword [esp + 0x14], eax
mov al, byte [esp + 0xb0]
mov byte [esi + 0x19], al
cmp dword [esp + 0xb0], ebx
jmp 0x42f2cc
mov ecx, dword [ebp + 4]
xor ebx, ebx
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [esp + 0xb4]
mov ecx, dword [esp + 0x18]
mov edx, esi
push eax
mov dword [esp + 0xb8], ebx
call fcn.00434fb5
jmp 0x431347
mov ecx, dword [ebp + 4]
xor ebx, ebx
mov eax, dword [edi + 0x38]
cmp dword [eax + ecx*4], ebx
je case.0x42e484.62
jmp 0x431326
xor ebx, ebx
mov eax, dword [edi + 0x38]
mov ecx, dword [ebp + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xb4]
push eax
push dword [esi]
call dword [ebp + 0x10]
pop ecx
mov dword [esp + 0x18], eax
pop ecx
mov dword [esi + 0x3c], ebx
cmp dword [esp + 0xb4], 0
jne 0x43136d
mov byte [esi + 0x19], bl
movzx eax, byte [ebp + 3]
mov esi, dword [esp + 0x18]
inc dword [edi + eax*4 + 0x6c]
jmp 0x4324e5
mov byte [esi + 0x19], 1
jmp 0x4319e2
imul esi, dword [ebp + 8], 0x28
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
add esi, dword [esp + 0x20]
test byte [ebp + 3], 1
mov edi, dword [eax + ecx*4]
je 0x431394
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x4313aa
mov ecx, esi
call fcn.00428b87
xor ebx, ebx
jmp 0x4313ae
xor ebx, ebx
mov eax, ebx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42e7a9
cmp byte [ebp], 0x6e
jne 0x4313ce
mov edx, esi
mov ecx, edi
call fcn.00434496
jmp 0x42f8be
test byte [ebp + 3], 0x10
je 0x4313d9
mov eax, dword [edi + 0xc]
jmp 0x4313db
mov eax, ebx
mov ecx, dword [edi]
push eax
push dword [ebp + 0xc]
mov eax, dword [esi + 0xc]
push ebx
push ebx
cdq
push 0x4b015b
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.00426787
add esp, 0x1c
mov dword [esp + 0x14], eax
mov dword [edi + 0x3c], ebx
jmp 0x42e7a9
mov eax, dword [edi + 0x38]
lea edx, [esp + 0x168]
mov ecx, dword [ebp + 4]
xor ebx, ebx
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov ecx, edi
mov dword [esp + 0x168], eax
mov ax, word [ebp + 0xc]
mov word [esp + 0x16c], ax
imul eax, dword [ebp + 8], 0x28
mov byte [esp + 0x16e], bl
add eax, dword [esp + 0x20]
mov dword [esp + 0x170], eax
lea eax, [esp + 0x100]
push eax
push ebx
push ebx
push ebx
call fcn.0042380c
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x431478
cmp dword [esp + 0x100], ebx
jne 0x431478
xor edx, edx
mov ecx, edi
call fcn.004269a1
mov dword [esp + 0x14], eax
mov dword [esi + 0x3c], ebx
jmp 0x42e7a9
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov edx, dword [ebp + 4]
mov edi, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x38]
mov esi, dword [ecx + edx*4]
xor edx, edx
inc edx
mov ebx, dword [esi]
mov word [edi + 8], dx
mov ecx, dword [esi]
cmp byte [ecx + 0x42], dl
je 0x4314b1
mov ecx, esi
call fcn.0042b8a4
jmp 0x4314b3
xor eax, eax
mov dword [esp + 0x14], eax
test eax, eax
jne 0x432880
cmp byte [esi + 0x19], al
mov esi, dword [esp + 0x18]
jne 0x4307b1
lea eax, [esp + 0x118]
xorps xmm0, xmm0
push eax
mov edx, ebx
movlpd qword [esp + 0x11c], xmm0
mov ecx, esi
call fcn.0042c84e
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x432889
mov eax, dword [esp + 0x118]
mov dword [edi], eax
mov eax, dword [esp + 0x11c]
push 4
mov dword [edi + 4], eax
pop eax
mov word [edi + 8], ax
jmp 0x4307ad
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov edx, dword [eax + ecx*4]
mov ecx, esi
mov eax, dword [edx + 8]
mov dword [esp + 0x17c], eax
mov ax, word [ebp + 0x10]
mov word [esp + 0x180], ax
mov al, byte [esp + 0x2b]
cmp al, 0x74
sbb al, al
and dword [esp + 0xb8], 0
mov byte [esp + 0x182], al
imul eax, dword [ebp + 0xc], 0x28
add eax, dword [esp + 0x20]
mov dword [esp + 0x184], eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0x180]
push eax
call fcn.0042c933
test byte [ebp], 1
pop ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xbc]
pop ecx
jne 0x431588
neg eax
jmp 0x431589
inc eax
mov dword [esp + 0xb8], eax
test eax, eax
jg 0x431dbc
jmp case.0x42e484.62
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov ebx, eax
xor eax, eax
inc eax
mov word [ebx + 8], ax
mov ecx, dword [esi + 0xa4]
inc ecx
cmp dword [esi + 0x98], ecx
jle 0x4315d0
push 6
pop eax
push 2
pop ecx
mov dword [esp + 0x14], eax
mov byte [edi + 0x56], cl
jmp 0x42e7b1
mov eax, dword [ebp + 0xc]
mov ecx, eax
and dword [esp + 0xc0], 0
add ecx, ecx
mov esi, dword [ebp + 4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
mov edi, dword [eax + ecx*8 + 4]
mov ecx, edi
call fcn.004203ea
lea eax, [esp + 0xc0]
mov edx, esi
push eax
mov ecx, edi
call fcn.00427015
pop ecx
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.0042045c
push 4
pop eax
mov word [ebx + 8], ax
mov eax, dword [esp + 0xc0]
cdq
mov dword [ebx], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 4], edx
test eax, eax
jne 0x42e7a9
mov esi, dword [esp + 0x18]
cmp dword [esp + 0xc0], eax
je 0x4307b1
push dword [ebp + 4]
mov ebx, dword [esp + 0x3c]
mov ecx, esi
push dword [esp + 0xc4]
mov edx, ebx
call fcn.0043f0a0
mov al, bl
pop ecx
inc al
pop ecx
mov byte [esp + 0x63], al
jmp 0x4307ad
mov edx, dword [ebp + 4]
lea eax, [esp + 0xec]
xor ecx, ecx
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
mov dword [esp + 0xec], ebx
cmove eax, ecx
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [ebp + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00426fc6
pop ecx
mov dword [esp + 0x14], eax
cmp dword [ebp + 0xc], ebx
je 0x42e7b1
mov eax, dword [esp + 0xec]
add dword [edi + 0x5c], eax
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle case.0x42e484.62
mov ebx, dword [esp + 0x20]
imul ecx, ecx, 0x28
cdq
add dword [ecx + ebx], eax
adc dword [ecx + ebx + 4], edx
jmp case.0x42e484.62
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x4316ec
mov ecx, esi
call fcn.00433c03
jmp case.0x42e484.62
mov ecx, dword [ecx]
push 0
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx]
call fcn.00426fc6
jmp 0x4307e7
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov edx, dword [ebp + 4]
mov edi, eax
mov ecx, dword [esi + 0x10]
add edx, edx
and dword [esp + 0xf0], 0
mov bl, byte [ebp]
mov esi, dword [ecx + edx*8 + 4]
mov ecx, esi
call fcn.004203ea
xor ecx, ecx
lea edx, [esp + 0xf0]
cmp bl, 0x7a
setne cl
inc ecx
push ecx
mov ecx, esi
call fcn.00426c3c
pop ecx
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.0042045c
mov eax, dword [esp + 0xf0]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x42e7a5
mov ecx, dword [ebp + 4]
lea eax, [edi + 0x2c]
push dword [ebp + 0x10]
xor ebx, ebx
mov dword [esp + 0x138], eax
inc ebx
mov dword [esp + 0x13c], ecx
cmp ecx, ebx
mov dword [esp + 0x134], esi
mov edx, str.sqlite_temp_master
mov eax, str.sqlite_master
cmove eax, edx
add ecx, ecx
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.0041535b
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x4317b8
mov esi, dword [esp + 0x18]
push 7
pop eax
mov dword [esp + 0x14], eax
jmp 0x43180c
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x130]
mov byte [eax + 0x91], bl
xor ebx, ebx
push ebx
push ecx
push fcn.0044b3a1
push esi
push eax
mov dword [esp + 0x150], ebx
call fcn.0044848a
add esp, 0x14
mov edx, esi
mov esi, dword [esp + 0x18]
test eax, eax
mov ecx, esi
cmove eax, dword [esp + 0x13c]
mov dword [esp + 0x14], eax
call fcn.00413e42
mov eax, dword [esp + 0x14]
mov byte [esi + 0x91], bl
test eax, eax
je 0x431817
mov ecx, esi
call fcn.0043d5dc
mov eax, dword [esp + 0x14]
cmp eax, 7
je 0x42fcd4
jmp 0x42e7b1
mov edx, dword [ebp + 4]
mov ecx, esi
call fcn.0043c3e3
jmp 0x4304a6
push dword [ebp + 0x10]
mov edx, dword [ebp + 4]
mov ecx, esi
call fcn.0043d744
jmp 0x42e8ff
push dword [ebp + 0x10]
mov edx, dword [ebp + 4]
mov ecx, esi
call fcn.0043d485
jmp 0x42e8ff
push dword [ebp + 0x10]
mov edx, dword [ebp + 4]
mov ecx, esi
call fcn.00452a3d
jmp 0x42e8ff
mov eax, dword [ebp + 8]
mov ecx, esi
mov dword [esp + 0x50], eax
lea edx, [eax*4 + 4]
call fcn.00413fe8
mov edx, eax
mov dword [esp + 0x30], edx
test edx, edx
je 0x42fcd4
imul edi, dword [ebp + 0xc], 0x28
xor ebx, ebx
imul esi, dword [ebp + 4], 0x28
mov eax, dword [esp + 0x50]
add edi, dword [esp + 0x20]
add esi, dword [esp + 0x20]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x24], esi
test eax, eax
jle 0x4318de
mov dword [esp + 0x38], esi
mov edi, eax
mov ebp, edx
mov ecx, esi
call fcn.00428e1e
mov dword [ebp + ebx*4], eax
add esi, 0x28
inc ebx
cmp ebx, edi
jl 0x4318b7
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x30]
and dword [edx + ebx*4], 0
lea ecx, [esp + 0xf4]
push ecx
push dword [edi]
mov ecx, dword [esp + 0x20]
push eax
movzx eax, byte [ebp + 3]
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00427be2
mov edx, dword [esp + 0x3c]
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov ebx, eax
call fcn.00413e42
mov eax, dword [esp + 0xf4]
mov ecx, esi
cdq
sub dword [edi], eax
sbb dword [edi + 4], edx
call fcn.004290a1
cmp dword [esp + 0xf4], 0
je 0x431950
test ebx, ebx
je 0x42fccc
push fcn.00413de1
push 1
push 0xffffffffffffffff
mov edx, ebx
mov ecx, esi
call fcn.004292cf
add esp, 0xc
mov ecx, esi
movzx edx, byte [esp + 0x4c]
call fcn.00428a0b
jmp 0x42e7a5
imul esi, dword [ebp + 4], 0x28
mov ebx, dword [esp + 0x20]
imul edi, dword [ebp + 8], 0x28
add esi, ebx
test byte [esi + 8], 0x20
jne 0x431986
mov ecx, esi
call fcn.0042913c
test byte [esi + 8], 0x20
je 0x42fccc
push dword [edi + ebx + 4]
push dword [edi + ebx]
mov ecx, dword [esi]
call fcn.0041a73b
pop ecx
pop ecx
jmp 0x42e7a5
imul esi, dword [ebp + 4], 0x28
mov ebx, dword [esp + 0x20]
add esi, ebx
test byte [esi + 8], 0x20
je 0x431a49
mov ecx, dword [esi]
lea edx, [esp + 0x120]
call fcn.0041a957
test eax, eax
je 0x431a49
imul ecx, dword [ebp + 0xc], 0x28
push dword [esp + 0x124]
push dword [esp + 0x124]
add ecx, ebx
call fcn.00429109
pop ecx
pop ecx
xor ebx, ebx
mov esi, dword [esp + 0x18]
cmp dword [esi + 0xf0], ebx
jne 0x4328af
mov ecx, dword [esi + 0x124]
test ecx, ecx
je 0x4307ad
mov edi, dword [esp + 0xa8]
cmp edi, dword [esp + 0xa4]
jb 0x4307ad
mov ebx, dword [esi + 0x12c]
xor edx, edx
mov eax, edi
div ebx
push dword [esi + 0x128]
sub ebx, edx
add ebx, edi
mov dword [esp + 0xa8], ebx
call ecx
mov edi, dword [esp + 0x20]
pop ecx
test eax, eax
jne 0x4327a7
mov eax, dword [esp + 0x14]
jmp 0x42e7b1
mov ecx, esi
call fcn.004290a1
jmp 0x4324df
imul esi, dword [ebp + 4], 0x28
imul edi, dword [ebp + 0xc], 0x28
mov ebx, dword [ebp + 0x10]
add esi, dword [esp + 0x20]
add edi, dword [esp + 0x20]
test byte [esi + 8], 0x20
jne 0x431a7f
mov ecx, esi
call fcn.0042913c
test byte [esi + 8], 0x20
je 0x42fccc
test ebx, ebx
je 0x431a9d
push dword [edi + 4]
mov ecx, dword [esi]
mov edx, ebx
push dword [edi]
call fcn.0041a9af
pop ecx
pop ecx
test eax, eax
jne 0x431db8
test ebx, ebx
js 0x42e7a5
push dword [edi + 4]
push dword [edi]
jmp 0x43198d
imul edi, dword [ebp + 0xc], 0x28
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x24], edx
add edi, dword [esp + 0x20]
cmp byte [ebp + 3], 0
je 0x431ae7
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + 0x14]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x431ae7
cmp dword [eax + 0x1c], ecx
je 0x431adf
mov eax, dword [eax + 4]
test eax, eax
jne 0x431ad3
test eax, eax
jne 0x4307ad
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xb8]
cmp eax, dword [esi + 0x80]
jl 0x431b0f
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x14], 1
push str.too_many_levels_of_trigger_recursion
jmp 0x430328
test byte [edi + 8], 0x40
jne 0x431bdf
mov ebx, dword [edx + 8]
add ebx, dword [edx + 0xc]
lea eax, [ebx + 2]
imul ecx, eax, 0xa
mov eax, dword [edx + 0x10]
add ecx, dword [edx + 0xc]
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.00413fc8
mov esi, eax
test esi, esi
je 0x42fccc
mov ecx, edi
call fcn.00428dd7
sub ebp, dword [esp + 0x34]
mov dword [edi], esi
push 0x40
pop eax
mov word [edi + 8], ax
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov dword [esi], eax
mov dword [esi + 0x3c], ebx
mov eax, dword [edi + 0xc]
mov dword [esi + 0x40], eax
mov eax, ebp
cdq
push 0x14
pop ecx
idiv ecx
mov ebp, dword [esp + 0x1c]
mov dword [esi + 0x2c], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x34], eax
mov eax, dword [ebp + 0x38]
mov dword [esi + 0x18], eax
mov eax, dword [ebp + 0x24]
mov dword [esi + 0x28], eax
mov eax, dword [ebp + 4]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp + 0xc8]
mov dword [esi + 0x14], eax
mov eax, dword [ebp + 0xc4]
mov dword [esi + 0x38], eax
lea eax, [ebx + 2]
imul ecx, eax, 0x28
lea eax, [esi + 0x50]
add ecx, esi
cmp eax, ecx
je 0x431bd7
mov edx, dword [esp + 0x18]
mov ebx, 0x80
mov word [eax + 8], bx
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x431bc9
mov eax, dword [ebp + 0xb8]
jmp 0x431be9
mov esi, dword [edi]
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
inc eax
lea ecx, [esi + 0x28]
mov dword [ebp + 0xb8], eax
xor ebx, ebx
mov eax, dword [ebp + 0xb0]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x8c]
mov dword [esi + 0x24], eax
mov eax, dword [ebp + 0x5c]
mov dword [esi + 0x44], eax
mov eax, dword [ebp]
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x50]
mov dword [esi + 0x48], eax
mov dword [ebp + 8], ecx
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0xb0], esi
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0x1c], eax
inc eax
movzx edx, word [esi + 0x40]
imul eax, eax, 0x28
mov dword [ebp + 0x24], edx
add ecx, eax
mov dword [ebp + 0x38], ecx
mov esi, dword [edi]
mov dword [ebp + 4], esi
mov eax, dword [edi + 4]
lea ecx, [ecx + edx*4]
mov dword [ebp + 0x20], eax
mov dword [ebp + 0xc8], ecx
lea ebp, [esi - 0x14]
mov eax, dword [edi + 0x10]
mov edi, dword [esp + 0x1c]
push eax
push ebx
push ecx
mov dword [esp + 0x40], esi
mov dword [edi + 0xc4], eax
call fcn.0047ed30
add esp, 0xc
jmp 0x42e547
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov esi, dword [edi + 0xb0]
mov ecx, 0x1000
push ecx
imul edx, dword [esi + 0x2c], 0x14
mov ecx, dword [esi + 8]
mov ecx, dword [edx + ecx + 4]
add ecx, dword [ebp + 4]
imul edx, ecx, 0x28
add edx, dword [esi + 0x10]
jmp 0x42e841
test dword [esi + 0x18], 0x1000000
mov eax, dword [ebp + 8]
cdq
je 0x431ccb
add dword [esi + 0x200], eax
adc dword [esi + 0x204], edx
jmp case.0x42e484.62
cmp dword [ebp + 4], 0
je 0x431ce2
add dword [esi + 0x1f8], eax
adc dword [esi + 0x1fc], edx
jmp case.0x42e484.62
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp case.0x42e484.62
cmp dword [ebp + 4], 0
je 0x431d07
mov eax, dword [esi + 0x1f8]
or eax, dword [esi + 0x1fc]
jmp 0x431d13
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jne case.0x42e484.62
mov eax, dword [esi + 0x200]
or eax, dword [esi + 0x204]
jmp 0x42f703
mov eax, dword [edi + 0xb0]
test eax, eax
jne 0x431d76
imul edi, dword [ebp + 4], 0x28
mov ebx, dword [esp + 0x20]
add edi, ebx
mov ecx, edi
call fcn.00428f1e
imul esi, dword [ebp + 8], 0x28
add esi, ebx
mov ecx, esi
call fcn.00428f1e
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x42e7a5
jl 0x431d6a
cmp dword [edi], eax
jae 0x42e7a5
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x42e7a5
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x431d74
imul edi, dword [ebp + 4], 0x28
mov ebx, dword [esp + 0x20]
add edi, dword [eax + 0x10]
jmp 0x431d3e
imul ecx, dword [ebp + 4], 0x28
xor ebx, ebx
add ecx, dword [esp + 0x20]
mov edi, dword [ecx + 4]
mov esi, dword [ecx]
cmp edi, ebx
jl 0x42e7a5
jg 0x431dab
cmp esi, ebx
jbe 0x42e7a5
mov eax, dword [ebp + 0xc]
cdq
sub esi, eax
mov dword [ecx], esi
sbb edi, edx
mov dword [ecx + 4], edi
mov edi, dword [esp + 0x1c]
imul eax, dword [ebp + 8], 0x14
mov ebp, dword [esp + 0x34]
add ebp, 0xffffffec
add ebp, eax
jmp 0x42e547
imul eax, dword [ebp + 4], 0x28
xor ebx, ebx
mov ecx, dword [esp + 0x20]
cmp dword [eax + ecx + 4], ebx
jg case.0x42e484.62
jl 0x431ded
cmp dword [eax + ecx], ebx
ja case.0x42e484.62
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov ecx, eax
mov eax, dword [ebp + 0xc]
jmp 0x42e5fe
imul ecx, dword [ebp + 4], 0x28
add ecx, dword [esp + 0x20]
mov esi, dword [ecx]
mov eax, esi
mov edi, dword [ecx + 4]
or eax, edi
je 0x42e7a5
jmp 0x431dab
imul ecx, dword [ebp + 4], 0x28
add ecx, dword [esp + 0x20]
add dword [ecx], 0xffffffff
mov eax, dword [ecx]
adc dword [ecx + 4], 0xffffffff
or eax, dword [ecx + 4]
jmp 0x42f703
imul esi, dword [ebp + 4], 0x28
add esi, dword [esp + 0x20]
mov edi, dword [esi]
mov ecx, edi
mov edx, dword [esi + 4]
add ecx, 1
mov eax, edx
mov dword [esi], ecx
adc eax, 0
or edi, edx
mov dword [esi + 4], eax
jmp 0x43080e
mov bl, byte [ebp + 3]
mov ecx, esi
movzx eax, bl
lea edx, [eax*4 + 0x1c]
call fcn.00413fe8
mov esi, eax
test esi, esi
je 0x42fcd0
and dword [esi + 8], 0
mov eax, ebp
mov ecx, dword [ebp + 0x10]
sub eax, dword [esp + 0x34]
mov dword [esi + 4], ecx
push 0x14
cdq
pop ecx
idiv ecx
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
mov byte [esi + 0x1a], bl
mov word [ebp], 0xec90
mov dword [ebp + 0x10], esi
imul edx, dword [ebp + 0xc], 0x28
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0x20]
add edx, ebx
mov dword [esp + 0x38], edx
cmp dword [esi + 8], edx
je 0x431ee1
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edx
js 0x431ee1
lea edi, [ecx + 7]
push 4
lea edi, [esi + edi*4]
pop edx
mov eax, dword [ebp + 8]
add eax, ecx
imul eax, eax, 0x28
add eax, ebx
mov dword [edi], eax
sub edi, edx
sub ecx, 1
jns 0x431ec6
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x1c]
inc dword [edx + 0xc]
lea ecx, [esp + 0x200]
mov edx, dword [esp + 0x18]
push 1
call fcn.00429090
lea eax, [esp + 0x204]
xor ebx, ebx
pop ecx
mov ecx, dword [esi + 4]
mov dword [esi], eax
lea eax, [esi + 0x1c]
push eax
movzx eax, byte [esi + 0x1a]
push eax
push esi
mov word [esi + 0x18], bx
call dword [ecx + 0x10]
add esp, 0xc
cmp byte [esi + 0x19], bl
je 0x431f53
cmp dword [esi + 0x14], ebx
je 0x431f47
lea eax, [esp + 0x200]
push eax
call fcn.0042cca0
pop ecx
push eax
push 0x4b6170
push edi
call fcn.004299c3
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x200]
call fcn.00428dd7
cmp byte [esi + 0x18], bl
je 0x42e547
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x42e547
imul ecx, eax, 0x28
push ebx
push 1
add ecx, dword [esp + 0x28]
call fcn.00429109
pop ecx
jmp 0x42e848
imul esi, dword [ebp + 4], 0x28
mov edx, dword [ebp + 0x10]
add esi, dword [esp + 0x20]
mov ecx, esi
call fcn.00428cca
mov dword [esp + 0x14], eax
test eax, eax
je 0x431fac
push esi
call fcn.0042cca0
pop ecx
push eax
push 0x4b6170
push edi
call fcn.004299c3
add esp, 0xc
movzx edx, byte [esp + 0x4c]
mov ecx, esi
call fcn.00428a0b
mov ecx, esi
call fcn.004291ad
jmp 0x42effc
mov edx, dword [ebp + 4]
lea eax, [esp + 0x234]
or dword [esp + 0x234], 0xffffffff
xor ebx, ebx
or dword [esp + 0x230], 0xffffffff
mov ecx, esi
push eax
lea eax, [esp + 0x234]
mov dword [esp + 0x230], ebx
push eax
push dword [ebp + 8]
call fcn.00460edf
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, 5
jne 0x432015
mov dword [esp + 0x14], ebx
mov dword [esp + 0x22c], 1
imul esi, dword [ebp + 0xc], 0x28
mov edi, ebx
add esi, dword [esp + 0x20]
mov eax, dword [esp + edi*4 + 0x22c]
mov ecx, esi
cdq
push edx
push eax
call fcn.00429109
inc edi
add esi, 0x28
pop ecx
pop ecx
cmp edi, 3
jl 0x43201f
jmp 0x42e7a5
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov edx, dword [ebp + 4]
mov esi, dword [ebp + 0xc]
add edx, edx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [esp + 0x38], eax
call fcn.00427345
mov ebx, eax
mov ecx, ebx
call fcn.0041e417
mov edi, eax
cmp esi, 0xffffffff
mov ecx, ebx
cmove esi, edi
call fcn.0041e41c
test eax, eax
mov ecx, ebx
cmove esi, edi
xor edx, edx
inc edx
call fcn.0041e20a
cmp esi, 5
jne 0x4320af
mov ecx, eax
call fcn.00415cec
test eax, eax
je 0x4320ad
mov ecx, ebx
call fcn.0041e43e
test eax, eax
jne 0x4320af
mov esi, edi
cmp esi, edi
je 0x43211b
cmp edi, 5
je 0x4320bd
cmp esi, 5
jne 0x43211b
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x3f], 0
je 0x432150
cmp dword [eax + 0x98], 1
jg 0x432150
cmp edi, 5
jne 0x4320ec
mov ecx, ebx
call fcn.0041e50c
mov dword [esp + 0x14], eax
test eax, eax
jne 0x432119
mov edx, esi
jmp 0x4320f8
push 4
pop eax
cmp edi, eax
jne 0x4320ff
push 2
pop eax
mov edx, eax
mov ecx, ebx
call fcn.0041e34b
mov ecx, dword [esp + 0x38]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00427f98
mov dword [esp + 0x14], eax
test eax, eax
je 0x43211b
mov esi, edi
mov edx, esi
mov ecx, ebx
call fcn.0041e34b
mov ebx, dword [esp + 0x24]
mov ecx, 0xa02
mov word [ebx + 8], cx
mov ecx, eax
call fcn.00448f4a
mov ecx, eax
mov dword [ebx + 0x10], eax
call fcn.00415cec
mov dword [ebx + 0xc], eax
mov ecx, ebx
mov byte [ebx + 0xa], 1
jmp 0x431952
mov edi, dword [esp + 0x1c]
cmp esi, 5
mov ecx, str.out_of
mov dword [esp + 0x14], 1
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push edi
call fcn.004299c3
jmp 0x431c77
lea ecx, [edi + 0x2c]
mov edx, esi
call fcn.004544af
jmp 0x4304a6
mov ecx, dword [ebp + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00422a4e
mov dword [esp + 0x14], eax
cmp eax, 0x65
jne 0x42e7b1
and dword [esp + 0x14], 0
jmp 0x431dbc
cmp dword [ebp + 4], 0
jne 0x4321c6
mov ecx, esi
call fcn.0042c9c8
jmp case.0x42e484.62
push 8
pop eax
or dword [edi + 0x58], eax
jmp case.0x42e484.62
mov al, byte [ebp + 0xc]
mov byte [esp + 0x104], al
test al, al
jne 0x4321ed
mov eax, 0x4000
test dword [esi + 0x18], eax
jne case.0x42e484.62
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x10]
add eax, eax
push dword [esp + 0x104]
mov edx, dword [ebp + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00427eba
mov dword [esp + 0x18], eax
pop ecx
cmp al, 6
jne 0x42e7b1
push dword [ebp + 0x10]
push str.database_table_is_locked:__s
push edi
call fcn.004299c3
add esp, 0xc
jmp case.0x42e484.62
mov esi, dword [ebp + 0x10]
mov edx, esi
mov ecx, dword [esp + 0x18]
call fcn.0045536b
mov dword [esp + 0x14], eax
test esi, esi
je 0x42e7ad
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.0042ca3e
jmp 0x42e547
imul edx, dword [ebp + 8], 0x28
lea edi, [esp + 0x1d8]
push 0xa
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
add edx, dword [esp + 0x20]
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x1f8], esi
call fcn.0042923d
mov dword [esp + 0x14], eax
lea eax, [esp + 0x1d8]
push eax
call fcn.0042cca0
mov edi, dword [esp + 0x20]
pop ecx
test eax, eax
je 0x4322ac
mov edx, dword [ebp + 4]
lea ecx, [edi + 0x2c]
push ecx
push eax
mov ecx, esi
call fcn.0045507e
pop ecx
pop ecx
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x1d8]
call fcn.00428dd7
jmp case.0x42e484.62
inc dword [esi + 0xa4]
mov ecx, esi
push dword [ebp + 0x10]
mov edx, dword [ebp + 4]
call fcn.00455294
dec dword [esi + 0xa4]
pop ecx
mov dword [esp + 0x14], eax
jmp 0x42e7b1
mov eax, dword [ebp + 0x10]
and dword [esp + 0xbc], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x43235d
mov edi, dword [esi]
test edi, edi
je 0x432359
lea eax, [esp + 0xbc]
push eax
push esi
call dword [edi + 0x18]
mov ebx, dword [esp + 0x24]
mov edx, esi
pop ecx
pop ecx
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.0042ca3e
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x431163
mov eax, dword [esp + 0xbc]
mov ecx, ebx
mov dword [eax], esi
xor eax, eax
mov edx, dword [ebp + 4]
push eax
push 0xffffffffffffffff
push eax
call fcn.0042e135
add esp, 0xc
test eax, eax
je 0x432892
mov ecx, dword [esp + 0xbc]
mov dword [eax + 0x24], ecx
inc dword [esi + 4]
jmp 0x43115f
mov edi, dword [esp + 0x1c]
push 6
jmp 0x430085
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
imul edx, dword [ebp + 0xc], 0x28
mov edi, dword [edi + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x78], eax
add edx, dword [esp + 0x20]
mov esi, dword [eax + 0x24]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [esp + 0x24], eax
mov ebx, dword [eax]
mov eax, dword [edx]
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x5c], eax
test ecx, ecx
jle 0x4323a8
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x43239d
push edi
push ecx
push dword [ebp + 0x10]
push dword [esp + 0x44]
push esi
call dword [ebx + 0x20]
mov edi, dword [esp + 0x30]
add esp, 0x14
mov edx, dword [esp + 0x24]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.0042ca3e
cmp dword [esp + 0x14], 0
jne 0x4323d9
push esi
call dword [ebx + 0x28]
pop ecx
jmp 0x4323dd
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x78]
test eax, eax
mov byte [ecx + 0x19], 0
jmp 0x42f2cc
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
imul ebx, dword [ebp + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x38], eax
add ebx, dword [esp + 0x20]
cmp byte [eax + 0x19], 0
je 0x432413
mov ecx, ebx
call fcn.004290a1
jmp case.0x42e484.62
mov eax, dword [eax + 0x24]
lea edi, [esp + 0x1b8]
push 8
mov esi, dword [eax]
pop eax
mov ecx, eax
xor eax, eax
mov edx, dword [esi]
rep stosd dword es:[edi], eax
mov dword [esp + 0x1b8], ebx
mov ecx, 0xbe01
mov ax, word [ebx + 8]
and ax, cx
xor ecx, ecx
inc ecx
or ax, cx
mov word [ebx + 8], ax
lea eax, [esp + 0x1b8]
push dword [ebp + 8]
push eax
mov eax, dword [esp + 0x40]
push dword [eax + 0x24]
call dword [edx + 0x2c]
mov edi, dword [esp + 0x28]
add esp, 0xc
mov edx, esi
mov dword [esp + 0x14], eax
mov ecx, edi
call fcn.0042ca3e
cmp dword [esp + 0x1cc], 0
mov ecx, ebx
mov eax, dword [esp + 0x14]
cmovne eax, dword [esp + 0x1cc]
movzx edx, byte [esp + 0x4c]
mov dword [esp + 0x14], eax
call fcn.00428a0b
mov ecx, ebx
jmp 0x431fba
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x4307ad
mov eax, dword [edi + 0x24]
push eax
mov esi, dword [eax]
mov ebx, dword [esi]
call dword [ebx + 0x24]
pop ecx
mov ecx, dword [esp + 0x1c]
mov edx, esi
mov dword [esp + 0x14], eax
call fcn.0042ca3e
cmp dword [esp + 0x14], 0
jne 0x4324df
push dword [edi + 0x24]
call dword [ebx + 0x28]
pop ecx
test eax, eax
jne 0x4319e0
mov esi, dword [esp + 0x18]
xor ebx, ebx
imul eax, dword [ebp + 8], 0x14
mov ebp, dword [esp + 0x34]
add ebp, 0xffffffec
add ebp, eax
jmp 0x4319e6
imul esi, dword [ebp + 4], 0x28
xor edx, edx
mov eax, dword [ebp + 0x10]
inc edx
add esi, dword [esp + 0x20]
mov edi, dword [eax + 8]
mov ecx, esi
call fcn.00428a0b
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42e7a9
push dword [esi + 0x10]
mov eax, dword [edi]
push edi
call dword [eax + 0x4c]
pop ecx
pop ecx
mov edx, edi
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.0042ca3e
and dword [edi + 0x58], 0xfffffff7
jmp 0x42e547
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x43235d
mov edi, dword [esi]
test edi, edi
je 0x432359
mov edx, dword [ebp + 8]
xor ecx, ecx
cmp dword [edi + 0x34], ecx
je 0x42e7a5
mov eax, dword [esp + 0x18]
mov al, byte [eax + 0x45]
mov byte [esp + 0x2b], al
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0xc]
imul eax, dword [ebp + 0xc], 0x28
add eax, dword [esp + 0x20]
test edx, edx
jle 0x43258f
mov dword [ebx + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, edx
jl 0x432584
mov ecx, dword [esp + 0x18]
mov al, byte [ebp + 3]
mov byte [ecx + 0x45], al
lea eax, [esp + 0x128]
push eax
push ebx
push edx
push esi
call dword [edi + 0x34]
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov edi, dword [esp + 0x1c]
mov edx, esi
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x2b]
mov byte [ecx + 0x45], al
mov ecx, edi
call fcn.0042ca3e
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov esi, dword [esp + 0x18]
test eax, eax
jne 0x4325fb
cmp dword [ebp + 4], ebx
je 0x4325fb
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x12c]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], edx
cmp al, 0x13
jne 0x430fdb
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x10], 0
je 0x432631
mov cl, byte [ebp + 3]
push 4
pop eax
cmp cl, al
jne 0x43261d
mov eax, ebx
jmp 0x4304a6
movzx eax, cl
cmp cl, 5
push 2
pop ecx
cmove eax, ecx
mov byte [edi + 0x56], al
jmp case.0x42e484.62
mov eax, dword [esp + 0x14]
jmp 0x430fdb
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov edx, dword [ebp + 4]
mov esi, eax
mov eax, dword [esp + 0x18]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.004216e7
and dword [esi + 4], 0
jmp 0x42e545
mov edx, ebp
mov ecx, edi
call fcn.0042e357
mov edx, dword [ebp + 4]
mov edi, eax
mov ecx, dword [esi + 0x10]
add edx, edx
mov esi, dword [ecx + edx*8 + 4]
xor ecx, ecx
mov eax, ecx
cmp dword [ebp + 0xc], ecx
je 0x432691
mov ecx, esi
call fcn.004216e7
cmp eax, dword [ebp + 0xc]
cmovb eax, dword [ebp + 0xc]
mov edx, eax
mov ecx, esi
call fcn.00421fc1
jmp 0x431753
xor ebx, ebx
cmp dword [esi + 0xb0], ebx
je 0x4326ed
mov eax, 0x200
test dword [edi + 0x58], eax
jne 0x4326ed
mov edx, dword [ebp + 0x10]
test edx, edx
jne 0x4326c4
mov edx, dword [edi + 0xa8]
test edx, edx
je 0x4326ed
mov ecx, edi
call fcn.0042de92
mov esi, eax
mov eax, dword [esp + 0x18]
push esi
push dword [eax + 0xb4]
call dword [eax + 0xb0]
pop ecx
pop ecx
mov edx, esi
mov esi, dword [esp + 0x18]
mov ecx, esi
call fcn.00413e42
cmp dword [ebp + 8], ebx
je case.0x42e484.62
jmp 0x431dbc
mov edi, dword [esp + 0x1c]
mov esi, ecx
jmp 0x42e7b1
mov dword [edi + 0x50], ecx
mov al, byte [ebp + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], esi
test ecx, ecx
je 0x432782
mov al, byte [ebp + 3]
test al, al
je 0x432729
movzx eax, al
mov eax, dword [eax*4 + 0x4b502c]
jmp 0x43272b
xor eax, eax
test eax, eax
je 0x432749
cmp dword [ebp + 0x10], 0
je 0x432759
push dword [ebp + 0x10]
push eax
push str._s_constraint_failed:__s
push edi
call fcn.004299c3
add esp, 0x10
jmp 0x432768
cmp dword [ebp + 0x10], 0
je 0x432759
push dword [ebp + 0x10]
push 0x4b6170
jmp 0x43275f
push eax
push str._s_constraint_failed
push edi
call fcn.004299c3
add esp, 0xc
push dword [edi + 0x2c]
push dword [edi + 0xa8]
push esi
push str.abort_at__d_in___s_:__s
push dword [ebp + 4]
call fcn.004154c8
add esp, 0x14
mov ecx, edi
call fcn.0042b346
mov esi, dword [esp + 0x18]
push 5
pop ecx
cmp eax, ecx
je 0x4327c9
cmp dword [edi + 0x50], 0
push 0x65
pop eax
cmovne eax, ebx
mov dword [esp + 0x14], eax
jmp 0x4328d5
push 9
jmp 0x42fce7
sub ebp, dword [esp + 0x34]
mov eax, ebp
mov edi, dword [esp + 0x1c]
push 0x14
cdq
pop ebx
idiv ebx
mov esi, dword [esp + 0x18]
mov dword [edi + 0x4c], eax
mov byte [esi + 0x3f], 0
mov dword [esp + 0x14], ecx
mov dword [edi + 0x50], ecx
jmp 0x4328d5
test ecx, ecx
je 0x4327e9
mov edx, 0x204
mov ecx, esi
call fcn.004606ab
mov al, 1
jmp 0x432801
xor edx, edx
mov ecx, edi
inc edx
call fcn.0042b2e8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4328d5
mov al, bl
mov ecx, edi
mov byte [esi + 0x3f], al
call fcn.0042b346
push 5
pop ecx
cmp eax, ecx
jne 0x43282b
sub ebp, dword [esp + 0x34]
mov eax, ebp
cdq
push 0x14
pop ebp
idiv ebp
mov dword [edi + 0x4c], eax
xor eax, eax
inc eax
sub al, bl
mov byte [esi + 0x3f], al
jmp 0x4327c9
mov ecx, esi
call fcn.004602d3
cmp dword [edi + 0x50], 0
push 0x65
pop eax
push 1
pop ecx
cmovne eax, ecx
jmp 0x43279e
push 8
pop eax
jmp 0x42f1b7
sub ebp, dword [esp + 0x34]
mov eax, ebp
push 0x14
cdq
pop ecx
idiv ecx
mov dword [edi + 0x4c], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x50], eax
jmp 0x4328d1
push 0x4bbf4c
push 0x12a43
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.004154c8
add esp, 0x10
push 0xb
pop eax
mov edi, dword [esp + 0x1c]
jmp 0x42f1b3
mov edi, dword [esp + 0x1c]
jmp 0x42f1b7
push dword [esp + 0xbc]
call dword [edi + 0x1c]
pop ecx
mov edi, ebx
jmp 0x42fcd0
mov edi, dword [esp + 0x1c]
mov esi, eax
jmp 0x4310a5
mov edi, dword [esp + 0x1c]
push 9
pop eax
mov dword [esp + 0x14], eax
mov dword [edi + 0x50], eax
jmp 0x42f1d0
mov edi, dword [esp + 0x1c]
mov esi, eax
jmp 0x42fcd4
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x88]
mov ecx, edi
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x8c]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0xa8]
add dword [edi + 0x7c], eax
call fcn.0042a418
mov ecx, dword [esp + 0x2fc]
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0047c71d
add esp, 0x2f4
ret