Function at 0x4238d8
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x13c
mov eax, dword [0x474194]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ebx, ecx
mov ecx, dword [ebx + 4]
xor eax, eax
mov dword [ebp - 0x11c], ecx
mov esi, dword [ebx]
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x4d]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0xf9], al
mov dword [ebp - 0x114], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x118], eax
mov eax, dword [esi + 0x20]
mov byte [ebp - 0xf8], cl
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x108], eax
mov eax, dword [esi + 0x24]
mov edi, ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0x104], eax
call fcn.004204c6
cmp dword [ebx + 0x5c], 7
je 0x428f57
xor eax, eax
mov dword [ebx + 0x5c], eax
mov dword [ebx + 0x14], eax
mov ecx, dword [esi + 0xe8]
mov dword [esi + 0x1bc], eax
test ecx, ecx
jne 0x429090
cmp dword [esi + 0x11c], eax
mov eax, dword [ebx + 0x58]
setne cl
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x120], ecx
mov esi, dword [ebp - 0xd8]
cmp byte [esi + 0x40], 0
jne 0x428f57
mov edi, dword [ebp - 0xe0]
imul edi, edi, 0x14
add edi, dword [ebp - 0x11c]
cmp dword [ebp - 0x120], 0
mov dword [ebp - 0xec], edi
je 0x4239ff
mov eax, dword [esi + 0x124]
cmp eax, dword [ebp - 0x114]
jne 0x4239f9
push dword [esi + 0x120]
call dword [esi + 0x11c]
pop ecx
test eax, eax
jne 0x428e93
and dword [ebp - 0x114], eax
inc dword [ebp - 0x114]
test byte [edi + 2], 2
je 0x423a30
mov esi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
mov eax, 0x2460
mov dword [ebp - 0xe4], esi
test word [esi + 0x1c], ax
je 0x423a29
mov eax, esi
call fcn.0041f07f
push 4
pop eax
mov word [esi + 0x1c], ax
movzx eax, byte [edi]
dec eax
cmp eax, 0x93
ja case.default.0x423a3f
jmp dword [eax*4 + 0x4290b4]
mov esi, dword [ebp - 0xd8]
mov eax, dword [esi + 0xe8]
test eax, eax
jne 0x429090
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x423a3f
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xe0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xe0], eax
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
imul eax, eax, 0x28
mov eax, dword [eax + ecx + 0x10]
jmp 0x423a8d
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
push 4
pop eax
mov word [edi + 0x1c], ax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xe0]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov eax, dword [ebp - 0xd0]
jmp 0x423a8d
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xdc]
imul eax, eax, 0x28
test byte [eax + ecx + 0x1c], 1
je case.default.0x423a3f
cmp dword [edi + 4], 0
jne 0x428ea2
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x428ea2
mov edx, dword [eax + 4]
dec dword [ebx + 0xb0]
mov ecx, dword [ebx + 0x68]
mov dword [ebx + 0xa8], edx
mov edx, dword [ebp - 0xd8]
add dword [edx + 0x54], ecx
mov dword [edx + 0x50], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
mov dword [ecx + 0xc0], edx
mov edx, dword [eax + 0x38]
mov dword [ecx + 0xbc], edx
mov edx, dword [eax + 8]
mov dword [ecx + 4], edx
mov edx, dword [eax + 0x30]
mov dword [ecx + 0x1c], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x34]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x44], edx
mov edx, dword [eax + 0x28]
mov dword [ecx + 0x30], edx
mov edx, dword [ecx]
mov esi, dword [eax + 0x20]
mov dword [edx + 0x20], esi
mov esi, dword [eax + 0x24]
mov dword [edx + 0x24], esi
mov edx, dword [eax + 0x44]
mov dword [ecx + 0x68], edx
cmp dword [edi + 8], 4
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x20]
mov eax, dword [eax + 0x2c]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x104], ecx
jne 0x423bac
mov ecx, dword [ebx + 4]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 8]
dec eax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xdc], eax
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe4]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x423a3f
mov edi, dword [edi + 0x10]
mov ecx, dword [edi]
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x10], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 0x14], ecx
jmp case.default.0x423a3f
mov eax, dword [ebp - 0xe4]
push 8
pop ecx
mov word [eax + 0x1c], cx
mov ecx, dword [edi + 0x10]
fld qword [ecx]
fstp qword [eax + 8]
jmp case.default.0x423a3f
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
call fcn.0040ddf8
cmp byte [ebp - 0xf8], 1
mov dword [edi + 4], eax
je 0x423ca7
mov edx, dword [ebp - 0xe4]
push 1
push ecx
xor eax, eax
or ecx, 0xffffffff
call fcn.0041f50c
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
cmp eax, 0x12
je 0x4246e8
movzx eax, byte [ebp - 0xf8]
mov esi, dword [ebp - 0xe4]
push eax
mov eax, esi
call fcn.0041edd0
pop ecx
test eax, eax
jne 0x428f51
and dword [esi + 0x24], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [esi + 0x1c], ax
cmp byte [edi + 1], 0xff
jne 0x423c97
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp - 0xd8]
call fcn.0040c2c9
mov byte [edi + 1], 0xff
mov eax, dword [esi + 4]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 4], eax
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
cmp eax, dword [ecx + 0x58]
jg 0x4246e8
mov eax, dword [ebp - 0xe4]
mov ecx, 0xa02
mov word [eax + 0x1c], cx
mov ecx, dword [edi + 0x10]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 0x18], ecx
mov cl, byte [ebp - 0xf8]
mov byte [eax + 0x1f], cl
jmp case.default.0x423a3f
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xd0], eax
mov eax, dword [edi + 4]
neg eax
sbb eax, eax
and eax, 0x100
inc eax
mov word [ebp - 0xcc], ax
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0xd0], 0
jle case.default.0x423a3f
mov esi, ecx
add esi, 0x28
mov eax, 0x2460
test word [esi + 0x1c], ax
je 0x423d30
mov eax, esi
call fcn.0041f07f
mov ax, word [ebp - 0xcc]
mov word [esi + 0x1c], ax
dec dword [ebp - 0xd0]
cmp dword [ebp - 0xd0], 0
jg 0x423d1b
mov dword [ebp - 0xe4], esi
jmp case.default.0x423a3f
mov esi, dword [ebp - 0xe4]
mov ecx, dword [edi + 4]
push 0
push dword [edi + 0x10]
xor eax, eax
mov edx, esi
call fcn.0041f50c
mov al, byte [ebp - 0xf8]
pop ecx
pop ecx
mov byte [esi + 0x1f], al
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x48]
imul eax, eax, 0x28
lea esi, [eax + ecx - 0x28]
mov ecx, esi
mov dword [ebp - 0xd0], esi
call fcn.0041f411
test eax, eax
jne 0x4246e8
push 0x800
push esi
mov ebx, dword [ebp - 0xe4]
call fcn.0041f438
pop ecx
pop ecx
mov ebx, dword [ebp - 0xe8]
inc dword [ebp - 0xe0]
cmp dword [ebp - 0xd4], 0
je 0x4239a2
jmp 0x424707
mov eax, dword [edi + 0xc]
inc eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0xc8], ecx
imul ecx, ecx, 0x28
mov edi, dword [edi + 8]
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], edi
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
mov esi, ecx
mov dword [ebp - 0xe4], edi
test eax, eax
je 0x423e45
dec eax
mov dword [ebp - 0xcc], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0xd0], eax
and dword [edi + 0x24], 0
mov ebx, esi
mov eax, edi
call fcn.0041f4e8
mov eax, dword [ebp - 0xd0]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0xcc]
add esi, 0x28
add edi, 0x28
test eax, eax
jne 0x423e03
mov ebx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edi
dec eax
mov dword [ebp - 0xcc], eax
jmp case.default.0x423a3f
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xd0], eax
mov esi, dword [edi + 4]
mov edi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
mov dword [ebp - 0xe4], edi
push 0x1000
push esi
mov ebx, edi
call fcn.0041f438
mov eax, 0x1000
pop ecx
pop ecx
test word [edi + 0x1c], ax
je 0x423ea1
mov eax, edi
call fcn.0041eeb2
test eax, eax
jne 0x428f4b
mov eax, dword [ebp - 0xd0]
dec dword [ebp - 0xd0]
test eax, eax
je 0x423dab
add dword [ebp - 0xe4], 0x28
mov edi, dword [ebp - 0xe4]
add esi, 0x28
jmp 0x423e78
mov ebx, dword [edi + 8]
mov eax, dword [edi + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xdc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
push 0x1000
mov dword [ebp - 0xe4], ebx
push eax
jmp 0x423da4
xor esi, esi
cmp dword [ebx + 0x94], esi
jl 0x423f1b
jg 0x423f04
cmp dword [ebx + 0x90], esi
jbe 0x423f1b
push str.foreign_key_constraint_failed
push dword [ebx]
mov dword [ebx + 0x5c], 0x313
mov byte [ebx + 0x60], 2
jmp 0x425da4
push 1
push ebx
call fcn.004213d7
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
cmp eax, esi
jne case.default.0x423a3f
mov eax, dword [ebx + 0x54]
add eax, 2
or eax, 1
mov dword [ebx + 0x54], eax
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], esi
mov dword [ebx + 0x14], eax
mov dword [ebp - 0xd0], eax
cmp dword [edi + 8], esi
jle 0x423fbf
mov eax, dword [ebp - 0xcc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd0]
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x423f86
call fcn.0041eeb2
test eax, eax
jne 0x428f51
mov eax, dword [ebp - 0xcc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd0]
call fcn.0041ef61
mov ecx, dword [ebp - 0xcc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd0]
call fcn.004236e1
inc dword [ebp - 0xcc]
mov eax, dword [ebp - 0xcc]
cmp eax, dword [edi + 8]
jl 0x423f5f
mov esi, dword [ebp - 0xd8]
cmp byte [esi + 0x40], 0
jne 0x428f57
mov eax, dword [ebp - 0xe0]
inc eax
push 0x64
mov dword [ebx + 0x58], eax
pop edi
jmp 0x424767
mov ecx, dword [edi + 4]
mov esi, dword [edi + 8]
imul ecx, ecx, 0x28
mov edi, dword [edi + 0xc]
imul esi, esi, 0x28
add ecx, dword [ebp - 0xdc]
imul edi, edi, 0x28
add esi, dword [ebp - 0xdc]
movzx eax, word [ecx + 0x1c]
mov dl, byte [esi + 0x1c]
add edi, dword [ebp - 0xdc]
or dl, al
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xe4], edi
test dl, 1
je 0x424029
call fcn.0041f2e4
jmp case.default.0x423a3f
test eax, 0x4000
je 0x424043
mov eax, dword [ebp - 0xf4]
call fcn.0041ef0e
mov ecx, dword [ebp - 0xf4]
jmp 0x424045
xor eax, eax
test eax, eax
jne 0x428f51
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x424067
mov eax, esi
call fcn.0041ef0e
mov ecx, dword [ebp - 0xf4]
jmp 0x424069
xor eax, eax
test eax, eax
jne 0x428f51
test byte [ecx + 0x1c], 0x12
jne 0x424099
movzx eax, byte [ebp - 0xf8]
push eax
mov eax, dword [ebp - 0xf4]
call fcn.0041efab
pop ecx
test eax, eax
jne 0x428f51
mov ecx, dword [ebp - 0xf4]
test byte [esi + 0x1c], 0x12
jne 0x4240bd
movzx eax, byte [ebp - 0xf8]
push eax
mov eax, esi
call fcn.0041efab
pop ecx
test eax, eax
jne 0x428f51
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ecx + 0x18]
add eax, dword [esi + 0x18]
cdq
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], edx
mov eax, dword [eax + 0x58]
cdq
cmp dword [ebp - 0xcc], edx
jg 0x4246e8
jl 0x4240f4
cmp dword [ebp - 0xd0], eax
ja 0x4246e8
mov ax, word [edi + 0x1c]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
cmp edi, esi
sete al
push eax
mov eax, dword [ebp - 0xd0]
add eax, 2
call fcn.0041edf5
pop ecx
test eax, eax
jne 0x428f51
cmp edi, esi
je 0x42413c
push dword [esi + 0x18]
push dword [esi + 4]
push dword [edi + 4]
call fcn.004562c0
add esp, 0xc
mov eax, dword [ebp - 0xf4]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [edi + 4]
add eax, dword [esi + 0x18]
push eax
call fcn.004562c0
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edi + 4]
mov byte [ecx + eax], 0
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edi + 4]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
add esp, 0xc
or word [edi + 0x1c], ax
mov eax, dword [ebp - 0xd0]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0xf8]
mov byte [edi + 0x1f], al
jmp case.default.0x423a3f
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
mov dword [ebp - 0xf4], esi
call fcn.004237c5
mov esi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
mov dword [ebp - 0xf0], esi
call fcn.004237c5
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
mov ecx, esi
movzx ecx, word [ecx + 0x1c]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xf4]
movzx eax, word [eax + 0x1c]
or eax, ecx
mov dword [ebp - 0xcc], eax
test al, 1
jne 0x4244a3
mov esi, dword [ebp - 0xf4]
mov al, byte [esi + 0x1c]
mov ecx, dword [ebp - 0xf0]
and al, byte [ecx + 0x1c]
test al, 4
je 0x424341
mov eax, dword [esi + 0x10]
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0xc8], eax
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0xc4], ecx
mov edx, dword [edx + 0x10]
mov dword [ebp - 0xc0], edx
mov edx, dword [ebp - 0xf0]
mov edx, dword [edx + 0x14]
mov dword [ebp - 0xbc], edx
mov byte [ebp - 0xd0], 1
movzx edx, byte [edi]
sub edx, 0x56
je 0x424314
dec edx
je 0x4242ff
dec edx
je 0x4242e4
dec edx
mov edx, eax
je 0x424299
or edx, ecx
je 0x4244a3
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x424284
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
push ecx
push eax
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
call fcn.0045ae30
jmp 0x4242d6
or edx, ecx
je 0x4244a3
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x4242c3
cmp dword [ebp - 0xc0], 0
jne 0x4242c3
cmp dword [ebp - 0xbc], 0x80000000
je 0x424350
push ecx
push eax
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
call fcn.0045ad80
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
jmp 0x424327
push ecx
push eax
lea esi, [ebp - 0xc0]
call fcn.0040eb3a
pop ecx
pop ecx
test eax, eax
je 0x424327
mov esi, dword [ebp - 0xf4]
jmp 0x424350
push ecx
push eax
lea eax, [ebp - 0xc0]
call fcn.0040eaea
pop ecx
pop ecx
test eax, eax
jne 0x424350
jmp 0x424327
push ecx
push eax
lea edi, [ebp - 0xc0]
call fcn.0040ea68
pop ecx
pop ecx
test eax, eax
jne 0x42434a
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xbc]
jmp 0x424937
mov byte [ebp - 0xd0], 0
jmp 0x424350
mov edi, dword [ebp - 0xec]
mov ecx, esi
call fcn.0041f1b9
fstp qword [ebp - 0xb8]
mov ecx, dword [ebp - 0xf0]
call fcn.0041f1b9
fst qword [ebp - 0xb0]
movzx eax, byte [edi]
sub eax, 0x56
je 0x424435
dec eax
je 0x42442d
dec eax
je 0x424425
dec eax
fld qword [ebp - 0xb8]
je 0x42440e
call fcn.0045fef6
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
call fcn.0045fef6
mov ecx, dword [ebp - 0xc8]
or ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
je 0x4244a3
mov ecx, dword [ebp - 0xc8]
and ecx, dword [ebp - 0xc4]
cmp ecx, 0xffffffff
jne 0x4243e7
and dword [ebp - 0xc4], 0
mov dword [ebp - 0xc8], 1
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
push edx
push eax
call fcn.0045ae30
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
fild qword [ebp - 0x130]
jmp 0x42443b
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4244a1
fdiv qword [ebp - 0xb8]
jmp 0x42443b
fmul qword [ebp - 0xb8]
jmp 0x42443b
fsub qword [ebp - 0xb8]
jmp 0x42443b
fadd qword [ebp - 0xb8]
fstp qword [ebp - 0xb0]
push ecx
fld qword [ebp - 0xb0]
push ecx
fstp qword [esp]
call fcn.0040ddcf
add esp, 8
test eax, eax
jne 0x4244a3
mov eax, dword [ebp - 0xe4]
fld qword [ebp - 0xb0]
mov cx, word [eax + 0x1c]
fstp qword [eax + 8]
mov edx, 0xbe08
and cx, dx
or cx, 8
mov word [eax + 0x1c], cx
test byte [ebp - 0xcc], 8
jne case.default.0x423a3f
cmp byte [ebp - 0xd0], 0
jne case.default.0x423a3f
mov esi, eax
call fcn.0041f1ff
jmp case.default.0x423a3f
fstp st(0)
mov edi, dword [ebp - 0xe4]
jmp 0x42401f
mov edi, dword [edi + 4]
test edi, edi
je case.default.0x423a3f
push 0
push 0
mov esi, edi
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
call fcn.0041f351
pop ecx
pop ecx
jmp case.default.0x423a3f
movzx ecx, byte [edi + 3]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
and dword [ebp - 0xd0], 0
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xcc], eax
test ecx, ecx
jle 0x424571
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xd0]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xcc]
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x424543
call fcn.0041eeb2
test eax, eax
jne 0x428f51
mov ecx, dword [ebp - 0xcc]
call fcn.004236e1
inc dword [ebp - 0xd0]
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
add eax, 0x28
mov dword [ebp - 0xcc], eax
cmp ecx, dword [ebp - 0x84]
jl 0x424516
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x424583
and dword [ebp - 0xc4], 0
jmp 0x42458b
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
and dword [ebp - 0xa0], 0
and dword [ebp - 0x9c], 0
mov dword [ebp - 0xc8], eax
xor eax, eax
inc eax
mov word [ebp - 0xa4], ax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], eax
mov ebx, esi
lea eax, [ebp - 0xc0]
call fcn.0041f4e8
mov eax, dword [ebp - 0xa4]
and dword [ebp - 0x90], 0
and eax, 0xbe01
or eax, 1
mov word [ebp - 0xa4], ax
mov eax, dword [ebp - 0xc8]
test byte [eax + 3], 8
je 0x4245f3
mov eax, dword [edi - 4]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x108]
mov ebx, dword [ebp - 0xd8]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x104]
mov dword [ebx + 0x24], eax
push dword [ebp - 0x88]
lea eax, [ebp - 0xc8]
push dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 0xc8]
call dword [eax + 0xc]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 0x24]
add esp, 0xc
cmp dword [ebp - 0xc4], 0
mov dword [ebp - 0x104], eax
je 0x424667
push dword [edi + 4]
mov edi, dword [ebp - 0xc4]
call fcn.004218b7
mov eax, dword [ebp - 0xec]
pop ecx
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 0x10], ecx
mov byte [eax + 1], 0xf9
cmp byte [ebx + 0x40], 0
jne 0x428f3e
cmp dword [ebp - 0x90], 0
je 0x4246b2
push 1
lea esi, [ebp - 0xc0]
call fcn.0041f8f1
mov edi, dword [ebp - 0xe8]
pop ecx
push eax
push 0x46b7f8
push ebx
add edi, 0x38
call fcn.0040c632
mov eax, dword [ebp - 0x90]
mov esi, dword [ebp - 0xe4]
add esp, 0xc
mov dword [ebp - 0xd4], eax
movzx eax, byte [ebp - 0xf8]
push eax
lea eax, [ebp - 0xc0]
call fcn.0041edd0
pop ecx
lea ebx, [ebp - 0xc0]
mov eax, esi
call fcn.0041f4e8
mov ecx, esi
call fcn.0041f411
mov ebx, dword [ebp - 0xe8]
test eax, eax
je case.default.0x423a3f
push str.string_or_blob_too_big
push dword [ebp - 0xd8]
lea edi, [ebx + 0x38]
call fcn.0040c632
mov dword [ebp - 0xd4], 0x12
pop ecx
pop ecx
push dword [ebx + 0x38]
mov esi, dword [ebp - 0xd4]
push dword [ebx + 0xa0]
mov dword [ebx + 0x5c], esi
push dword [ebp - 0xe0]
push str.statement_aborts_at__d:___s___s
push esi
call fcn.0040d6aa
add esp, 0x14
mov eax, ebx
call fcn.0042151e
cmp esi, 0xc0a
jne 0x424746
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x40], 1
xor edi, edi
inc edi
cmp byte [ebp - 0xf9], 0
jbe 0x424767
movzx eax, byte [ebp - 0xf9]
mov esi, dword [ebp - 0xd8]
dec eax
push eax
call fcn.00431a6d
pop ecx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x108]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x104]
mov dword [eax + 0x24], ecx
call fcn.00420519
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004500ac
leave
ret
mov ecx, dword [edi + 8]
mov esi, dword [edi + 4]
imul ecx, ecx, 0x28
mov eax, dword [edi + 0xc]
imul esi, esi, 0x28
add ecx, dword [ebp - 0xdc]
imul eax, eax, 0x28
add esi, dword [ebp - 0xdc]
mov dl, byte [ecx + 0x1c]
add eax, dword [ebp - 0xdc]
or dl, byte [esi + 0x1c]
mov dword [ebp - 0xe4], eax
test dl, 1
je 0x4247d1
mov edi, eax
jmp 0x42401f
call fcn.0041f156
mov ecx, esi
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
call fcn.0041f156
mov esi, eax
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], edx
mov al, byte [edi]
mov byte [ebp - 0xb8], al
cmp al, 0x52
jne 0x424814
and dword [ebp - 0xd0], esi
and dword [ebp - 0xcc], edx
jmp 0x424922
cmp al, 0x53
jne 0x424829
or dword [ebp - 0xd0], esi
or dword [ebp - 0xcc], edx
jmp 0x424922
mov ecx, esi
or ecx, edx
je 0x424922
xor edi, edi
cmp edx, edi
jg 0x42487b
jl 0x42483f
cmp esi, edi
jae 0x424870
mov cl, 0xa9
sub cl, al
mov al, cl
mov byte [ebp - 0xb8], al
cmp edx, 0xffffffff
jl 0x42485f
jg 0x424857
cmp esi, 0xffffffc0
jbe 0x42485f
neg esi
adc edx, edi
neg edx
jmp 0x424864
push 0x40
pop esi
xor edx, edx
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xc0], esi
cmp edx, edi
jl 0x4248a7
jg 0x42487b
cmp esi, 0x40
jb 0x4248a7
cmp dword [ebp - 0xcc], edi
jg 0x424896
jl 0x42488d
cmp dword [ebp - 0xd0], edi
jae 0x424896
cmp al, 0x54
je 0x424896
or eax, 0xffffffff
jmp 0x424898
xor eax, eax
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x424922
mov edx, dword [ebp - 0xcc]
cmp al, 0x54
mov eax, dword [ebp - 0xd0]
mov ecx, esi
jne 0x4248cc
call fcn.0045fea0
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x42490a
call fcn.00460580
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
cmp dword [ebp - 0xcc], edi
jg 0x42490a
jl 0x4248ef
cmp dword [ebp - 0xd0], edi
jae 0x42490a
push 0x40
pop ecx
or edx, 0xffffffff
sub ecx, esi
mov eax, edx
call fcn.0045fea0
or dword [ebp - 0xc8], eax
or dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x14], ecx
mov cx, word [eax + 0x1c]
mov edx, 0xbe04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.default.0x423a3f
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
call fcn.0041f257
mov eax, dword [edi + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.default.0x423a3f
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
call fcn.004237c5
test byte [esi + 0x1c], 8
je 0x42498f
call fcn.0041f1ff
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x4249b1
mov edi, dword [edi + 8]
test edi, edi
jne 0x423a5d
mov dword [ebp - 0xd4], 0x14
jmp 0x42902d
and eax, 0xbe04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.default.0x423a3f
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
movzx eax, word [edi + 0x1c]
test al, 4
je case.default.0x423a3f
mov ecx, edi
call fcn.0041f1b9
fstp qword [edi + 8]
movzx eax, word [edi + 0x1c]
and eax, 0xbe08
or eax, 8
mov word [edi + 0x1c], ax
jmp case.default.0x423a3f
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.default.0x423a3f
push dword [ebp - 0xf8]
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
push 0x61
mov eax, edi
mov word [edi + 0x1c], cx
call fcn.00423840
mov eax, 0x4000
pop ecx
pop ecx
test word [edi + 0x1c], ax
je 0x424a4a
mov eax, edi
call fcn.0041ef0e
mov dword [ebp - 0xd4], eax
jmp 0x424a51
and dword [ebp - 0xd4], 0
mov eax, 0xbfe3
and word [edi + 0x1c], ax
jmp case.default.0x423a3f
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.default.0x423a3f
test al, 0x10
jne 0x424aa1
push dword [ebp - 0xf8]
mov eax, edi
push 0x61
call fcn.00423840
mov ax, word [edi + 0x1c]
pop ecx
pop ecx
mov ecx, 0xbe10
and ax, cx
or ax, 0x10
jmp 0x4249f0
and eax, 0xfe10
jmp 0x4249f0
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
call fcn.0041f27b
jmp case.default.0x423a3f
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
test byte [edi + 0x1c], 1
jne case.default.0x423a3f
mov esi, edi
call fcn.0041f257
jmp case.default.0x423a3f
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.default.0x423a3f
jmp 0x4249da
mov esi, dword [edi + 4]
mov ecx, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
imul ecx, ecx, 0x28
mov ax, word [esi + 0x1c]
add ecx, dword [ebp - 0xdc]
mov word [ebp - 0xca], ax
mov ax, word [ecx + 0x1c]
mov dl, al
or dl, byte [ebp - 0xca]
mov word [ebp - 0xc8], ax
xor eax, eax
inc eax
mov dword [ebp - 0xf4], ecx
test al, dl
je 0x424bb6
mov dl, byte [edi + 3]
test dl, dl
jns 0x424b79
test byte [ebp - 0xca], al
je 0x424c41
test byte [ebp - 0xc8], al
je 0x424c41
test dword [ebp - 0xc8], 0x100
jne 0x424c41
xor eax, eax
jmp 0x424c41
test dl, 0x10
je 0x424ba8
mov edi, dword [edi + 8]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
mov edx, 0xbe01
mov cx, word [edi + 0x1c]
and cx, dx
or cx, ax
mov dword [ebp - 0xe4], edi
mov word [edi + 0x1c], cx
jmp case.default.0x423a3f
test dl, 8
je case.default.0x423a3f
jmp 0x423a5a
mov al, byte [edi + 3]
and al, 0x67
mov byte [ebp - 0xcc], al
je 0x424c00
push dword [ebp - 0xf8]
mov eax, esi
push dword [ebp - 0xcc]
call fcn.00423840
push dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf4]
push dword [ebp - 0xcc]
call fcn.00423840
mov eax, dword [ebp - 0xd8]
add esp, 0x10
cmp byte [eax + 0x40], 0
jne 0x428f51
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x424c12
mov eax, esi
call fcn.0041ef0e
mov ecx, dword [ebp - 0xf4]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x424c2a
mov eax, ecx
call fcn.0041ef0e
push dword [edi + 0x10]
mov edx, dword [ebp - 0xf4]
mov eax, esi
call fcn.0041f663
pop ecx
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xd0], eax
movzx edx, byte [edi]
sub edx, 0x4b
je 0x424c88
dec edx
je 0x424c7f
dec edx
je 0x424c76
dec edx
je 0x424c6d
dec edx
je 0x424c64
xor edx, edx
test eax, eax
setns dl
jmp 0x424c8f
xor edx, edx
test eax, eax
sets dl
jmp 0x424c8f
xor edx, edx
test eax, eax
setle dl
jmp 0x424c8f
xor edx, edx
test eax, eax
setg dl
jmp 0x424c8f
xor edx, edx
test eax, eax
sete dl
jmp 0x424c8f
xor edx, edx
test eax, eax
setne dl
mov dword [ebp - 0xd0], edx
test byte [edi + 3], 0x10
je 0x424cd0
mov edi, dword [edi + 8]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
mov edx, 0xbe04
mov ax, word [edi + 0x1c]
and ax, dx
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ebp - 0xe4], edi
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x424ce3
cmp dword [ebp - 0xd0], 0
je 0x424ce3
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov dx, word [esi + 0x1c]
xor dx, word [ebp - 0xca]
mov eax, 0x1ff
and dx, ax
xor word [esi + 0x1c], dx
mov dx, word [ecx + 0x1c]
xor dx, word [ebp - 0xc8]
and dx, ax
xor word [ecx + 0x1c], dx
jmp case.default.0x423a3f
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x118], eax
jmp case.default.0x423a3f
test byte [edi + 3], 1
jne 0x424d2c
and dword [ebp - 0x118], 0
mov edx, dword [edi + 0xc]
mov dword [ebp - 0xd0], edx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xc0], ecx
mov eax, dword [edi + 4]
mov dword [ebp - 0xc8], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0xc4], eax
xor eax, eax
mov dword [ebp - 0xcc], eax
test edx, edx
jle 0x424ded
mov edi, dword [ebp - 0x118]
jmp 0x424d6e
mov ecx, dword [ebp - 0xc0]
test edi, edi
je 0x424d77
mov edx, dword [edi + eax*4]
jmp 0x424d79
mov edx, eax
mov dword [ebp - 0xbc], edx
mov esi, dword [ecx + eax*4 + 0xc]
mov dword [ebp - 0xb8], esi
mov ecx, dword [ecx + 8]
movzx eax, byte [ecx + eax]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xc4]
add eax, edx
add edx, dword [ebp - 0xc8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xdc]
push esi
call fcn.0041f663
pop ecx
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x424dde
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
cmp eax, dword [ebp - 0xd0]
jl 0x424d68
jmp 0x424ded
cmp dword [ebp - 0xb4], 0
je 0x424ded
neg dword [ebp - 0x110]
and dword [ebp - 0x118], 0
jmp case.default.0x423a3f
cmp dword [ebp - 0x110], 0
jge 0x424e0a
mov edi, dword [edi + 4]
jmp 0x423a5d
je 0x423a5a
mov edi, dword [edi + 0xc]
jmp 0x423a5d
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
xor esi, esi
inc esi
test byte [ecx + 0x1c], 1
je 0x424e32
push 2
pop eax
jmp 0x424e41
call fcn.0041f156
or eax, edx
je 0x424e3f
mov eax, esi
jmp 0x424e41
xor eax, eax
mov dword [ebp - 0xd0], eax
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], 1
je 0x424e65
mov dword [ebp - 0xcc], 2
jmp 0x424e83
call fcn.0041f156
or eax, edx
mov eax, dword [ebp - 0xd0]
je 0x424e7c
mov dword [ebp - 0xcc], esi
jmp 0x424e83
and dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xcc]
imul eax, eax, 3
cmp byte [edi], 0x45
jne 0x424e9b
movzx eax, byte [eax + ecx + 0x467ecc]
jmp 0x424ea3
movzx eax, byte [eax + ecx + 0x467f00]
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
mov dword [ebp - 0xe4], edi
cmp eax, 2
jne 0x424ed4
mov ax, word [edi + 0x1c]
mov ecx, 0xbe01
and ax, cx
or ax, si
jmp 0x4249f0
cdq
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xbe04
and ax, cx
mov dword [edi + 0x14], edx
or ax, 4
jmp 0x4249f0
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
test byte [ecx + 0x1c], 1
mov dword [ebp - 0xe4], edi
jne 0x42401f
call fcn.0041f156
or eax, edx
jne 0x424f24
inc eax
jmp 0x424f26
xor eax, eax
cdq
push edx
push eax
mov esi, edi
jmp 0x4244c8
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
test byte [ecx + 0x1c], 1
mov dword [ebp - 0xe4], edi
jne 0x42401f
call fcn.0041f156
not eax
not edx
jmp 0x424f27
mov eax, dword [ebx + 0xc0]
mov ecx, dword [edi + 4]
cmp byte [eax + ecx], 0
jne 0x423a5a
mov byte [eax + ecx], 1
jmp case.default.0x423a3f
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], 1
je 0x424f96
mov eax, dword [edi + 0xc]
jmp 0x424fc9
call fcn.0041f1b9
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x424fb2
mov dword [ebp - 0xd0], 1
jmp 0x424fb9
and dword [ebp - 0xd0], 0
cmp byte [edi], 0x1c
jne 0x424fcf
xor eax, eax
cmp dword [ebp - 0xd0], eax
sete al
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jmp 0x424bab
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
imul eax, eax, 0x28
test byte [eax + ecx + 0x1c], 1
jmp 0x424bab
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
imul eax, eax, 0x28
test byte [eax + ecx + 0x1c], 1
jne case.default.0x423a3f
jmp 0x423a5a
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 8]
and dword [ebp - 0xb8], 0
mov dword [ebp - 0xbc], eax
xor eax, eax
push 0xa
pop ecx
lea edi, [ebp - 0x90]
rep stosd dword es:[edi], eax
mov esi, dword [edx + 0xc]
and dword [ebp - 0xb4], eax
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0x94], esi
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [eax]
mov dword [ebp - 0xb0], ecx
test ecx, ecx
je 0x425105
mov esi, eax
call fcn.004219e9
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x42902d
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x1c], 0
je 0x4250a6
and dword [ebp - 0xd0], 0
mov esi, dword [ebp - 0x94]
jmp 0x4251a6
mov ecx, dword [eax + 0x50]
cmp ecx, dword [ebx + 0x54]
jne 0x4250cb
mov ecx, dword [eax + 0x54]
mov esi, dword [ebp - 0x94]
mov dword [ebp - 0xd0], ecx
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0xb4], ecx
jmp 0x42519c
cmp byte [eax + 0x1f], 0
je 0x4250ea
mov eax, dword [ebp - 0xb0]
lea edi, [ebp - 0xc8]
call fcn.0041a354
mov eax, dword [ebp - 0xc8]
jmp 0x4250fa
mov edi, dword [ebp - 0xb0]
mov esi, edi
call fcn.0041a32e
mov eax, dword [edi + 0x34]
mov dword [ebp - 0xd0], eax
jmp 0x425187
mov ecx, dword [eax + 0x10]
test ecx, ecx
jle 0x425195
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x4c], ecx
cmp byte [eax + 0x22], 0
je 0x425165
mov eax, dword [ebp - 0xbc]
imul eax, eax, 0x28
mov edi, 0x1000
add eax, ecx
push edi
push eax
mov ebx, esi
call fcn.0041f438
mov eax, dword [ebp - 0x94]
pop ecx
pop ecx
test word [eax + 0x1c], di
je 0x423dab
call fcn.0041eeb2
mov ebx, dword [ebp - 0xe8]
test eax, eax
jne 0x428f51
jmp case.default.0x423a3f
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0xd0], esi
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xb4], ecx
test byte [edx + 3], 0x20
je 0x425181
xor ecx, ecx
jmp 0x425184
mov ecx, dword [ebx + 0x54]
mov dword [eax + 0x50], ecx
mov esi, dword [ebp - 0x94]
mov eax, dword [ebp - 0xb8]
jmp 0x42519c
and dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0xd0]
test ecx, ecx
jne 0x4251bb
mov ax, word [esi + 0x1c]
mov ecx, 0xbe01
and ax, cx
or ax, 1
jmp 0x4249b9
mov edx, dword [ebp - 0xd8]
cmp ecx, dword [edx + 0x58]
ja 0x4246e8
mov edx, dword [eax + 0x14]
mov dword [ebp - 0xa4], edx
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0xac], ecx
mov edi, dword [eax + 0x50]
cmp edi, dword [ebx + 0x54]
jne 0x4251f2
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0xa8], eax
jmp 0x425426
and dword [ebp - 0x54], 0
lea ecx, [ecx + edx*4]
mov dword [ebp - 0xa8], ecx
mov dword [eax + 0x5c], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x54], ecx
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x42522f
mov dword [ebp - 0x98], eax
jmp 0x42528d
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x1f], 0
mov esi, dword [ebp - 0xb0]
je 0x42524c
xor eax, eax
cmp byte [esi + 0x5b], 1
jne 0x425261
push eax
jmp 0x425256
xor eax, eax
cmp byte [esi + 0x5b], 1
jne 0x425261
push 1
lea eax, [ebp - 0x54]
push eax
call fcn.0041a746
pop ecx
pop ecx
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x98], eax
cmp ecx, dword [ebp - 0x54]
ja 0x425283
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xb4], eax
mov dword [ecx + 0x60], eax
jmp 0x42528d
mov eax, dword [ebp - 0xb8]
and dword [eax + 0x60], 0
mov ecx, dword [ebp - 0x98]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4252a4
movzx eax, al
mov dword [ebp - 0x60], eax
xor eax, eax
inc eax
jmp 0x4252af
lea edi, [ebp - 0x60]
call fcn.0040e8be
movzx eax, al
cmp dword [ebp - 0x60], 0x18003
movzx eax, al
mov dword [ebp - 0x58], eax
jbe 0x4252c8
push 0x1085b
jmp 0x4255e8
mov ecx, dword [ebp - 0xa4]
imul ecx, ecx, 5
add ecx, 3
mov dword [ebp - 0xa0], ecx
cmp ecx, dword [ebp - 0x60]
jle 0x4252e8
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0xa0], ecx
xor eax, eax
cmp dword [ebp - 0xb4], eax
jne 0x42534c
cmp dword [ebp - 0x54], ecx
jge 0x42534c
xor edx, edx
mov word [ebp - 0x74], dx
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x90], eax
movzx edx, byte [edx + 0x1f]
push edx
push eax
mov ebx, ecx
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0x90]
call fcn.0041f820
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x423dab
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xa0]
mov ebx, dword [ebp - 0xe8]
mov dword [ebp - 0x98], eax
jmp 0x425352
mov eax, dword [ebp - 0x98]
add ecx, eax
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x58]
add ecx, eax
xor eax, eax
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0xa4], eax
jle 0x4253da
mov ecx, dword [ebp - 0x64]
cmp dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0xa8]
jae 0x425480
mov edx, dword [ebp - 0x60]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x80
jae 0x42539c
movzx eax, al
inc ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x68], ecx
jmp 0x4253aa
lea edi, [ebp - 0x50]
call fcn.0040e8be
movzx eax, al
add dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0x50]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x50]
call fcn.00421b75
add dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x60], eax
jae 0x425484
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x90]
push eax
call fcn.0041f0db
xor eax, eax
pop ecx
mov ecx, dword [ebp - 0x68]
inc eax
mov word [ebp - 0x74], ax
cmp ecx, dword [ebp - 0x64]
ja 0x4255e3
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0xd0]
ja 0x4255e3
cmp ecx, dword [ebp - 0x64]
jne 0x42541a
cmp eax, dword [ebp - 0xd0]
jne 0x4255e3
mov esi, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xa8]
cmp dword [edx + eax*4], 0
je 0x42555e
cmp dword [ebp - 0xb4], 0
je 0x4254a2
mov eax, 0x2460
test word [esi + 0x1c], ax
je 0x425463
mov eax, esi
call fcn.0041f07f
mov esi, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xbc]
push dword [ecx + eax*4]
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + eax*4]
add ecx, dword [ebp - 0xb4]
jmp 0x425547
and dword [ecx + eax*4], 0
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa4]
jl 0x42536f
jmp 0x4253da
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x50], eax
mov cl, byte [ecx + 3]
test cl, 0xc0
je 0x4254d2
cmp eax, 0xc
jb 0x4254bf
test al, 1
je 0x4254c3
test cl, cl
jns 0x4254d2
cmp eax, 0xc
sbb ecx, ecx
lea edx, [ebp - 0xc8]
and ecx, edx
jmp 0x425540
call fcn.00421b75
mov dword [ebp - 0xa0], eax
mov ebx, esi
lea eax, [ebp - 0x90]
call fcn.0041f4e8
mov eax, dword [ebp - 0xb8]
movzx eax, byte [eax + 0x1f]
mov ecx, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0xa8]
push dword [eax + ecx*4]
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0x90]
call fcn.0041f820
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x423dab
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp - 0x94]
mov ebx, dword [ebp - 0xe8]
mov dword [ebp - 0x98], ecx
push eax
call fcn.00421c1b
mov eax, dword [ebp - 0x94]
pop ecx
mov cl, byte [ebp - 0xf8]
mov byte [eax + 0x1f], cl
jmp 0x425597
mov eax, dword [ebp - 0xec]
cmp byte [eax + 1], 0xf8
jne 0x425583
push 0x800
push dword [eax + 0x10]
mov ebx, esi
call fcn.0041f438
mov ebx, dword [ebp - 0xe8]
pop ecx
pop ecx
jmp 0x425597
mov ax, word [esi + 0x1c]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov word [esi + 0x1c], ax
cmp dword [ebp - 0x6c], 0
je 0x4255d6
mov eax, dword [ebp - 0x94]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0x94]
mov ecx, 0x200
or word [eax + 0x1c], cx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x8c]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x94]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x94]
call fcn.0041eeb2
jmp 0x4255ee
push 0x108ab
call fcn.0044fc48
pop ecx
mov dword [ebp - 0xd4], eax
jmp case.default.0x423a3f
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
jmp 0x425646
inc dword [ebp - 0xd0]
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x425628
mov eax, edi
call fcn.0041ef0e
push dword [ebp - 0xf8]
mov eax, edi
push dword [ebp - 0xcc]
call fcn.00423840
mov eax, dword [ebp - 0xd0]
pop ecx
pop ecx
add edi, 0x28
mov al, byte [eax]
mov byte [ebp - 0xcc], al
test al, al
jne 0x425610
inc dword [ebp - 0xd0]
jmp case.default.0x423a3f
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb0], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x9c], eax
imul eax, eax, 0x28
mov ecx, dword [edi + 0x10]
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0x98], ecx
movzx ecx, byte [ebx + 0x61]
mov esi, eax
mov dword [ebp - 0xa4], esi
mov eax, dword [edi + 8]
mov dword [ebp - 0x9c], eax
imul eax, eax, 0x28
lea eax, [eax + esi - 0x28]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x94], ecx
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
cmp esi, eax
mov dword [ebp - 0xe4], edi
jmp 0x425798
cmp dword [ebp - 0x98], 0
je 0x42570a
push dword [ebp - 0xf8]
mov eax, esi
sub eax, dword [ebp - 0xa4]
push 0x28
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x98]
movzx eax, byte [eax + ecx]
push eax
mov eax, esi
call fcn.00423840
mov esi, dword [ebp - 0xcc]
pop ecx
pop ecx
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x425728
cmp dword [esi + 0x18], 0
jle 0x425728
mov eax, esi
call fcn.0041ef0e
mov esi, dword [ebp - 0xcc]
push dword [ebp - 0x94]
mov ecx, esi
call fcn.00421a86
pop ecx
mov dword [ebp - 0xa8], eax
call fcn.00421b75
mov dword [ebp - 0x8c], eax
cdq
add dword [ebp - 0xc8], eax
push 0
push dword [ebp - 0xa8]
adc dword [ebp - 0xc4], edx
call fcn.0040e91f
add dword [ebp - 0xc0], eax
mov eax, 0x4000
pop ecx
pop ecx
test word [esi + 0x1c], ax
je 0x42577f
mov eax, dword [esi + 0x10]
add dword [ebp - 0xb0], eax
jmp 0x42578f
cmp dword [ebp - 0x8c], 0
je 0x42578f
and dword [ebp - 0xb0], 0
add esi, 0x28
cmp esi, dword [ebp - 0xa0]
mov dword [ebp - 0xcc], esi
jbe 0x4256d3
mov eax, dword [ebp - 0xc0]
cdq
push edx
push eax
call fcn.0040e91f
mov esi, eax
add dword [ebp - 0xc0], esi
mov eax, dword [ebp - 0xc0]
cdq
push edx
push eax
mov dword [ebp - 0xac], esi
call fcn.0040e91f
add esp, 0x10
cmp esi, eax
jge 0x4257db
inc dword [ebp - 0xc0]
mov eax, dword [ebp - 0xb0]
cdq
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xf4], edx
cdq
mov esi, eax
sub esi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xd8]
mov ecx, edx
sbb ecx, dword [ebp - 0xf4]
add esi, dword [ebp - 0xc8]
adc ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb4], ecx
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x4246e8
jl 0x425839
cmp esi, eax
ja 0x4246e8
push 0
mov eax, esi
call fcn.0041edf5
pop ecx
test eax, eax
jne 0x428f51
mov eax, dword [ebp - 0xc0]
mov ecx, dword [edi + 4]
mov esi, 0x80
mov dword [ebp - 0xd0], ecx
cmp eax, esi
jae 0x42586a
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x42586f
call fcn.0040e703
movzx eax, al
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], eax
jmp 0x4258d3
push dword [ebp - 0x94]
mov ecx, dword [ebp - 0xcc]
call fcn.00421a86
mov edx, dword [ebp - 0x90]
pop ecx
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xa8], eax
cmp eax, esi
jae 0x4258b6
mov byte [edx + ecx], al
xor eax, eax
inc eax
jmp 0x4258bd
add ecx, edx
call fcn.0040e703
movzx eax, al
add dword [ebp - 0x90], eax
add dword [ebp - 0xcc], 0x28
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0xa0]
jbe 0x425886
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], eax
cmp eax, dword [ebp - 0xa0]
ja 0x42593b
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xb8]
push dword [ebp - 0x94]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0xd0]
lea ebx, [eax + ecx]
mov eax, dword [ebp - 0xcc]
call fcn.00421b88
add dword [ebp - 0x90], eax
add dword [ebp - 0xcc], 0x28
mov eax, dword [ebp - 0xcc]
pop ecx
pop ecx
cmp eax, dword [ebp - 0xa0]
jbe 0x4258ef
mov ebx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xb8]
and dword [edi + 0x20], 0
mov dword [edi + 0x18], eax
mov eax, 0x410
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x425967
mov dword [edi + 0x10], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov byte [edi + 0x1f], 1
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x42599a
lea ecx, [ebp - 0xd0]
push ecx
call fcn.0041d43b
pop ecx
mov dword [ebp - 0xd4], eax
jmp 0x4259a8
and dword [ebp - 0xd0], 0
and dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xcc]
jmp 0x423be9
mov eax, dword [edi + 4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xcc], ecx
test eax, eax
jne 0x425abd
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 0x90], eax
jle 0x4259f5
push str.cannot_open_savepoint___SQL_statements_in_progress
push edx
jmp 0x425b39
call fcn.0040ddf8
mov dword [ebp - 0xc8], eax
mov eax, dword [edx + 0x1ec]
add eax, dword [edx + 0x1e8]
mov edi, edx
push eax
push 0
call fcn.00445e56
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x42902d
mov eax, dword [ebp - 0xc8]
add eax, 0x19
push eax
mov esi, edi
call fcn.0040c487
pop ecx
mov dword [ebp - 0xc4], eax
test eax, eax
je case.default.0x423a3f
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc8]
inc eax
push eax
push dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.004562c0
add esp, 0xc
cmp byte [esi + 0x3e], 0
je 0x425a79
mov byte [esi + 0x3e], 0
mov byte [esi + 0x45], 1
jmp 0x425a7f
inc dword [esi + 0x1e8]
mov ecx, dword [esi + 0x1e0]
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0xc4]
mov eax, dword [esi + 0x1f0]
mov dword [esi + 0x1e0], ecx
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x1f4]
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0xc], eax
jmp case.default.0x423a3f
and dword [ebp - 0xb8], 0
mov esi, dword [ebp - 0xd8]
mov edi, dword [esi + 0x1e0]
mov dword [ebp - 0xc0], edi
test edi, edi
je 0x425b06
push dword [ebp - 0xcc]
push dword [edi]
call fcn.0040df21
pop ecx
pop ecx
test eax, eax
je 0x425b00
inc dword [ebp - 0xb8]
mov edi, dword [edi + 0x10]
mov dword [ebp - 0xc0], edi
test edi, edi
jne 0x425ada
xor eax, eax
cmp edi, eax
jne 0x425b22
push dword [ebp - 0xcc]
lea edi, [ebx + 0x38]
push str.no_such_savepoint:__s
push esi
call fcn.0040c632
add esp, 0xc
jmp 0x425dae
cmp dword [esi + 0x90], eax
jle 0x425b52
cmp dword [ebp - 0xd0], 1
jne 0x425b52
push str.cannot_release_savepoint___SQL_statements_in_progress
push esi
lea edi, [ebx + 0x38]
call fcn.0040c632
pop ecx
pop ecx
mov dword [ebp - 0xd4], 5
jmp case.default.0x423a3f
cmp dword [edi + 0x10], eax
jne 0x425baa
cmp byte [esi + 0x45], al
je 0x425baa
xor eax, eax
inc eax
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xd0], eax
jne 0x425bb0
push eax
mov eax, ebx
call fcn.004214c8
mov edi, eax
pop ecx
test edi, edi
jne 0x424767
mov eax, ebx
mov byte [esi + 0x3e], 1
call fcn.0042151e
push 5
pop edi
cmp eax, edi
je 0x428f78
mov byte [esi + 0x45], 0
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0xd4], eax
mov edi, esi
jmp 0x425ca9
mov dword [ebp - 0xf0], eax
mov ecx, dword [esi + 0x1e8]
sub ecx, dword [ebp - 0xb8]
dec ecx
cmp dword [ebp - 0xd0], 2
mov dword [ebp - 0xb8], ecx
jne 0x425c08
and dword [ebp - 0xb4], 0
cmp dword [esi + 0x14], 0
jle 0x425c08
mov eax, dword [ebp - 0xb4]
mov ecx, dword [esi + 0x10]
add eax, eax
push 4
push dword [ecx + eax*8 + 4]
call fcn.0041a089
inc dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb4]
pop ecx
pop ecx
cmp eax, dword [esi + 0x14]
jl 0x425bd9
mov ecx, dword [ebp - 0xb8]
xor eax, eax
mov dword [ebp - 0xb4], eax
cmp dword [esi + 0x14], eax
jle 0x425c58
jmp 0x425c1d
mov ecx, dword [ebp - 0xb8]
push ecx
push dword [ebp - 0xd0]
mov ecx, esi
mov ecx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
call fcn.0041a1a5
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x42902d
mov eax, dword [ebp - 0xb4]
inc eax
mov ecx, esi
mov dword [ebp - 0xb4], eax
cmp eax, dword [ecx + 0x14]
jl 0x425c17
cmp dword [ebp - 0xd0], 2
jne 0x425ba3
mov edi, esi
test byte [edi + 0x18], 2
je 0x425ca9
mov eax, edi
call fcn.004221a8
mov eax, edi
call fcn.00431a98
or dword [edi + 0x18], 2
jmp 0x425ca9
mov eax, dword [edi + 0x1e0]
mov dword [ebp - 0xbc], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1e0], eax
mov edx, dword [ebp - 0xbc]
mov ecx, edi
call fcn.0040c2c9
dec dword [edi + 0x1e8]
mov eax, dword [ebp - 0xc0]
cmp dword [edi + 0x1e0], eax
jne 0x425c81
cmp dword [ebp - 0xd0], 1
jne 0x425ced
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1e0], eax
mov edx, dword [ebp - 0xc0]
mov ecx, edi
call fcn.0040c2c9
cmp dword [ebp - 0xf0], 0
jne case.default.0x423a3f
mov edi, esi
dec dword [edi + 0x1e8]
jmp 0x425d0e
cmp dword [ebp - 0xf0], 0
mov ecx, dword [eax + 8]
mov dword [edi + 0x1f0], ecx
mov eax, dword [eax + 0xc]
mov dword [edi + 0x1f4], eax
jne case.default.0x423a3f
mov edi, esi
push dword [ebp - 0xb8]
push dword [ebp - 0xd0]
call fcn.00445e56
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x42902d
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 8]
mov dword [ebp - 0xcc], edi
test eax, eax
je 0x425d76
cmp byte [esi + 0x3e], 0
jne 0x425d76
mov dword [ebp - 0xc8], 1
test edi, edi
jne 0x425d7d
cmp dword [esi + 0x90], edi
jle 0x425d7d
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x425b38
and dword [ebp - 0xc8], 0
movzx ecx, byte [esi + 0x3e]
cmp eax, ecx
jne 0x428f8d
test eax, eax
jne 0x425d94
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x425da2
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x425da2
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push esi
lea edi, [ebx + 0x38]
call fcn.0040c632
pop ecx
pop ecx
mov dword [ebp - 0xd4], 1
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xd0], eax
test eax, eax
je case.default.0x423a3f
push dword [edi + 8]
mov edi, eax
call fcn.004196c2
pop ecx
push 5
pop edi
mov dword [ebp - 0xd4], eax
cmp eax, edi
je 0x428ff3
xor esi, esi
cmp eax, esi
jne 0x42902d
mov eax, dword [ebp - 0xec]
cmp dword [eax + 8], esi
je case.default.0x423a3f
test byte [ebx + 0x64], 0x80
je case.default.0x423a3f
mov edi, dword [ebp - 0xd8]
cmp byte [edi + 0x3e], 0
je 0x425e35
cmp dword [edi + 0x8c], 1
jle case.default.0x423a3f
cmp dword [ebx + 0x74], esi
jne 0x425e4f
mov ecx, dword [edi + 0x1e8]
inc dword [edi + 0x1ec]
add ecx, dword [edi + 0x1ec]
mov dword [ebx + 0x74], ecx
mov eax, dword [ebx + 0x74]
dec eax
push eax
push esi
call fcn.00445e56
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
cmp eax, esi
jne 0x425e9f
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebx + 0x74]
mov esi, dword [eax + 4]
mov dword [ebp - 0xf0], eax
call fcn.00417a97
mov esi, dword [esi]
push edi
call fcn.004158ec
mov esi, dword [ebp - 0xf0]
pop ecx
mov edi, eax
call fcn.00417b1f
mov dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0xd8]
mov eax, dword [edi + 0x1f0]
mov dword [ebx + 0x98], eax
mov eax, dword [edi + 0x1f4]
mov dword [ebx + 0x9c], eax
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov dword [ebp - 0xcc], eax
mov edi, dword [edi + 0xc]
lea ecx, [ebp - 0xd0]
push ecx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], edi
mov ecx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
push edi
call fcn.0041d3bd
pop ecx
pop ecx
mov eax, dword [ebp - 0xd0]
jmp 0x423bc6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
shl eax, 4
add eax, dword [ecx + 0x10]
mov dword [ebp - 0xd0], eax
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
call fcn.0041f257
push dword [esi + 0x10]
mov eax, dword [ebp - 0xd0]
push dword [edi + 8]
mov ebx, dword [eax + 4]
call fcn.0041d3ec
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 8]
pop ecx
pop ecx
cmp eax, 1
jne 0x425f5b
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [ebp - 0xd8]
or dword [eax + 0x18], 2
jmp 0x425f6f
cmp eax, 2
jne 0x425f6f
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0xc]
mov cl, byte [esi + 0x10]
mov byte [eax + 0x4c], cl
cmp dword [edi + 4], 1
jne 0x423dab
mov eax, dword [ebp - 0xd8]
call fcn.004221a8
mov eax, dword [ebp - 0xe8]
and dword [eax + 0x64], 0xffffffdf
mov ebx, eax
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xd8]
mov ecx, dword [esi + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x425fd2
lea ecx, [ebp - 0xd0]
push ecx
push 1
call fcn.0041d3bd
mov eax, dword [edi + 4]
pop ecx
pop ecx
mov ecx, dword [esi + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x425fdb
and dword [ebp - 0xd0], 0
xor eax, eax
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
cmp ecx, dword [edi + 8]
jne 0x425ff5
cmp eax, dword [edi + 0xc]
je case.default.0x423a3f
mov edx, dword [ebx + 0x38]
mov ecx, esi
call fcn.0040c2c9
push str.database_schema_has_changed
mov edx, esi
call fcn.0040c5c0
mov dword [ebx + 0x38], eax
mov edi, dword [edi + 4]
mov eax, edi
add eax, eax
pop ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + eax*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xd0]
je 0x426034
mov esi, dword [ebp - 0xd8]
push edi
call fcn.00431a6d
pop ecx
or dword [ebx + 0x64], 0x20
mov dword [ebp - 0xd4], 0x11
jmp case.default.0x423a3f
test byte [ebx + 0x64], 0x20
je 0x42605c
mov dword [ebp - 0xd4], 4
jmp case.default.0x423a3f
mov edx, dword [ebp - 0xd8]
xor esi, esi
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], esi
mov ecx, dword [edi + 8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc4], eax
shl eax, 4
add eax, dword [edx + 0x10]
mov dword [ebp - 0xb4], eax
mov edx, dword [eax + 4]
mov dword [ebp - 0xbc], edx
cmp byte [edi], 0x28
jne 0x4260b6
mov dword [ebp - 0xc0], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [ebx + 0x61]
jae 0x4260bc
mov byte [ebx + 0x61], al
jmp 0x4260bc
and dword [ebp - 0xc0], esi
test byte [edi + 3], 2
je 0x4260ea
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
mov esi, ecx
call fcn.0041f257
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xc8], esi
cmp esi, 2
jl 0x428ffe
mov esi, dword [ebp - 0xd0]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x426115
mov eax, dword [edi + 0x10]
mov ecx, dword [ebx]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x4d]
mov byte [eax + 4], cl
mov eax, dword [ebp - 0xcc]
movzx esi, word [eax + 6]
inc esi
jmp 0x42611c
cmp al, 0xf2
jne 0x426122
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xd0], esi
mov edx, dword [edi + 4]
push 1
push dword [ebp - 0xc4]
mov eax, ebx
push esi
call fcn.0042370c
add esp, 0xc
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x428f51
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x20], 1
push dword [ebp - 0xcc]
mov eax, dword [ebp - 0xb8]
push dword [ebp - 0xc8]
mov eax, dword [eax]
mov ebx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
call fcn.0041a20c
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xb8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 8], ecx
mov al, byte [edi + 3]
mov ecx, dword [ebp - 0xb8]
mov ecx, dword [ecx]
and al, 1
mov byte [ecx + 0x5d], al
cmp byte [edi + 1], 0xfa
mov ecx, dword [ebp - 0xb8]
setne al
mov byte [ecx + 0x1e], al
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x1e], 0
sete cl
mov byte [eax + 0x1f], cl
jmp 0x423dab
mov edx, dword [edi + 4]
push 1
push 0xffffffffffffffff
push dword [edi + 8]
mov eax, ebx
call fcn.0042370c
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x428f51
mov edx, dword [ebp - 0xd8]
mov byte [eax + 0x1c], 1
movzx eax, byte [edi + 3]
or eax, 5
push 0x41e
push eax
mov eax, dword [ebp - 0xd0]
add eax, 4
push eax
push dword [edx]
xor ecx, ecx
call fcn.00418b07
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x426330
mov eax, dword [ebp - 0xd0]
mov edi, dword [eax + 4]
push 1
call fcn.004196c2
mov edi, dword [ebp - 0xec]
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x426330
cmp dword [edi + 0x10], eax
je 0x4262fc
movzx esi, byte [edi + 3]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
or esi, 2
mov dword [ebp - 0xf0], eax
call fcn.00417a97
push esi
mov esi, dword [ebp - 0xf0]
lea eax, [ebp - 0x124]
push eax
push esi
call fcn.0041cecf
add esp, 0xc
mov dword [ebp - 0xf0], eax
call fcn.00417b1f
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4262f0
push dword [edi + 0x10]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx]
push dword [ebp - 0x124]
mov ecx, dword [ecx + 4]
xor ebx, ebx
inc ebx
call fcn.0041a20c
mov ebx, dword [ebp - 0xe8]
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 0
jmp 0x42632a
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
xor ebx, ebx
push 0
push 1
inc ebx
call fcn.0041a20c
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
pop ecx
mov byte [eax + 0x1e], bl
mov ebx, dword [ebp - 0xe8]
pop ecx
mov edi, dword [ebp - 0xec]
cmp byte [edi + 3], 8
mov ecx, dword [ebp - 0xd0]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1e], 0
sete cl
jmp 0x423cda
mov edx, dword [edi + 4]
push 1
push 0xffffffffffffffff
push dword [edi + 8]
mov eax, ebx
call fcn.0042370c
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x428f51
mov ecx, dword [edi + 0x10]
push dword [ebp - 0xd8]
mov dword [eax + 8], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xd0]
mov al, byte [eax + 0x4d]
mov ecx, dword [ecx + 8]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x21], 1
mov eax, dword [ebp - 0xd0]
call fcn.00429ee6
jmp 0x4255ed
mov edx, dword [edi + 4]
push 0
push 0xffffffffffffffff
push dword [edi + 0xc]
mov eax, ebx
call fcn.0042370c
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x428f51
mov byte [eax + 0x1c], 1
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1f], 0
mov al, byte [edi + 3]
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x22], al
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
mov esi, ebx
call fcn.00420be8
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
and dword [ecx + eax*4], 0
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
xor esi, esi
mov dword [ebp - 0xc8], eax
cmp dword [eax], esi
je 0x423a5a
movzx ecx, byte [edi]
mov dword [ebp - 0xcc], ecx
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x1e], 0
je 0x426624
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
call fcn.004237c5
mov ecx, esi
call fcn.0041f156
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x9c], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x4265b4
test al, 8
je 0x423a5a
cmp dword [ebp - 0xa0], 0
jne 0x426564
mov eax, 0x80000000
cmp dword [ebp - 0x9c], eax
jne 0x426564
and dword [ebp - 0x138], 0
mov dword [ebp - 0x134], eax
fild qword [ebp - 0x138]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x4264e6
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x426564
fldz
mov dword [ebp - 0xd0], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x42651e
cmp dword [ebp - 0xcc], 0x30
jl 0x423a5a
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax]
lea edi, [ebp - 0xd0]
call fcn.0041a9ed
jmp 0x42653e
cmp dword [ebp - 0xcc], 0x2f
jg 0x423a5a
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax]
lea edi, [ebp - 0xd0]
call fcn.0041aa12
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x42902d
cmp dword [ebp - 0xd0], 0
je case.default.0x423a3f
mov edi, dword [ebp - 0xec]
jmp 0x423a5a
cmp dword [ebp - 0xcc], 0x2e
je 0x426596
cmp dword [ebp - 0xcc], 0x30
je 0x426596
fild qword [ebp - 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x4265b4
add dword [ebp - 0xa0], 0xffffffff
adc dword [ebp - 0x9c], 0xffffffff
jmp 0x4265b4
fild qword [ebp - 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x4265b4
add dword [ebp - 0xa0], 1
adc dword [ebp - 0x9c], 0
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc8]
mov ebx, dword [eax]
push 0
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
push 0
call fcn.0041aa4f
add esp, 0x14
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x429027
xor ebx, ebx
cmp dword [ebp - 0xd0], ebx
jne 0x4266af
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x44], eax
jmp 0x4266af
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc0], eax
mov ax, word [ebp - 0xa8]
mov word [ebp - 0xbc], ax
mov al, byte [ebp - 0xcc]
and al, 1
mov byte [ebp - 0xba], al
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
mov edx, 0x4000
mov dword [ebp - 0xb0], eax
test word [eax + 0x1c], dx
je 0x42667a
call fcn.0041ef0e
mov ecx, dword [ebp - 0xc8]
mov ebx, dword [ecx]
lea eax, [ebp - 0xd0]
push eax
push esi
push esi
lea eax, [ebp - 0xc0]
push esi
push eax
call fcn.0041aa4f
add esp, 0x14
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x429027
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
xor ebx, ebx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], bl
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], ebx
cmp dword [ebp - 0xcc], 0x30
jl 0x4266fe
cmp dword [ebp - 0xd0], ebx
jl 0x4266e8
jne 0x4266dd
cmp dword [ebp - 0xcc], 0x31
je 0x4266e8
mov dword [ebp - 0xd0], ebx
jmp 0x423dab
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc8]
push dword [eax]
call fcn.0041ad11
jmp 0x42673e
cmp dword [ebp - 0xd0], ebx
jg 0x42672a
jne 0x426711
cmp dword [ebp - 0xcc], 0x2e
je 0x42672a
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax]
xor ecx, ecx
cmp byte [eax + 0x5b], 1
setne cl
mov dword [ebp - 0xd0], ecx
jmp 0x426759
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc8]
push dword [eax]
call fcn.0041ae1e
pop ecx
mov dword [ebp - 0xd4], eax
pop ecx
cmp eax, ebx
jne 0x429027
mov eax, dword [ebp - 0xc8]
xor ebx, ebx
mov byte [eax + 0x19], bl
cmp dword [ebp - 0xd0], ebx
je 0x423dab
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp 0x423dab
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd0], eax
cmp dword [eax], 0
je case.default.0x423a3f
mov byte [eax + 0x1c], 0
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
call fcn.0041f156
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 1
jmp case.default.0x423a3f
mov edx, dword [ebx + 0x44]
xor ecx, ecx
mov dword [ebp - 0xd0], ecx
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xcc], eax
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
cmp dword [eax], ecx
je 0x4268f4
cmp dword [edi + 0x10], ecx
jle 0x42682b
mov edx, dword [eax + 8]
mov dword [ebp - 0xb8], edx
mov dx, word [edi + 0x10]
mov word [ebp - 0xb4], dx
lea edx, [ebp - 0xb8]
mov dword [ebp - 0xa8], esi
mov byte [ebp - 0xb2], 2
mov dword [ebp - 0xc0], edx
jmp 0x426883
mov edi, dword [eax + 8]
push 0x97
lea ebx, [ebp - 0xc4]
lea edx, [ebp - 0xa0]
call fcn.00421dc3
pop ecx
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x428f4b
mov ebx, dword [esi + 4]
push eax
push dword [esi + 0x18]
mov eax, dword [ebp - 0xcc]
push dword [eax + 8]
call fcn.00421e0d
mov eax, dword [ebp - 0xc0]
or byte [eax + 6], 2
mov eax, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xec]
add esp, 0xc
xor ecx, ecx
mov ebx, dword [eax]
lea edx, [ebp - 0xc8]
push edx
push ecx
push ecx
push ecx
push dword [ebp - 0xc0]
call fcn.0041aa4f
add esp, 0x14
cmp dword [edi + 0x10], 0
mov dword [ebp - 0xd4], eax
jne 0x4268ba
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd8]
call fcn.0040c2c9
cmp dword [ebp - 0xd4], 0
jne 0x423dab
mov ebx, dword [ebp - 0xe8]
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0xc8], eax
sete cl
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ebp - 0xcc]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0x50], eax
xor ecx, ecx
cmp byte [edi], 0x34
jne 0x426904
cmp dword [ebp - 0xd0], ecx
jmp 0x424bab
cmp dword [ebp - 0xd0], ecx
jmp 0x425002
mov eax, dword [edi + 0x10]
mov esi, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
imul esi, esi, 0x28
mov ecx, dword [ebx + 0x44]
add esi, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xcc], eax
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xcc]
and dword [eax + 0x50], 0
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [eax + 8]
mov cx, word [ecx + 6]
xor edx, edx
mov word [ebp - 0xd0], dx
cmp dx, cx
mov edx, dword [ebp - 0xc0]
mov word [ebp - 0xc4], cx
jae 0x4269b5
movzx ecx, word [ebp - 0xd0]
imul ecx, ecx, 0x28
test byte [ecx + edx + 0x1c], 1
jne 0x4269a4
mov cx, word [ebp - 0xc4]
inc word [ebp - 0xd0]
cmp word [ebp - 0xd0], cx
jb 0x42697a
jmp 0x4269b5
mov ecx, dword [edi + 8]
dec ecx
and dword [ebp - 0xc8], 0
mov dword [ebp - 0xe0], ecx
cmp dword [ebp - 0xc8], 0
je case.default.0x423a3f
mov eax, dword [eax + 8]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xc4]
inc eax
mov word [ebp - 0xb4], ax
mov byte [ebp - 0xb2], 4
mov dword [ebp - 0xa8], edx
call fcn.0041f257
mov eax, dword [esi + 0x10]
mov ebx, dword [ebp - 0xc8]
mov dword [ebp - 0xa0], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xcc]
add eax, 0x4c
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.0041aa4f
add esp, 0x14
test byte [ebp - 0xb2], 4
mov dword [ebp - 0xd4], eax
jne 0x426765
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebp - 0xa0]
jne 0x426a54
mov ecx, dword [ebp - 0xac]
cmp ecx, dword [ebp - 0x9c]
je 0x426765
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xac]
mov dword [esi + 0x14], eax
jmp 0x423dab
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 4]
imul esi, esi, 0x28
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
add esi, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], eax
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je 0x426b2f
and dword [ebp - 0xc8], 0
mov eax, dword [esi + 0x10]
lea edx, [ebp - 0xc8]
push edx
mov dword [ebp - 0xc0], eax
mov ebx, dword [esi + 0x14]
push 0
push ebx
push eax
mov dword [ebp - 0xbc], ebx
push 0
mov ebx, ecx
call fcn.0041aa4f
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x40], eax
mov ecx, dword [ebp - 0xd0]
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x44], eax
mov edx, dword [ebp - 0xd0]
xor eax, eax
add esp, 0x14
cmp dword [ebp - 0xc8], eax
sete cl
mov byte [edx + 0x19], cl
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1c], al
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x50], eax
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0xc8]
cmp ecx, eax
je 0x426b21
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x4c], ecx
jmp 0x423dab
mov edi, dword [edi + 8]
dec edi
and dword [eax + 0x4c], 0
mov dword [ebp - 0xe0], edi
jmp case.default.0x423a3f
mov ecx, dword [ebx + 0x44]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x30]
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], edx
mov eax, dword [eax + 0x34]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.default.0x423a3f
mov ecx, dword [ebx + 0x44]
xor edx, edx
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc4], edx
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
cmp ecx, edx
je 0x4259a8
cmp byte [eax + 0x1b], dl
jne 0x426d3b
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0xd0], edx
mov ecx, dword [ecx + 0x24]
or edx, ecx
mov dword [ebp - 0xcc], ecx
jne 0x426c4f
mov esi, dword [eax]
lea edi, [ebp - 0xc4]
call fcn.0041aa12
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x42902d
mov eax, dword [ebp - 0xc8]
xor esi, esi
cmp dword [ebp - 0xc4], esi
je 0x426c00
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0xcc], esi
jmp 0x426c49
mov eax, dword [eax]
lea edi, [ebp - 0xd0]
call fcn.0041a354
cmp dword [ebp - 0xcc], 0x7fffffff
mov dword [ebp - 0xd4], eax
jl 0x426c36
jg 0x426c2a
cmp dword [ebp - 0xd0], 0xffffffff
jb 0x426c36
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1b], 1
jmp 0x426c43
add dword [ebp - 0xd0], 1
adc dword [ebp - 0xcc], esi
mov eax, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xec]
mov esi, dword [edi + 0xc]
test esi, esi
je 0x426ce5
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x426d0a
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
mov dword [ebp - 0xbc], esi
call fcn.0041f257
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
cmp ecx, 0xffffffff
jne 0x426c99
cmp edx, 0x7fffffff
je 0x429011
mov esi, dword [ebp - 0xc8]
cmp byte [esi + 0x1b], 0
jne 0x429011
add ecx, 1
adc edx, 0
cmp dword [ebp - 0xcc], edx
jg 0x426ccd
jl 0x426cc1
cmp dword [ebp - 0xd0], ecx
jae 0x426ccd
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], edx
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
cmp edx, 0x7fffffff
jg 0x426d25
mov ecx, dword [ebp - 0xd0]
jl 0x426d00
cmp ecx, 0xffffffff
jae 0x426d25
add ecx, 1
adc edx, 0
jmp 0x426d29
mov eax, ecx
mov dword [ebp - 0xb8], eax
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x426d08
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [eax + 0xc]
jmp 0x426c71
xor ecx, ecx
xor edx, edx
push edx
push ecx
mov ecx, dword [eax]
call fcn.0041a27e
mov eax, dword [ebp - 0xc8]
add esp, 8
cmp byte [eax + 0x1b], 0
je 0x426e4f
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x108]
push 0
pop edi
mov esi, 0x3fffffff
and ecx, esi
add edx, 1
lea ebx, [ebp - 0xc4]
push ebx
adc ecx, edi
push edi
push ecx
push edx
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc0], edi
mov ebx, dword [eax]
push edi
call fcn.0041aa4f
add esp, 0x14
mov dword [ebp - 0xd4], eax
cmp eax, edi
jne 0x426e43
cmp dword [ebp - 0xc4], edi
jne 0x426e2f
inc dword [ebp - 0xc0]
cmp dword [ebp - 0xc0], 0x64
jge 0x426e2f
lea eax, [ebp - 0xd0]
push eax
push 8
call fcn.0040d7c7
cmp dword [ebp - 0xc0], 5
pop ecx
pop ecx
jge 0x426ddb
and dword [ebp - 0xd0], 0xffffff
mov dword [ebp - 0xcc], edi
jmp 0x426ded
mov eax, dword [ebp - 0xd0]
and dword [ebp - 0xcc], esi
mov dword [ebp - 0xd0], eax
add dword [ebp - 0xd0], 1
lea eax, [ebp - 0xc4]
push eax
adc dword [ebp - 0xcc], edi
mov eax, dword [ebp - 0xc8]
mov ebx, dword [eax]
push edi
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push edi
call fcn.0041aa4f
add esp, 0x14
xor edi, edi
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x426d95
cmp dword [ebp - 0xd4], edi
jne 0x426e43
cmp dword [ebp - 0xc4], edi
je 0x42901d
mov eax, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xe8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x50], 0
jmp 0x4259a8
mov esi, dword [edi + 8]
mov ecx, dword [ebx + 0x44]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], esi
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc0], eax
cmp byte [edi], 0x39
jne 0x426eb2
mov ecx, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], ecx
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xc8], eax
mov edx, dword [ecx + 0x14]
jmp 0x426ebc
mov eax, dword [edi + 0xc]
cdq
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
test byte [edi + 3], 1
je 0x426ecb
inc dword [ebx + 0x68]
test byte [edi + 3], 2
je 0x426ef5
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0x20], eax
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x24], eax
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0x104], edx
test byte [esi + 0x1c], 1
je 0x426f0f
and dword [esi + 4], 0
mov eax, dword [ebp - 0xd0]
and dword [eax + 0x18], 0
mov esi, dword [ebp - 0xd0]
test byte [edi + 3], 0x10
je 0x426f26
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0xb8], eax
jmp 0x426f2d
and dword [ebp - 0xb8], 0
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x426f43
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xbc], eax
jmp 0x426f4a
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
xor esi, esi
push esi
push esi
call fcn.0041a27e
push dword [ebp - 0xb8]
movzx eax, byte [edi + 3]
and eax, 8
push eax
push dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [ebp - 0xc0]
push dword [ebp - 0xc4]
mov eax, dword [eax]
push dword [ebp - 0xc8]
push esi
call fcn.0041cb11
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x19], 0
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x1d], 0
mov ecx, dword [ebp - 0xc0]
add esp, 0x28
mov dword [ebp - 0xd4], eax
mov dword [ecx + 0x50], esi
cmp eax, esi
jne case.default.0x423a3f
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 0xc4], esi
je case.default.0x423a3f
cmp dword [edi + 0x10], esi
je case.default.0x423a3f
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 0xc]
mov edx, dword [ecx + 0x10]
push dword [ebp - 0xc4]
add eax, eax
mov esi, dword [edx + eax*8]
push dword [ebp - 0xc8]
mov dword [ebp - 0xb4], esi
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xb0], edx
mov al, byte [edi + 3]
and al, 4
movzx eax, al
neg eax
sbb eax, eax
push edx
and eax, 5
add eax, 0x12
push esi
push eax
mov dword [ebp - 0xac], eax
push dword [ecx + 0xc0]
call dword [ecx + 0xc4]
add esp, 0x18
jmp case.default.0x423a3f
mov edx, dword [ebx + 0x44]
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], esi
cmp dword [ecx + 0xc4], eax
je 0x42707b
cmp dword [edi + 0x10], eax
je 0x42707b
mov eax, dword [esi + 0x40]
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xcc], eax
call fcn.004219e9
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x42902d
push eax
push eax
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
call fcn.0041a27e
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax]
add esp, 8
call fcn.0041cccc
mov ecx, dword [ebp - 0xc8]
and dword [ecx + 0x50], 0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x427103
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xc4]
test edx, edx
je 0x427103
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x427103
push dword [ebp - 0xcc]
mov esi, dword [eax + 0x10]
push dword [ebp - 0xd0]
push ecx
mov ecx, dword [ebp - 0xc8]
mov ecx, dword [ecx + 0xc]
add ecx, ecx
push dword [esi + ecx*8]
push 9
push dword [eax + 0xc0]
call edx
add esp, 0x18
test byte [edi + 8], 1
je case.default.0x423a3f
inc dword [ebx + 0x68]
jmp case.default.0x423a3f
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebp - 0xd8]
add dword [ecx + 0x54], eax
mov dword [ecx + 0x50], eax
and dword [ebx + 0x68], 0
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd0], eax
mov esi, dword [edi + 0xc]
mov ecx, dword [eax + 0x48]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
lea edx, [ebp - 0x128]
call fcn.0042a76a
lea ecx, [ebp - 0xcc]
push ecx
push dword [ebp - 0x128]
mov ecx, eax
push dword [esi + 0x18]
mov eax, dword [ebp - 0xd0]
push dword [esi + 4]
push 1
call fcn.00429dca
and dword [ebp - 0xd4], 0
add esp, 0x14
cmp dword [ebp - 0xcc], 0
jmp 0x424bab
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebx + 0x44]
add ecx, dword [ebp - 0xdc]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xd0], eax
call fcn.0042a78d
jmp 0x4255ee
mov eax, dword [edi + 8]
mov ecx, dword [ebx + 0x44]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 4]
mov esi, dword [ecx + eax*4]
mov dword [ebp - 0xd0], esi
mov eax, dword [esi]
mov dword [ebp - 0xcc], eax
call fcn.004219e9
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x42902d
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1f], 0
je 0x427242
mov eax, dword [ebp - 0xcc]
lea edi, [ebp - 0xc0]
call fcn.0041a354
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x58]
cdq
mov ecx, eax
cmp dword [ebp - 0xbc], edx
jg 0x4246e8
mov eax, dword [ebp - 0xc0]
jl 0x42723a
cmp eax, ecx
ja 0x4246e8
mov dword [ebp - 0xc8], eax
jmp 0x427267
mov edi, dword [ebp - 0xcc]
mov esi, edi
call fcn.0041a32e
mov eax, dword [edi + 0x34]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], eax
cmp eax, dword [ecx + 0x58]
ja 0x4246e8
mov edi, dword [ebp - 0xe4]
xor esi, esi
push esi
call fcn.0041edf5
pop ecx
test eax, eax
jne 0x428f51
mov eax, dword [ebp - 0xc8]
mov dword [edi + 0x18], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xbe10
and ax, cx
or ax, 0x10
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1f], 0
je 0x4272c0
mov eax, dword [edi + 4]
push esi
push eax
push dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
push esi
call fcn.0041a43f
jmp 0x4272d5
push dword [edi + 4]
push dword [ebp - 0xc8]
push esi
push dword [ebp - 0xcc]
call fcn.0041a709
mov dword [ebp - 0xd4], eax
add esp, 0x10
jmp 0x425967
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov esi, dword [ecx + eax*4]
mov dword [ebp - 0xd0], esi
cmp byte [esi + 0x1c], 0
je 0x42730a
mov ecx, dword [ebp - 0xe4]
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
jmp case.default.0x423a3f
cmp byte [esi + 0x1d], 0
je 0x42731e
mov eax, dword [esi + 0x38]
mov dword [ebp - 0xc8], eax
mov eax, dword [esi + 0x3c]
jmp 0x427386
cmp dword [esi + 0x24], 0
je 0x42735b
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov eax, dword [eax]
lea ecx, [ebp - 0xc8]
push ecx
mov dword [ebp - 0xbc], eax
push dword [esi + 0x24]
call dword [eax + 0x30]
mov esi, dword [ebp - 0xc0]
pop ecx
pop ecx
mov edi, ebx
mov dword [ebp - 0xd4], eax
call fcn.004238ab
jmp 0x4273a1
call fcn.004219e9
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x42902d
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x19], 0
je 0x42738e
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 0x44]
mov dword [ebp - 0xc4], eax
jmp 0x4273a1
mov eax, dword [eax]
lea edi, [ebp - 0xc8]
call fcn.0041a354
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xc4]
jmp 0x423be9
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd0], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax]
test esi, esi
je case.default.0x423a3f
call fcn.00417dd2
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd0], eax
mov esi, dword [eax]
and dword [ebp - 0xc8], 0
mov dword [ebp - 0xcc], esi
test esi, esi
je 0x427431
lea edi, [ebp - 0xc8]
call fcn.0041aa12
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov cl, byte [ebp - 0xc8]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd0]
and dword [eax + 0x50], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.default.0x423a3f
cmp dword [ebp - 0xc8], 0
je case.default.0x423a3f
jmp 0x423a5d
inc dword [ebx + 0x7c]
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc8], 1
cmp dword [eax + 0x48], 0
je 0x4274b5
lea ecx, [ebp - 0xc8]
push ecx
push eax
push dword [ebp - 0xd8]
call fcn.0042a45b
add esp, 0xc
mov dword [ebp - 0xd4], eax
jmp 0x427507
mov eax, dword [eax]
lea edi, [ebp - 0xc8]
mov esi, eax
mov dword [ebp - 0xcc], eax
call fcn.0041a9ed
cmp dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xd4], eax
sete al
mov byte [ecx + 0x1a], al
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xd0]
and dword [eax + 0x50], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov al, byte [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1c], al
cmp dword [ebp - 0xc8], 0
jmp 0x424bab
mov esi, dword [ebp - 0xd8]
mov eax, dword [esi + 0xe8]
test eax, eax
jne 0x429090
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd0], eax
test eax, eax
je case.default.0x423a3f
cmp dword [eax + 0x48], 0
lea ecx, [ebp - 0xcc]
push ecx
je 0x427562
push esi
call fcn.0042a6c6
jmp 0x427571
mov dword [ebp - 0xcc], 1
push dword [eax]
call dword [edi + 0x10]
pop ecx
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
pop ecx
mov cl, byte [ebp - 0xcc]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0xd0]
and dword [eax + 0x50], 0
cmp dword [ebp - 0xcc], 0
jne 0x4275b5
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xe0], eax
mov al, byte [edi + 3]
test al, al
je 0x4275b5
movzx eax, al
lea eax, [ebx + eax*4 + 0x74]
inc dword [eax]
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xd0], ecx
mov esi, dword [edi + 8]
mov eax, dword [ecx]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], eax
test eax, eax
je case.default.0x423a3f
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x427611
mov eax, esi
call fcn.0041ef0e
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
xor edx, edx
jmp 0x427619
xor edx, edx
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0xd4], edx
jne case.default.0x423a3f
cmp dword [ecx + 0x48], edx
je 0x427645
push ecx
push dword [ebp - 0xd8]
mov ebx, esi
call fcn.0042a3be
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
jmp 0x423dab
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xc8], eax
mov esi, dword [esi + 4]
mov dword [ebp - 0xc4], esi
test byte [edi + 3], 0x10
je 0x427662
mov ecx, dword [ecx + 0x4c]
jmp 0x427664
xor ecx, ecx
push ecx
push dword [edi + 0xc]
push edx
push edx
cdq
push 0x46c12a
push edx
push eax
mov eax, dword [ebp - 0xcc]
push esi
call fcn.0041cb11
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
add esp, 0x20
and dword [eax + 0x50], 0
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je case.default.0x423a3f
mov eax, dword [eax + 8]
mov dword [ebp - 0xc0], eax
mov ax, word [edi + 0xc]
mov word [ebp - 0xbc], ax
mov byte [ebp - 0xba], 0
mov eax, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
mov ebx, ecx
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xc8]
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.0041aa4f
add esp, 0x14
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x427722
cmp dword [ebp - 0xc8], eax
jne 0x427722
mov esi, dword [ebp - 0xcc]
call fcn.0041cccc
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
and dword [eax + 0x50], 0
jmp 0x423dab
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0xd0], 0
je case.default.0x423a3f
mov esi, dword [ebp - 0xcc]
call fcn.004219e9
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x42902d
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1c], 0
jne case.default.0x423a3f
lea eax, [ebp - 0xc8]
push eax
push dword [ebp - 0xd0]
call fcn.0042203a
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x42902d
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xc4]
push 4
mov dword [eax + 0x14], ecx
pop ecx
jmp 0x42494a
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov esi, dword [ecx + eax*4]
mov dword [ebp - 0xd0], esi
cmp dword [esi], 0
je case.default.0x423a3f
mov eax, dword [esi + 8]
mov dword [ebp - 0xc8], eax
mov ax, word [edi + 0x10]
mov word [ebp - 0xc4], ax
cmp byte [edi + 3], 0
setne al
add al, 2
mov byte [ebp - 0xc2], al
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.0042211d
cmp byte [edi], 0x64
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
jne 0x427842
neg dword [ebp - 0xcc]
jmp 0x427848
inc dword [ebp - 0xcc]
cmp dword [ebp - 0xcc], 0
jle case.default.0x423a3f
jmp 0x423a5a
mov eax, dword [ebp - 0xd8]
and dword [ebp - 0xcc], 0
mov eax, dword [eax + 4]
jmp 0x42788f
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x42788c
mov ecx, dword [eax + 0x64]
and cl, 0xc
cmp cl, 8
jae 0x42788c
cmp dword [eax + 0x58], 0
jl 0x42788c
inc dword [ebp - 0xcc]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x42786c
mov ecx, dword [ebp - 0xe4]
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0xcc], eax
jle 0x4278c1
mov dword [ebp - 0xd4], 6
mov byte [ebx + 0x60], 2
jmp case.default.0x423a3f
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc4], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov esi, dword [ecx + eax*8 + 4]
mov eax, esi
call fcn.00417a97
lea eax, [ebp - 0xd0]
push eax
push dword [ebp - 0xf0]
push esi
call fcn.0041d223
add esp, 0xc
mov dword [ebp - 0xf0], eax
call fcn.00417b1f
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xf0]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ebp - 0xd4], esi
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
test esi, esi
jne case.default.0x423a3f
mov esi, dword [ebp - 0xd0]
test esi, esi
je case.default.0x423a3f
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd8]
mov edi, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x10]
jmp 0x427970
mov edx, dword [ecx + 8]
cmp dword [edx + 0x20], esi
jne 0x42796e
mov dword [edx + 0x20], edi
mov ecx, dword [ecx]
test ecx, ecx
jne 0x427963
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x20]
jmp 0x427989
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x24], esi
jne 0x427987
mov dword [ecx + 0x24], edi
mov eax, dword [eax]
test eax, eax
jne 0x42797c
mov al, byte [ebp - 0xc4]
inc al
mov byte [ebp - 0xf9], al
jmp case.default.0x423a3f
and dword [ebp - 0xd0], 0
mov eax, dword [edi + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0xd0]
and eax, ecx
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [edi + 8]
push dword [edi + 4]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
call fcn.0041d1d2
cmp dword [edi + 0xc], 0
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
je case.default.0x423a3f
mov eax, dword [ebp - 0xd0]
add dword [ebx + 0x68], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.default.0x423a3f
mov ecx, dword [ebp - 0xdc]
imul edi, edi, 0x28
cdq
lea ecx, [edi + ecx + 0x10]
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.default.0x423a3f
and dword [ebp - 0xd0], 0
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
shl eax, 4
add eax, dword [ecx + 0x10]
xor ecx, ecx
mov dword [ebp - 0xc8], eax
cmp byte [edi], 0x69
setne cl
lea edi, [ecx + 1]
mov dword [ebp - 0xcc], edi
mov esi, dword [eax + 4]
mov eax, esi
call fcn.00417a97
push edi
lea eax, [ebp - 0xd0]
push eax
push esi
call fcn.0041cecf
add esp, 0xc
mov edi, eax
call fcn.00417b1f
mov dword [ebp - 0xd4], edi
jmp 0x425eec
mov eax, dword [edi + 4]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], str.sqlite_temp_master
cmp eax, 1
je 0x427a8b
mov dword [ebp - 0xcc], str.sqlite_master
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], esi
mov ecx, dword [edi + 4]
mov dword [ebp - 0xbc], ecx
lea ecx, [ebx + 0x38]
mov dword [ebp - 0xc0], ecx
push dword [edi + 0x10]
mov ecx, dword [esi + 0x10]
push dword [ebp - 0xcc]
add eax, eax
push dword [ecx + eax*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.0040d4e0
xor edi, edi
add esp, 0x14
mov dword [ebp - 0xc8], eax
cmp eax, edi
jne 0x427ae0
mov dword [ebp - 0xd4], 7
jmp 0x427b3b
push edi
lea eax, [ebp - 0xc4]
push eax
mov byte [esi + 0x89], 1
push fcn.0043d404
push dword [ebp - 0xc8]
mov dword [ebp - 0xb8], edi
push esi
call fcn.0043a80f
add esp, 0x14
mov dword [ebp - 0xd4], eax
cmp eax, edi
jne 0x427b1f
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0xc8]
mov ecx, esi
call fcn.0040c2c9
mov byte [esi + 0x89], 0
cmp dword [ebp - 0xd4], edi
je 0x427b42
mov eax, esi
call fcn.00431a98
cmp dword [ebp - 0xd4], 7
je 0x428f57
jmp case.default.0x423a3f
mov ecx, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
call fcn.004309a0
jmp 0x4255ee
mov ecx, dword [edi + 0x10]
mov edi, dword [edi + 4]
mov esi, dword [ebp - 0xd8]
shl edi, 4
add edi, dword [esi + 0x10]
push 0
call fcn.0040ddf8
push eax
mov eax, dword [edi + 0xc]
add eax, 8
mov edi, ecx
call fcn.0040ee46
push eax
push esi
call fcn.00431b49
add esp, 0x10
or dword [esi + 0x18], 2
jmp case.default.0x423a3f
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xd8]
call fcn.00431946
jmp 0x423dab
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
call fcn.00443a69
jmp case.default.0x423a3f
mov eax, dword [edi + 8]
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], eax
lea eax, [eax*4 + 4]
push eax
call fcn.0040c487
pop ecx
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x428f51
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
xor ecx, ecx
mov dword [ebp - 0xbc], eax
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xd0], ecx
jle 0x427c54
imul ecx, ecx, 0x28
add ecx, esi
call fcn.0041f156
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xc8]
inc ecx
mov dword [ebp - 0xc8], ecx
cmp ecx, dword [ebp - 0xd0]
jl 0x427c26
mov eax, dword [ebp - 0xcc]
and dword [eax + ecx*4], 0
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax + 0x10]
movzx eax, byte [edi + 3]
push dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd8]
mov ecx, dword [edi + 0x10]
push dword [ebp - 0xcc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041de9b
mov edx, dword [ebp - 0xcc]
add esp, 0x10
mov ecx, edi
mov dword [ebp - 0xc0], eax
call fcn.0040c2c9
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
cdq
sub dword [ecx + 0x10], eax
mov edi, esi
sbb dword [ecx + 0x14], edx
call fcn.0041f2e4
cmp dword [ebp - 0xc4], 0
je 0x427cf1
cmp dword [ebp - 0xc0], 0
je 0x428f51
push 1
push dword [ebp - 0xc0]
mov eax, fcn.0040c26b
or ecx, 0xffffffff
mov edx, esi
call fcn.0041f50c
pop ecx
pop ecx
movzx eax, byte [ebp - 0xf8]
push eax
mov eax, esi
call fcn.0041edd0
jmp 0x4244ce
mov esi, dword [edi + 4]
mov edi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
test byte [esi + 0x1c], 0x20
mov dword [ebp - 0xf0], edi
jne 0x427d40
mov edi, esi
call fcn.0041f3b2
test byte [esi + 0x1c], 0x20
je 0x428f51
mov edi, dword [ebp - 0xf0]
push dword [edi + 0x14]
push dword [edi + 0x10]
mov eax, dword [esi + 0x10]
call fcn.00412317
jmp 0x4244cd
mov esi, dword [ebp - 0xd8]
mov eax, dword [esi + 0xe8]
test eax, eax
jne 0x429090
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
test byte [esi + 0x1c], 0x20
je 0x427da5
mov eax, dword [esi + 0x10]
lea edi, [ebp - 0xd0]
call fcn.00412525
test eax, eax
je 0x427da5
push dword [ebp - 0xcc]
mov eax, dword [ebp - 0xec]
push dword [ebp - 0xd0]
mov esi, dword [eax + 0xc]
jmp 0x4244bf
mov edi, esi
call fcn.0041f2e4
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 8]
jmp 0x423a8c
mov esi, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xd0], ecx
test byte [esi + 0x1c], 0x20
mov dword [ebp - 0xf4], eax
jne 0x427e0a
mov edi, esi
call fcn.0041f3b2
test byte [esi + 0x1c], 0x20
je 0x428f51
mov ecx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf4]
test ecx, ecx
je 0x427e48
js 0x427e15
and ecx, 0xf
jmp 0x427e1a
mov ecx, 0xff
push dword [eax + 0x14]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
push ecx
call fcn.0041256e
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x423a5a
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xf4]
test ecx, ecx
js case.default.0x423a3f
push dword [eax + 0x14]
push dword [eax + 0x10]
jmp 0x427d46
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xb8], ecx
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], eax
cmp byte [edi + 3], 0
je 0x427ead
mov edx, dword [ebx + 0xa8]
mov esi, dword [ecx + 0x14]
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xbc], edx
test edx, edx
je 0x427ead
cmp dword [edx + 0x18], esi
je 0x427ea5
mov edx, dword [edx + 4]
mov dword [ebp - 0xbc], edx
test edx, edx
jne 0x427e93
test edx, edx
jne case.default.0x423a3f
mov edx, dword [ebx + 0xb0]
mov esi, dword [ebp - 0xd8]
cmp edx, dword [esi + 0x80]
jl 0x427ede
push str.too_many_levels_of_trigger_recursion
push esi
lea edi, [ebx + 0x38]
mov dword [ebp - 0xd4], 1
call fcn.0040c632
jmp 0x4244cd
test byte [eax + 0x1c], 0x40
jne 0x428049
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0xd0], eax
imul eax, eax, 0xa
add eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [ecx + eax*4 + 0x48]
mov dword [ebp - 0xcc], eax
push eax
mov eax, esi
call fcn.0040c45f
pop ecx
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x428f57
push dword [ebp - 0xc8]
call fcn.0041f0db
pop ecx
mov ecx, dword [ebp - 0xc8]
push 0x40
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xbc]
mov dword [eax], ebx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x3c], ecx
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x34], eax
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x14], eax
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x28], eax
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x18], eax
mov eax, dword [ebx + 0xc0]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 0xbc]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x3c]
imul ecx, ecx, 0x28
lea edx, [ecx + eax + 0x48]
lea ecx, [eax + 0x48]
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xc4], ecx
cmp ecx, edx
je 0x428052
mov eax, 0x80
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc4]
mov dword [eax], esi
mov ecx, dword [ebp - 0xc4]
add ecx, 0x28
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [ebp - 0xc0]
jne 0x428019
mov eax, dword [ebp - 0xbc]
jmp 0x428052
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xbc], eax
inc dword [ebx + 0xb0]
mov ecx, dword [ebx + 0xa8]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x108]
mov dword [eax + 0x20], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x104]
mov dword [eax + 0x24], ecx
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0xbc]
and dword [ebx + 0x68], 0
lea ecx, [eax + 0x20]
mov dword [ebx + 0xa8], eax
mov dword [ebx + 8], ecx
mov edx, dword [eax + 0x3c]
mov dword [ebx + 0x18], edx
movzx eax, word [eax + 0x40]
mov dword [ebx + 0x30], eax
mov eax, edx
inc eax
imul eax, eax, 0x28
or dword [ebp - 0xe0], 0xffffffff
add eax, ecx
mov dword [ebp - 0xdc], ecx
mov ecx, dword [ebp - 0xb8]
mov dword [ebx + 0x44], eax
mov edx, dword [ecx]
mov dword [ebx + 4], edx
mov dword [ebp - 0x11c], edx
mov edx, dword [ecx + 4]
mov dword [ebx + 0x1c], edx
mov edx, dword [ebx + 0x30]
lea eax, [eax + edx*4]
mov dword [ebx + 0xc0], eax
mov ecx, dword [ecx + 0x10]
push ecx
push 0
push eax
mov dword [ebx + 0xbc], ecx
call fcn.00456240
add esp, 0xc
jmp case.default.0x423a3f
mov ebx, dword [ebx + 0xa8]
mov dword [ebp - 0xd0], ebx
mov eax, dword [ebx + 0x2c]
mov ecx, dword [ebx + 8]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 4]
add eax, dword [edi + 4]
push 0x1000
imul eax, eax, 0x28
add eax, dword [ebx + 0xc]
mov dword [ebp - 0xcc], eax
push eax
jmp 0x423d9e
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x428157
mov ecx, dword [ebp - 0xd8]
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
jmp case.default.0x423a3f
add dword [ebx + 0x90], eax
adc dword [ebx + 0x94], edx
jmp case.default.0x423a3f
cmp dword [edi + 4], 0
je 0x428185
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x1f0]
or ecx, dword [eax + 0x1f4]
jmp 0x425002
mov eax, dword [ebx + 0x90]
or eax, dword [ebx + 0x94]
jmp 0x425002
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x4281f9
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], esi
call fcn.0041f257
mov esi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
call fcn.0041f257
mov eax, dword [ebp - 0xd0]
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov edx, dword [eax + 0x14]
cmp edx, esi
jg case.default.0x423a3f
jl 0x4281ec
mov edx, dword [eax + 0x10]
cmp edx, ecx
jae case.default.0x423a3f
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], esi
jmp case.default.0x423a3f
mov eax, ecx
mov dword [ebp - 0xcc], eax
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x4281f7
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [eax + 0xc]
jmp 0x4281ac
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
imul eax, eax, 0x28
cmp dword [eax + ecx + 0x14], 0
jl case.default.0x423a3f
jg 0x423a5a
cmp dword [eax + ecx + 0x10], 0
jbe case.default.0x423a3f
jmp 0x423a5a
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
imul eax, eax, 0x28
cmp dword [eax + ecx + 0x14], 0
jg case.default.0x423a3f
jl 0x423a5a
cmp dword [eax + ecx + 0x10], 0
jae case.default.0x423a3f
jmp 0x423a5a
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
cdq
add dword [ecx + 0x10], eax
mov eax, dword [ecx + 0x10]
adc dword [ecx + 0x14], edx
or eax, dword [ecx + 0x14]
jmp 0x425002
movzx ecx, byte [edi + 3]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edi + 8]
and dword [ebp - 0xcc], 0
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0xc4], eax
test ecx, ecx
jle 0x4282f3
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0xcc]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0xc4]
call fcn.004236e1
inc dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xcc]
add eax, 0x28
mov dword [ebp - 0xc4], eax
cmp ecx, dword [ebp - 0xd0]
jl 0x4282b9
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
xor esi, esi
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x90], eax
inc dword [eax + 0x18]
xor eax, eax
inc eax
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x84], esi
test byte [eax + 3], 8
je 0x428368
mov ecx, dword [edi - 4]
mov dword [ebp - 0x8c], ecx
push dword [ebp - 0x80]
lea ecx, [ebp - 0xc0]
push dword [ebp - 0xd0]
push ecx
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 0x88], esi
je 0x4283bf
push 1
lea esi, [ebp - 0xb8]
call fcn.0041f8f1
pop ecx
push eax
push 0x46b7f8
push dword [ebp - 0xd8]
lea edi, [ebx + 0x38]
call fcn.0040c632
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0xec]
add esp, 0xc
mov dword [ebp - 0xd4], eax
xor esi, esi
cmp dword [ebp - 0x84], esi
je 0x4283ea
mov edi, dword [edi - 0x10]
mov dword [ebp - 0xcc], edi
cmp edi, esi
je 0x4283ea
mov esi, edi
imul esi, esi, 0x28
add esi, dword [ebp - 0xdc]
push 0
push 1
call fcn.0041f351
pop ecx
pop ecx
lea eax, [ebp - 0xb8]
push eax
call fcn.0041f0db
jmp 0x4244ce
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edi + 0x10]
call fcn.0041f024
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x428444
mov esi, dword [ebp - 0xd0]
push 1
call fcn.0041f8f1
pop ecx
push eax
push 0x46b7f8
push dword [ebp - 0xd8]
lea edi, [ebx + 0x38]
call fcn.0040c632
add esp, 0xc
movzx eax, byte [ebp - 0xf8]
push eax
mov eax, dword [ebp - 0xd0]
call fcn.0041edd0
pop ecx
mov ecx, dword [ebp - 0xd0]
call fcn.0041f411
jmp 0x4246e0
and dword [ebp - 0xcc], 0
or dword [ebp - 0xc4], 0xffffffff
or dword [ebp - 0xc8], 0xffffffff
mov ebx, dword [ebp - 0xd8]
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xc8]
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.0044eed0
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp eax, 5
jne 0x4284bb
and dword [ebp - 0xd4], 0
mov dword [ebp - 0xcc], 1
and dword [ebp - 0xd0], 0
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], edi
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp + eax*4 - 0xcc]
cdq
push edx
push eax
mov esi, edi
call fcn.0041f351
mov edi, dword [ebp - 0xc0]
inc dword [ebp - 0xd0]
add edi, 0x28
cmp dword [ebp - 0xd0], 3
pop ecx
pop ecx
mov dword [ebp - 0xc0], edi
jl 0x4284d4
jmp 0x423dab
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 4]
mov esi, dword [edx + 0x10]
add eax, eax
mov eax, dword [esi + eax*8 + 4]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov dword [ebp - 0xcc], edi
movzx eax, byte [edi + 5]
mov dword [ebp - 0xc4], eax
cmp ecx, 0xffffffff
jne 0x428551
mov dword [ebp - 0xc8], eax
cmp byte [edi + 0xf], 3
jae 0x42856c
mov esi, dword [edi + 0x40]
xor ecx, ecx
cmp dword [esi], ecx
je 0x428572
cmp dword [edi + 0x4c], ecx
jl 0x428572
jg 0x42856c
cmp dword [edi + 0x48], ecx
jbe 0x428572
mov dword [ebp - 0xc8], eax
cmp byte [edi + 0xe], 0
mov ecx, 0x46c12a
jne 0x428583
mov ecx, dword [edi + 0xa8]
push 5
pop esi
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xc8], esi
jne 0x4285b4
call fcn.0040ddf8
test eax, eax
je 0x4285a8
mov eax, edi
call fcn.00415c8c
test eax, eax
jne 0x4285b4
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
cmp dword [ebp - 0xc8], eax
je 0x428656
cmp eax, esi
je 0x4285d6
cmp dword [ebp - 0xc8], esi
jne 0x428656
cmp byte [edx + 0x3e], 0
je 0x4286ac
cmp dword [edx + 0x8c], 1
jg 0x4286ac
cmp eax, esi
jne 0x428615
mov eax, edi
call fcn.00415d61
mov edi, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x42865f
mov ecx, dword [ebp - 0xc8]
call fcn.00415bd3
jmp 0x428631
cmp eax, 4
jne 0x428628
push 2
pop ecx
call fcn.00415bd3
mov edi, dword [ebp - 0xcc]
cmp dword [ebp - 0xd4], 0
jne 0x42865f
xor eax, eax
cmp dword [ebp - 0xc8], esi
sete al
inc eax
push eax
mov eax, dword [ebp - 0xd0]
call fcn.0041e26e
mov edi, dword [ebp - 0xcc]
pop ecx
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
je 0x42866b
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
call fcn.00415bd3
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xdc]
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xe4], edx
cmp eax, 6
jne 0x4286dc
xor ecx, ecx
jmp 0x4286e3
mov dword [ebp - 0xd4], 1
mov eax, str.into
cmp dword [ebp - 0xc8], esi
je 0x4286c8
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push edx
lea edi, [ebx + 0x38]
call fcn.0040c632
jmp 0x4280fb
mov ecx, dword [eax*4 + 0x4683e8]
mov dword [edx + 4], ecx
call fcn.0040ddf8
mov dword [edx + 0x18], eax
movzx eax, byte [ebp - 0xf8]
push eax
mov byte [edx + 0x1f], 1
mov eax, edx
jmp 0x427cfb
push dword [ebp - 0xd8]
lea eax, [ebx + 0x38]
push eax
call fcn.0044501e
pop ecx
jmp 0x4255ed
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
push eax
mov dword [ebp - 0xd0], eax
call fcn.00419d3f
pop ecx
mov dword [ebp - 0xd4], eax
cmp eax, 0x65
jne case.default.0x423a3f
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
and dword [ebp - 0xd4], 0
jmp case.default.0x423a3f
cmp dword [edi + 4], 0
jne 0x428770
mov eax, dword [ebp - 0xd8]
call fcn.004221a8
jmp case.default.0x423a3f
or dword [ebx + 0x64], 0x20
jmp case.default.0x423a3f
mov al, byte [edi + 0xc]
test al, al
jne 0x428793
mov ecx, dword [ebp - 0xd8]
test dword [ecx + 0x18], 0x800
jne case.default.0x423a3f
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
mov esi, dword [ecx + 0x10]
mov ecx, dword [edi + 8]
add edx, edx
mov edx, dword [esi + edx*8 + 4]
call fcn.0041e1ca
mov dword [ebp - 0xd4], eax
cmp al, 6
jne case.default.0x423a3f
push dword [edi + 0x10]
push str.database_table_is_locked:__s
push dword [ebp - 0xd8]
jmp 0x4286cf
mov edi, dword [edi + 0x10]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], edi
call fcn.00445ddc
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
test eax, eax
je case.default.0x423a3f
mov esi, dword [eax + 8]
mov edi, ebx
call fcn.004238ab
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
add ebx, 0x38
push ebx
push dword [edi + 0x10]
mov ebx, dword [ebp - 0xd8]
call fcn.00445b0b
jmp 0x427638
mov eax, dword [ebx + 0x64]
mov ecx, dword [ebp - 0xd8]
and eax, 0xfffffffb
or eax, 8
mov dword [ebx + 0x64], eax
push dword [edi + 0x10]
mov eax, dword [edi + 4]
call fcn.00445d1c
and dword [ebx + 0x64], 0xfffffff3
pop ecx
mov dword [ebp - 0xd4], eax
jmp case.default.0x423a3f
and dword [ebp - 0xd0], 0
and dword [ebp - 0xcc], 0
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
lea edx, [ebp - 0xcc]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
push edx
push eax
mov dword [ebp - 0xc4], ecx
call dword [ecx + 0x18]
mov esi, dword [ebp - 0xc8]
pop ecx
pop ecx
mov edi, ebx
mov dword [ebp - 0xd4], eax
call fcn.004238ab
cmp dword [ebp - 0xd4], 0
jne case.default.0x423a3f
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
mov dword [ecx], eax
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 4]
push 0
push 0xffffffffffffffff
push 0
mov eax, ebx
call fcn.0042370c
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x4288ed
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x28], eax
jmp case.default.0x423a3f
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x40], 1
push dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc4]
call dword [eax + 0x1c]
jmp 0x4244ce
mov eax, dword [edi + 0xc]
mov esi, dword [ebx + 0x44]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], eax
lea edx, [eax + 0x28]
mov dword [ebp - 0xc0], edx
mov ecx, dword [edi + 4]
mov ecx, dword [esi + ecx*4]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xbc], ecx
mov esi, dword [ecx]
mov dword [ebp - 0xb8], esi
mov esi, dword [esi]
mov dword [ebp - 0xc8], esi
mov esi, dword [edx + 0x10]
mov dword [ebp - 0xd0], esi
mov eax, dword [eax + 0x10]
and dword [ebp - 0xb0], 0
and dword [ebp - 0xac], 0
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xa8], eax
test esi, esi
jle 0x4289c8
jmp 0x428983
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
lea ecx, [eax + 1]
imul ecx, ecx, 0x28
add ecx, edx
mov edx, dword [ebp - 0xa8]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + eax*4]
call fcn.004236e1
inc dword [ebp - 0xac]
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0xd0]
jl 0x42897d
mov ecx, dword [ebp - 0xbc]
push dword [ebp - 0xa8]
mov eax, dword [ebx + 0x64]
push dword [ebp - 0xd0]
and eax, 0xfffffff7
or eax, 4
mov dword [ebx + 0x64], eax
push dword [edi + 0x10]
mov eax, dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push ecx
call dword [eax + 0x20]
mov esi, dword [ebp - 0xb8]
and dword [ebx + 0x64], 0xfffffff3
add esp, 0x14
mov edi, ebx
mov dword [ebp - 0xd4], eax
call fcn.004238ab
cmp dword [ebp - 0xd4], 0
jne 0x428a2c
push dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc8]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x428a45
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x1c], 0
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov esi, dword [ecx + eax*4]
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], eax
cmp byte [esi + 0x1c], 0
jne 0x4247ca
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
push 0x40
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0xc0]
push 0
push eax
call fcn.00456240
mov ebx, dword [ebp - 0xc8]
add esp, 0xc
lea eax, [ebp - 0xb8]
call fcn.0041f4e8
mov eax, dword [ebp - 0x9c]
and eax, 0xbe01
or eax, 1
mov word [ebp - 0x9c], ax
push dword [edi + 8]
lea eax, [ebp - 0xc0]
push eax
push dword [esi + 0x24]
mov eax, dword [ebp - 0xcc]
call dword [eax + 0x2c]
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xe8]
add esp, 0xc
mov dword [ebp - 0xd4], eax
call fcn.004238ab
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x428b05
mov dword [ebp - 0xd4], eax
movzx eax, byte [ebp - 0xf8]
push eax
lea eax, [ebp - 0xb8]
call fcn.0041edd0
mov eax, dword [ebp - 0xc8]
pop ecx
lea ebx, [ebp - 0xb8]
call fcn.0041f4e8
mov ecx, dword [ebp - 0xc8]
call fcn.0041f411
mov ebx, edi
jmp 0x4246e0
and dword [ebp - 0xc8], 0
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc4], eax
cmp byte [eax + 0x1c], 0
jne case.default.0x423a3f
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov edx, dword [ebx + 0x64]
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ecx]
and edx, 0xfffffff7
or edx, 4
mov dword [ebp - 0xcc], ecx
mov dword [ebx + 0x64], edx
push dword [eax + 0x24]
call dword [ecx + 0x24]
mov esi, dword [ebp - 0xd0]
and dword [ebx + 0x64], 0xfffffff3
pop ecx
mov edi, ebx
mov dword [ebp - 0xd4], eax
call fcn.004238ab
cmp dword [ebp - 0xd4], 0
jne 0x428bbb
mov eax, dword [ebp - 0xc4]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xcc]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne case.default.0x423a3f
jmp 0x427dac
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xdc]
push 1
mov eax, edi
mov dword [ebp - 0xcc], edi
call fcn.0041edd0
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x423a3f
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
push dword [edx + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
mov esi, dword [ebp - 0xd0]
pop ecx
pop ecx
mov edi, ebx
mov dword [ebp - 0xd4], eax
call fcn.004238ab
and dword [ebx + 0x64], 0xffffffdf
jmp case.default.0x423a3f
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov edx, dword [edi + 8]
mov dword [ebp - 0xc8], edx
cmp dword [eax + 0x34], 0
je case.default.0x423a3f
mov eax, dword [ebp - 0xd8]
mov al, byte [eax + 0x44]
mov byte [ebp - 0x109], al
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xb8], eax
mov ecx, dword [edi + 0xc]
and dword [ebp - 0xc4], 0
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xb4], ecx
test edx, edx
jle 0x428ccf
call fcn.004236e1
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xb8]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xb4]
add ecx, 0x28
inc dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xb4], ecx
cmp eax, dword [ebp - 0xc8]
jl 0x428c92
mov al, byte [edi + 3]
mov esi, dword [ebp - 0xd8]
mov byte [esi + 0x44], al
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0xb8]
mov eax, dword [ebp - 0xcc]
push dword [ebp - 0xc8]
push dword [ebp - 0xd0]
call dword [eax + 0x34]
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0x109]
mov byte [esi + 0x44], al
mov esi, dword [ebp - 0xd0]
add esp, 0x10
mov edi, ebx
call fcn.004238ab
cmp dword [ebp - 0xd4], 0
mov ecx, dword [ebp - 0xec]
jne 0x428d5b
cmp dword [ecx + 4], 0
je 0x428d5b
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x104], edx
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x108], eax
mov dword [edx + 0x20], eax
mov eax, dword [ebp - 0xbc]
mov dword [edx + 0x24], eax
cmp byte [ebp - 0xd4], 0x13
jne 0x42710d
mov eax, dword [ecx + 0x10]
cmp byte [eax + 0x10], 0
je 0x42710d
mov al, byte [ecx + 3]
cmp al, 4
je 0x42874e
cmp al, 5
jne 0x428d89
push 2
pop eax
jmp 0x428d8c
movzx eax, al
mov byte [ebx + 0x60], al
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp - 0xe4]
and dword [eax + 0x14], 0
mov dword [eax + 0x10], ecx
jmp case.default.0x423a3f
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
mov edi, dword [edi + 0xc]
mov ecx, dword [ecx + 0x10]
and dword [ebp - 0xf0], 0
add eax, eax
mov esi, dword [ecx + eax*8 + 4]
test edi, edi
je 0x428df4
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0xf0], eax
cmp eax, edi
jae 0x428df4
mov dword [ebp - 0xf0], edi
mov eax, esi
call fcn.00417a97
mov ecx, dword [ebp - 0xf0]
mov eax, dword [esi + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x428e10
mov dword [eax + 0x9c], ecx
mov edi, dword [eax + 0x9c]
call fcn.00417b1f
mov eax, edi
jmp 0x423bc6
mov eax, dword [ebp - 0xd8]
cmp dword [eax + 0xa0], 0
je case.default.0x423a3f
test dword [ebx + 0x64], 0x400
jne case.default.0x423a3f
mov edi, dword [edi + 0x10]
mov ecx, edi
test edi, edi
jne 0x428e51
mov ecx, dword [ebx + 0xa0]
mov dword [ebp - 0xd0], ecx
test ecx, ecx
je case.default.0x423a3f
push ebx
call fcn.004233d4
mov esi, dword [ebp - 0xd8]
pop ecx
push eax
mov dword [ebp - 0xcc], eax
push dword [esi + 0xa4]
call dword [esi + 0xa0]
mov edx, dword [ebp - 0xcc]
pop ecx
pop ecx
mov ecx, esi
call fcn.0040c2c9
jmp case.default.0x423a3f
mov dword [ebp - 0xd4], 9
jmp 0x424707
mov eax, dword [edi + 4]
mov dword [ebx + 0x5c], eax
mov al, byte [edi + 8]
mov byte [ebx + 0x60], al
mov eax, dword [ebp - 0xe0]
mov dword [ebx + 0x58], eax
mov eax, dword [edi + 0x10]
test eax, eax
je 0x428efc
push eax
push 0x46b7f8
push dword [ebp - 0xd8]
lea edi, [ebx + 0x38]
call fcn.0040c632
mov eax, dword [ebp - 0xec]
add esp, 0xc
push dword [eax + 0x10]
push dword [ebx + 0xa0]
push dword [ebp - 0xe0]
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.0040d6aa
add esp, 0x14
jmp 0x428f1e
cmp dword [ebx + 0x5c], 0
je 0x428f1e
push dword [ebx + 0xa0]
push dword [ebp - 0xe0]
push str.constraint_failed_at__d_in___s_
push dword [edi + 4]
call fcn.0040d6aa
add esp, 0x10
mov eax, ebx
call fcn.0042151e
push 5
pop edi
cmp eax, edi
je 0x428f85
mov edi, dword [ebx + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x424767
lea eax, [ebp - 0xc0]
push eax
call fcn.0041f0db
pop ecx
mov ebx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xd8]
push str.out_of_memory
push esi
lea edi, [ebx + 0x38]
mov byte [esi + 0x40], 1
call fcn.0040c632
mov dword [ebp - 0xd4], 7
jmp 0x424705
mov eax, dword [ebp - 0xe0]
mov dword [ebx + 0x58], eax
mov byte [esi + 0x3e], 0
mov dword [ebx + 0x5c], edi
jmp 0x424767
test edi, edi
je 0x428fb2
push 0x204
mov eax, esi
call fcn.0044e795
pop ecx
mov byte [esi + 0x3e], 1
mov esi, dword [ebp - 0xd8]
call fcn.0044e404
jmp 0x428f2c
push 1
mov eax, ebx
call fcn.004214c8
mov edi, eax
pop ecx
test edi, edi
jne 0x424767
mov al, byte [ebp - 0xd0]
mov byte [esi + 0x3e], al
mov eax, ebx
call fcn.0042151e
push 5
pop edi
cmp eax, edi
jne 0x428fa2
mov eax, dword [ebp - 0xe0]
mov dword [ebx + 0x58], eax
mov al, 1
sub al, byte [ebp - 0xd0]
mov byte [esi + 0x3e], al
jmp 0x428f85
mov eax, dword [ebp - 0xe0]
mov dword [ebx + 0x58], eax
jmp 0x428f85
push 0x10bd7
call fcn.0044fc48
pop ecx
mov dword [ebp - 0xd4], eax
jmp 0x42902d
mov dword [ebp - 0xd4], 0xd
jmp 0x42902d
mov dword [ebp - 0xd4], 0xd
mov ebx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0x40], 0
je 0x429043
mov dword [ebp - 0xd4], 7
cmp dword [ebp - 0xd4], 0xc0a
je 0x424707
mov eax, dword [ebp - 0xd4]
cmp eax, 0x204
je 0x42906f
push str.unknown_error
call fcn.0044e84d
add esp, 4
jmp 0x429074
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x46b7f8
push dword [ebp - 0xd8]
lea edi, [ebx + 0x38]
call fcn.0040c632
add esp, 0xc
jmp 0x424707
push 9
pop eax
push str.unknown_error
mov dword [ebp - 0xd4], eax
mov dword [ebx + 0x5c], eax
call fcn.0044e84d
add esp, 4
push eax
push 0x46b7f8
push esi
jmp 0x429080