Function at 0x140228670
Capabilities:
Encrypt data using speck
Parse credit card information
Reference sql statements

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3d8]
sub rsp, 0x4b0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1403eaa10]
xor rax, rsp
mov qword [rbp + 0x390], rax
mov r15, qword [rcx]
mov r14, qword [rcx + 8]
xor r8d, r8d
mov rax, qword [r15 + 0x20]
mov rdx, rcx
mov qword [rsp + 0x60], rcx
mov rcx, qword [rax + 0x18]
mov r9, qword [rdx + 0x10]
mov rax, qword [r15 + 0x30]
movzx ebx, byte [rcx + 0x71]
xor r12b, r12b
mov rcx, rdx
mov byte [rsp + 0x58], bl
mov ebx, r8d
mov esi, r8d
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x44], r8d
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x48], ebx
mov byte [rsp + 0x4c], r12b
mov dword [rbp - 0x38], r8d
mov dword [rbp - 0x60], r8d
mov qword [rsp + 0x50], r9
mov r13d, r8d
mov qword [rsp + 0x78], r8
mov qword [rbp + 0x30], r8
mov qword [rbp - 0x50], rax
call fcn.140222560
mov rdi, qword [rsp + 0x60]
lea r9d, [r13 + 1]
cmp dword [rdi + 0x84], 7
je 0x14022e18b
xor r11d, r11d
mov dword [rdi + 0x84], r11d
mov qword [rdi + 0xc0], r11
mov qword [rdi + 0x28], r11
mov eax, dword [r15 + 0x138]
mov dword [r15 + 0x2a8], r11d
test eax, eax
jne 0x14022e130
mov rsi, rdi
cmp qword [r15 + 0x180], rbx
je 0x14022878a
mov eax, dword [rdi + 0xb0]
test eax, eax
jne 0x14022877e
mov eax, dword [r15 + 0x190]
mov dword [rbp - 0x60], eax
jmp 0x14022878a
xor edx, edx
div dword [r15 + 0x190]
mov dword [rbp - 0x60], edx
mov ecx, dword [rsi + 0x80]
mov r8d, 0x1000
xorps xmm6, xmm6
mov r10, qword [rsp + 0x50]
mov edx, 0x80
mov dword [rsp + 0x40], ecx
mov edi, 0x2460
nop dword [rax]
cmp byte [r15 + 0x50], 0
jne 0x14022e17c
inc ebx
mov dword [rsp + 0x48], ebx
movsxd rbx, ecx
lea r12, [rbx + rbx*2]
mov qword [rbp - 0x68], r12
test byte [r14 + r12*8 + 2], 2
je 0x140228815
movsxd rax, dword [r14 + r12*8 + 8]
imul r13, rax, 0x38
add r13, r10
mov qword [rsp + 0x78], r13
test word [r13 + 0x24], di
je 0x14022880b
mov rcx, r13
call fcn.140220310
mov r10, qword [rsp + 0x50]
xor r11d, r11d
lea r9d, [r11 + 1]
mov edx, 0x80
mov r8d, 0x1000
mov eax, 4
mov word [r13 + 0x24], ax
movzx edi, byte [r14 + r12*8]
lea eax, [rdi - 1]
cmp eax, 0x99
ja case.default.0x140228842
cdqe
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x22e1b4]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov esi, dword [r14 + r12*8 + 8]
dec esi
jmp 0x14022c7c6
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
mov eax, 4
mov word [rcx + r10 + 0x24], ax
mov qword [rcx + r10 + 0x18], rbx
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
jmp 0x1402287a3
movsxd rax, dword [r14 + r12*8 + 4]
mov ebx, dword [rsp + 0x48]
imul rcx, rax, 0x38
mov esi, dword [rcx + r10 + 0x18]
mov word [rcx + r10 + 0x24], dx
mov ecx, esi
mov rsi, qword [rsp + 0x60]
inc ecx
jmp 0x1402287a3
movsxd rax, dword [r14 + r12*8 + 4]
imul r13, rax, 0x38
mov eax, dword [r14 + r12*8 + 0xc]
dec eax
add r13, r10
cdqe
mov qword [r13 + 0x18], rax
mov eax, 4
mov qword [rsp + 0x78], r13
mov word [r13 + 0x24], ax
mov eax, dword [r14 + r12*8 + 8]
lea ecx, [rax - 1]
test eax, eax
jne 0x1402288d5
mov ecx, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x1402287a3
movsxd rax, dword [r14 + r12*8 + 4]
mov ebx, 0x80
imul rdx, rax, 0x38
mov rax, qword [rdx + r10 + 0x18]
lea rcx, [rax + rax*2]
mov ecx, dword [r14 + rcx*8 + 8]
mov word [rdx + r10 + 0x24], bx
mov ebx, dword [rsp + 0x48]
jmp 0x14022879e
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
mov eax, 4
mov esi, dword [rcx + r10 + 0x18]
mov qword [rcx + r10 + 0x18], rbx
mov ebx, dword [rsp + 0x48]
mov word [rcx + r10 + 0x24], ax
mov ecx, esi
mov rsi, qword [rsp + 0x60]
inc ecx
jmp 0x1402287a3
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x24], 1
je case.default.0x140228842
cmp dword [r14 + r12*8 + 4], 0
jne 0x14022d9f9
mov r8, qword [rsi + 0xf0]
test r8, r8
je 0x14022d9f9
mov rax, qword [r8 + 8]
dec dword [rsi + 0x100]
mov qword [rsi + 0xf0], rax
mov eax, dword [rsi + 0x90]
add dword [r15 + 0x64], eax
mov dword [r15 + 0x60], eax
mov rax, qword [r8 + 0x20]
mov rdx, qword [r8]
mov rcx, qword [rdx]
mov qword [rdx + 0x118], rax
mov eax, dword [r8 + 0x50]
mov dword [rdx + 0x110], eax
mov rax, qword [r8 + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [r8 + 0x48]
mov dword [rdx + 0x3c], eax
mov rax, qword [r8 + 0x18]
mov qword [rdx + 0x10], rax
mov eax, dword [r8 + 0x4c]
mov dword [rdx + 0x38], eax
mov rax, qword [r8 + 0x28]
mov qword [rdx + 0x60], rax
mov eax, dword [r8 + 0x40]
mov dword [rdx + 0x40], eax
mov rax, qword [r8 + 0x38]
mov qword [rcx + 0x30], rax
mov eax, dword [r8 + 0x5c]
mov dword [rdx + 0x90], eax
cmp dword [r14 + r12*8 + 8], 4
mov rax, qword [r15 + 0x30]
movsxd rcx, dword [r8 + 0x44]
mov qword [rbp - 0x50], rax
jne 0x140228a07
mov rax, qword [rsi + 8]
lea rcx, [rcx + rcx*2]
mov ecx, dword [rax + rcx*8 + 8]
dec ecx
mov r14, qword [rsi + 8]
mov r10, qword [rsi + 0x10]
inc ecx
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x50], r10
mov dword [rsp + 0x40], ecx
jmp 0x14022a855
movsxd rax, dword [r14 + r12*8 + 4]
mov ecx, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
mov qword [r13 + 0x18], rax
inc ecx
jmp 0x1402287a3
mov rax, qword [r14 + r12*8 + 0x10]
mov ebx, dword [rsp + 0x48]
mov rcx, qword [rax]
mov qword [r13 + 0x18], rcx
mov ecx, dword [rsp + 0x40]
inc ecx
jmp 0x1402287a3
mov ebx, dword [rsp + 0x48]
mov eax, 8
mov word [r13 + 0x24], ax
mov rax, qword [r14 + r12*8 + 0x10]
mov rcx, qword [rax]
mov qword [r13 + 0x10], rcx
mov ecx, dword [rsp + 0x40]
inc ecx
jmp 0x1402287a3
mov rdx, qword [r14 + r12*8 + 0x10]
mov byte [r14 + r12*8], 0x1b
mov rax, rdx
test rdx, rdx
jne 0x140228a93
mov eax, r11d
jmp 0x140228aa7
cmp byte [rdx], 0
je 0x140228aa0
inc rax
cmp byte [rax], 0
jne 0x140228a98
sub eax, edx
and eax, 0x3fffffff
movzx ebx, byte [rsp + 0x58]
mov dword [r14 + r12*8 + 4], eax
cmp bl, 1
je 0x140228b3d
mov r9b, 1
or r8d, 0xffffffff
mov rcx, r13
mov qword [rsp + 0x20], r11
call fcn.140220b10
mov dword [rsp + 0x44], eax
cmp eax, 0x12
je 0x14022dfd0
test byte [r13 + 0x24], 2
movzx edx, bl
je 0x140228afe
movzx ecx, byte [r13 + 0x26]
cmp ecx, edx
je 0x140228afe
mov rcx, r13
call fcn.140204050
test eax, eax
jne 0x14022e17c
mov eax, 0x800
mov qword [r13 + 0x30], 0
or word [r13 + 0x24], ax
cmp byte [r14 + r12*8 + 1], 0xff
jne 0x140228b25
mov rdx, qword [r14 + r12*8 + 0x10]
mov rcx, r15
call fcn.140201d40
mov byte [r14 + r12*8 + 1], 0xff
mov rax, qword [r13 + 8]
mov qword [r14 + r12*8 + 0x10], rax
mov eax, dword [r13 + 0x20]
mov dword [r14 + r12*8 + 4], eax
mov eax, dword [r15 + 0x68]
cmp dword [r14 + r12*8 + 4], eax
jg 0x14022dfd0
jmp 0x140228b53
movzx ebx, byte [rsp + 0x58]
mov eax, 0xa02
mov word [r13 + 0x24], ax
mov rax, qword [r14 + r12*8 + 0x10]
mov qword [r13 + 8], rax
mov eax, dword [r14 + r12*8 + 4]
mov byte [r13 + 0x26], bl
mov dword [r13 + 0x20], eax
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x14022d9bf
mov ebx, dword [r14 + r12*8 + 0xc]
mov edi, r9d
mov eax, 0x101
sub ebx, dword [r14 + r12*8 + 8]
cmp dword [r14 + r12*8 + 4], 0
cmovne di, ax
mov word [r13 + 0x24], di
test ebx, ebx
jle 0x140228bd9
mov r12d, 0x2460
nop dword [rax + rax]
add r13, 0x38
test word [r13 + 0x24], r12w
je 0x140228bc3
mov rcx, r13
call fcn.140220310
dec ebx
mov word [r13 + 0x24], di
test ebx, ebx
jg 0x140228bb0
mov qword [rsp + 0x78], r13
mov r9d, 1
mov ecx, dword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
inc ecx
xor r11d, r11d
mov dword [rsp + 0x40], ecx
jmp 0x14022a855
movsxd rax, dword [r14 + r12*8 + 4]
mov ecx, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
imul r13, rax, 0x38
add r13, r10
mov eax, 0xff7f
and word [r13 + 0x24], ax
or word [r13 + 0x24], 1
inc ecx
mov qword [rsp + 0x78], r13
jmp 0x1402287a3
mov r8d, dword [r14 + r12*8 + 4]
mov rdx, qword [r14 + r12*8 + 0x10]
xor r9d, r9d
mov rcx, r13
mov qword [rsp + 0x20], r11
call fcn.140220b10
movzx eax, byte [rsp + 0x58]
mov byte [r13 + 0x26], al
jmp 0x14022a83d
mov eax, dword [r14 + r12*8 + 4]
dec eax
cdqe
imul rdx, rax, 0x38
add rdx, qword [rsi + 0x68]
movzx eax, word [rdx + 0x24]
test al, 0x12
je 0x140228c88
mov r8d, dword [rdx + 0x20]
mov ecx, 0x4000
test cx, ax
je 0x140228c73
add r8d, dword [rdx + 0x18]
mov rax, qword [rdx]
mov ecx, r11d
cmp r8d, dword [rax + 0x68]
setg cl
test ecx, ecx
jne 0x14022dfd0
mov r8d, 0x800
mov rcx, r13
call fcn.140220970
jmp 0x14022a83d
movsxd rax, dword [r14 + r12*8 + 4]
mov edi, dword [r14 + r12*8 + 0xc]
imul rbx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
mov r12d, 0x2460
add rbx, r10
imul r13, rax, 0x38
add r13, r10
nop
test word [r13 + 0x24], r12w
je 0x140228cd7
mov rcx, r13
call fcn.140220310
xor r11d, r11d
mov edx, 0x80
movups xmm0, xmmword [rbx]
mov rax, qword [r13 + 0x30]
add rbx, 0x38
add r13, 0x38
movups xmmword [r13 - 0x38], xmm0
movups xmm1, xmmword [rbx - 0x28]
movups xmmword [r13 - 0x28], xmm1
movups xmm0, xmmword [rbx - 0x18]
movups xmmword [r13 - 0x18], xmm0
movsd xmm1, qword [rbx - 8]
movsd qword [r13 - 8], xmm1
mov qword [rbx - 8], rax
mov eax, edi
mov word [rbx - 0x14], dx
mov qword [rbx - 0x10], r11
dec edi
test eax, eax
jne 0x140228cc0
mov ecx, dword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x48]
inc ecx
mov qword [rsp + 0x78], r13
lea r9d, [rax + 1]
mov edi, r12d
mov r8d, 0x1000
mov dword [rsp + 0x40], ecx
jmp 0x1402287b0
movsxd rax, dword [r14 + r12*8 + 4]
mov edi, dword [r14 + r12*8 + 0xc]
imul rbx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
add rbx, r10
imul r13, rax, 0x38
add r13, r10
mov rdx, rbx
mov rcx, r13
mov qword [rsp + 0x78], r13
call fcn.140220970
mov r8d, 0x1000
test word [r13 + 0x24], r8w
je 0x140228d96
mov rcx, r13
call fcn.140220010
test eax, eax
jne 0x14022e17c
mov r8d, 0x1000
mov eax, edi
dec edi
test eax, eax
je 0x140228da8
add r13, 0x38
add rbx, 0x38
jmp 0x140228d63
mov ecx, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
inc ecx
xor r11d, r11d
lea r9d, [r11 + 1]
jmp 0x140228799
movsxd rax, dword [r14 + r12*8 + 8]
imul r13, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 4]
imul rdx, rax, 0x38
add r13, r10
mov rcx, r13
mov qword [rsp + 0x78], r13
add rdx, r10
call fcn.140220970
jmp 0x14022a83d
mov rax, qword [r15 + 0x180]
test rax, rax
je 0x140228e0e
mov ecx, dword [rsp + 0x48]
cmp ecx, dword [rbp - 0x60]
jb 0x140228e0e
mov rcx, qword [r15 + 0x188]
call rax
test eax, eax
jne 0x14022daee
cmp qword [rsi + 0xc8], 0
jg 0x14022dc66
mov edx, 1
mov rcx, rsi
call fcn.140223a30
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
je 0x14022dbd7
mov esi, dword [rsp + 0x40]
jmp 0x14022d9bf
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
imul rbx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 0xc]
add rdi, r10
movzx ecx, word [rdi + 0x24]
add rbx, r10
imul r13, rax, 0x38
add r13, r10
movzx eax, cl
or al, byte [rbx + 0x24]
mov qword [rsp + 0x78], r13
test al, 1
je 0x140228e84
mov rcx, r13
call fcn.140220660
jmp 0x14022a83d
mov esi, 0x4000
test si, cx
je 0x140228e9e
mov rcx, rdi
call fcn.140220090
test eax, eax
jne 0x14022e17c
test word [rbx + 0x24], si
je 0x140228eb4
mov rcx, rbx
call fcn.140220090
test eax, eax
jne 0x14022e17c
test byte [rdi + 0x24], 0x12
jne 0x140228ed5
movzx r12d, byte [rsp + 0x58]
mov rcx, rdi
mov edx, r12d
call fcn.140220170
test eax, eax
jne 0x14022e17c
jmp 0x140228edb
movzx r12d, byte [rsp + 0x58]
test byte [rbx + 0x24], 0x12
jne 0x140228ef5
movzx edx, r12b
mov rcx, rbx
call fcn.140220170
test eax, eax
jne 0x14022e17c
mov eax, dword [rdi + 0x20]
add eax, dword [rbx + 0x20]
movsxd rsi, eax
movsxd rax, dword [r15 + 0x68]
cmp rsi, rax
jg 0x14022dfd0
xor r8d, r8d
cmp r13, rbx
lea edx, [rsi + 2]
sete r8b
mov rcx, r13
call fcn.14021feb0
test eax, eax
jne 0x14022e17c
mov eax, 0xbe02
and word [r13 + 0x24], ax
or word [r13 + 0x24], 2
cmp r13, rbx
je 0x140228f4e
movsxd r8, dword [rbx + 0x20]
mov rdx, qword [rbx + 8]
mov rcx, qword [r13 + 8]
call fcn.140298710
movsxd rcx, dword [rbx + 0x20]
movsxd r8, dword [rdi + 0x20]
mov rdx, qword [rdi + 8]
add rcx, qword [r13 + 8]
call fcn.140298710
mov rax, qword [r13 + 8]
mov byte [rsi + rax], 0
mov rax, qword [r13 + 8]
mov byte [rsi + rax + 1], 0
mov eax, 0x200
mov dword [r13 + 0x20], esi
mov rsi, qword [rsp + 0x60]
or word [r13 + 0x24], ax
mov byte [r13 + 0x26], r12b
jmp 0x14022a83d
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, r10
mov rcx, rbx
call fcn.140228550
movsxd rax, dword [r14 + r12*8 + 8]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.140228550
movsxd rax, dword [r14 + r12*8 + 0xc]
movzx ecx, word [rdi + 0x24]
imul r13, rax, 0x38
movzx eax, word [rbx + 0x24]
mov r10, qword [rsp + 0x50]
add r13, r10
mov r14d, eax
or r14d, ecx
mov qword [rsp + 0x78], r13
test r14b, 1
jne 0x140229205
and al, cl
test al, 4
je 0x140229122
mov rax, qword [rsp + 0x68]
mov rdx, qword [rdi + 0x18]
mov r8, qword [rbx + 0x18]
movzx ecx, byte [rax + r12*8]
mov qword [rbp - 0x58], rdx
mov sil, 1
sub ecx, 0x59
je 0x1402290b0
dec ecx
je 0x140229092
dec ecx
je 0x140229073
dec ecx
je 0x140229044
test r8, r8
je 0x140229200
cmp r8, 0xffffffffffffffff
mov rax, rdx
mov r9d, 1
cmove r8, r9
cqo
idiv r8
jmp 0x1402290f2
test r8, r8
je 0x140229200
cmp r8, 0xffffffffffffffff
jne 0x140229066
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x140229125
mov rax, rdx
cqo
idiv r8
mov rdx, rax
jmp 0x1402290ec
lea rcx, [rbp - 0x58]
mov rdx, r8
call fcn.140205720
test eax, eax
jne 0x140229125
mov rdx, qword [rbp - 0x58]
mov r10, qword [rsp + 0x50]
jmp 0x1402290ec
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x1402290ab
test rdx, rdx
jns 0x140229125
sub rdx, rax
jmp 0x1402290ec
neg r8
jmp 0x1402290b3
test r8, r8
js 0x1402290ce
test rdx, rdx
jle 0x1402290e9
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jl 0x140229125
jmp 0x1402290e9
test rdx, rdx
jns 0x1402290e9
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jg 0x140229125
add rdx, r8
mov r9d, 1
mov ecx, dword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
inc ecx
mov eax, 0xbe04
mov qword [r13 + 0x18], rdx
and word [r13 + 0x24], ax
or word [r13 + 0x24], 4
mov dword [rsp + 0x40], ecx
xor r11d, r11d
jmp 0x14022a855
xor sil, sil
mov rcx, rbx
call fcn.140220470
mov rcx, rdi
movaps xmm2, xmm0
call fcn.140220470
mov rax, qword [rsp + 0x68]
movzx ecx, byte [rax + r12*8]
movaps xmm3, xmm0
sub ecx, 0x59
je 0x1402291a0
dec ecx
je 0x14022919a
dec ecx
je 0x140229194
dec ecx
je 0x140229186
cvttsd2si rcx, xmm2
cvttsd2si rax, xmm0
test rcx, rcx
je 0x140229200
cmp rcx, 0xffffffffffffffff
mov r9d, 1
cqo
cmove rcx, r9
xorps xmm3, xmm3
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x1402291aa
ucomisd xmm2, xmm6
jp 0x14022918e
je 0x140229200
divsd xmm3, xmm2
jmp 0x1402291a4
mulsd xmm3, xmm2
jmp 0x1402291a4
subsd xmm3, xmm2
jmp 0x1402291a4
addsd xmm3, xmm2
mov r9d, 1
movaps xmm0, xmm3
call fcn.140204800
test eax, eax
jne 0x140229200
mov eax, 0xbe08
movsd qword [r13 + 0x10], xmm3
and word [r13 + 0x24], ax
or word [r13 + 0x24], 8
test r14b, 8
jne 0x1402291df
test sil, sil
jne 0x1402291df
mov rcx, r13
call fcn.1402204d0
mov ecx, dword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
inc ecx
xor r11d, r11d
mov dword [rsp + 0x40], ecx
jmp 0x14022a855
mov rsi, qword [rsp + 0x60]
mov rcx, r13
call fcn.140220660
jmp 0x14022a838
movsxd rax, dword [r14 + r12*8 + 4]
test eax, eax
je 0x14022a83d
imul rcx, rax, 0x38
xor edx, edx
add rcx, r10
call fcn.140220720
jmp 0x14022a83d
mov rcx, qword [rsp + 0x68]
movzx r15d, byte [r14 + r12*8 + 3]
mov r14, qword [rsi + 0x18]
movsxd rax, dword [rcx + r12*8 + 0xc]
mov rdi, r11
imul r13, rax, 0x38
movsxd rax, dword [rcx + r12*8 + 8]
add r13, r10
mov qword [rsp + 0x78], r13
imul rbx, rax, 0x38
add rbx, r10
test r15d, r15d
jle 0x1402292a5
nop word [rax + rax]
mov qword [r14 + rdi*8], rbx
test word [rbx + 0x24], r8w
je 0x140229291
mov rcx, rbx
call fcn.140220010
test eax, eax
jne 0x14022b3f8
mov r8d, 0x1000
inc rdi
add rbx, 0x38
cmp rdi, r15
jl 0x140229270
mov rcx, qword [rsp + 0x68]
xor r11d, r11d
mov rax, qword [rcx + r12*8 + 0x10]
mov esi, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
mov qword [rbp + 0x70], rax
mov dword [rbp + 0xc8], esi
mov qword [rbp + 0xc0], rdi
movups xmm0, xmmword [r13]
mov ebx, 1
mov edx, 0xbe01
movups xmmword [rbp + 0x78], xmm0
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rbp + 0x88], xmm1
movups xmm0, xmmword [r13 + 0x20]
movups xmmword [rbp + 0x98], xmm0
movsd xmm1, qword [r13 + 0x30]
movsd qword [rbp + 0xa8], xmm1
mov word [r13 + 0x24], bx
mov qword [r13 + 0x28], r11
mov qword [r13 + 0x30], r11
movzx eax, word [rbp + 0x9c]
mov r9, qword [rbp + 0x70]
mov byte [rbp + 0xd1], 0
and ax, dx
or ax, bx
mov word [rbp + 0x9c], ax
test byte [r9 + 2], 0x20
je 0x14022933c
mov rax, qword [rcx + r12*8 - 8]
mov qword [rbp + 0xb8], rax
mov rcx, qword [rsp + 0x70]
mov rax, qword [rbp - 0x50]
mov r8, r14
mov qword [rcx + 0x30], rax
lea rcx, [rbp + 0x70]
mov edx, r15d
call qword [r9 + 0x18]
mov r15, qword [rsp + 0x70]
cmp byte [r15 + 0x50], 0
mov rax, qword [r15 + 0x30]
mov qword [rbp - 0x50], rax
jne 0x14022dc9e
cmp byte [rbp + 0xd1], 0
je 0x14022943c
cmp dword [rbp + 0xcc], 0
je 0x140229426
test byte [rbp + 0x9c], bl
je 0x140229396
xor r9d, r9d
jmp 0x140229409
movzx ecx, word [rbp + 0x9c]
movzx eax, cx
shr ax, 3
and ax, 2
or cx, ax
mov eax, 0x4000
mov word [rbp + 0x9c], cx
test ax, cx
je 0x1402293c5
lea rcx, [rbp + 0x78]
call fcn.140220090
test byte [rbp + 0x9c], 2
je 0x1402293ed
cmp byte [rbp + 0x9e], bl
je 0x1402293e2
lea rcx, [rbp + 0x78]
movzx edx, bl
call fcn.140204050
lea rcx, [rbp + 0x78]
call fcn.140220100
jmp 0x1402293f8
lea rcx, [rbp + 0x78]
mov edx, ebx
call fcn.140220170
xor r9d, r9d
cmp byte [rbp + 0x9e], bl
cmove r9, qword [rbp + 0x80]
lea rcx, [rdi + 0x48]
lea r8, [0x140346ba8]
mov rdx, r15
call fcn.140202260
mov eax, dword [rbp + 0xcc]
mov dword [rsp + 0x44], eax
mov r14, qword [rsp + 0x68]
mov edx, esi
mov rcx, rdi
mov r8d, dword [r14 + r12*8 + 4]
call fcn.140224220
jmp 0x140229441
mov r14, qword [rsp + 0x68]
test byte [rbp + 0x9c], 2
movzx ecx, byte [rsp + 0x58]
je 0x140229466
movzx eax, byte [rbp + 0x9e]
cmp eax, ecx
je 0x140229466
movzx edx, cl
lea rcx, [rbp + 0x78]
call fcn.140204050
movups xmm0, xmmword [rbp + 0x78]
movups xmmword [r13], xmm0
movups xmm1, xmmword [rbp + 0x88]
movups xmmword [r13 + 0x10], xmm1
movups xmm0, xmmword [rbp + 0x98]
movups xmmword [r13 + 0x20], xmm0
movsd xmm1, qword [rbp + 0xa8]
movsd qword [r13 + 0x30], xmm1
movzx eax, word [r13 + 0x24]
test al, 0x12
je 0x14022c81c
mov edx, dword [r13 + 0x20]
mov ecx, 0x4000
test cx, ax
je 0x1402294b4
add edx, dword [r13 + 0x18]
mov rax, qword [r13]
xor r11d, r11d
cmp edx, dword [rax + 0x68]
mov ecx, r11d
setg cl
test ecx, ecx
jne 0x14022dfd4
mov ecx, dword [rsp + 0x44]
jmp 0x14022d9c2
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 0xc]
add rdi, r10
add rcx, r10
imul r13, rax, 0x38
movzx eax, byte [rcx + 0x24]
or al, byte [rdi + 0x24]
add r13, r10
mov qword [rsp + 0x78], r13
test al, 1
je 0x140229516
mov rcx, r13
call fcn.140220660
jmp 0x14022a83d
call fcn.1402203e0
mov rcx, rdi
mov rbx, rax
call fcn.1402203e0
movzx edx, byte [r14 + r12*8]
mov rcx, rax
cmp dl, 0x55
jne 0x140229538
and rbx, rax
jmp 0x1402295aa
cmp dl, 0x56
jne 0x140229542
or rbx, rax
jmp 0x1402295aa
test rax, rax
je 0x1402295aa
jns 0x14022955c
mov eax, 0xaf
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x140229562
neg rcx
cmp rcx, 0x40
jl 0x14022957b
test rbx, rbx
jns 0x140229574
cmp dl, 0x57
je 0x140229574
or eax, 0xffffffff
movsxd rbx, eax
jmp 0x1402295aa
xor eax, eax
movsxd rbx, eax
jmp 0x1402295aa
cmp dl, 0x57
jne 0x140229588
shl rbx, cl
mov r8, rbx
jmp 0x1402295a7
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1402295a7
or rdx, 0xffffffffffffffff
mov eax, 0x40
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0xbe04
mov qword [r13 + 0x18], rbx
and word [r13 + 0x24], ax
or word [r13 + 0x24], 4
jmp 0x14022a83d
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, r10
mov rcx, rbx
call fcn.140220530
movsxd rax, dword [r14 + r12*8 + 8]
add qword [rbx + 0x18], rax
jmp 0x14022a83d
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, r10
movzx eax, word [rbx + 0x24]
test al, 4
jne 0x140229634
mov rcx, rbx
call fcn.140228550
test byte [rbx + 0x24], 8
je 0x14022960f
mov rcx, rbx
call fcn.1402204d0
movzx eax, word [rbx + 0x24]
test al, 4
jne 0x14022962f
mov eax, dword [r14 + r12*8 + 8]
test eax, eax
je 0x14022dd86
mov ecx, eax
mov dword [rsp + 0x40], eax
jmp 0x14022a847
mov r10, qword [rsp + 0x50]
mov ecx, 0xbe04
and ax, cx
or ax, 4
mov word [rbx + 0x24], ax
mov ecx, dword [rsp + 0x40]
inc ecx
xor r11d, r11d
mov dword [rsp + 0x40], ecx
jmp 0x14022a84f
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x24], 4
je 0x140229672
call fcn.140220560
mov r10, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x40]
inc ecx
xor r11d, r11d
mov dword [rsp + 0x40], ecx
jmp 0x14022a84f
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, r10
movzx ecx, word [rbx + 0x24]
test cl, 1
jne case.default.0x140228842
movzx eax, cx
shr ax, 3
and ax, 2
or ax, cx
mov word [rbx + 0x24], ax
test al, 2
jne 0x1402296c4
test al, 0xc
je 0x1402296c4
movzx edx, byte [rsp + 0x58]
mov rcx, rbx
call fcn.140220170
mov eax, 0xfff3
and word [rbx + 0x24], ax
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x1402296fd
mov rcx, rbx
call fcn.140220090
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov dword [rsp + 0x44], eax
mov eax, 0xbfe3
and word [rbx + 0x24], ax
mov ecx, dword [rsp + 0x44]
jmp 0x14022d9c2
xor r11d, r11d
mov eax, 0xbfe3
and word [rbx + 0x24], ax
mov dword [rsp + 0x44], r11d
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x14022d9c2
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, r10
movzx eax, word [rbx + 0x24]
test al, 1
jne case.default.0x140228842
test al, 0x10
jne 0x140229771
test al, 2
jne 0x140229751
test al, 0xc
je 0x140229751
movzx edx, byte [rsp + 0x58]
mov rcx, rbx
call fcn.140220170
mov r10, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x40]
mov eax, 0xbe10
and word [rbx + 0x24], ax
or word [rbx + 0x24], 0x10
inc ecx
mov dword [rsp + 0x40], ecx
xor r11d, r11d
jmp 0x14022a84f
mov ecx, 0xfe10
and ax, cx
mov ecx, dword [rsp + 0x40]
mov word [rbx + 0x24], ax
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x1402287a3
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, r10
call fcn.1402205e0
jmp 0x14022a83d
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x24], 1
jne 0x140229672
call fcn.140220530
jmp 0x14022a83d
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x24], 1
jne 0x140229672
call fcn.140220560
jmp 0x14022a83d
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rsi, rax, 0x38
add rdi, r10
movzx r15d, word [rdi + 0x24]
add rsi, r10
movzx r14d, word [rsi + 0x24]
movzx eax, r14b
or al, r15b
test al, 1
je 0x1402298a6
mov r8, qword [rsp + 0x68]
movzx eax, byte [r8 + r12*8 + 3]
test al, al
jns 0x140229849
test r15b, 1
je 0x140229841
test r14b, 1
je 0x140229841
mov eax, 0x100
test ax, r14w
jne 0x140229841
mov eax, r11d
jmp 0x140229927
mov eax, r9d
jmp 0x140229927
mov r14, r8
test al, 0x10
je 0x140229899
movsxd rax, dword [r8 + r12*8 + 8]
imul r13, rax, 0x38
mov eax, 0xbe01
add r13, r10
mov qword [rsp + 0x78], r13
and word [r13 + 0x24], ax
or word [r13 + 0x24], 1
mov ecx, dword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x48]
inc ecx
mov edi, 0x2460
mov r8d, 0x1000
mov dword [rsp + 0x40], ecx
jmp 0x1402287b0
test al, 8
je 0x140229871
mov ecx, dword [r14 + r12*8 + 8]
dec ecx
jmp 0x140229875
mov rax, qword [rsp + 0x68]
movzx ebx, byte [rax + r12*8 + 3]
and bl, 0x67
je 0x1402298e7
movzx r8d, byte [rsp + 0x58]
movzx edx, bl
mov rcx, rdi
call fcn.1402285d0
movzx r8d, byte [rsp + 0x58]
movzx edx, bl
mov rcx, rsi
call fcn.1402285d0
mov rcx, qword [rsp + 0x70]
cmp byte [rcx + 0x50], 0
jne 0x14022e179
mov ebx, 0x4000
test word [rdi + 0x24], bx
je 0x1402298fa
mov rcx, rdi
call fcn.140220090
test word [rsi + 0x24], bx
je 0x140229908
mov rcx, rsi
call fcn.140220090
mov rax, qword [rsp + 0x68]
mov rdx, rdi
mov rcx, rsi
mov r8, qword [rax + r12*8 + 0x10]
call fcn.140224f30
mov r8, qword [rsp + 0x68]
mov r10, qword [rsp + 0x50]
movzx edx, byte [r8 + r12*8]
xor r11d, r11d
mov ecx, r11d
sub edx, 0x4e
je 0x14022996a
dec edx
je 0x140229963
dec edx
je 0x14022995c
dec edx
je 0x140229955
dec edx
je 0x14022994e
test eax, eax
setns cl
jmp 0x14022996f
test eax, eax
sets cl
jmp 0x14022996f
test eax, eax
setle cl
jmp 0x14022996f
test eax, eax
setg cl
jmp 0x14022996f
test eax, eax
sete cl
jmp 0x14022996f
test eax, eax
setne cl
test byte [r8 + r12*8 + 3], 0x10
je 0x1402299e4
movsxd rax, dword [r8 + r12*8 + 8]
imul r13, rax, 0x38
mov eax, 0xbe04
add r13, r10
mov qword [rsp + 0x78], r13
and word [r13 + 0x24], ax
or word [r13 + 0x24], 4
movsxd rax, ecx
mov qword [r13 + 0x18], rax
mov ecx, dword [rsp + 0x40]
mov eax, 0x1ff
mov r12d, 0xfe00
and word [rdi + 0x24], r12w
and r15w, ax
and r14w, ax
or word [rdi + 0x24], r15w
and word [rsi + 0x24], r12w
or word [rsi + 0x24], r14w
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x14022a84f
test ecx, ecx
je 0x14022999f
mov ecx, dword [r8 + r12*8 + 8]
dec ecx
jmp 0x1402299a3
mov ecx, dword [rsp + 0x40]
mov r8, qword [r14 + r12*8 + 0x10]
mov ebx, dword [rsp + 0x48]
inc ecx
mov qword [rbp + 0x30], r8
mov edi, 0x2460
mov dword [rsp + 0x40], ecx
mov r8d, 0x1000
jmp 0x1402287b0
test byte [r14 + r12*8 + 3], 1
mov rdx, qword [rbp - 0x68]
mov rax, qword [rbp + 0x30]
movsxd r15, dword [r14 + rdx*8 + 0xc]
mov ecx, dword [r14 + rdx*8 + 8]
mov r13, qword [r14 + r12*8 + 0x10]
mov r12d, dword [r14 + r12*8 + 4]
cmove rax, r11
mov dword [rbp - 0x70], ecx
mov qword [rbp + 0x30], rax
mov edi, r11d
mov rbx, r11
test r15, r15
jle 0x140229ac9
lea rsi, [r13 + 0x20]
test rax, rax
je 0x140229a5f
mov r8d, dword [rax + rbx*4]
jmp 0x140229a62
mov r8d, edi
mov rax, qword [r13 + 0x18]
movzx r14d, byte [rbx + rax]
lea eax, [r8 + rcx]
movsxd rcx, eax
lea eax, [r8 + r12]
mov r8, qword [rsi]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, r10
imul rcx, rcx, 0x38
add rcx, r10
call fcn.140224f30
mov dword [rbp - 0x38], eax
test eax, eax
jne 0x140229ab2
mov ecx, dword [rbp - 0x70]
mov r10, qword [rsp + 0x50]
mov rax, qword [rbp + 0x30]
inc rbx
inc edi
add rsi, 8
cmp rbx, r15
jl 0x140229a54
jmp 0x140229abc
test r14d, r14d
je 0x140229abc
neg eax
mov dword [rbp - 0x38], eax
mov r14, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
xor r11d, r11d
mov ecx, dword [rsp + 0x40]
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
inc ecx
mov qword [rbp + 0x30], r11
mov dword [rsp + 0x40], ecx
jmp 0x14022a84a
mov ebx, dword [rbp - 0x38]
test ebx, ebx
jns 0x140229afb
mov ecx, dword [r14 + r12*8 + 4]
mov ebx, dword [rsp + 0x48]
jmp 0x1402287a3
je 0x140228869
mov ecx, dword [r14 + r12*8 + 0xc]
mov ebx, dword [rsp + 0x48]
jmp 0x1402287a3
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x24], 1
je 0x140229b28
mov ebx, 2
jmp 0x140229b3e
call fcn.1402203e0
mov r10, qword [rsp + 0x50]
xor r11d, r11d
test rax, rax
mov ebx, r11d
setne bl
movsxd rax, dword [r14 + r12*8 + 8]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x24], 1
je 0x140229b57
mov edx, 2
jmp 0x140229b6d
call fcn.1402203e0
mov r10, qword [rsp + 0x50]
xor r11d, r11d
test rax, rax
mov edx, r11d
setne dl
movsxd rax, ebx
lea rcx, [rax + rax*2]
movsxd rax, edx
add rcx, rax
cmp byte [r14 + r12*8], 0x48
lea rax, [0x140000000]
jne 0x140229b92
movzx edx, byte [rcx + rax + 0x30bd40]
jmp 0x140229b9a
movzx edx, byte [rcx + rax + 0x30bb88]
movsxd rax, dword [r14 + r12*8 + 0xc]
mov ecx, dword [rsp + 0x40]
imul r13, rax, 0x38
add r13, r10
mov qword [rsp + 0x78], r13
cmp edx, 2
jne 0x140229bcf
mov eax, 0xbe01
and word [r13 + 0x24], ax
or word [r13 + 0x24], 1
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x14022a84f
movsxd rax, edx
mov qword [r13 + 0x18], rax
mov eax, 0xbe04
and word [r13 + 0x24], ax
or word [r13 + 0x24], 4
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x14022a84f
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
imul r13, rax, 0x38
add rcx, r10
add r13, r10
test byte [rcx + 0x24], 1
mov qword [rsp + 0x78], r13
je 0x140229c21
mov rcx, r13
call fcn.140220660
jmp 0x14022a83d
call fcn.1402203e0
xor edx, edx
mov rcx, r13
test rax, rax
sete dl
call fcn.140220720
jmp 0x14022a83d
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
imul r13, rax, 0x38
add rcx, r10
add r13, r10
test byte [rcx + 0x24], 1
mov qword [rsp + 0x78], r13
je 0x140229c6b
mov rcx, r13
call fcn.140220660
jmp 0x14022a83d
call fcn.1402203e0
mov rcx, r13
not rax
mov rdx, rax
call fcn.140220720
jmp 0x14022a83d
movsxd rax, dword [r14 + r12*8 + 4]
mov rcx, qword [rsi + 0x118]
cmp byte [rax + rcx], 0
jne 0x140228869
mov byte [rax + rcx], 1
mov ecx, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x1402287a3
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x24], 1
je 0x140229cc5
mov ecx, dword [r14 + r12*8 + 0xc]
jmp 0x140229cef
call fcn.140220470
ucomisd xmm0, xmm6
jp 0x140229cd6
jne 0x140229cd6
xor ecx, ecx
jmp 0x140229cdb
mov ecx, 1
mov r10, qword [rsp + 0x50]
cmp dil, 0x2d
jne 0x140229cef
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
je 0x140229644
mov ecx, dword [r14 + r12*8 + 8]
dec ecx
inc ecx
xor r11d, r11d
mov dword [rsp + 0x40], ecx
jmp 0x14022a84f
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x24], 1
je 0x140229c9d
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x1402287a3
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x24], 1
jne 0x140229c9d
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x1402287a3
movsxd rax, dword [r14 + r12*8 + 0xc]
mov esi, dword [r14 + r12*8 + 8]
mov rbx, qword [rsp + 0x68]
imul r14, rax, 0x38
movsxd rcx, dword [rbx + r12*8 + 4]
mov rdi, qword [rsp + 0x60]
add r14, r10
mov rax, qword [rdi + 0x60]
mov dword [rbp - 0x80], esi
mov qword [rbp - 0x58], r14
mov r15, qword [rax + rcx*8]
movsx rax, word [r15 + 0x20]
mov r13, qword [r15]
add rax, 0x1c
mov qword [rbp - 0x30], r13
lea rcx, [r15 + rax*4]
mov qword [rbp - 0x70], rcx
mov rcx, r15
call fcn.1402244f0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022dede
mov rax, rdi
mov eax, dword [rax + 0x7c]
cmp dword [r15 + 0x58], eax
jne 0x140229dcb
test byte [rbx + r12*8 + 3], 0x20
je 0x140229fce
cmp byte [r15 + 0x25], 0
je 0x140229e16
test r13, r13
jne 0x140229e01
mov r9, qword [rsp + 0x50]
movsxd rax, dword [r15 + 0x1c]
lea rdi, [r15 + 0x5c]
imul rax, rax, 0x38
mov ebx, dword [rax + r9 + 0x20]
mov dword [r15 + 0x60], ebx
mov dword [rdi], ebx
mov rax, qword [rax + r9 + 8]
mov qword [r15 + 0x68], rax
jmp 0x140229f30
mov eax, 0xbe01
and word [r14 + 0x24], ax
or word [r14 + 0x24], 1
jmp 0x14022a385
test byte [r15 + 0x28], 2
jne 0x140229ea6
cmp byte [r13 + 0x6f], 1
je 0x140229e32
mov qword [rbp + 0x48], 0
jmp 0x140229e3e
lea rdx, [rbp + 0x48]
mov rcx, r13
call fcn.140218450
cmp word [r13 + 0x56], 0
jne 0x140229e89
movsx rax, word [r13 + 0x72]
lea r8, [r13 + 0x38]
mov r10, qword [r13 + rax*8 + 0xa0]
movzx r9d, word [r13 + rax*2 + 0x74]
mov rcx, qword [r10 + 0x60]
movzx eax, byte [rcx + r9*2]
shl eax, 8
movsxd rdx, eax
movzx eax, byte [rcx + r9*2 + 1]
mov rcx, r10
or rdx, rax
movzx eax, word [r10 + 0x12]
and rdx, rax
add rdx, qword [r10 + 0x50]
call fcn.140214c80
movzx eax, word [r13 + 0x50]
movzx ebx, word [r13 + 0x52]
lea rdi, [r15 + 0x5c]
add rax, qword [r13 + 0x40]
mov qword [r15 + 0x68], rax
mov eax, dword [rbp + 0x48]
mov dword [rdi], eax
jmp 0x140229f12
lea rdi, [r15 + 0x5c]
mov rcx, r13
mov rdx, rdi
call fcn.1402184c0
cmp word [r13 + 0x56], 0
jne 0x140229f00
movsx rax, word [r13 + 0x72]
lea r8, [r13 + 0x38]
mov r10, qword [r13 + rax*8 + 0xa0]
movzx r9d, word [r13 + rax*2 + 0x74]
mov rcx, qword [r10 + 0x60]
movzx eax, byte [rcx + r9*2]
shl eax, 8
movsxd rdx, eax
movzx eax, byte [rcx + r9*2 + 1]
mov rcx, r10
or rdx, rax
movzx eax, word [r10 + 0x12]
and rdx, rax
add rdx, qword [r10 + 0x50]
call fcn.140214c80
movzx eax, word [r13 + 0x50]
movzx ebx, word [r13 + 0x52]
add rax, qword [r13 + 0x40]
mov qword [r15 + 0x68], rax
mov eax, dword [rdi]
cmp eax, ebx
ja 0x140229f1e
mov dword [r15 + 0x60], eax
jmp 0x140229f22
mov dword [r15 + 0x60], ebx
mov rcx, qword [rsp + 0x70]
cmp eax, dword [rcx + 0x68]
ja 0x14022dfcd
mov rax, qword [rsp + 0x60]
mov rcx, qword [r15 + 0x68]
mov eax, dword [rax + 0x7c]
mov dword [r15 + 0x58], eax
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x140229f54
movzx ecx, al
mov eax, 1
mov dword [rbp - 0x3c], ecx
jmp 0x140229f63
lea rdx, [rbp - 0x3c]
call fcn.140205580
mov ecx, dword [rbp - 0x3c]
movzx eax, al
mov rdx, qword [rbp - 0x70]
movzx eax, al
mov dword [r15 + 0x64], eax
xor eax, eax
mov word [r15 + 0x22], ax
mov dword [rdx], ecx
cmp ebx, ecx
jae 0x140229f83
mov qword [r15 + 0x68], rax
mov dword [r15 + 0x60], eax
cmp ecx, 0x18003
ja 0x140229f8f
cmp ecx, dword [rdi]
jbe 0x140229fd2
lea r9, [0x14034adac]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0x10f5d
mov ecx, 0xb
call fcn.140203d60
mov ecx, 0xb
mov dword [rsp + 0x44], ecx
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
mov esi, dword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
jmp 0x14022d9bf
mov rdx, qword [rbp - 0x70]
movzx eax, word [r15 + 0x22]
cmp eax, esi
jg 0x14022a246
mov eax, dword [rdx]
cmp dword [r15 + 0x64], eax
jae 0x14022a203
mov r12, qword [r15 + 0x68]
test r12, r12
jne 0x14022a04c
xor eax, eax
mov rcx, r13
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov r9d, dword [r15 + 0x28]
mov r8d, dword [rdx]
shr r9d, 1
lea rax, [rbp - 0x18]
xor edx, edx
not r9d
mov qword [rsp + 0x20], rax
and r9d, 1
call fcn.140220d40
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140229fb6
mov r12, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x70]
movzx r14d, word [r15 + 0x22]
mov ebx, dword [r15 + 0x64]
mov r13d, dword [rdx]
lea rdi, [r14*4]
add rbx, r12
mov eax, r14d
mov esi, dword [rdi + rdx]
add r13, r12
nop dword [rax]
movzx eax, byte [rbx]
cmp al, 0x80
jae 0x14022a082
movzx eax, al
inc rbx
mov dword [rbp - 0x28], eax
jmp 0x14022a09b
lea rdx, [rbp - 0x28]
mov rcx, rbx
call fcn.140205580
mov rdx, qword [rbp - 0x70]
movzx eax, al
add rbx, rax
mov eax, dword [rbp - 0x28]
mov dword [rdi + r15 + 0x70], eax
cmp eax, 0xc
jb 0x14022a0ac
add eax, 0xfffffff4
shr eax, 1
jmp 0x14022a0bb
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x309a98]
add esi, eax
mov dword [rbp - 0x3c], esi
cmp esi, eax
jb 0x14022a0e2
inc r14d
movsxd rax, r14d
lea rdi, [rax*4]
mov dword [rdi + rdx], esi
cmp r14d, dword [rbp - 0x80]
jg 0x14022a0e6
cmp rbx, r13
jb 0x14022a070
jmp 0x14022a0e6
lea rbx, [r13 + 1]
mov eax, ebx
mov word [r15 + 0x22], r14w
sub eax, r12d
cmp qword [r15 + 0x68], 0
mov dword [r15 + 0x64], eax
jne 0x14022a1ce
movzx eax, word [rbp + 0xc]
mov r12d, 0x2460
test r12w, ax
je 0x14022a1a3
mov ecx, 0x2000
test cx, ax
je 0x14022a135
mov rdx, qword [rbp]
lea rcx, [rbp - 0x18]
call fcn.140220240
lea rcx, [rbp - 0x18]
call fcn.140220390
jmp 0x14022a1a3
mov ecx, 0x400
test cx, ax
je 0x14022a150
mov rcx, qword [rbp - 0x10]
call qword [rbp + 0x10]
mov qword [rbp + 0x10], 0
jmp 0x14022a1a3
movzx eax, byte [rbp + 0xc]
test al, 0x20
je 0x14022a163
mov rcx, qword [rbp]
call fcn.14020b730
jmp 0x14022a1a3
test al, 0x40
je 0x14022a1a3
mov rdx, qword [rbp]
mov rax, qword [rdx]
mov rcx, qword [rax + 0xf8]
mov qword [rdx + 8], rcx
mov qword [rax + 0xf8], rdx
test byte [rbp + 0xc], 0x20
je 0x14022a18f
mov rcx, qword [rbp]
call fcn.14020b730
movzx eax, word [rbp + 0xc]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov word [rbp + 0xc], ax
mov rdx, qword [rbp + 0x18]
test rdx, rdx
je 0x14022a1bd
mov rcx, qword [rbp - 0x18]
call fcn.140201d40
mov qword [rbp + 0x18], 0
mov eax, 1
mov qword [rbp - 0x10], 0
mov word [rbp + 0xc], ax
cmp rbx, r13
ja 0x14022dd94
mov eax, dword [r15 + 0x5c]
cmp esi, eax
ja 0x14022dd94
cmp rbx, r13
jne 0x14022a1f0
cmp esi, eax
jne 0x14022dd94
mov r13, qword [rbp - 0x30]
mov r14, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x70]
mov r12, qword [rbp - 0x68]
mov esi, dword [rbp - 0x80]
movzx eax, word [r15 + 0x22]
cmp eax, esi
jg 0x14022a246
mov rax, qword [rsp + 0x68]
cmp byte [rax + r12*8 + 1], 0xf8
jne 0x14022a231
mov rdx, qword [rax + r12*8 + 0x10]
mov r8d, 0x800
mov rcx, r14
call fcn.140220970
jmp 0x14022a381
mov eax, 0xbe01
and word [r14 + 0x24], ax
or word [r14 + 0x24], 1
jmp 0x14022a381
movsxd rsi, esi
mov eax, dword [rdx + rsi*4 + 4]
cmp dword [r15 + 0x60], eax
jb 0x14022a284
mov eax, 0x2460
test word [r14 + 0x24], ax
je 0x14022a26b
mov rcx, r14
call fcn.140220310
mov rdx, qword [rbp - 0x70]
mov ecx, dword [rdx + rsi*4]
mov edx, dword [r15 + rsi*4 + 0x70]
mov r8, r14
add rcx, qword [r15 + 0x68]
call fcn.140224710
jmp 0x14022a378
mov rax, qword [rsp + 0x68]
mov ebx, dword [r15 + rsi*4 + 0x70]
movzx eax, byte [rax + r12*8 + 3]
mov dword [rbp - 0x28], ebx
test al, 0xc0
je 0x14022a2a9
cmp ebx, 0xc
jb 0x14022a2a5
test bl, 1
je 0x14022a2c8
test al, al
js 0x14022a2c8
cmp ebx, 0xc
jb 0x14022a2b5
lea edi, [rbx - 0xc]
shr edi, 1
jmp 0x14022a2c4
lea rcx, [0x140000000]
movzx edi, byte [rbx + rcx + 0x309a98]
test edi, edi
jne 0x14022a2de
mov eax, 0
lea rcx, [rbp + 0x48]
cmp ebx, 0xd
cmova rcx, rax
mov qword [rbp + 0x18], rax
jmp 0x14022a343
xor eax, eax
lea rcx, [rbp - 0x18]
mov rdx, r14
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
call fcn.140220a80
mov r9d, dword [r15 + 0x28]
mov rcx, qword [rbp - 0x70]
shr r9d, 1
lea rax, [rbp - 0x18]
mov edx, dword [rcx + rsi*4]
not r9d
mov r8d, edi
mov rcx, r13
and r9d, 1
mov qword [rsp + 0x20], rax
call fcn.140220d40
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140229fb6
mov rcx, qword [rbp - 0x10]
mov r8, r14
mov edx, ebx
call fcn.140224710
cmp qword [rbp + 0x18], 0
je 0x14022a378
mov eax, 0xe7ff
and word [r14 + 0x24], ax
mov eax, 0x200
or word [r14 + 0x24], ax
mov rax, qword [rbp - 0x10]
mov qword [r14 + 8], rax
mov rax, qword [rbp + 0x18]
mov qword [r14 + 0x30], rax
movzx eax, byte [rsp + 0x58]
mov byte [r14 + 0x26], al
mov ecx, dword [rsp + 0x44]
mov r8d, 0x1000
test word [r14 + 0x24], r8w
je 0x14022d99a
mov rcx, r14
call fcn.140220010
mov r15, qword [rsp + 0x70]
mov esi, dword [rsp + 0x40]
test eax, eax
jne 0x14022e180
mov ecx, dword [rsp + 0x44]
mov r13, qword [rsp + 0x78]
mov r14, qword [rsp + 0x68]
jmp 0x14022d9bf
movsxd rax, dword [r14 + r12*8 + 4]
mov rdi, qword [r14 + r12*8 + 0x10]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r10
test al, al
je 0x140229672
movzx r12d, byte [rsp + 0x58]
nop dword [rax]
nop dword [rax + rax]
movzx r8d, r12b
movzx edx, al
mov rcx, rbx
lea rdi, [rdi + 1]
call fcn.1402285d0
movzx eax, byte [rdi]
add rbx, 0x38
test al, al
jne 0x14022a3f0
jmp 0x14022a83d
mov rdx, qword [rsp + 0x68]
mov r14, r11
mov r15d, r11d
movsxd rax, dword [rdx + r12*8 + 4]
mov rbx, qword [rdx + r12*8 + 0x10]
mov r9d, r11d
mov dword [rbp - 0x80], r11d
imul r13, rax, 0x38
mov eax, dword [rdx + r12*8 + 8]
add r13, r10
dec eax
mov qword [rbp - 0x20], r13
cdqe
imul rcx, rax, 0x38
movsxd rax, dword [rdx + r12*8 + 0xc]
imul rax, rax, 0x38
add rcx, r13
mov qword [rbp - 0x58], rcx
movzx ecx, byte [rsi + 0x8b]
add rax, r10
mov dword [rbp - 0x78], ecx
mov qword [rsp + 0x78], rax
test rbx, rbx
je 0x14022a4a9
movzx eax, byte [rbx]
mov rdi, r13
movzx r13d, byte [rsp + 0x58]
nop word [rax + rax]
movzx r8d, r13b
movzx edx, al
mov rcx, rdi
call fcn.1402285d0
movzx eax, byte [rbx + 1]
lea rbx, [rbx + 1]
add rdi, 0x38
test al, al
jne 0x14022a480
mov r13, qword [rbp - 0x20]
mov ecx, dword [rbp - 0x78]
mov r9d, r14d
mov rsi, qword [rbp - 0x58]
mov r12d, 1
mov edx, ecx
mov rcx, rsi
call fcn.1402245b0
mov edi, eax
cmp eax, 0xc
jb 0x14022a4cb
lea ebx, [rdi - 0xc]
shr ebx, 1
jmp 0x14022a4da
lea rcx, [0x140000000]
movzx ebx, byte [rdi + rcx + 0x309a98]
mov eax, 0x4000
test word [rsi + 0x24], ax
je 0x14022a4ff
test r14, r14
je 0x14022a4f4
mov rcx, rsi
call fcn.140220090
jmp 0x14022a4ff
add r9d, dword [rsi + 0x18]
sub ebx, dword [rsi + 0x18]
mov dword [rbp - 0x80], r9d
movsxd rax, ebx
xor r11d, r11d
add r14, rax
cmp edi, 0x7f
ja 0x14022a512
mov eax, r12d
jmp 0x14022a530
mov rcx, rdi
mov eax, r11d
nop dword [rax + rax]
shr rcx, 7
inc eax
test rcx, rcx
je 0x14022a530
cmp eax, 9
jl 0x14022a520
mov ecx, dword [rbp - 0x78]
mov r9d, dword [rbp - 0x80]
sub rsi, 0x38
add r15d, eax
cmp rsi, r13
jae 0x14022a4b3
mov r12, qword [rbp - 0x58]
cmp r15d, 0x7e
jle 0x14022a594
movsxd rax, r15d
mov edx, r11d
nop word [rax + rax]
shr rax, 7
inc edx
test rax, rax
je 0x14022a570
cmp edx, 9
jl 0x14022a560
add r15d, edx
mov eax, r11d
movsxd rcx, r15d
nop dword [rax]
shr rcx, 7
inc eax
test rcx, rcx
je 0x14022a590
cmp eax, 9
jl 0x14022a580
cmp edx, eax
jge 0x14022a597
inc r15d
mov rcx, qword [rsp + 0x70]
movsxd rsi, r15d
movsxd rax, dword [rcx + 0x68]
add rsi, r14
mov qword [rbp - 0x20], rsi
cmp rsi, rax
jg 0x14022dfcd
mov rdi, qword [rsp + 0x78]
xor r8d, r8d
mov edx, esi
mov rcx, rdi
call fcn.14021feb0
test eax, eax
jne 0x14022b3f8
mov rdi, qword [rdi + 8]
mov r9d, 0x80
cmp r15d, r9d
jae 0x14022a5e8
mov esi, 1
mov byte [rdi], r15b
mov eax, esi
jmp 0x14022a622
test r15d, 0xffffc000
jne 0x14022a60c
mov eax, r15d
shr eax, 7
or al, r9b
mov byte [rdi], al
movzx eax, r15b
and al, 0x7f
mov byte [rdi + 1], al
mov eax, 2
jmp 0x14022a61d
mov edx, r15d
mov rcx, rdi
call fcn.1402052c0
mov r9d, 0x80
mov esi, 1
mov r14d, dword [rbp - 0x78]
movzx ebx, al
nop dword [rax]
mov edx, r14d
mov rcx, r13
call fcn.1402245b0
movsxd rcx, ebx
mov r10d, eax
cmp eax, r9d
jae 0x14022a64e
mov byte [rcx + rdi], r10b
mov eax, esi
jmp 0x14022a67c
add rcx, rdi
test r10d, 0xffffc000
jne 0x14022a674
mov eax, r10d
shr eax, 7
or al, 0x80
mov byte [rcx], al
movzx eax, r10b
and al, 0x7f
mov byte [rcx + 1], al
mov eax, 2
jmp 0x14022a67c
mov rdx, r10
call fcn.1402052c0
movzx eax, al
movsxd rcx, r15d
mov r8d, r10d
add rcx, rdi
mov rdx, r13
add ebx, eax
call fcn.140224680
add r13, 0x38
mov r9d, 0x80
add r15d, eax
cmp r13, r12
jbe 0x14022a630
mov r13, qword [rsp + 0x78]
mov rsi, qword [rbp - 0x20]
mov eax, 0x10
xor r11d, r11d
mov word [r13 + 0x24], ax
mov eax, dword [rbp - 0x80]
mov dword [r13 + 0x20], esi
mov qword [r13 + 0x28], r11
test eax, eax
je 0x14022a6d7
mov dword [r13 + 0x18], eax
mov eax, 0x4010
mov word [r13 + 0x24], ax
mov ecx, dword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
inc ecx
mov byte [r13 + 0x26], 1
mov dword [rsp + 0x40], ecx
jmp 0x14022a84a
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
mov qword [rbp + 0x158], r11
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx]
cmp dword [rcx + 0x30], 0
jne 0x14022a72e
mov esi, dword [rsp + 0x40]
mov rax, r11
mov ecx, r11d
mov dword [rsp + 0x44], ecx
mov qword [r13 + 0x18], rax
jmp 0x14022d9c2
lea rdx, [rbp + 0x158]
call fcn.14021d8a0
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov dword [rsp + 0x44], eax
mov rax, qword [rbp + 0x158]
mov ecx, dword [rsp + 0x44]
mov qword [r13 + 0x18], rax
jmp 0x14022d9c2
mov r12d, dword [r14 + r12*8 + 4]
mov rdx, qword [rbp - 0x68]
mov r14, qword [r14 + rdx*8 + 0x10]
mov dword [rbp - 0x70], r12d
test r12d, r12d
jne 0x14022a86e
cmp dword [r15 + 0xa4], r12d
jg 0x14022ddcb
mov rbx, r14
test r14, r14
jne 0x14022a78e
mov ebx, r11d
jmp 0x14022a7a5
cmp byte [r14], 0
je 0x14022a79c
inc rbx
cmp byte [rbx], 0
jne 0x14022a794
sub ebx, r14d
and ebx, 0x3fffffff
mov r8d, dword [r15 + 0x300]
xor edx, edx
mov rcx, r15
add r8d, dword [r15 + 0x2fc]
call fcn.1402692e0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022dea8
lea edx, [rbx + 0x21]
mov rcx, r15
call fcn.140202010
mov rdi, rax
test rax, rax
je 0x14022a838
lea r9, [rax + 0x20]
lea ecx, [rbx + 1]
mov rdx, r14
movsxd r8, ecx
mov rcx, r9
mov qword [rax], r9
call fcn.140298710
cmp byte [r15 + 0x4e], 0
je 0x14022a809
mov byte [r15 + 0x4e], 0
mov byte [r15 + 0x55], 1
jmp 0x14022a810
inc dword [r15 + 0x2fc]
mov rax, qword [r15 + 0x2f0]
mov qword [rdi + 0x18], rax
mov rax, qword [r15 + 0x308]
mov qword [r15 + 0x2f0], rdi
mov qword [rdi + 8], rax
mov rax, qword [r15 + 0x310]
mov qword [rdi + 0x10], rax
mov r14, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x40]
inc ecx
mov dword [rsp + 0x40], ecx
xor r11d, r11d
mov r10, qword [rsp + 0x50]
mov r9d, 1
mov ebx, dword [rsp + 0x48]
mov edx, 0x80
mov edi, 0x2460
mov r8d, 0x1000
jmp 0x1402287b0
mov rdi, qword [rsp + 0x70]
mov r15d, r11d
mov rsi, qword [rdi + 0x2f0]
test rsi, rsi
je 0x14022a89d
mov rcx, qword [rsi]
mov rdx, r14
call fcn.140204a10
test eax, eax
je 0x14022a8cf
mov rsi, qword [rsi + 0x18]
inc r15d
test rsi, rsi
jne 0x14022a882
mov rcx, qword [rsp + 0x60]
lea r8, str.no_such_savepoint:__s
mov r9, r14
mov rdx, rdi
add rcx, 0x48
mov r15, rdi
call fcn.140202260
mov esi, dword [rsp + 0x40]
mov ecx, 1
inc esi
mov dword [rsp + 0x44], ecx
jmp 0x14022dafb
cmp dword [rdi + 0xa4], 0
jle 0x14022a8e2
cmp r12d, 1
je 0x14022ddf2
cmp qword [rsi + 0x18], 0
jne 0x14022a945
cmp byte [rdi + 0x55], 0
je 0x14022a945
mov r14d, 1
mov dword [rbp - 0x78], r14d
cmp r12d, r14d
jne 0x14022a94f
mov rbx, qword [rsp + 0x60]
mov rdx, qword [rbx]
mov rax, qword [rdx + 0x310]
add rax, qword [rdx + 0x308]
test rax, rax
jg 0x14022de2a
mov rcx, rbx
mov byte [rdi + 0x4e], r14b
call fcn.140223c10
cmp eax, 5
je 0x14022de07
mov byte [rdi + 0x55], 0
mov ecx, dword [rbx + 0x84]
mov dword [rsp + 0x44], ecx
jmp 0x14022aa2c
xor ecx, ecx
mov r14d, ecx
mov dword [rbp - 0x78], ecx
jmp 0x14022a951
xor ecx, ecx
mov eax, dword [rdi + 0x2fc]
sub eax, r15d
lea r15d, [rax - 1]
cmp r12d, 2
jne 0x14022a9ae
mov rax, qword [rsp + 0x70]
mov edi, ecx
cmp dword [rax + 0x28], 0
jle 0x14022a9b1
mov rbx, rcx
mov r12, rax
mov r14d, 4
nop dword [rax]
mov rcx, qword [r12 + 0x20]
mov edx, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.140217f20
inc edi
lea rbx, [rbx + 0x20]
cmp edi, dword [r12 + 0x28]
jl 0x14022a980
mov r14d, dword [rbp - 0x78]
mov r12d, dword [rbp - 0x70]
mov rax, qword [rsp + 0x70]
jmp 0x14022a9b1
mov rax, rdi
xor ecx, ecx
mov edi, ecx
cmp dword [rax + 0x28], ecx
jle 0x14022a9f2
mov ebx, ecx
nop dword [rax]
mov rcx, qword [rax + 0x20]
mov r8d, r15d
mov edx, r12d
mov rcx, qword [rbx + rcx + 8]
call fcn.140218140
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022de9e
mov rax, qword [rsp + 0x70]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x14022a9c0
mov rdi, qword [rsp + 0x70]
cmp r12d, 2
jne 0x14022aa2c
test byte [rdi + 0x2c], r12b
je 0x14022aa2c
mov rax, qword [rdi + 8]
test rax, rax
je 0x14022aa20
nop dword [rax]
or dword [rax + 0x8c], 0x20
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x14022aa10
mov rcx, rdi
call fcn.14023e870
or dword [rdi + 0x2c], 2
cmp qword [rdi + 0x2f0], rsi
je 0x14022aa69
nop word [rax + rax]
mov rdx, qword [rdi + 0x2f0]
mov rcx, rdi
mov rax, qword [rdx + 0x18]
mov qword [rdi + 0x2f0], rax
call fcn.140201d40
dec dword [rdi + 0x2fc]
cmp qword [rdi + 0x2f0], rsi
jne 0x14022aa40
cmp r12d, 1
jne 0x14022aa96
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, rdi
mov qword [rdi + 0x2f0], rax
call fcn.140201d40
test r14d, r14d
jne 0x14022d96c
dec dword [rdi + 0x2fc]
jmp 0x14022aab5
mov rax, qword [rsi + 8]
mov qword [rdi + 0x308], rax
mov rax, qword [rsi + 0x10]
mov qword [rdi + 0x310], rax
test r14d, r14d
jne 0x14022d96c
mov r8d, r15d
mov r15, qword [rsp + 0x70]
mov edx, r12d
mov rcx, r15
call fcn.1402692e0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022dea3
mov esi, dword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
jmp 0x14022d9bf
mov edx, dword [r14 + r12*8 + 8]
test edx, edx
je 0x14022aafb
test dword [r15 + 0x2c], 0x2000000
jne 0x14022de56
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax + 8]
test rsi, rsi
je 0x14022ac37
mov rcx, rsi
call fcn.140216c30
mov ecx, eax
mov dword [rsp + 0x44], eax
cmp eax, 5
je 0x14022de63
test eax, eax
jne 0x14022dea3
cmp dword [r14 + r12*8 + 8], eax
je 0x14022ac09
mov rbx, qword [rsp + 0x60]
test byte [rbx + 0x8c], 0x80
je 0x14022ac09
cmp byte [r15 + 0x4e], al
je 0x14022ab66
cmp dword [r15 + 0xa0], 1
jle 0x14022ac09
cmp dword [rbx + 0x9c], 0
jne 0x14022ab8a
inc dword [r15 + 0x300]
mov ecx, dword [r15 + 0x300]
add ecx, dword [r15 + 0x2fc]
mov dword [rbx + 0x9c], ecx
mov r8d, dword [rbx + 0x9c]
xor edx, edx
mov rcx, r15
dec r8d
call fcn.1402692e0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022abed
mov edi, dword [rbx + 0x9c]
mov rbx, qword [rsi + 8]
mov rcx, rsi
call fcn.140213f70
mov rcx, qword [rbx]
mov edx, edi
call fcn.140210900
cmp byte [rsi + 0x11], 0
mov dword [rsp + 0x44], eax
je 0x14022abe8
dec dword [rsi + 0x14]
jne 0x14022abe8
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x14022abe4
call qword [0x1403ee1b8]
mov byte [rsi + 0x12], 0
mov rbx, qword [rsp + 0x60]
mov rax, qword [r15 + 0x308]
mov qword [rbx + 0xd0], rax
mov rax, qword [r15 + 0x310]
mov qword [rbx + 0xd8], rax
lea r8, [rbp + 0x38]
mov edx, 1
mov rcx, rsi
call fcn.14021d740
mov rax, qword [r15 + 0x20]
movsxd rcx, dword [r14 + r12*8 + 4]
mov ebx, dword [rbp + 0x38]
shl rcx, 5
xor r11d, r11d
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rcx + 4]
jmp 0x14022ac40
mov ebx, r11d
mov eax, r11d
mov dword [rbp + 0x38], ebx
cmp byte [r14 + r12*8 + 3], 0
je 0x14022970e
cmp ebx, dword [r14 + r12*8 + 0xc]
jne 0x14022ac5e
cmp eax, dword [r14 + r12*8 + 0x10]
je 0x14022970e
mov rdi, qword [rsp + 0x60]
mov rcx, r15
mov rdx, qword [rdi + 0x48]
call fcn.140201d40
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.140202180
mov qword [rdi + 0x48], rax
movsxd rdx, dword [r14 + r12*8 + 4]
mov rax, qword [r15 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x14022aca3
mov rcx, r15
call fcn.14023e820
mov esi, dword [rsp + 0x40]
mov rax, rdi
mov ecx, 0x11
or dword [rax + 0x8c], 0x20
mov dword [rsp + 0x44], ecx
jmp 0x14022d9bf
movsxd rax, dword [r14 + r12*8 + 4]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r14 + r12*8 + 0xc]
shl rax, 5
lea r8, [rbp + 0x58]
mov rcx, qword [rax + rcx + 8]
call fcn.14021d740
movsxd rax, dword [rbp + 0x58]
mov qword [r13 + 0x18], rax
jmp 0x14022a83d
movsxd rax, dword [r14 + r12*8 + 0xc]
movsxd rbx, dword [r14 + r12*8 + 4]
shl rbx, 5
add rbx, qword [r15 + 0x20]
imul rdi, rax, 0x38
add rdi, r10
mov rcx, rdi
call fcn.140220530
mov r8d, dword [rdi + 0x18]
mov edx, dword [r14 + r12*8 + 8]
mov rcx, qword [rbx + 8]
call fcn.14021d7e0
mov dword [rsp + 0x44], eax
mov eax, dword [r14 + r12*8 + 8]
cmp eax, 1
jne 0x14022ad3d
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdi + 0x18]
mov dword [rcx], eax
or dword [r15 + 0x2c], 2
jmp 0x14022ad4d
cmp eax, 2
jne 0x14022ad4d
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rdi + 0x18]
mov byte [rcx + 0x70], al
cmp dword [r14 + r12*8 + 4], 1
jne 0x140228b73
mov rax, qword [r15 + 8]
test rax, rax
je 0x14022ad80
nop dword [rax]
nop word [rax + rax]
or dword [rax + 0x8c], 0x20
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x14022ad70
and dword [rsi + 0x8c], 0xffffffdf
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x14022d9bf
test byte [rsi + 0x8c], 0x20
jne 0x14022debd
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov esi, r11d
movsxd r15, dword [rdx + r12*8 + 8]
movsxd r12, dword [rdx + r12*8 + 0xc]
mov r14, r11
mov rax, r12
shl rax, 5
add rax, qword [rcx + 0x20]
mov r13, qword [rax + 8]
cmp dil, 0x35
jne 0x14022adf0
mov rax, qword [rax + 0x18]
mov edi, r9d
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x60]
cmp cl, byte [rax + 0x8b]
jae 0x14022adf3
mov byte [rax + 0x8b], cl
jmp 0x14022adf3
mov edi, r11d
mov rcx, qword [rbp - 0x68]
test byte [rdx + rcx*8 + 3], 2
je 0x14022ae27
imul rbx, r15, 0x38
mov rax, r15
add rbx, r10
mov rcx, rbx
call fcn.140220530
mov r15d, dword [rbx + 0x18]
cmp r15d, 2
jl 0x14022de77
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rsp + 0x68]
movzx eax, byte [rdx + rcx*8 + 1]
cmp al, 0xfa
jne 0x14022ae43
mov r14, qword [rdx + rcx*8 + 0x10]
movzx esi, word [r14 + 8]
movzx eax, word [r14 + 6]
add esi, eax
jmp 0x14022ae4b
cmp al, 0xf2
jne 0x14022ae4b
mov esi, dword [rdx + rcx*8 + 0x10]
mov edx, dword [rdx + rcx*8 + 4]
mov rcx, qword [rsp + 0x60]
mov r9d, r12d
mov r8d, esi
mov dword [rsp + 0x20], 1
call fcn.140228460
mov rbx, rax
test rax, rax
je 0x14022b3f8
mov rcx, qword [rax]
or dword [rax + 0x28], 4
mov r9, r14
mov qword [rsp + 0x20], rcx
mov r8d, edi
mov edx, r15d
mov rcx, r13
mov byte [rax + 0x25], 1
call fcn.140218220
mov rdx, qword [rbp - 0x68]
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
mov esi, dword [rsp + 0x40]
mov dword [rsp + 0x44], eax
mov rax, qword [rbx]
mov qword [rbx + 0x10], r14
mov r14, qword [rsp + 0x68]
movzx ecx, byte [r14 + rdx*8 + 3]
xor r11d, r11d
and cl, 1
mov byte [rax + 0x71], cl
cmp byte [r14 + rdx*8 + 1], 0xfa
mov ecx, dword [rsp + 0x44]
mov eax, r11d
setne al
add eax, eax
xor eax, dword [rbx + 0x28]
and eax, 2
xor dword [rbx + 0x28], eax
jmp 0x14022d9c2
mov r8d, dword [r14 + r12*8 + 8]
mov edx, dword [r14 + r12*8 + 4]
mov dword [rsp + 0x20], r9d
or r9d, 0xffffffff
mov rcx, rsi
call fcn.140228460
mov rdi, rax
test rax, rax
je 0x14022e17c
mov rbx, qword [rsp + 0x68]
mov byte [rax + 0x25], 1
mov dword [rsp + 0x28], 0x41e
movzx ecx, byte [rbx + r12*8 + 3]
lea r9, [rax + 8]
mov r8, r15
or ecx, 5
xor edx, edx
mov dword [rsp + 0x20], ecx
mov rcx, qword [r15]
call fcn.140215b00
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022b011
mov rcx, qword [rdi + 8]
lea edx, [rax + 1]
call fcn.140216c30
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022b011
mov r15, qword [rbx + r12*8 + 0x10]
test r15, r15
je 0x14022afe6
mov rsi, qword [rdi + 8]
movzx ebx, byte [rbx + r12*8 + 3]
mov rcx, rsi
or ebx, 2
call fcn.140213f70
lea rdx, [rbp + 0x54]
mov r8d, ebx
mov rcx, rsi
call fcn.14021cdc0
cmp byte [rsi + 0x11], 0
mov dword [rsp + 0x44], eax
je 0x14022afb7
dec dword [rsi + 0x14]
jne 0x14022afb7
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x14022afaf
call qword [0x1403ee1b8]
mov eax, dword [rsp + 0x44]
mov byte [rsi + 0x12], 0
test eax, eax
jne 0x14022afe0
mov rax, qword [rdi]
mov edx, dword [rbp + 0x54]
mov rcx, qword [rdi + 8]
mov r9, r15
mov r8d, 1
mov qword [rsp + 0x20], rax
mov qword [rdi + 0x10], r15
call fcn.140218220
mov dword [rsp + 0x44], eax
and dword [rdi + 0x28], 0xfffffffd
jmp 0x14022b00c
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
mov ebx, 1
xor r9d, r9d
mov r8d, ebx
mov edx, ebx
mov qword [rsp + 0x20], rax
call fcn.140218220
or dword [rdi + 0x28], 2
mov dword [rsp + 0x44], eax
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
xor r11d, r11d
cmp byte [r14 + r12*8 + 3], 8
mov eax, r11d
setne al
shl eax, 2
xor eax, dword [rdi + 0x28]
and eax, 4
xor dword [rdi + 0x28], eax
jmp 0x14022d9c2
mov r8d, dword [r14 + r12*8 + 8]
mov edx, dword [r14 + r12*8 + 4]
mov dword [rsp + 0x20], r9d
or r9d, 0xffffffff
mov rcx, rsi
call fcn.140228460
test rax, rax
je 0x14022e17c
mov rcx, qword [r14 + r12*8 + 0x10]
mov rdx, rax
mov qword [rax + 0x10], rcx
mov rcx, r15
call fcn.14022f800
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x14022d9bf
mov r8d, dword [r14 + r12*8 + 0xc]
mov edx, dword [r14 + r12*8 + 4]
or r9d, 0xffffffff
mov rcx, rsi
mov dword [rsp + 0x20], r11d
call fcn.140228460
test rax, rax
je 0x14022e17c
mov byte [rax + 0x25], 1
mov ecx, dword [r14 + r12*8 + 8]
or dword [rax + 0x28], 2
mov dword [rax + 0x1c], ecx
jmp 0x14022a83d
movsxd rax, dword [r14 + r12*8 + 4]
mov rdx, qword [rsi + 0x60]
mov rcx, rsi
mov rdx, qword [rdx + rax*8]
call fcn.140223120
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
xor r11d, r11d
mov qword [rax + rcx*8], r11
mov ecx, dword [rsp + 0x40]
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x14022a84a
mov rax, qword [rsi + 0x60]
movsxd rcx, dword [r14 + r12*8 + 4]
movzx esi, byte [r14 + r12*8]
mov rbx, qword [rax + rcx*8]
test byte [rbx + 0x28], 2
mov byte [rbx + 0x25], 0
je 0x14022b1fd
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rdi, rax, 0x38
add rdi, r10
mov rcx, rdi
call fcn.140228550
mov rcx, rdi
call fcn.1402203e0
mov byte [rbx + 0x26], 0
movzx ecx, word [rdi + 0x24]
mov r14, rax
test cl, 4
jne 0x14022b182
test cl, 8
jne 0x14022b157
mov r14, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov ecx, dword [r14 + r12*8 + 8]
jmp 0x14022a843
movsd xmm0, qword [rdi + 0x10]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
comisd xmm1, xmm0
jbe 0x14022b174
test sil, 1
jne 0x14022b182
dec esi
jmp 0x14022b182
comisd xmm0, xmm1
jbe 0x14022b182
test sil, 1
je 0x14022b182
inc esi
mov rcx, qword [rbx]
lea rax, [rbp - 0x7c]
xor r9d, r9d
mov r8, r14
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.140218fc0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022dea3
cmp dword [rbp - 0x7c], eax
jne 0x14022b1b6
mov byte [rbx + 0x26], 1
mov qword [rbx + 0x48], r14
mov r14, qword [rsp + 0x68]
xor r11d, r11d
mov byte [rbx + 0x27], 0
mov dword [rbx + 0x58], r11d
mov eax, dword [rbp - 0x7c]
cmp esi, 0x3d
jl 0x14022b293
test eax, eax
js 0x14022b281
jne 0x14022b1e5
cmp esi, 0x3e
je 0x14022b281
mov dword [rbp - 0x7c], r11d
mov ecx, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x14022a84a
mov rax, qword [rbx + 0x10]
mov ecx, dword [r14 + r12*8 + 0x10]
mov qword [rbp + 0x1e0], rax
mov word [rbp + 0x1e8], cx
lea eax, [rsi - 1]
test al, 1
mov eax, r9d
mov ecx, 0xffffffff
cmovne eax, ecx
mov byte [rbp + 0x1ea], al
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x4000
add rcx, r10
mov qword [rbp + 0x1f0], rcx
test word [rcx + 0x24], ax
je 0x14022b24d
call fcn.140220090
mov rcx, qword [rbx]
lea rax, [rbp - 0x7c]
lea rdx, [rbp + 0x1e0]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.140218fc0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022dea3
mov byte [rbx + 0x26], al
jmp 0x14022b1bb
mov dword [rbp - 0x7c], r11d
mov rcx, qword [rbx]
lea rdx, [rbp - 0x7c]
call fcn.140219510
jmp 0x14022b2c0
test eax, eax
jg 0x14022b2b0
jne 0x14022b29e
cmp esi, 0x3b
je 0x14022b2b0
mov rax, qword [rbx]
mov ecx, r11d
cmp byte [rax + 0x6f], 1
setne cl
mov dword [rbp - 0x7c], ecx
jmp 0x14022b2d5
mov dword [rbp - 0x7c], r11d
mov rcx, qword [rbx]
lea rdx, [rbp - 0x7c]
call fcn.1402196b0
mov dword [rsp + 0x44], eax
mov ecx, eax
test eax, eax
jne 0x14022dea3
xor r11d, r11d
mov byte [rbx + 0x26], r11b
cmp dword [rbp - 0x7c], 0
je 0x14022b1e9
mov ecx, dword [r14 + r12*8 + 8]
mov rsi, qword [rsp + 0x60]
dec ecx
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x14022a84a
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 0x25], 0
movsxd rax, dword [r14 + r12*8 + 8]
imul rcx, rax, 0x38
add rcx, r10
call fcn.1402203e0
mov word [rbx + 0x26], 0x100
mov qword [rbx + 0x40], rax
jmp 0x14022a83d
mov rax, qword [rsi + 0x60]
movsxd rcx, dword [r14 + r12*8 + 4]
mov r15, r11
mov r14, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x68]
movsxd rax, dword [rcx + r12*8 + 0xc]
imul rsi, rax, 0x38
add rsi, r10
cmp dword [rcx + r12*8 + 0x10], 0
jle 0x14022b3c0
mov rax, qword [r14 + 0x10]
mov ebx, r11d
mov qword [rbp + 0x178], rax
movzx ecx, word [rcx + r12*8 + 0x10]
mov qword [rbp + 0x188], rsi
mov word [rbp + 0x180], cx
cmp r11w, cx
jae 0x14022b3b7
mov rdi, r11
mov r12d, 0x4000
test word [rdi + rsi + 0x24], r12w
je 0x14022b3a6
movsxd rax, ebx
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140220090
mov rsi, qword [rbp + 0x188]
movzx ecx, word [rbp + 0x180]
inc ebx
movzx eax, cx
add rdi, 0x38
cmp ebx, eax
jl 0x14022b381
mov r12, qword [rbp - 0x68]
lea rdi, [rbp + 0x178]
jmp 0x14022b438
mov rbx, qword [r14 + 0x10]
lea rcx, [rbp + 0x280]
movzx eax, word [rbx + 6]
neg ecx
and ecx, 7
imul edx, eax, 0x38
add edx, 0x58
lea eax, [rcx + 0x107]
cmp edx, eax
jle 0x14022b402
mov rcx, qword [rbx + 0x10]
call fcn.140202010
mov rdi, rax
mov r15, rax
test rax, rax
jne 0x14022b40f
mov r15, qword [rsp + 0x70]
jmp 0x14022e17c
lea rdi, [rbp + 0x280]
movsxd rax, ecx
add rdi, rax
mov qword [rdi], rbx
lea rax, [rdi + 0x20]
mov r9, rdi
mov qword [rdi + 0x10], rax
movzx eax, word [rbx + 6]
inc ax
mov word [rdi + 8], ax
mov r8, qword [rsi + 8]
mov edx, dword [rsi + 0x20]
mov rcx, qword [r14 + 0x10]
call fcn.140224960
mov rbx, qword [rsp + 0x68]
mov byte [rdi + 0xa], 0
cmp byte [rbx + r12*8], 0x40
jne 0x14022b472
movzx edx, word [rbp + 0x180]
xor ecx, ecx
test rdx, rdx
jle 0x14022b472
mov rax, qword [rbp + 0x188]
add rax, 0x24
test byte [rax], 1
jne 0x14022b4b4
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x14022b461
mov esi, dword [rsp + 0x40]
mov rcx, qword [r14]
lea rax, [rbp + 0x5c]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.140218fc0
cmp dword [rbx + r12*8 + 0x10], 0
mov ecx, eax
mov dword [rsp + 0x44], eax
jne 0x14022b4c1
mov rdx, r15
mov r15, qword [rsp + 0x70]
mov rcx, r15
call fcn.140201d40
mov ecx, dword [rsp + 0x44]
jmp 0x14022b4c6
mov esi, dword [rbx + r12*8 + 8]
dec esi
mov dword [rsp + 0x40], esi
jmp 0x14022b476
mov r15, qword [rsp + 0x70]
test ecx, ecx
jne 0x14022d9bc
mov eax, dword [rbp + 0x5c]
xor r11d, r11d
mov r9d, 1
test eax, eax
mov dword [r14 + 0x18], eax
mov byte [r14 + 0x27], r11b
mov dword [r14 + 0x58], r11d
mov ecx, r11d
sete cl
mov eax, r9d
sub al, cl
mov byte [r14 + 0x25], al
cmp byte [rbx + r12*8], 0x42
mov r14, rbx
jne 0x14022b53a
test ecx, ecx
je 0x14022b521
mov ecx, dword [rbx + r12*8 + 8]
mov rsi, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
dec ecx
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x14022a855
mov ecx, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x14022a855
test ecx, ecx
jne 0x14022b521
mov ecx, dword [r14 + r12*8 + 8]
mov rsi, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
dec ecx
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x14022a855
movsxd rax, dword [r14 + r12*8 + 0xc]
movsxd rcx, dword [r14 + r12*8 + 4]
xor r9d, r9d
xor edx, edx
mov dword [rbp + 0x40], r11d
imul rbx, rax, 0x38
mov rax, qword [rsi + 0x60]
add rbx, r10
mov rdi, qword [rax + rcx*8]
mov r8, qword [rbx + 0x18]
lea rax, [rbp + 0x40]
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.140218fc0
mov ecx, dword [rbp + 0x40]
mov dword [rsp + 0x44], eax
mov rax, qword [rbx + 0x18]
test ecx, ecx
mov qword [rdi + 0x48], rax
sete al
xor r11d, r11d
mov dword [rdi + 0x58], r11d
mov byte [rdi + 0x27], r11b
mov byte [rdi + 0x26], al
mov byte [rdi + 0x25], 0
test ecx, ecx
je 0x14022b5ce
mov esi, dword [r14 + r12*8 + 8]
mov dword [rdi + 0x18], ecx
mov ecx, dword [rsp + 0x44]
dec esi
jmp 0x14022d9c2
mov esi, dword [rsp + 0x40]
mov dword [rdi + 0x18], ecx
mov ecx, dword [rsp + 0x44]
jmp 0x14022d9c2
mov rax, qword [rsi + 0x60]
movsxd rcx, dword [r14 + r12*8 + 4]
mov ebx, dword [rsp + 0x48]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
mov qword [r13 + 0x18], rax
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
mov rdx, qword [rax + rcx*8]
mov ecx, dword [rsp + 0x40]
inc qword [rdx + 0x38]
inc ecx
jmp 0x14022879e
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
mov rbx, r11
mov rsi, qword [rax + rcx*8]
mov qword [rbp - 0x48], rbx
mov dword [rbp - 0x80], r11d
mov rdi, qword [rsi]
test rdi, rdi
je 0x14022b816
test byte [rsi + 0x28], 1
jne 0x14022b6b0
cmp byte [rdi + 0x6f], 1
jne 0x14022b649
cmp byte [rdi + 0x6d], 0
jne 0x14022b69c
mov rcx, rdi
call fcn.140218cb0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022b691
cmp byte [rdi + 0x6f], al
jne 0x14022b672
mov eax, 1
mov edi, ecx
mov dword [rsp + 0x44], ecx
mov dword [rbp - 0x80], eax
mov ebx, eax
jmp 0x14022b6b0
mov rcx, rdi
mov dword [rbp - 0x80], 0
call fcn.140218f20
mov dword [rsp + 0x44], eax
test eax, eax
mov ecx, dword [rsp + 0x44]
sete al
mov byte [rdi + 0x6d], al
test ecx, ecx
jne 0x14022dea3
xor r11d, r11d
mov rcx, qword [rsi]
cmp byte [rcx + 0x6f], 1
je 0x14022b6f6
mov rbx, r11
mov dword [rsp + 0x44], r11d
inc rbx
movsxd rdx, dword [r14 + r12*8 + 0xc]
test edx, edx
je 0x14022b75c
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0xf0]
test rcx, rcx
je 0x14022b71c
mov rax, qword [rcx + 8]
test rax, rax
je 0x14022b6ec
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14022b6e0
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x14022b725
lea rdx, [rbp - 0x48]
call fcn.140218450
mov rbx, qword [rbp - 0x48]
mov dword [rsp + 0x44], eax
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jl 0x14022b6ad
or dword [rsi + 0x28], 1
jmp 0x14022b6b0
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.140220530
mov rax, qword [rdi + 0x18]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14022ded3
test byte [rsi + 0x28], 1
jne 0x14022ded3
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rdi + 0x18], rbx
test byte [rsi + 0x28], 1
je 0x14022b809
mov rbx, qword [rbp - 0x50]
mov rcx, qword [rsi]
lea rax, [rbp - 0x80]
movabs r12, 0x3fffffffffffffff
xor r9d, r9d
xor edx, edx
and rbx, r12
xor edi, edi
mov qword [rsp + 0x20], rax
inc rbx
mov r8, rbx
mov qword [rbp - 0x48], rbx
call fcn.140218fc0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022b809
mov eax, dword [rbp - 0x80]
test eax, eax
jne 0x14022b7fd
inc edi
cmp edi, 0x64
jge 0x14022b7fd
lea rdx, [rbp - 0x48]
lea ecx, [rax + 8]
call fcn.140203db0
mov rbx, qword [rbp - 0x48]
cmp edi, 5
jge 0x14022b7ce
and ebx, 0xffffff
jmp 0x14022b7d1
and rbx, r12
mov rcx, qword [rsi]
inc rbx
lea rax, [rbp - 0x80]
mov r8, rbx
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x48], rbx
call fcn.140218fc0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
je 0x14022b7a3
jmp 0x14022b809
test ecx, ecx
jne 0x14022b809
test eax, eax
je 0x14022ded3
xor r11d, r11d
mov word [rsi + 0x26], 0
mov dword [rsi + 0x58], r11d
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
mov qword [r13 + 0x18], rbx
jmp 0x14022d9c2
movsxd rax, dword [r14 + r12*8 + 8]
movsxd rcx, dword [r14 + r12*8 + 4]
imul r9, rax, 0x38
mov rax, qword [rsi + 0x60]
add r9, r10
mov rsi, qword [rax + rcx*8]
cmp dil, 0x46
jne 0x14022b856
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rcx, rax, 0x38
mov rbx, qword [rcx + r10 + 0x18]
jmp 0x14022b85b
movsxd rbx, dword [r14 + r12*8 + 0xc]
test byte [r14 + r12*8 + 3], 1
je 0x14022b86e
mov rax, qword [rsp + 0x60]
inc dword [rax + 0x90]
test byte [r14 + r12*8 + 3], 2
je 0x14022b87e
mov qword [rbp - 0x50], rbx
mov qword [r15 + 0x30], rbx
movzx eax, word [r9 + 0x24]
test al, 1
je 0x14022b88f
mov qword [r9 + 8], r11
mov dword [r9 + 0x20], r11d
movzx r8d, byte [r14 + r12*8 + 3]
test r8b, 0x10
je 0x14022b8a0
mov edx, dword [rsi + 0x18]
jmp 0x14022b8a3
mov edx, r11d
mov ecx, 0x4000
test cx, ax
je 0x14022b8b3
mov ecx, dword [r9 + 0x18]
jmp 0x14022b8b6
mov ecx, r11d
mov dword [rsp + 0x38], edx
movzx eax, r8b
mov r8, rbx
shr eax, 3
xor edx, edx
and eax, 1
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0x20]
mov r9, qword [r9 + 8]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsi]
mov dword [rsp + 0x20], eax
call fcn.14021c820
xor r11d, r11d
mov word [rsi + 0x26], 0
mov ecx, eax
mov dword [rsp + 0x44], eax
mov dword [rsi + 0x58], r11d
test eax, eax
jne 0x140229712
mov r10, qword [r15 + 0x100]
test r10, r10
je 0x140229712
mov r9, qword [r14 + r12*8 + 0x10]
test r9, r9
je 0x140229712
movsx rax, byte [rsi + 0x24]
mov r8, qword [r15 + 0x20]
mov edx, 0x12
shl rax, 5
test byte [r14 + r12*8 + 3], 4
mov ecx, 0x17
mov r8, qword [rax + r8]
cmovne edx, ecx
mov rcx, qword [r15 + 0xf8]
mov qword [rsp + 0x20], rbx
call r10
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x14022d9bf
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
mov rdi, qword [rbx + 0x48]
call fcn.1402244f0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022dea8
mov rcx, qword [rbx]
call fcn.14021cad0
xor r11d, r11d
mov ecx, eax
mov dword [rsp + 0x44], eax
mov dword [rbx + 0x58], r11d
test eax, eax
jne 0x14022b9e4
mov r10, qword [r15 + 0x100]
test r10, r10
je 0x14022b9e4
mov r9, qword [r14 + r12*8 + 0x10]
test r9, r9
je 0x14022b9e4
test byte [rbx + 0x28], 2
je 0x14022b9e4
movsx rax, byte [rbx + 0x24]
mov r8, qword [r15 + 0x20]
lea edx, [rcx + 9]
mov rcx, qword [r15 + 0xf8]
shl rax, 5
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + r8]
call r10
mov ecx, dword [rsp + 0x44]
xor r11d, r11d
test byte [r14 + r12*8 + 8], 1
mov r10, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x48]
mov edi, 0x2460
mov r8d, 0x1000
je 0x14022ba06
inc dword [rsi + 0x90]
mov esi, dword [rsp + 0x40]
jmp 0x14022d9d6
mov eax, dword [rsi + 0x90]
mov ecx, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
add dword [r15 + 0x64], eax
mov dword [r15 + 0x60], eax
mov dword [rsi + 0x90], r11d
inc ecx
jmp 0x1402287a3
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
mov edi, dword [r14 + r12*8 + 0x10]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r14 + r12*8 + 0xc]
mov rcx, qword [rbx + 0x50]
imul rdx, rax, 0x38
add rdx, r10
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x14022ba74
movsxd rax, dword [rax + 4]
shl rax, 6
add rax, qword [rcx + 0x28]
mov r10d, dword [rax + 0x14]
mov r8, qword [rax + 0x28]
jmp 0x14022ba7f
mov rax, qword [rcx + 0x40]
mov r10d, dword [rax + 8]
mov r8, qword [rax]
mov r14d, dword [rdx + 0x20]
mov r15, qword [rdx + 8]
mov rbx, qword [rbx + 0x10]
mov rsi, qword [rcx + 0x48]
test r8, r8
je 0x14022baa2
mov r9, rsi
mov edx, r10d
mov rcx, rbx
call fcn.140224960
test edi, edi
je 0x14022bad5
movzx eax, word [rbx + 6]
xor r11d, r11d
sub ax, di
mov ecx, r11d
movzx edx, ax
mov word [rsi + 8], dx
test edx, edx
jle 0x14022bad5
mov rax, qword [rsi + 0x10]
add rax, 0x24
test byte [rax], 1
jne 0x14022bb13
inc ecx
add rax, 0x38
cmp ecx, edx
jl 0x14022bac6
xor r9d, r9d
mov r8, rsi
mov rdx, r15
mov ecx, r14d
call fcn.140225190
xor r11d, r11d
mov dword [rsp + 0x44], r11d
test eax, eax
je 0x14022bb1a
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
mov ecx, dword [r14 + r12*8 + 8]
dec ecx
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x14022a84a
mov dword [rsp + 0x44], r11d
jmp 0x14022baf2
mov ecx, dword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x14022a84a
movsxd rax, dword [r14 + r12*8 + 8]
movsxd rcx, dword [r14 + r12*8 + 4]
imul r13, rax, 0x38
mov rax, qword [rsi + 0x60]
add r13, r10
mov rcx, qword [rax + rcx*8]
mov rdx, r13
mov qword [rsp + 0x78], r13
call fcn.1402308a0
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x14022d9bf
movsxd rax, dword [r14 + r12*8 + 8]
movsxd rcx, dword [r14 + r12*8 + 4]
imul r13, rax, 0x38
mov rax, qword [rsi + 0x60]
add r13, r10
mov rsi, qword [rax + rcx*8]
mov qword [rsp + 0x78], r13
mov rdi, qword [rsi]
mov rcx, rsi
call fcn.1402244f0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022dea3
test byte [rsi + 0x28], 2
jne 0x14022bbe0
cmp byte [rdi + 0x6f], 1
je 0x14022bbbb
xor ebx, ebx
mov qword [rbp + 0x150], rbx
jmp 0x14022bbd1
lea rdx, [rbp + 0x150]
mov rcx, rdi
call fcn.140218450
mov rbx, qword [rbp + 0x150]
movsxd rax, dword [r15 + 0x68]
cmp rbx, rax
jg 0x14022dfd0
jmp 0x14022bc3c
cmp word [rdi + 0x56], 0
jne 0x14022bc2f
movsx rax, word [rdi + 0x72]
lea r8, [rdi + 0x38]
mov r10, qword [rdi + rax*8 + 0xa0]
movzx eax, word [rdi + rax*2 + 0x74]
mov rcx, qword [r10 + 0x60]
mov r9d, eax
movzx eax, byte [rcx + rax*2]
shl eax, 8
movsxd rdx, eax
movzx eax, byte [rcx + r9*2 + 1]
mov rcx, r10
or rdx, rax
movzx eax, word [r10 + 0x12]
and rdx, rax
add rdx, qword [r10 + 0x50]
call fcn.140214c80
mov byte [rdi + 0x6e], 1
mov ebx, dword [rdi + 0x48]
cmp ebx, dword [r15 + 0x68]
ja 0x14022dfd0
xor r8d, r8d
mov edx, ebx
mov rcx, r13
call fcn.14021feb0
test eax, eax
jne 0x14022e17c
mov r9, qword [r13 + 8]
mov eax, 0xbe10
mov dword [r13 + 0x20], ebx
and word [r13 + 0x24], ax
or word [r13 + 0x24], 0x10
xor edx, edx
test byte [rsi + 0x28], 2
mov r8d, ebx
mov rcx, rdi
jne 0x14022bc94
mov dword [rsp + 0x20], edx
call fcn.140218720
mov esi, dword [rsp + 0x40]
mov dword [rsp + 0x44], eax
mov ecx, eax
mov byte [r13 + 0x26], 1
jmp 0x14022d9bf
call fcn.140218ae0
mov esi, dword [rsp + 0x40]
mov byte [r13 + 0x26], 1
mov dword [rsp + 0x44], eax
mov ecx, eax
jmp 0x14022d9bf
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 0x25], 0
je 0x14022bcd4
mov ecx, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
mov word [r13 + 0x24], r9w
inc ecx
jmp 0x1402287a3
cmp byte [rbx + 0x27], 0
je 0x14022bcf3
mov rax, qword [rbx + 0x40]
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
mov qword [rbp + 0x20], rax
mov qword [r13 + 0x18], rax
jmp 0x14022d9c2
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14022bd1a
mov rbx, qword [rcx]
lea rdx, [rbp + 0x20]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, rsi
mov dword [rsp + 0x44], eax
call fcn.140225e00
jmp 0x14022bd82
mov rcx, rbx
call fcn.1402244f0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022dea8
cmp byte [rbx + 0x26], al
je 0x14022bd4d
mov rax, qword [rbx + 0x48]
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov qword [rbp + 0x20], rax
mov qword [r13 + 0x18], rax
jmp 0x14022d9c2
mov rcx, qword [rbx]
cmp byte [rcx + 0x6f], 1
je 0x14022bd75
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov eax, r11d
mov qword [rbp + 0x20], r11
mov dword [rsp + 0x44], r11d
mov qword [r13 + 0x18], rax
mov ecx, r11d
jmp 0x14022d9c2
lea rdx, [rbp + 0x20]
call fcn.140218450
mov dword [rsp + 0x44], eax
mov rax, qword [rbp + 0x20]
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
mov qword [r13 + 0x18], rax
xor r11d, r11d
jmp 0x14022d9c2
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
mov rdx, qword [rax + rcx*8]
mov rbx, qword [rdx]
mov word [rdx + 0x25], 1
mov dword [rdx + 0x58], r11d
test rbx, rbx
je 0x14022bdcd
mov rcx, qword [rbx + 0x60]
call fcn.140201c90
xor r11d, r11d
mov qword [rbx + 0x60], r11
mov byte [rbx + 0x6f], r11b
mov ecx, dword [rsp + 0x40]
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x14022a84a
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
mov edi, r11d
mov rsi, qword [rax + rcx*8]
mov rbx, qword [rsi]
cmp byte [rbx + 0x6f], 1
jne 0x14022be02
cmp byte [rbx + 0x6d], 0
je 0x14022be02
mov dword [rsp + 0x44], r11d
jmp 0x14022be35
mov rcx, rbx
call fcn.140218cb0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022be32
cmp byte [rbx + 0x6f], al
jne 0x14022be1c
lea edi, [rax + 1]
jmp 0x14022be32
mov rcx, rbx
xor edi, edi
call fcn.140218f20
test eax, eax
mov dword [rsp + 0x44], eax
sete al
mov byte [rbx + 0x6d], al
xor r11d, r11d
mov byte [rsi + 0x25], dil
mov word [rsi + 0x26], 0
mov dword [rsi + 0x58], r11d
mov eax, dword [r14 + r12*8 + 8]
test eax, eax
jle 0x14022970e
mov ecx, dword [rsp + 0x44]
mov r10, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x48]
test edi, edi
mov r8d, 0x1000
mov edi, 0x2460
je 0x14022ba06
lea esi, [rax - 1]
jmp 0x14022d9d6
inc dword [rsi + 0xa8]
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
mov edi, r9d
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x3c], r9d
cmp qword [rbx + 0x50], 0
je 0x14022beb4
lea r8, [rbp + 0x3c]
mov rdx, rbx
mov rcx, r15
call fcn.140230260
mov edi, dword [rbp + 0x3c]
xor r11d, r11d
mov dword [rsp + 0x44], eax
jmp 0x14022beec
mov rsi, qword [rbx]
mov rcx, rsi
call fcn.140218cb0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022bedf
cmp byte [rsi + 0x6f], al
jne 0x14022bed1
lea edi, [rax + 1]
jmp 0x14022bedf
mov rcx, rsi
xor edi, edi
call fcn.140218e90
mov dword [rsp + 0x44], eax
xor r11d, r11d
mov word [rbx + 0x26], 0
mov dword [rbx + 0x58], r11d
mov ecx, dword [rsp + 0x44]
mov r10, qword [rsp + 0x50]
mov byte [rbx + 0x25], dil
mov ebx, dword [rsp + 0x48]
test edi, edi
mov r8d, 0x1000
mov edi, 0x2460
je 0x14022ba06
mov esi, dword [r14 + r12*8 + 8]
dec esi
jmp 0x14022d9d6
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
lea r8, [rbp - 0x40]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
mov rdx, rbx
call fcn.1402307d0
jmp 0x14022bf6f
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
cmp qword [rax + rcx*8], 0
je case.default.0x140228842
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
lea rdx, [rbp - 0x40]
mov rbx, qword [rax + rcx*8]
mov eax, dword [r14 + r12*8 + 0xc]
mov dword [rbp - 0x40], eax
mov rcx, qword [rbx]
call qword [r14 + r12*8 + 0x10]
xor r11d, r11d
mov dword [rsp + 0x44], eax
mov dword [rbx + 0x58], r11d
cmp dword [rbp - 0x40], r11d
jne 0x14022bfa6
mov rcx, qword [rsp + 0x60]
mov byte [rbx + 0x25], r11b
mov esi, dword [r14 + r12*8 + 8]
movzx eax, byte [r14 + r12*8 + 3]
dec esi
inc dword [rcx + rax*4 + 0xa0]
mov byte [rbx + 0x26], r11b
jmp 0x14022c7c6
mov esi, dword [rsp + 0x40]
mov byte [rbx + 0x25], 1
mov byte [rbx + 0x26], r11b
jmp 0x14022c7c6
mov rax, qword [rsi + 0x60]
movsxd rcx, dword [r14 + r12*8 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r14 + r12*8 + 8]
mov rsi, qword [rdi]
imul rbx, rax, 0x38
add rbx, r10
test byte [r14 + r12*8 + 3], 1
je 0x14022bfe6
mov rax, qword [rsp + 0x60]
inc dword [rax + 0x90]
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x14022c007
mov rcx, rbx
call fcn.140220090
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140228b77
cmp qword [rdi + 0x50], 0
je 0x14022c02b
mov r8, rbx
mov rdx, rdi
mov rcx, r15
call fcn.140230180
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x14022d9bf
test byte [r14 + r12*8 + 3], 0x10
je 0x14022c038
mov eax, dword [rdi + 0x18]
jmp 0x14022c03a
xor eax, eax
movsxd r8, dword [rbx + 0x20]
mov rdx, qword [rbx + 8]
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + r12*8 + 0xc]
lea r9, [0x140311bed]
mov rcx, rsi
mov dword [rsp + 0x30], eax
xor eax, eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call fcn.14021c820
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov ecx, eax
mov dword [rsp + 0x44], eax
mov dword [rdi + 0x58], r11d
jmp 0x14022d9c2
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
lea rdx, [rbp + 0x1c0]
mov rbx, qword [rax + rcx*8]
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rbx + 0x10]
mov rdi, qword [rbx]
mov byte [rbp + 0x1ca], 0
mov qword [rbp + 0x1c0], rax
movzx eax, word [r14 + r12*8 + 0xc]
mov word [rbp + 0x1c8], ax
movsxd rax, dword [r14 + r12*8 + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x50]
add rcx, r10
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x1d0], rcx
mov rcx, rdi
call fcn.140218fc0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022c0fb
cmp dword [rbp + 0x50], eax
jne 0x14022c0fb
mov rcx, rdi
call fcn.14021cad0
mov ecx, eax
mov dword [rsp + 0x44], eax
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov dword [rbx + 0x58], r11d
jmp 0x14022d9c2
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
mov rdi, qword [rbx]
mov word [r13 + 0x24], r9w
call fcn.1402244f0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022dea8
cmp byte [rbx + 0x25], al
jne 0x14022a83d
lea r8, [rbp - 0x20]
mov rdx, rdi
mov qword [rbp - 0x20], 0
call fcn.1402258a0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022dea8
mov rax, qword [rbp - 0x20]
mov qword [r13 + 0x18], rax
mov eax, 4
mov word [r13 + 0x24], ax
jmp 0x14022a83d
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
cmp dil, 0x70
mov r9, qword [rax + rcx*8]
lea r8, [rbp - 0x78]
lea rdx, [rbp + 0x1a0]
mov rax, qword [r9 + 0x10]
mov dword [rbp - 0x78], r11d
mov qword [rbp + 0x1a0], rax
movzx eax, word [r14 + r12*8 + 0x10]
mov word [rbp + 0x1a8], ax
sbb al, al
mov byte [rbp + 0x1aa], al
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0x1b0], rcx
mov rcx, r9
call fcn.140225b90
test byte [r14 + r12*8], 1
mov dword [rsp + 0x44], eax
mov eax, dword [rbp - 0x78]
jne 0x14022c1e5
neg eax
jmp 0x14022c1e7
inc eax
mov ecx, dword [rsp + 0x44]
mov r10, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x48]
mov edi, 0x2460
mov r8d, 0x1000
test eax, eax
jle 0x14022d963
mov esi, dword [r14 + r12*8 + 8]
dec esi
xor r11d, r11d
jmp 0x14022d9d6
mov rax, qword [r15 + 8]
mov edx, r11d
test rax, rax
je 0x14022c265
mov r14d, 0x200
nop dword [rax + rax]
cmp dword [rax + 0x44], 0xbdf20da3
jne 0x14022c257
mov ecx, dword [rax + 0x8c]
test r14d, ecx
je 0x14022c257
and cl, 0xc
cmp cl, 8
jae 0x14022c257
cmp dword [rax + 0x80], 0
jl 0x14022c257
inc edx
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x14022c230
mov r14, qword [rsp + 0x68]
mov word [r13 + 0x24], r9w
cmp edx, 1
jg 0x14022df47
mov rax, qword [rsp + 0x68]
movsxd r14, dword [r14 + r12*8 + 0xc]
mov dword [rbp + 0x28], r11d
mov ebx, dword [rax + r12*8 + 4]
mov rax, qword [r15 + 0x20]
mov rsi, r14
shl rsi, 5
mov rdi, qword [rax + rsi + 8]
mov rcx, rdi
call fcn.140213f70
lea r8, [rbp + 0x28]
mov edx, ebx
mov rcx, rdi
call fcn.14021d4b0
cmp byte [rdi + 0x11], 0
mov dword [rsp + 0x44], eax
je 0x14022c2d2
dec dword [rdi + 0x14]
jne 0x14022c2d2
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x14022c2ce
call qword [0x1403ee1b8]
mov byte [rdi + 0x12], 0
mov ecx, dword [rsp + 0x44]
movsxd rdx, dword [rbp + 0x28]
mov eax, 4
mov word [r13 + 0x24], ax
mov qword [r13 + 0x18], rdx
test ecx, ecx
jne 0x140229fc0
test edx, edx
je 0x140229fc0
mov rax, qword [rsp + 0x68]
mov r9, qword [r15 + 0x20]
mov r8d, dword [rax + r12*8 + 4]
mov rax, qword [rsi + r9 + 0x18]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14022c329
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x3c], edx
jne 0x14022c321
mov dword [rax + 0x3c], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14022c314
mov rax, qword [rsi + r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x14022c34c
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x14022c344
mov dword [rax + 0x58], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14022c337
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
lea r12d, [r14 + 1]
mov r14, qword [rsp + 0x68]
mov byte [rsp + 0x4c], r12b
jmp 0x14022d9bf
cmp dword [r14 + r12*8 + 0xc], 0
movsxd rax, dword [r14 + r12*8 + 8]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r14 + r12*8 + 4]
mov dword [rbp - 0x68], r11d
lea r8, [rbp - 0x68]
cmove r8, r11
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14021d3d0
cmp dword [r14 + r12*8 + 0xc], 0
mov ecx, eax
mov dword [rsp + 0x44], eax
je 0x140228b77
movsxd rdx, dword [rbp - 0x68]
mov r10, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x48]
add dword [rsi + 0x90], edx
movsxd rax, dword [r14 + r12*8 + 0xc]
mov esi, dword [rsp + 0x40]
mov edi, 0x2460
mov r8d, 0x1000
test eax, eax
jle 0x14022c20e
imul rcx, rax, 0x38
add qword [rcx + r10 + 0x18], rdx
mov ecx, dword [rsp + 0x44]
xor r11d, r11d
jmp 0x14022d9d6
movsxd rax, dword [r14 + r12*8 + 4]
mov ebx, r11d
mov dword [rbp - 0x70], r11d
shl rax, 5
add rax, qword [r15 + 0x20]
cmp dil, 0x75
mov rdi, qword [rax + 8]
setne bl
mov rcx, rdi
call fcn.140213f70
lea r8d, [rbx + 1]
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.14021cdc0
cmp byte [rdi + 0x11], 0
mov dword [rsp + 0x44], eax
je 0x14022c448
dec dword [rdi + 0x14]
jne 0x14022c448
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x14022c444
call qword [0x1403ee1b8]
mov byte [rdi + 0x12], 0
movsxd rax, dword [rbp - 0x70]
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
mov qword [r13 + 0x18], rax
jmp 0x14022d9bf
movsxd rcx, dword [r14 + r12*8 + 4]
mov r8, qword [r15 + 0x20]
lea rax, str.sqlite_master
cmp ecx, 1
mov dword [rbp + 0x170], ecx
mov qword [rbp + 0x160], r15
lea r9, str.sqlite_temp_master
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
cmovne r9, rax
shl rcx, 5
lea rax, [rsi + 0x48]
mov qword [rbp + 0x168], rax
mov rax, qword [r14 + r12*8 + 0x10]
mov r8, qword [rcx + r8]
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.1402039c0
mov rbx, rax
test rax, rax
jne 0x14022c4c6
mov dword [rsp + 0x44], 7
jmp 0x14022c51c
xor eax, eax
lea r9, [rbp + 0x160]
lea r8, [fcn.140257850]
mov rdx, rbx
mov rcx, r15
mov byte [r15 + 0x99], 1
mov dword [rbp + 0x174], eax
mov qword [rsp + 0x20], rax
call fcn.1402526b0
test eax, eax
mov rdx, rbx
mov rcx, r15
cmove eax, dword [rbp + 0x174]
mov dword [rsp + 0x44], eax
call fcn.140201d40
mov ecx, dword [rsp + 0x44]
mov byte [r15 + 0x99], 0
test ecx, ecx
je 0x14022c528
mov rcx, r15
call fcn.14023e870
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
cmp ecx, 7
je 0x14022e180
jmp 0x14022d9bf
mov edx, dword [r14 + r12*8 + 4]
mov rcx, r15
call fcn.14023c910
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x14022d9bf
mov rdx, qword [r14 + r12*8 + 0x10]
movsxd rcx, dword [r14 + r12*8 + 4]
shl rcx, 5
mov rax, rdx
add rcx, qword [r15 + 0x20]
test rdx, rdx
jne 0x14022c575
mov eax, r11d
jmp 0x14022c58f
cmp byte [rdx], 0
je 0x14022c588
nop word [rax + rax]
inc rax
cmp byte [rax], 0
jne 0x14022c580
sub eax, edx
and eax, 0x3fffffff
mov rcx, qword [rcx + 0x18]
xor r9d, r9d
mov r8d, eax
add rcx, 8
call fcn.140205df0
mov rcx, r15
mov rdx, rax
call fcn.14023e9d0
or dword [r15 + 0x2c], 2
jmp 0x14022a83d
mov r8, qword [r14 + r12*8 + 0x10]
mov edx, dword [r14 + r12*8 + 4]
mov rcx, r15
call fcn.14023e510
jmp 0x14022a83d
mov r8, qword [r14 + r12*8 + 0x10]
mov edx, dword [r14 + r12*8 + 4]
mov rcx, r15
call fcn.1402644b0
jmp 0x14022a83d
mov r12d, dword [r14 + r12*8 + 8]
mov rcx, r15
lea edx, [r12*4 + 4]
call fcn.140202010
mov r14, rax
test rax, rax
je 0x14022e17c
mov rax, qword [rbp - 0x68]
mov rdx, qword [rsp + 0x68]
xor edi, edi
movsxd rcx, dword [rdx + rax*8 + 0xc]
imul r13, rcx, 0x38
movsxd rcx, dword [rdx + rax*8 + 4]
imul r15, rcx, 0x38
add r13, qword [rsp + 0x50]
add r15, qword [rsp + 0x50]
test r12d, r12d
jle 0x14022c65f
mov rbx, r15
mov esi, r12d
mov rcx, rbx
call fcn.1402203e0
inc rdi
add rbx, 0x38
mov dword [r14 + rdi*4 - 4], eax
dec rsi
jne 0x14022c638
mov rax, qword [rbp - 0x68]
mov rdx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x70]
mov dword [r14 + rdi*4], 0
movzx eax, byte [rdx + rax*8 + 3]
mov rcx, qword [rbx + 0x20]
mov r9d, dword [r13 + 0x18]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
lea rdx, [rbp + 0x60]
mov r8d, r12d
mov qword [rsp + 0x20], rdx
mov rdx, r14
call fcn.14021e6f0
mov rdx, r14
mov rcx, rbx
mov rdi, rax
call fcn.140201d40
movsxd rbx, dword [rbp + 0x60]
sub qword [r13 + 0x18], rbx
mov rcx, r15
call fcn.140220660
test ebx, ebx
je 0x14022c6df
test rdi, rdi
je 0x14022b3f8
lea rax, [fcn.140201c90]
mov r9b, 1
or r8d, 0xffffffff
mov rdx, rdi
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.140220b10
test byte [r15 + 0x24], 2
movzx edx, byte [rsp + 0x58]
je 0x14022c6fc
movzx eax, byte [r15 + 0x26]
cmp eax, edx
je 0x14022c6fc
mov rcx, r15
call fcn.140204050
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
jmp 0x14022a838
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
imul rdi, rax, 0x38
add rbx, r10
add rdi, r10
test byte [rbx + 0x24], 0x20
jne 0x14022c73b
mov rcx, rbx
call fcn.140220850
test byte [rbx + 0x24], 0x20
je 0x14022e17c
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.14020b870
jmp 0x14022a83d
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
add rdi, r10
test byte [rdi + 0x24], 0x20
je 0x14022c825
mov rbx, qword [rdi + 0x18]
movzx eax, byte [rbx + 0x32]
test al, 2
jne 0x14022c784
test al, 1
jne 0x14022c780
mov rcx, qword [rbx + 0x10]
call fcn.14020b950
mov qword [rbx + 0x10], rax
or byte [rbx + 0x32], 2
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x14022c825
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x14022c7a9
mov rcx, rbx
call fcn.14020b730
movsxd rax, dword [r14 + r12*8 + 0xc]
mov rdx, rdi
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x50]
call fcn.140220720
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov eax, dword [r15 + 0x138]
test eax, eax
jne 0x14022e12a
mov r8, qword [r15 + 0x180]
mov ebx, dword [rsp + 0x48]
test r8, r8
je 0x14022d933
cmp ebx, dword [rbp - 0x60]
jb 0x14022d933
mov ebx, dword [r15 + 0x190]
mov eax, dword [rsp + 0x48]
mov rcx, qword [r15 + 0x188]
xor edx, edx
div ebx
sub ebx, edx
add ebx, dword [rsp + 0x48]
mov dword [rbp - 0x60], ebx
call r8
test eax, eax
jne 0x14022dffa
mov ecx, dword [rsp + 0x44]
jmp 0x14022d9bf
mov rcx, rdi
call fcn.140220660
mov esi, dword [r14 + r12*8 + 8]
dec esi
jmp 0x14022c7c3
movsxd rax, dword [r14 + r12*8 + 4]
mov edi, dword [r14 + r12*8 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 0xc]
add rbx, r10
imul rsi, rax, 0x38
add rsi, r10
test byte [rbx + 0x24], 0x20
jne 0x14022c86b
mov rcx, rbx
call fcn.140220850
test byte [rbx + 0x24], 0x20
je 0x14022e17c
test edi, edi
je 0x14022c8a2
js 0x14022c878
mov eax, edi
and eax, 0xf
jmp 0x14022c87d
mov eax, 0xff
mov r8, qword [rsi + 0x18]
mov rcx, qword [rbx + 0x18]
movzx edx, al
call fcn.14020bcc0
test eax, eax
je 0x14022c8a0
mov ecx, dword [r14 + r12*8 + 8]
mov rsi, qword [rsp + 0x60]
jmp 0x14022a843
test edi, edi
js 0x14022c8b1
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.14020b870
mov rsi, qword [rsp + 0x60]
jmp 0x14022a83d
mov rcx, qword [rsp + 0x68]
mov r14, qword [r14 + r12*8 + 0x10]
mov r9, qword [rsp + 0x60]
movsxd rax, dword [rcx + r12*8 + 0xc]
imul rsi, rax, 0x38
add rsi, r10
cmp byte [rcx + r12*8 + 3], 0
je 0x14022c903
mov rax, qword [r9 + 0xf0]
mov rcx, qword [r14 + 0x18]
test rax, rax
je 0x14022c903
nop
cmp qword [rax + 0x30], rcx
je 0x14022ca02
mov rax, qword [rax + 8]
test rax, rax
jne 0x14022c8f0
mov eax, dword [r15 + 0x90]
cmp dword [r9 + 0x100], eax
jge 0x14022df62
test byte [rsi + 0x24], 0x40
jne 0x14022ca1f
mov edx, dword [r14 + 0x10]
mov ebx, dword [r14 + 0xc]
mov eax, dword [r14 + 0x14]
add ebx, edx
add edx, 0xc
imul ecx, ebx, 7
add ecx, edx
lea edx, [rax + rcx*8]
mov rcx, r15
call fcn.140201fd0
mov rdi, rax
test rax, rax
je 0x14022e17c
mov rcx, rsi
call fcn.140220390
mov r9, qword [rsp + 0x60]
mov qword [rsi + 0x18], rdi
mov eax, 0x40
lea rdx, [rdi + 0x60]
mov word [rsi + 0x24], ax
mov esi, dword [rsp + 0x40]
mov qword [rdi], r9
mov dword [rdi + 0x54], ebx
mov ecx, dword [r14 + 0x10]
mov dword [rdi + 0x44], esi
mov dword [rdi + 0x58], ecx
mov rcx, qword [r9 + 0x10]
mov qword [rdi + 0x18], rcx
mov eax, dword [r9 + 0x38]
mov dword [rdi + 0x4c], eax
mov rax, qword [r9 + 0x60]
mov qword [rdi + 0x28], rax
mov eax, dword [r9 + 0x40]
mov dword [rdi + 0x40], eax
mov rax, qword [r9 + 8]
mov qword [rdi + 0x10], rax
mov eax, dword [r9 + 0x3c]
mov dword [rdi + 0x48], eax
mov rax, qword [r14 + 0x18]
mov qword [rdi + 0x30], rax
mov rax, qword [r9 + 0x118]
mov qword [rdi + 0x20], rax
mov eax, dword [r9 + 0x110]
mov dword [rdi + 0x50], eax
movsxd rax, ebx
imul rcx, rax, 0x38
lea rax, [rdi + 0x60]
add rdx, rcx
cmp rax, rdx
je 0x14022ca23
mov ebx, 0x80
nop dword [rax]
nop word [rax + rax]
mov word [rax + 0x24], bx
mov qword [rax], r15
add rax, 0x38
cmp rax, rdx
jne 0x14022c9f0
jmp 0x14022ca23
mov ecx, dword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x48]
mov rsi, r9
inc ecx
mov r9d, 1
jmp 0x1402287a3
mov rdi, qword [rsi + 0x18]
inc dword [r9 + 0x100]
mov rax, qword [r9 + 0xf0]
lea rdx, [rdi + 0x28]
mov qword [rdi + 8], rax
mov rax, qword [rbp - 0x50]
mov qword [rsp + 0x50], rdx
mov qword [rdi + 0x38], rax
mov eax, dword [r9 + 0x90]
mov dword [rsp + 0x40], 0xffffffff
mov dword [rdi + 0x5c], eax
mov qword [r9 + 0x10], rdx
mov dword [r9 + 0x90], 0
mov qword [r9 + 0xf0], rdi
mov eax, dword [rdi + 0x54]
mov dword [r9 + 0x38], eax
movzx r8d, word [rdi + 0x58]
inc eax
cdqe
mov dword [r9 + 0x40], r8d
imul rcx, rax, 0x38
add rdx, rcx
mov qword [r9 + 0x60], rdx
mov rax, qword [r14]
lea rcx, [rdx + r8*8]
mov qword [rsp + 0x68], rax
mov qword [r9 + 8], rax
mov eax, dword [r14 + 8]
mov qword [r9 + 0x118], rcx
xor edx, edx
mov dword [r9 + 0x3c], eax
movsxd rax, dword [r14 + 0x14]
mov r8, rax
mov dword [r9 + 0x110], eax
call fcn.1402a04b0
mov rsi, qword [rsp + 0x60]
jmp 0x14022a838
mov r8, qword [rsi + 0xf0]
movsxd rax, dword [r8 + 0x44]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov eax, dword [rax + rcx*8 + 4]
mov rcx, r13
add eax, dword [r14 + r12*8 + 4]
cdqe
imul rdx, rax, 0x38
add rdx, qword [r8 + 0x18]
mov r8d, 0x1000
call fcn.140220970
jmp 0x14022a83d
test dword [r15 + 0x2c], 0x1000000
movsxd rax, dword [r14 + r12*8 + 8]
mov ecx, dword [rsp + 0x40]
je 0x14022cb29
add qword [r15 + 0x310], rax
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x1402287a3
cmp dword [r14 + r12*8 + 4], 0
je 0x14022cb43
add qword [r15 + 0x308], rax
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x1402287a3
add qword [rsi + 0xc8], rax
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x1402287a3
cmp dword [r14 + r12*8 + 4], 0
je 0x14022cb8b
cmp qword [r15 + 0x308], 0
jne 0x140229c9d
cmp qword [r15 + 0x310], 0
jne 0x140229c9d
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x1402287a3
cmp qword [rsi + 0xc8], 0
jne 0x140229c9d
cmp qword [r15 + 0x310], 0
jne 0x140229c9d
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x1402287a3
mov rcx, qword [rsi + 0xf0]
test rcx, rcx
je 0x14022cbeb
mov rax, qword [rcx + 8]
test rax, rax
je 0x14022cbdc
nop
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14022cbd0
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x14022cbf7
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
add rdi, r10
mov rcx, rdi
call fcn.140220530
movsxd rax, dword [r14 + r12*8 + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.140220530
mov rax, qword [rbx + 0x18]
cmp qword [rdi + 0x18], rax
jge 0x14022a83d
mov qword [rdi + 0x18], rax
jmp 0x14022a83d
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
cmp qword [rcx + r10 + 0x18], 0
jle 0x140229c9d
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x1402287a3
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
cmp qword [rcx + r10 + 0x18], 0
jge 0x140229c9d
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x1402287a3
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 0xc]
add qword [rcx + r10 + 0x18], rax
jne 0x140229c9d
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x1402287a3
movsxd rax, dword [r14 + r12*8 + 8]
mov rbx, qword [rsp + 0x50]
movzx r10d, byte [r14 + r12*8 + 3]
imul rcx, rax, 0x38
mov r8, qword [rsi + 0x18]
add rcx, rbx
mov rax, r11
test r10d, r10d
jle 0x14022cce0
nop dword [rax + rax]
mov qword [r8 + rax*8], rcx
inc rax
add rcx, 0x38
cmp rax, r10
jl 0x14022ccd0
mov rax, qword [r14 + r12*8 + 0x10]
mov qword [rbp + 0xe0], rax
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rcx, rax, 0x38
add rcx, rbx
mov qword [rbp + 0x120], rcx
inc dword [rcx + 0x20]
mov word [rbp + 0x10c], r9w
mov r9, qword [rbp + 0xe0]
mov qword [rbp + 0xf0], r11
mov qword [rbp + 0x118], r11
mov qword [rbp + 0x110], r11
mov qword [rbp + 0xe8], r15
mov dword [rbp + 0x13c], r11d
mov qword [rbp + 0x128], r11
mov byte [rbp + 0x140], 0
test byte [r9 + 2], 0x20
je 0x14022cd55
mov rax, qword [r14 + r12*8 - 8]
mov qword [rbp + 0x128], rax
lea rcx, [rbp + 0xe0]
mov edx, r10d
call qword [r9 + 0x20]
cmp dword [rbp + 0x13c], 0
je 0x14022ce21
test byte [rbp + 0x10c], 1
je 0x14022cd81
xor r9d, r9d
jmp 0x14022ce04
movzx ecx, word [rbp + 0x10c]
movzx eax, cx
shr ax, 3
and ax, 2
or cx, ax
mov eax, 0x4000
mov word [rbp + 0x10c], cx
test ax, cx
je 0x14022cdb3
lea rcx, [rbp + 0xe8]
call fcn.140220090
test byte [rbp + 0x10c], 2
je 0x14022cde1
cmp byte [rbp + 0x10e], 1
je 0x14022cdd3
lea rcx, [rbp + 0xe8]
mov dl, 1
call fcn.140204050
lea rcx, [rbp + 0xe8]
call fcn.140220100
jmp 0x14022cdf2
lea rcx, [rbp + 0xe8]
mov edx, 1
call fcn.140220170
xor r9d, r9d
cmp byte [rbp + 0x10e], 1
cmove r9, qword [rbp + 0xf0]
lea rcx, [rsi + 0x48]
lea r8, [0x140346ba8]
mov rdx, r15
call fcn.140202260
mov eax, dword [rbp + 0x13c]
mov dword [rsp + 0x44], eax
cmp byte [rbp + 0x140], 0
je 0x14022ce44
movsxd rax, dword [r14 + r12*8 - 0x14]
test eax, eax
je 0x14022ce44
imul rcx, rax, 0x38
mov edx, 1
add rcx, rbx
call fcn.140220720
movzx eax, word [rbp + 0x10c]
mov edi, 0x2460
test di, ax
je 0x14022cf12
mov ecx, 0x2000
test cx, ax
je 0x14022ce87
mov rdx, qword [rbp + 0x100]
lea rcx, [rbp + 0xe8]
call fcn.140220240
lea rcx, [rbp + 0xe8]
call fcn.140220390
jmp 0x14022cf12
mov ecx, 0x400
test cx, ax
je 0x14022ceaa
mov rcx, qword [rbp + 0xf0]
call qword [rbp + pe_nt_image_headers64]
xor r11d, r11d
mov qword [rbp + 0x110], r11
jmp 0x14022cf15
movzx eax, byte [rbp + 0x10c]
test al, 0x20
je 0x14022cec3
mov rcx, qword [rbp + 0x100]
call fcn.14020b730
jmp 0x14022cf12
test al, 0x40
je 0x14022cf12
mov rdx, qword [rbp + 0x100]
mov rax, qword [rdx]
mov rcx, qword [rax + 0xf8]
mov qword [rdx + 8], rcx
mov qword [rax + 0xf8], rdx
test byte [rbp + 0x10c], 0x20
je 0x14022cef8
mov rcx, qword [rbp + 0x100]
call fcn.14020b730
movzx eax, word [rbp + 0x10c]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov word [rbp + 0x10c], ax
xor r11d, r11d
mov rdx, qword [rbp + 0x118]
test rdx, rdx
je 0x14022d956
mov rcx, qword [rbp + 0xe8]
call fcn.140201d40
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov r10, rbx
jmp 0x14022d9cc
movsxd rax, dword [r14 + r12*8 + 4]
mov rdx, qword [r14 + r12*8 + 0x10]
imul rbx, rax, 0x38
add rbx, r10
mov rcx, rbx
call fcn.140220240
mov dword [rsp + 0x44], eax
test eax, eax
je 0x14022cf85
mov dl, 1
mov rcx, rbx
call fcn.140220ee0
lea rcx, [rsi + 0x48]
lea r8, [0x140346ba8]
mov r9, rax
mov rdx, r15
call fcn.140202260
test byte [rbx + 0x24], 2
movzx ecx, byte [rsp + 0x58]
je 0x14022cfa3
movzx eax, byte [rbx + 0x26]
cmp eax, ecx
je 0x14022cfa3
movzx edx, cl
mov rcx, rbx
call fcn.140204050
movzx eax, word [rbx + 0x24]
test al, 0x12
je 0x140228b73
mov edx, dword [rbx + 0x20]
mov ecx, 0x4000
test cx, ax
je 0x14022cfbf
add edx, dword [rbx + 0x18]
mov rax, qword [rbx]
mov esi, dword [rsp + 0x40]
xor r11d, r11d
cmp edx, dword [rax + 0x68]
mov ecx, r11d
setg cl
test ecx, ecx
jne 0x14022dfd4
mov ecx, dword [rsp + 0x44]
jmp 0x14022d9c2
mov r8d, dword [r14 + r12*8 + 8]
mov edx, dword [r14 + r12*8 + 4]
lea rax, [rbp + 0x278]
lea r9, [rbp + 0x274]
mov rcx, r15
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x270], r11d
mov qword [rbp + 0x274], 0xffffffffffffffff
call fcn.1402796c0
mov dword [rsp + 0x44], eax
cmp eax, 5
jne 0x14022d035
mov dword [rsp + 0x44], 0
mov dword [rbp + 0x270], 1
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x50]
xor ebx, ebx
nop word [rax + rax]
movsxd rdx, dword [rbp + rbx*4 + 0x270]
mov rcx, rdi
call fcn.140220720
inc rbx
add rdi, 0x38
cmp rbx, 3
jl 0x14022d050
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x14022d9bf
mov ebx, dword [r14 + r12*8 + 0xc]
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
cmp ebx, 0xffffffff
mov r14, qword [rcx + rax + 8]
mov rax, qword [r14 + 8]
mov rdi, qword [rax]
movzx esi, byte [rdi + 9]
cmove ebx, esi
cmp byte [rdi + 0x13], 3
jae 0x14022d0b9
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x14022d0bb
cmp qword [rdi + 0x60], 0
jle 0x14022d0bb
mov ebx, esi
cmp byte [rdi + 0x12], 0
lea rcx, [0x140311bed]
jne 0x14022d0cf
mov rcx, qword [rdi + 0xd0]
cmp ebx, 5
jne 0x14022d113
mov rax, rcx
test rcx, rcx
je 0x14022d17d
cmp byte [rcx], 0
je 0x14022d0ed
inc rax
cmp byte [rax], 0
jne 0x14022d0e5
sub eax, ecx
and eax, 0x3fffffff
je 0x14022d17d
cmp byte [rdi + 8], 0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax]
jne 0x14022d113
cmp dword [rcx], 2
jl 0x14022d17d
cmp qword [rcx + 0x68], 0
je 0x14022d17d
cmp ebx, esi
je 0x14022d17f
cmp esi, 5
je 0x14022d121
cmp ebx, 5
jne 0x14022d17f
cmp byte [r15 + 0x4e], 0
je 0x14022df8c
cmp dword [r15 + 0xa0], 1
jg 0x14022df8c
cmp esi, 5
jne 0x14022d153
mov rcx, rdi
call fcn.140211060
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14022d17d
mov edx, ebx
jmp 0x14022d15b
cmp esi, 4
jne 0x14022d163
lea edx, [rsi - 2]
mov rcx, rdi
call fcn.140210d80
xor edx, edx
cmp ebx, 5
mov rcx, r14
sete dl
inc edx
call fcn.14021edd0
mov dword [rsp + 0x44], eax
test eax, eax
je 0x14022d17f
mov ebx, esi
mov edx, ebx
mov rcx, rdi
call fcn.140210d80
mov r14, qword [rsp + 0x68]
mov r10, qword [rsp + 0x50]
movsxd rcx, dword [r14 + r12*8 + 8]
xor r11d, r11d
imul r13, rcx, 0x38
mov ecx, 0xa02
add r13, r10
mov qword [rsp + 0x78], r13
mov word [r13 + 0x24], cx
cmp eax, 6
jne 0x14022d1bb
mov ecx, r11d
jmp 0x14022d1cc
lea rcx, [0x140000000]
cdqe
mov rcx, qword [rcx + rax*8 + 0x30bae8]
mov qword [r13 + 8], rcx
mov rax, rcx
test rcx, rcx
jne 0x14022d1dd
mov eax, r11d
jmp 0x14022d1f1
cmp byte [rcx], 0
je 0x14022d1ea
inc rax
cmp byte [rax], 0
jne 0x14022d1e2
sub eax, ecx
and eax, 0x3fffffff
mov dword [r13 + 0x20], eax
movzx eax, byte [rsp + 0x58]
mov byte [r13 + 0x26], 1
cmp eax, 1
je 0x14022d94c
movzx edx, al
mov rcx, r13
call fcn.140204050
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x14022d9bf
lea rcx, [rsi + 0x48]
mov rdx, r15
call fcn.1402679c0
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x14022d9bf
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.1402178b0
mov r10, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x48]
mov ecx, eax
mov dword [rsp + 0x44], eax
mov edi, 0x2460
mov r8d, 0x1000
cmp eax, 0x65
jne 0x14022d963
mov esi, dword [r14 + r12*8 + 8]
dec esi
xor r11d, r11d
mov ecx, r11d
mov dword [rsp + 0x44], ecx
jmp 0x14022d9d6
cmp dword [r14 + r12*8 + 4], 0
jne 0x14022d2aa
mov rcx, r15
call fcn.140225d30
mov ecx, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x1402287a3
mov ecx, dword [rsp + 0x40]
or dword [rsi + 0x8c], 0x20
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x1402287a3
movzx r8d, byte [r14 + r12*8 + 0xc]
test r8b, r8b
jne 0x14022d2da
mov eax, 0x4000
test dword [r15 + 0x2c], eax
jne 0x14022d94c
movsxd rax, dword [r14 + r12*8 + 4]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r14 + r12*8 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14021ec60
mov ecx, eax
mov dword [rsp + 0x44], eax
cmp al, 6
jne 0x140228b77
mov r9, qword [r14 + r12*8 + 0x10]
lea rcx, [rsi + 0x48]
lea r8, str.database_table_is_locked:__s
mov rdx, r15
call fcn.140202260
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x14022d9bf
mov rbx, qword [r14 + r12*8 + 0x10]
mov rcx, r15
mov rdx, rbx
call fcn.140269200
mov ecx, eax
mov dword [rsp + 0x44], eax
test rbx, rbx
je 0x140228b77
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
call fcn.140225e00
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x14022d9bf
mov r8, qword [r14 + r12*8 + 0x10]
mov edx, dword [r14 + r12*8 + 4]
lea r9, [rsi + 0x48]
mov rcx, r15
call fcn.140268c80
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x14022d9bf
and dword [rsi + 0x8c], 0xfffffffb
or dword [rsi + 0x8c], 8
mov r8, qword [r14 + r12*8 + 0x10]
mov edx, dword [r14 + r12*8 + 4]
mov rcx, r15
call fcn.140268fa0
and dword [rsi + 0x8c], 0xfffffff3
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x14022d9bf
mov rax, qword [r14 + r12*8 + 0x10]
mov qword [rbp - 0x30], r11
lea rdx, [rbp - 0x30]
mov rbx, qword [rax + 0x10]
mov rcx, rbx
mov rdi, qword [rbx]
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, rsi
mov dword [rsp + 0x44], eax
call fcn.140225e00
mov ecx, dword [rsp + 0x44]
test ecx, ecx
jne 0x140228b77
mov rax, qword [rbp - 0x30]
mov dword [rsp + 0x20], ecx
or r9d, 0xffffffff
mov qword [rax], rbx
mov edx, dword [r14 + r12*8 + 4]
xor r8d, r8d
mov rcx, rsi
call fcn.140228460
mov rcx, qword [rbp - 0x30]
test rax, rax
je 0x14022d422
mov qword [rax + 0x30], rcx
jmp 0x14022a83d
mov byte [r15 + 0x50], 1
call qword [rdi + 0x38]
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x14022d9bf
movsxd rax, dword [r14 + r12*8 + 0xc]
movsxd rcx, dword [r14 + r12*8 + 4]
mov r8, r11
imul rdx, rax, 0x38
mov rax, qword [rsi + 0x60]
add rdx, r10
mov r13, qword [rax + rcx*8]
movsxd r15, dword [rdx + 0x50]
mov rax, qword [rsp + 0x60]
mov rdi, qword [r13 + 0x30]
mov rbx, qword [rax + 0x18]
lea r10, [rdx + 0x38]
mov r14, qword [rdi]
mov edx, dword [rdx + 0x18]
mov rsi, qword [r14]
test r15d, r15d
jle 0x14022d49f
nop word [rax + rax]
movsxd rax, r9d
inc r8
inc r9d
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbx + r8*8 - 8], rcx
cmp r8, r15
jl 0x14022d480
mov rax, qword [rsp + 0x60]
and dword [rax + 0x8c], 0xfffffff7
or dword [rax + 0x8c], 4
mov rax, qword [rsp + 0x68]
mov r8, qword [rax + r12*8 + 0x10]
mov r9d, r15d
mov rcx, rdi
mov qword [rsp + 0x20], rbx
call qword [rsi + 0x40]
mov rdx, r14
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x60]
and dword [rax + 0x8c], 0xfffffff3
mov rcx, rax
call fcn.140225e00
mov ecx, dword [rsp + 0x44]
test ecx, ecx
jne 0x14022d516
mov rcx, rdi
call qword [rsi + 0x50]
mov r14, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x44]
test eax, eax
je 0x14022d51b
mov esi, dword [r14 + r12*8 + 8]
mov r15, qword [rsp + 0x70]
mov byte [r13 + 0x25], 0
mov r13, qword [rsp + 0x78]
dec esi
jmp 0x14022d9bf
mov r14, qword [rsp + 0x68]
mov esi, dword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov byte [r13 + 0x25], 0
mov r13, qword [rsp + 0x78]
jmp 0x14022d9bf
mov rax, qword [rsi + 0x60]
movsxd rcx, dword [r14 + r12*8 + 4]
mov r14, qword [rax + rcx*8]
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax + r12*8 + 0xc]
imul rsi, rax, 0x38
add rsi, r10
cmp byte [r14 + 0x25], 0
je 0x14022d56a
mov rcx, rsi
call fcn.140220660
mov rsi, qword [rsp + 0x60]
jmp 0x14022a838
mov rax, qword [r14 + 0x30]
xor edx, edx
lea rcx, [rbp + 0x200]
mov rdi, qword [rax]
lea r8d, [rdx + 0x68]
mov rbx, qword [rdi]
call fcn.1402a04b0
lea rcx, [rbp + 0x208]
mov rdx, rsi
call fcn.140220a80
movzx eax, word [rbp + 0x22c]
mov ecx, 0xbe01
and ax, cx
lea rdx, [rbp + 0x200]
or ax, 1
mov word [rbp + 0x22c], ax
mov rax, qword [rsp + 0x68]
mov rcx, qword [r14 + 0x30]
mov r8d, dword [rax + r12*8 + 8]
call qword [rbx + 0x58]
mov rcx, qword [rsp + 0x60]
mov rdx, rdi
mov dword [rsp + 0x44], eax
call fcn.140225e00
mov eax, dword [rbp + 0x25c]
mov ecx, dword [rsp + 0x44]
test eax, eax
cmovne ecx, eax
test byte [rbp + 0x22c], 2
mov dword [rsp + 0x44], ecx
movzx ecx, byte [rsp + 0x58]
je 0x14022d613
movzx eax, byte [rbp + 0x22e]
cmp eax, ecx
je 0x14022d613
movzx edx, cl
lea rcx, [rbp + 0x208]
call fcn.140204050
lea rdx, [rbp + 0x208]
mov rcx, rsi
call fcn.140220a80
mov rcx, rsi
call fcn.140220940
mov esi, dword [rsp + 0x40]
test eax, eax
jne 0x14022dfd4
mov ecx, dword [rsp + 0x44]
mov r14, qword [rsp + 0x68]
jmp 0x14022d9bf
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 0x25], 0
jne case.default.0x140228842
mov rax, qword [rdi + 0x30]
mov rbx, qword [rax]
mov rax, qword [rsp + 0x60]
mov rsi, qword [rbx]
and dword [rax + 0x8c], 0xfffffff7
or dword [rax + 0x8c], 4
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x48]
mov rdx, rbx
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x60]
and dword [rax + 0x8c], 0xfffffff3
mov rcx, rax
call fcn.140225e00
cmp dword [rsp + 0x44], 0
jne 0x14022d6b0
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x14022c7bf
mov esi, dword [r14 + r12*8 + 8]
dec esi
jmp 0x14022c7c3
mov rax, qword [r14 + r12*8 + 0x10]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, r10
test byte [rbx + 0x24], 2
je 0x14022d6f5
cmp byte [rbx + 0x26], 1
je 0x14022d6f5
mov dl, 1
mov rcx, rbx
call fcn.140204050
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140228b77
mov rax, qword [rdi]
mov rdx, qword [rbx + 8]
mov rcx, rdi
call qword [rax + 0x98]
mov rdx, rdi
mov rcx, rsi
mov dword [rsp + 0x44], eax
call fcn.140225e00
and dword [rsi + 0x8c], 0xffffffdf
mov esi, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
jmp 0x14022d9bf
mov rax, qword [r14 + r12*8 + 0x10]
movsxd rdx, dword [r14 + r12*8 + 8]
mov rbx, qword [rax + 0x10]
mov r11, qword [rbx]
cmp qword [r11 + 0x68], 0
je 0x14022d91e
movsxd rax, dword [r14 + r12*8 + 0xc]
movzx edi, byte [r15 + 0x54]
mov r10, qword [rsi + 0x18]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x50]
xor eax, eax
test edx, edx
jle 0x14022d780
nop dword [rax]
nop word [rax + rax]
mov qword [r10 + rax*8], rcx
inc rax
add rcx, 0x38
cmp rax, rdx
jl 0x14022d770
movzx eax, byte [r14 + r12*8 + 3]
lea r9, [rbp + 0x198]
mov r8, r10
mov rcx, rbx
mov byte [r15 + 0x54], al
call qword [r11 + 0x68]
mov rdx, rbx
mov rcx, rsi
mov dword [rsp + 0x44], eax
mov byte [r15 + 0x54], dil
call fcn.140225e00
mov ecx, dword [rsp + 0x44]
test ecx, ecx
jne 0x14022d7cc
cmp dword [r14 + r12*8 + 4], ecx
je 0x14022d7cc
mov rdx, qword [rbp + 0x198]
mov qword [rbp - 0x50], rdx
mov qword [r15 + 0x30], rdx
cmp cl, 0x13
jne 0x14022d827
mov rax, qword [r14 + r12*8 + 0x10]
cmp byte [rax + 0x1c], 0
je 0x14022d827
movzx eax, byte [r14 + r12*8 + 3]
cmp al, 4
jne 0x14022d7fd
mov ecx, dword [rsp + 0x40]
xor r11d, r11d
inc ecx
mov dword [rsp + 0x44], r11d
mov dword [rsp + 0x40], ecx
jmp 0x14022a84a
cmp al, 5
jne 0x14022d815
mov eax, 2
mov byte [rsi + 0x8a], al
mov esi, dword [rsp + 0x40]
jmp 0x14022d9bf
movzx eax, al
mov byte [rsi + 0x8a], al
mov esi, dword [rsp + 0x40]
jmp 0x14022d9bf
inc dword [rsi + 0x90]
mov esi, dword [rsp + 0x40]
jmp 0x14022d9bf
mov rax, qword [r15 + 0x20]
movsxd rcx, dword [r14 + r12*8 + 4]
mov ebx, dword [rsp + 0x48]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x3c]
mov qword [r13 + 0x18], rcx
mov ecx, dword [rsp + 0x40]
inc ecx
jmp 0x1402287a3
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r15 + 0x20]
mov r8d, dword [r14 + r12*8 + 0xc]
shl rcx, 5
mov edx, r11d
mov rcx, qword [rcx + rax + 8]
test r8d, r8d
je 0x14022d88f
mov rax, qword [rcx + 8]
mov edx, dword [rax + 0x3c]
cmp edx, r8d
cmovb edx, r8d
call fcn.140216660
movsxd rcx, eax
mov qword [r13 + 0x18], rcx
jmp 0x14022a83d
mov eax, dword [r14 + r12*8 + 8]
lea esi, [rax - 1]
test eax, eax
jne 0x14022d8b0
mov esi, dword [rsp + 0x40]
cmp qword [r15 + 0xb8], 0
je 0x14022d980
mov rax, qword [rsp + 0x60]
mov ecx, 0x800
test dword [rax + 0x8c], ecx
jne 0x14022d980
mov rdx, qword [r14 + r12*8 + 0x10]
test rdx, rdx
jne 0x14022d8ee
mov rdx, qword [rax + 0xe0]
test rdx, rdx
je 0x14022d980
mov rcx, rax
call fcn.140227fb0
mov rcx, qword [r15 + 0xc0]
mov rdx, rax
mov rbx, rax
call qword [r15 + 0xb8]
mov rdx, rbx
mov rcx, r15
call fcn.140201d40
mov ecx, dword [rsp + 0x44]
jmp 0x14022d9bf
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov edi, 0x2460
jmp 0x14022d9d2
mov ecx, dword [rsp + 0x44]
mov r10, qword [rsp + 0x50]
mov edi, 0x2460
mov r8d, 0x1000
jmp 0x14022d9d6
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x14022d9c7
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
mov r10, rbx
jmp 0x14022d9cc
mov esi, dword [rsp + 0x40]
xor r11d, r11d
jmp 0x14022d9d6
mov ecx, dword [rsp + 0x44]
mov r15, qword [rsp + 0x70]
mov esi, dword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
jmp 0x14022d9bf
mov ecx, dword [rsp + 0x44]
mov edi, 0x2460
jmp 0x14022d9d2
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
mov edi, 0x2460
jmp 0x14022d9d2
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
mov esi, dword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
mov r10, qword [rsp + 0x50]
xor r11d, r11d
mov edi, 0x2460
jmp 0x14022d9d2
mov r14, rbx
xor r11d, r11d
mov r10, qword [rsp + 0x50]
mov edi, 0x2460
mov r8d, 0x1000
mov ebx, dword [rsp + 0x48]
inc esi
mov dword [rsp + 0x40], esi
test ecx, ecx
jne 0x14022dafb
mov edx, 0x80
mov ecx, esi
mov rsi, qword [rsp + 0x60]
lea r9d, [rdx - 0x7f]
jmp 0x1402287b0
mov ecx, dword [r14 + r12*8 + 4]
mov rdi, qword [rsp + 0x60]
mov dword [rsi + 0x84], ecx
movzx eax, byte [r14 + r12*8 + 8]
mov byte [rsi + 0x8a], al
mov esi, dword [rsp + 0x40]
mov dword [rdi + 0x80], esi
test ecx, ecx
je 0x14022dac1
movzx eax, byte [r14 + r12*8 + 3]
test al, al
je 0x14022da72
lea rcx, [0x140000000]
movzx eax, al
mov r11, qword [rcx + rax*8 + 0x30bd60]
test r11, r11
je 0x14022da72
mov rax, qword [r14 + r12*8 + 0x10]
test rax, rax
je 0x14022da72
lea rbx, [rdi + 0x48]
lea r8, str._s_constraint_failed:__s
mov r9, r11
mov rdx, r15
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140202260
jmp 0x14022da9e
mov r9, qword [r14 + r12*8 + 0x10]
lea rbx, [rdi + 0x48]
mov rdx, r15
mov rcx, rbx
test r9, r9
je 0x14022da8f
lea r8, [0x140346ba8]
jmp 0x14022da99
mov r9, r11
lea r8, str._s_constraint_failed
call fcn.140202260
mov rax, qword [rbx]
mov r9, qword [rdi + 0xe0]
mov ecx, dword [r14 + r12*8 + 4]
lea rdx, str.abort_at__d_in___s_:__s
mov r8d, esi
mov qword [rsp + 0x20], rax
call fcn.140203d60
mov rcx, rdi
mov rsi, rdi
call fcn.140223c10
cmp eax, 5
je 0x14022e118
cmp dword [rsi + 0x84], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x14022db81
mov ecx, 9
mov dword [rsp + 0x44], ecx
mov esi, dword [rsp + 0x40]
movzx r12d, byte [rsp + 0x4c]
mov rdx, qword [rsp + 0x60]
mov r8d, esi
mov rax, qword [rdx + 0x48]
mov r9, qword [rdx + 0xe0]
mov dword [rdx + 0x84], ecx
mov ecx, dword [rsp + 0x44]
lea rdx, str.statement_aborts_at__d:___s___s
mov qword [rsp + 0x20], rax
call fcn.140203d60
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.140223c10
cmp dword [rsp + 0x44], 0xc0a
jne 0x14022db4b
mov byte [r15 + 0x50], 1
mov edi, 1
test r12b, r12b
je 0x14022db81
mov rcx, qword [r15 + 0x20]
movzx ebx, r12b
dec ebx
movsxd rax, ebx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1402458e0
cmp ebx, edi
je 0x14022db81
mov rcx, qword [r15 + 0x20]
mov rcx, qword [rcx + 0x38]
call fcn.1402458e0
mov rax, qword [rbp - 0x50]
mov rcx, qword [rsp + 0x70]
mov qword [rcx + 0x30], rax
mov eax, dword [rsp + 0x48]
mov rcx, rsi
add dword [rsi + 0xb0], eax
call fcn.1402225f0
mov eax, edi
mov rcx, qword [rbp + 0x390]
xor rcx, rsp
call fcn.140297ff0
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov eax, dword [rsi + 0x7c]
add eax, 2
or eax, 1
mov dword [rsi + 0x7c], eax
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x50]
mov qword [rsi + 0x28], rdi
cmp dword [r14 + r12*8 + 8], 0
jle 0x14022dc40
lea rbx, [rdi + 0x24]
xor esi, esi
mov eax, 0x1000
test word [rbx], ax
je 0x14022dc24
movsxd rax, esi
imul rcx, rax, 0x38
add rcx, rdi
call fcn.140220010
test eax, eax
jne 0x14022e17c
movsxd rax, esi
imul rcx, rax, 0x38
add rcx, rdi
call fcn.140220100
inc esi
add rbx, 0x38
cmp esi, dword [r14 + r12*8 + 8]
jl 0x14022dc03
cmp byte [r15 + 0x50], 0
jne 0x14022e17c
mov eax, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
mov edi, 0x64
inc eax
mov dword [rsi + 0x80], eax
jmp 0x14022db81
mov rdx, qword [rsi]
mov dword [rsi + 0x84], 0x313
mov byte [rsi + 0x8a], 2
lea r8, str.FOREIGN_KEY_constraint_failed
lea rcx, [rsi + 0x48]
call fcn.140202260
mov esi, dword [rsp + 0x40]
mov ecx, 1
inc esi
mov dword [rsp + 0x44], ecx
jmp 0x14022dafb
movzx eax, word [rbp + 0x9c]
mov r12d, 0x2460
test r12w, ax
je 0x14022dd68
mov ecx, 0x2000
test cx, ax
je 0x14022dcdd
mov rdx, qword [rbp + 0x90]
lea rcx, [rbp + 0x78]
call fcn.140220240
lea rcx, [rbp + 0x78]
call fcn.140220390
jmp 0x14022dd68
mov ecx, 0x400
test cx, ax
je 0x14022dd01
mov rcx, qword [rbp + 0x80]
call qword [rbp + 0xa0]
mov qword [rbp + 0xa0], 0
jmp 0x14022dd68
movzx eax, byte [rbp + 0x9c]
test al, 0x20
je 0x14022dd1a
mov rcx, qword [rbp + 0x90]
call fcn.14020b730
jmp 0x14022dd68
test al, 0x40
je 0x14022dd68
mov rdx, qword [rbp + 0x90]
mov rax, qword [rdx]
mov rcx, qword [rax + 0xf8]
mov qword [rdx + 8], rcx
mov qword [rax + 0xf8], rdx
test byte [rbp + 0x9c], 0x20
je 0x14022dd4f
mov rcx, qword [rbp + 0x90]
call fcn.14020b730
movzx eax, word [rbp + 0x9c]
mov ecx, 0xbe01
and ax, cx
or ax, bx
mov word [rbp + 0x9c], ax
mov rdx, qword [rbp + 0xa8]
test rdx, rdx
je 0x14022e185
mov rcx, qword [rbp + 0x78]
call fcn.140201d40
jmp 0x14022e185
mov ecx, 0x14
mov dword [rsp + 0x44], ecx
jmp 0x14022dea8
lea r9, [0x14034adac]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0x10f9f
mov ecx, 0xb
call fcn.140203d60
mov esi, dword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov ecx, 0xb
inc esi
mov dword [rsp + 0x44], ecx
jmp 0x14022dafb
lea r8, str.cannot_open_savepoint___SQL_statements_in_progress
lea rcx, [rsi + 0x48]
mov rdx, r15
call fcn.140202260
mov esi, dword [rsp + 0x40]
mov ecx, 5
inc esi
mov dword [rsp + 0x44], ecx
jmp 0x14022dafb
mov rcx, qword [rsp + 0x60]
lea r8, str.cannot_release_savepoint___SQL_statements_in_progress
mov r15, rdi
add rcx, 0x48
jmp 0x14022ddd6
mov esi, dword [rsp + 0x40]
mov eax, 5
mov dword [rbx + 0x80], esi
mov byte [rdi + 0x4e], 0
mov edi, eax
mov dword [rbx + 0x84], eax
mov rsi, rbx
jmp 0x14022db81
lea rcx, [rbx + 0x48]
lea r8, str.FOREIGN_KEY_constraint_failed
mov rsi, rbx
mov dword [rbx + 0x84], 0x313
mov byte [rbx + 0x8a], 2
call fcn.140202260
mov edi, r14d
jmp 0x14022db81
mov eax, 8
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x14022dea8
mov rax, qword [rsp + 0x60]
mov esi, dword [rsp + 0x40]
mov dword [rax + 0x80], esi
jmp 0x14022e113
lea r9, [0x14034adac]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0x112ca
mov ecx, 0xb
call fcn.140203d60
mov ecx, 0xb
mov dword [rsp + 0x44], ecx
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
cmp byte [r15 + 0x50], 0
je 0x14022dee8
mov dword [rsp + 0x44], 7
mov ecx, dword [rsp + 0x44]
jmp 0x14022def4
mov esi, dword [rsp + 0x40]
mov eax, 4
inc esi
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x14022dafb
mov ecx, 0xd
mov dword [rsp + 0x44], ecx
jmp 0x14022dea3
mov r15, qword [rsp + 0x70]
mov rsi, rdi
jmp 0x14022dea8
cmp ecx, 0xc0a
je 0x14022daf7
lea r9, [0x140311c00]
cmp ecx, 0x204
je 0x14022df24
movzx eax, cl
cmp eax, 0x1a
ja 0x14022df2b
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x308910]
test rcx, rcx
je 0x14022df2b
mov r9, rcx
jmp 0x14022df2b
lea r9, str.abort_due_to_ROLLBACK
lea rcx, [rsi + 0x48]
lea r8, [0x140346ba8]
mov rdx, r15
call fcn.140202260
mov ecx, dword [rsp + 0x44]
jmp 0x14022daf7
mov byte [rsi + 0x8a], 2
mov esi, dword [rsp + 0x40]
mov ecx, 6
inc esi
mov dword [rsp + 0x44], ecx
jmp 0x14022dafb
lea rcx, [r9 + 0x48]
lea r8, str.too_many_levels_of_trigger_recursion
mov rdx, r15
mov dword [rsp + 0x44], 1
call fcn.140202260
mov esi, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
inc esi
jmp 0x14022dafb
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0x44], r9d
lea rax, str.into
lea r9, str.out_of
cmp ebx, 5
lea r8, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r9, rax
add rcx, 0x48
mov rdx, r15
call fcn.140202260
mov esi, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
inc esi
jmp 0x14022dafb
mov r15, rcx
mov esi, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
lea r8, str.string_or_blob_too_big
mov rdx, r15
add rcx, 0x48
call fcn.140202260
mov ecx, 0x12
mov dword [rsp + 0x44], ecx
jmp 0x14022dafb
mov ecx, 9
mov dword [rsp + 0x44], ecx
jmp 0x14022dafb
mov ebx, dword [r14 + r12*8 + 4]
mov ecx, dword [r14 + r12*8 + 8]
test ebx, ebx
je 0x14022e036
cmp byte [r15 + 0x4e], 0
jne 0x14022e036
test ecx, ecx
jne 0x14022e036
cmp dword [r15 + 0xa4], ecx
jle 0x14022e036
lea r8, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x14022ddd2
movzx eax, byte [r15 + 0x4e]
cmp ebx, eax
jne 0x14022e06e
test ebx, ebx
jne 0x14022e052
lea r8, str.cannot_start_a_transaction_within_a_transaction
mov rdx, r15
jmp 0x14022dc81
lea rax, str.cannot_rollback___no_transaction_is_active
lea r8, str.cannot_commit___no_transaction_is_active
test ecx, ecx
cmovne r8, rax
mov rdx, r15
jmp 0x14022dc81
test ecx, ecx
je 0x14022e0a7
mov edx, 0x204
mov rcx, r15
call fcn.140278760
mov byte [r15 + 0x4e], 1
mov rcx, r15
call fcn.140278080
cmp dword [rsi + 0x84], 0
mov edi, 0x65
mov eax, 1
cmove eax, edi
mov edi, eax
jmp 0x14022db81
mov rdx, qword [rsi]
mov rax, qword [rdx + 0x310]
add rax, qword [rdx + 0x308]
test rax, rax
jle 0x14022e0e8
lea rcx, [rsi + 0x48]
lea r8, str.FOREIGN_KEY_constraint_failed
mov dword [rsi + 0x84], 0x313
mov byte [rsi + 0x8a], 2
call fcn.140202260
mov edi, 1
jmp 0x14022db81
mov rcx, rsi
mov byte [r15 + 0x4e], bl
call fcn.140223c10
cmp eax, 5
jne 0x14022e084
mov rax, qword [rsp + 0x60]
mov esi, dword [rsp + 0x40]
mov dword [rax + 0x80], esi
mov eax, 1
sub al, bl
mov byte [r15 + 0x4e], al
mov rsi, qword [rsp + 0x60]
mov eax, 5
mov edi, eax
mov dword [rsi + 0x84], eax
jmp 0x14022db81
movzx r12d, byte [rsp + 0x4c]
mov rax, qword [0x140308958]
mov r14, qword [rsp + 0x60]
lea r9, [0x140311c00]
test rax, rax
lea r8, [0x140346ba8]
lea rcx, [r14 + 0x48]
mov rdx, r15
cmovne r9, rax
mov dword [rsp + 0x44], 9
mov dword [r14 + 0x84], 9
call fcn.140202260
mov ecx, dword [rsp + 0x44]
jmp 0x14022db01
mov r15, rcx
mov esi, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
movzx r12d, byte [rsp + 0x4c]
lea rcx, [rdi + 0x48]
lea r8, str.out_of_memory
mov rdx, r15
mov byte [r15 + 0x50], 1
call fcn.140202260
mov ecx, 7
mov dword [rsp + 0x44], ecx
jmp 0x14022db01