Function at 0x14023eb90
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 [0x140418a10]
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.140238a80
mov rdi, qword [rsp + 0x60]
lea r9d, [r13 + 1]
cmp dword [rdi + 0x84], 7
je 0x1402446ab
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 0x140244650
mov rsi, rdi
cmp qword [r15 + 0x180], rbx
je 0x14023ecaa
mov eax, dword [rdi + 0xb0]
test eax, eax
jne 0x14023ec9e
mov eax, dword [r15 + 0x190]
mov dword [rbp - 0x60], eax
jmp 0x14023ecaa
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 0x14024469c
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 0x14023ed35
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 0x14023ed2b
mov rcx, r13
call fcn.140236830
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.0x14023ed62
cdqe
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x2446d4]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov esi, dword [r14 + r12*8 + 8]
dec esi
jmp 0x140242ce6
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 0x14023ecc3
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 0x14023ecc3
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 0x14023edf5
mov ecx, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x14023ecc3
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 0x14023ecbe
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 0x14023ecc3
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x24], 1
je case.default.0x14023ed62
cmp dword [r14 + r12*8 + 4], 0
jne 0x140243f19
mov r8, qword [rsi + 0xf0]
test r8, r8
je 0x140243f19
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 0x14023ef27
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 0x140240d75
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 0x14023ecc3
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 0x14023ecc3
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 0x14023ecc3
mov rdx, qword [r14 + r12*8 + 0x10]
mov byte [r14 + r12*8], 0x1b
mov rax, rdx
test rdx, rdx
jne 0x14023efb3
mov eax, r11d
jmp 0x14023efc7
cmp byte [rdx], 0
je 0x14023efc0
inc rax
cmp byte [rax], 0
jne 0x14023efb8
sub eax, edx
and eax, 0x3fffffff
movzx ebx, byte [rsp + 0x58]
mov dword [r14 + r12*8 + 4], eax
cmp bl, 1
je 0x14023f05d
mov r9b, 1
or r8d, 0xffffffff
mov rcx, r13
mov qword [rsp + 0x20], r11
call fcn.140237030
mov dword [rsp + 0x44], eax
cmp eax, 0x12
je 0x1402444f0
test byte [r13 + 0x24], 2
movzx edx, bl
je 0x14023f01e
movzx ecx, byte [r13 + 0x26]
cmp ecx, edx
je 0x14023f01e
mov rcx, r13
call fcn.14021a570
test eax, eax
jne 0x14024469c
mov eax, 0x800
mov qword [r13 + 0x30], 0
or word [r13 + 0x24], ax
cmp byte [r14 + r12*8 + 1], 0xff
jne 0x14023f045
mov rdx, qword [r14 + r12*8 + 0x10]
mov rcx, r15
call fcn.140218260
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 0x1402444f0
jmp 0x14023f073
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 0x140243edf
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 0x14023f0f9
mov r12d, 0x2460
nop dword [rax + rax]
add r13, 0x38
test word [r13 + 0x24], r12w
je 0x14023f0e3
mov rcx, r13
call fcn.140236830
dec ebx
mov word [r13 + 0x24], di
test ebx, ebx
jg 0x14023f0d0
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 0x140240d75
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 0x14023ecc3
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.140237030
movzx eax, byte [rsp + 0x58]
mov byte [r13 + 0x26], al
jmp 0x140240d5d
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 0x14023f1a8
mov r8d, dword [rdx + 0x20]
mov ecx, 0x4000
test cx, ax
je 0x14023f193
add r8d, dword [rdx + 0x18]
mov rax, qword [rdx]
mov ecx, r11d
cmp r8d, dword [rax + 0x68]
setg cl
test ecx, ecx
jne 0x1402444f0
mov r8d, 0x800
mov rcx, r13
call fcn.140236e90
jmp 0x140240d5d
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 0x14023f1f7
mov rcx, r13
call fcn.140236830
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 0x14023f1e0
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 0x14023ecd0
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.140236e90
mov r8d, 0x1000
test word [r13 + 0x24], r8w
je 0x14023f2b6
mov rcx, r13
call fcn.140236530
test eax, eax
jne 0x14024469c
mov r8d, 0x1000
mov eax, edi
dec edi
test eax, eax
je 0x14023f2c8
add r13, 0x38
add rbx, 0x38
jmp 0x14023f283
mov ecx, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
inc ecx
xor r11d, r11d
lea r9d, [r11 + 1]
jmp 0x14023ecb9
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.140236e90
jmp 0x140240d5d
mov rax, qword [r15 + 0x180]
test rax, rax
je 0x14023f32e
mov ecx, dword [rsp + 0x48]
cmp ecx, dword [rbp - 0x60]
jb 0x14023f32e
mov rcx, qword [r15 + 0x188]
call rax
test eax, eax
jne 0x14024400e
cmp qword [rsi + 0xc8], 0
jg 0x140244186
mov edx, 1
mov rcx, rsi
call fcn.140239f50
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
je 0x1402440f7
mov esi, dword [rsp + 0x40]
jmp 0x140243edf
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 0x14023f3a4
mov rcx, r13
call fcn.140236b80
jmp 0x140240d5d
mov esi, 0x4000
test si, cx
je 0x14023f3be
mov rcx, rdi
call fcn.1402365b0
test eax, eax
jne 0x14024469c
test word [rbx + 0x24], si
je 0x14023f3d4
mov rcx, rbx
call fcn.1402365b0
test eax, eax
jne 0x14024469c
test byte [rdi + 0x24], 0x12
jne 0x14023f3f5
movzx r12d, byte [rsp + 0x58]
mov rcx, rdi
mov edx, r12d
call fcn.140236690
test eax, eax
jne 0x14024469c
jmp 0x14023f3fb
movzx r12d, byte [rsp + 0x58]
test byte [rbx + 0x24], 0x12
jne 0x14023f415
movzx edx, r12b
mov rcx, rbx
call fcn.140236690
test eax, eax
jne 0x14024469c
mov eax, dword [rdi + 0x20]
add eax, dword [rbx + 0x20]
movsxd rsi, eax
movsxd rax, dword [r15 + 0x68]
cmp rsi, rax
jg 0x1402444f0
xor r8d, r8d
cmp r13, rbx
lea edx, [rsi + 2]
sete r8b
mov rcx, r13
call fcn.1402363d0
test eax, eax
jne 0x14024469c
mov eax, 0xbe02
and word [r13 + 0x24], ax
or word [r13 + 0x24], 2
cmp r13, rbx
je 0x14023f46e
movsxd r8, dword [rbx + 0x20]
mov rdx, qword [rbx + 8]
mov rcx, qword [r13 + 8]
call fcn.1402b9d30
movsxd rcx, dword [rbx + 0x20]
movsxd r8, dword [rdi + 0x20]
mov rdx, qword [rdi + 8]
add rcx, qword [r13 + 8]
call fcn.1402b9d30
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 0x140240d5d
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, r10
mov rcx, rbx
call fcn.14023ea70
movsxd rax, dword [r14 + r12*8 + 8]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.14023ea70
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 0x14023f725
and al, cl
test al, 4
je 0x14023f642
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 0x14023f5d0
dec ecx
je 0x14023f5b2
dec ecx
je 0x14023f593
dec ecx
je 0x14023f564
test r8, r8
je 0x14023f720
cmp r8, 0xffffffffffffffff
mov rax, rdx
mov r9d, 1
cmove r8, r9
cqo
idiv r8
jmp 0x14023f612
test r8, r8
je 0x14023f720
cmp r8, 0xffffffffffffffff
jne 0x14023f586
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14023f645
mov rax, rdx
cqo
idiv r8
mov rdx, rax
jmp 0x14023f60c
lea rcx, [rbp - 0x58]
mov rdx, r8
call fcn.14021bc40
test eax, eax
jne 0x14023f645
mov rdx, qword [rbp - 0x58]
mov r10, qword [rsp + 0x50]
jmp 0x14023f60c
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x14023f5cb
test rdx, rdx
jns 0x14023f645
sub rdx, rax
jmp 0x14023f60c
neg r8
jmp 0x14023f5d3
test r8, r8
js 0x14023f5ee
test rdx, rdx
jle 0x14023f609
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jl 0x14023f645
jmp 0x14023f609
test rdx, rdx
jns 0x14023f609
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jg 0x14023f645
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 0x140240d75
xor sil, sil
mov rcx, rbx
call fcn.140236990
mov rcx, rdi
movaps xmm2, xmm0
call fcn.140236990
mov rax, qword [rsp + 0x68]
movzx ecx, byte [rax + r12*8]
movaps xmm3, xmm0
sub ecx, 0x59
je 0x14023f6c0
dec ecx
je 0x14023f6ba
dec ecx
je 0x14023f6b4
dec ecx
je 0x14023f6a6
cvttsd2si rcx, xmm2
cvttsd2si rax, xmm0
test rcx, rcx
je 0x14023f720
cmp rcx, 0xffffffffffffffff
mov r9d, 1
cqo
cmove rcx, r9
xorps xmm3, xmm3
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x14023f6ca
ucomisd xmm2, xmm6
jp 0x14023f6ae
je 0x14023f720
divsd xmm3, xmm2
jmp 0x14023f6c4
mulsd xmm3, xmm2
jmp 0x14023f6c4
subsd xmm3, xmm2
jmp 0x14023f6c4
addsd xmm3, xmm2
mov r9d, 1
movaps xmm0, xmm3
call fcn.14021ad20
test eax, eax
jne 0x14023f720
mov eax, 0xbe08
movsd qword [r13 + 0x10], xmm3
and word [r13 + 0x24], ax
or word [r13 + 0x24], 8
test r14b, 8
jne 0x14023f6ff
test sil, sil
jne 0x14023f6ff
mov rcx, r13
call fcn.1402369f0
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 0x140240d75
mov rsi, qword [rsp + 0x60]
mov rcx, r13
call fcn.140236b80
jmp 0x140240d58
movsxd rax, dword [r14 + r12*8 + 4]
test eax, eax
je 0x140240d5d
imul rcx, rax, 0x38
xor edx, edx
add rcx, r10
call fcn.140236c40
jmp 0x140240d5d
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 0x14023f7c5
nop word [rax + rax]
mov qword [r14 + rdi*8], rbx
test word [rbx + 0x24], r8w
je 0x14023f7b1
mov rcx, rbx
call fcn.140236530
test eax, eax
jne 0x140241918
mov r8d, 0x1000
inc rdi
add rbx, 0x38
cmp rdi, r15
jl 0x14023f790
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 0x14023f85c
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 0x1402441be
cmp byte [rbp + 0xd1], 0
je 0x14023f95c
cmp dword [rbp + 0xcc], 0
je 0x14023f946
test byte [rbp + 0x9c], bl
je 0x14023f8b6
xor r9d, r9d
jmp 0x14023f929
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 0x14023f8e5
lea rcx, [rbp + 0x78]
call fcn.1402365b0
test byte [rbp + 0x9c], 2
je 0x14023f90d
cmp byte [rbp + 0x9e], bl
je 0x14023f902
lea rcx, [rbp + 0x78]
movzx edx, bl
call fcn.14021a570
lea rcx, [rbp + 0x78]
call fcn.140236620
jmp 0x14023f918
lea rcx, [rbp + 0x78]
mov edx, ebx
call fcn.140236690
xor r9d, r9d
cmp byte [rbp + 0x9e], bl
cmove r9, qword [rbp + 0x80]
lea rcx, [rdi + 0x48]
lea r8, [0x14036e0c0]
mov rdx, r15
call fcn.140218780
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.14023a740
jmp 0x14023f961
mov r14, qword [rsp + 0x68]
test byte [rbp + 0x9c], 2
movzx ecx, byte [rsp + 0x58]
je 0x14023f986
movzx eax, byte [rbp + 0x9e]
cmp eax, ecx
je 0x14023f986
movzx edx, cl
lea rcx, [rbp + 0x78]
call fcn.14021a570
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 0x140242d3c
mov edx, dword [r13 + 0x20]
mov ecx, 0x4000
test cx, ax
je 0x14023f9d4
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 0x1402444f4
mov ecx, dword [rsp + 0x44]
jmp 0x140243ee2
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 0x14023fa36
mov rcx, r13
call fcn.140236b80
jmp 0x140240d5d
call fcn.140236900
mov rcx, rdi
mov rbx, rax
call fcn.140236900
movzx edx, byte [r14 + r12*8]
mov rcx, rax
cmp dl, 0x55
jne 0x14023fa58
and rbx, rax
jmp 0x14023faca
cmp dl, 0x56
jne 0x14023fa62
or rbx, rax
jmp 0x14023faca
test rax, rax
je 0x14023faca
jns 0x14023fa7c
mov eax, 0xaf
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x14023fa82
neg rcx
cmp rcx, 0x40
jl 0x14023fa9b
test rbx, rbx
jns 0x14023fa94
cmp dl, 0x57
je 0x14023fa94
or eax, 0xffffffff
movsxd rbx, eax
jmp 0x14023faca
xor eax, eax
movsxd rbx, eax
jmp 0x14023faca
cmp dl, 0x57
jne 0x14023faa8
shl rbx, cl
mov r8, rbx
jmp 0x14023fac7
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14023fac7
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 0x140240d5d
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, r10
mov rcx, rbx
call fcn.140236a50
movsxd rax, dword [r14 + r12*8 + 8]
add qword [rbx + 0x18], rax
jmp 0x140240d5d
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, r10
movzx eax, word [rbx + 0x24]
test al, 4
jne 0x14023fb54
mov rcx, rbx
call fcn.14023ea70
test byte [rbx + 0x24], 8
je 0x14023fb2f
mov rcx, rbx
call fcn.1402369f0
movzx eax, word [rbx + 0x24]
test al, 4
jne 0x14023fb4f
mov eax, dword [r14 + r12*8 + 8]
test eax, eax
je 0x1402442a6
mov ecx, eax
mov dword [rsp + 0x40], eax
jmp 0x140240d67
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 0x140240d6f
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x24], 4
je 0x14023fb92
call fcn.140236a80
mov r10, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x40]
inc ecx
xor r11d, r11d
mov dword [rsp + 0x40], ecx
jmp 0x140240d6f
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.0x14023ed62
movzx eax, cx
shr ax, 3
and ax, 2
or ax, cx
mov word [rbx + 0x24], ax
test al, 2
jne 0x14023fbe4
test al, 0xc
je 0x14023fbe4
movzx edx, byte [rsp + 0x58]
mov rcx, rbx
call fcn.140236690
mov eax, 0xfff3
and word [rbx + 0x24], ax
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x14023fc1d
mov rcx, rbx
call fcn.1402365b0
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 0x140243ee2
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 0x140243ee2
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.0x14023ed62
test al, 0x10
jne 0x14023fc91
test al, 2
jne 0x14023fc71
test al, 0xc
je 0x14023fc71
movzx edx, byte [rsp + 0x58]
mov rcx, rbx
call fcn.140236690
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 0x140240d6f
mov ecx, 0xfe10
and ax, cx
mov ecx, dword [rsp + 0x40]
mov word [rbx + 0x24], ax
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x14023ecc3
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, r10
call fcn.140236b00
jmp 0x140240d5d
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x24], 1
jne 0x14023fb92
call fcn.140236a50
jmp 0x140240d5d
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x24], 1
jne 0x14023fb92
call fcn.140236a80
jmp 0x140240d5d
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 0x14023fdc6
mov r8, qword [rsp + 0x68]
movzx eax, byte [r8 + r12*8 + 3]
test al, al
jns 0x14023fd69
test r15b, 1
je 0x14023fd61
test r14b, 1
je 0x14023fd61
mov eax, 0x100
test ax, r14w
jne 0x14023fd61
mov eax, r11d
jmp 0x14023fe47
mov eax, r9d
jmp 0x14023fe47
mov r14, r8
test al, 0x10
je 0x14023fdb9
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 0x14023ecd0
test al, 8
je 0x14023fd91
mov ecx, dword [r14 + r12*8 + 8]
dec ecx
jmp 0x14023fd95
mov rax, qword [rsp + 0x68]
movzx ebx, byte [rax + r12*8 + 3]
and bl, 0x67
je 0x14023fe07
movzx r8d, byte [rsp + 0x58]
movzx edx, bl
mov rcx, rdi
call fcn.14023eaf0
movzx r8d, byte [rsp + 0x58]
movzx edx, bl
mov rcx, rsi
call fcn.14023eaf0
mov rcx, qword [rsp + 0x70]
cmp byte [rcx + 0x50], 0
jne 0x140244699
mov ebx, 0x4000
test word [rdi + 0x24], bx
je 0x14023fe1a
mov rcx, rdi
call fcn.1402365b0
test word [rsi + 0x24], bx
je 0x14023fe28
mov rcx, rsi
call fcn.1402365b0
mov rax, qword [rsp + 0x68]
mov rdx, rdi
mov rcx, rsi
mov r8, qword [rax + r12*8 + 0x10]
call fcn.14023b450
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 0x14023fe8a
dec edx
je 0x14023fe83
dec edx
je 0x14023fe7c
dec edx
je 0x14023fe75
dec edx
je 0x14023fe6e
test eax, eax
setns cl
jmp 0x14023fe8f
test eax, eax
sets cl
jmp 0x14023fe8f
test eax, eax
setle cl
jmp 0x14023fe8f
test eax, eax
setg cl
jmp 0x14023fe8f
test eax, eax
sete cl
jmp 0x14023fe8f
test eax, eax
setne cl
test byte [r8 + r12*8 + 3], 0x10
je 0x14023ff04
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 0x140240d6f
test ecx, ecx
je 0x14023febf
mov ecx, dword [r8 + r12*8 + 8]
dec ecx
jmp 0x14023fec3
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 0x14023ecd0
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 0x14023ffe9
lea rsi, [r13 + 0x20]
test rax, rax
je 0x14023ff7f
mov r8d, dword [rax + rbx*4]
jmp 0x14023ff82
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.14023b450
mov dword [rbp - 0x38], eax
test eax, eax
jne 0x14023ffd2
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 0x14023ff74
jmp 0x14023ffdc
test r14d, r14d
je 0x14023ffdc
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 0x140240d6a
mov ebx, dword [rbp - 0x38]
test ebx, ebx
jns 0x14024001b
mov ecx, dword [r14 + r12*8 + 4]
mov ebx, dword [rsp + 0x48]
jmp 0x14023ecc3
je 0x14023ed89
mov ecx, dword [r14 + r12*8 + 0xc]
mov ebx, dword [rsp + 0x48]
jmp 0x14023ecc3
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x24], 1
je 0x140240048
mov ebx, 2
jmp 0x14024005e
call fcn.140236900
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 0x140240077
mov edx, 2
jmp 0x14024008d
call fcn.140236900
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 0x1402400b2
movzx edx, byte [rcx + rax + 0x32f3f8]
jmp 0x1402400ba
movzx edx, byte [rcx + rax + 0x32f280]
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 0x1402400ef
mov eax, 0xbe01
and word [r13 + 0x24], ax
or word [r13 + 0x24], 1
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x140240d6f
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 0x140240d6f
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 0x140240141
mov rcx, r13
call fcn.140236b80
jmp 0x140240d5d
call fcn.140236900
xor edx, edx
mov rcx, r13
test rax, rax
sete dl
call fcn.140236c40
jmp 0x140240d5d
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 0x14024018b
mov rcx, r13
call fcn.140236b80
jmp 0x140240d5d
call fcn.140236900
mov rcx, r13
not rax
mov rdx, rax
call fcn.140236c40
jmp 0x140240d5d
movsxd rax, dword [r14 + r12*8 + 4]
mov rcx, qword [rsi + 0x118]
cmp byte [rax + rcx], 0
jne 0x14023ed89
mov byte [rax + rcx], 1
mov ecx, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x14023ecc3
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x24], 1
je 0x1402401e5
mov ecx, dword [r14 + r12*8 + 0xc]
jmp 0x14024020f
call fcn.140236990
ucomisd xmm0, xmm6
jp 0x1402401f6
jne 0x1402401f6
xor ecx, ecx
jmp 0x1402401fb
mov ecx, 1
mov r10, qword [rsp + 0x50]
cmp dil, 0x2d
jne 0x14024020f
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
je 0x14023fb64
mov ecx, dword [r14 + r12*8 + 8]
dec ecx
inc ecx
xor r11d, r11d
mov dword [rsp + 0x40], ecx
jmp 0x140240d6f
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x24], 1
je 0x1402401bd
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x14023ecc3
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x24], 1
jne 0x1402401bd
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x14023ecc3
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.14023aa10
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402443fe
mov rax, rdi
mov eax, dword [rax + 0x7c]
cmp dword [r15 + 0x58], eax
jne 0x1402402eb
test byte [rbx + r12*8 + 3], 0x20
je 0x1402404ee
cmp byte [r15 + 0x25], 0
je 0x140240336
test r13, r13
jne 0x140240321
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 0x140240450
mov eax, 0xbe01
and word [r14 + 0x24], ax
or word [r14 + 0x24], 1
jmp 0x1402408a5
test byte [r15 + 0x28], 2
jne 0x1402403c6
cmp byte [r13 + 0x6f], 1
je 0x140240352
mov qword [rbp + 0x48], 0
jmp 0x14024035e
lea rdx, [rbp + 0x48]
mov rcx, r13
call fcn.14022e970
cmp word [r13 + 0x56], 0
jne 0x1402403a9
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.14022b1a0
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 0x140240432
lea rdi, [r15 + 0x5c]
mov rcx, r13
mov rdx, rdi
call fcn.14022e9e0
cmp word [r13 + 0x56], 0
jne 0x140240420
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.14022b1a0
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 0x14024043e
mov dword [r15 + 0x60], eax
jmp 0x140240442
mov dword [r15 + 0x60], ebx
mov rcx, qword [rsp + 0x70]
cmp eax, dword [rcx + 0x68]
ja 0x1402444ed
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 0x140240474
movzx ecx, al
mov eax, 1
mov dword [rbp - 0x3c], ecx
jmp 0x140240483
lea rdx, [rbp - 0x3c]
call fcn.14021baa0
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 0x1402404a3
mov qword [r15 + 0x68], rax
mov dword [r15 + 0x60], eax
cmp ecx, 0x18003
ja 0x1402404af
cmp ecx, dword [rdi]
jbe 0x1402404f2
lea r9, [0x1403722dc]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0x10f5d
mov ecx, 0xb
call fcn.14021a280
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 0x140243edf
mov rdx, qword [rbp - 0x70]
movzx eax, word [r15 + 0x22]
cmp eax, esi
jg 0x140240766
mov eax, dword [rdx]
cmp dword [r15 + 0x64], eax
jae 0x140240723
mov r12, qword [r15 + 0x68]
test r12, r12
jne 0x14024056c
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.140237260
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402404d6
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 0x1402405a2
movzx eax, al
inc rbx
mov dword [rbp - 0x28], eax
jmp 0x1402405bb
lea rdx, [rbp - 0x28]
mov rcx, rbx
call fcn.14021baa0
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 0x1402405cc
add eax, 0xfffffff4
shr eax, 1
jmp 0x1402405db
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x32d040]
add esi, eax
mov dword [rbp - 0x3c], esi
cmp esi, eax
jb 0x140240602
inc r14d
movsxd rax, r14d
lea rdi, [rax*4]
mov dword [rdi + rdx], esi
cmp r14d, dword [rbp - 0x80]
jg 0x140240606
cmp rbx, r13
jb 0x140240590
jmp 0x140240606
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 0x1402406ee
movzx eax, word [rbp + 0xc]
mov r12d, 0x2460
test r12w, ax
je 0x1402406c3
mov ecx, 0x2000
test cx, ax
je 0x140240655
mov rdx, qword [rbp]
lea rcx, [rbp - 0x18]
call fcn.140236760
lea rcx, [rbp - 0x18]
call fcn.1402368b0
jmp 0x1402406c3
mov ecx, 0x400
test cx, ax
je 0x140240670
mov rcx, qword [rbp - 0x10]
call qword [rbp + 0x10]
mov qword [rbp + 0x10], 0
jmp 0x1402406c3
movzx eax, byte [rbp + 0xc]
test al, 0x20
je 0x140240683
mov rcx, qword [rbp]
call fcn.140221c50
jmp 0x1402406c3
test al, 0x40
je 0x1402406c3
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 0x1402406af
mov rcx, qword [rbp]
call fcn.140221c50
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 0x1402406dd
mov rcx, qword [rbp - 0x18]
call fcn.140218260
mov qword [rbp + 0x18], 0
mov eax, 1
mov qword [rbp - 0x10], 0
mov word [rbp + 0xc], ax
cmp rbx, r13
ja 0x1402442b4
mov eax, dword [r15 + 0x5c]
cmp esi, eax
ja 0x1402442b4
cmp rbx, r13
jne 0x140240710
cmp esi, eax
jne 0x1402442b4
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 0x140240766
mov rax, qword [rsp + 0x68]
cmp byte [rax + r12*8 + 1], 0xf8
jne 0x140240751
mov rdx, qword [rax + r12*8 + 0x10]
mov r8d, 0x800
mov rcx, r14
call fcn.140236e90
jmp 0x1402408a1
mov eax, 0xbe01
and word [r14 + 0x24], ax
or word [r14 + 0x24], 1
jmp 0x1402408a1
movsxd rsi, esi
mov eax, dword [rdx + rsi*4 + 4]
cmp dword [r15 + 0x60], eax
jb 0x1402407a4
mov eax, 0x2460
test word [r14 + 0x24], ax
je 0x14024078b
mov rcx, r14
call fcn.140236830
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.14023ac30
jmp 0x140240898
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 0x1402407c9
cmp ebx, 0xc
jb 0x1402407c5
test bl, 1
je 0x1402407e8
test al, al
js 0x1402407e8
cmp ebx, 0xc
jb 0x1402407d5
lea edi, [rbx - 0xc]
shr edi, 1
jmp 0x1402407e4
lea rcx, [0x140000000]
movzx edi, byte [rbx + rcx + 0x32d040]
test edi, edi
jne 0x1402407fe
mov eax, 0
lea rcx, [rbp + 0x48]
cmp ebx, 0xd
cmova rcx, rax
mov qword [rbp + 0x18], rax
jmp 0x140240863
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.140236fa0
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.140237260
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402404d6
mov rcx, qword [rbp - 0x10]
mov r8, r14
mov edx, ebx
call fcn.14023ac30
cmp qword [rbp + 0x18], 0
je 0x140240898
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 0x140243eba
mov rcx, r14
call fcn.140236530
mov r15, qword [rsp + 0x70]
mov esi, dword [rsp + 0x40]
test eax, eax
jne 0x1402446a0
mov ecx, dword [rsp + 0x44]
mov r13, qword [rsp + 0x78]
mov r14, qword [rsp + 0x68]
jmp 0x140243edf
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 0x14023fb92
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.14023eaf0
movzx eax, byte [rdi]
add rbx, 0x38
test al, al
jne 0x140240910
jmp 0x140240d5d
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 0x1402409c9
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.14023eaf0
movzx eax, byte [rbx + 1]
lea rbx, [rbx + 1]
add rdi, 0x38
test al, al
jne 0x1402409a0
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.14023aad0
mov edi, eax
cmp eax, 0xc
jb 0x1402409eb
lea ebx, [rdi - 0xc]
shr ebx, 1
jmp 0x1402409fa
lea rcx, [0x140000000]
movzx ebx, byte [rdi + rcx + 0x32d040]
mov eax, 0x4000
test word [rsi + 0x24], ax
je 0x140240a1f
test r14, r14
je 0x140240a14
mov rcx, rsi
call fcn.1402365b0
jmp 0x140240a1f
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 0x140240a32
mov eax, r12d
jmp 0x140240a50
mov rcx, rdi
mov eax, r11d
nop dword [rax + rax]
shr rcx, 7
inc eax
test rcx, rcx
je 0x140240a50
cmp eax, 9
jl 0x140240a40
mov ecx, dword [rbp - 0x78]
mov r9d, dword [rbp - 0x80]
sub rsi, 0x38
add r15d, eax
cmp rsi, r13
jae 0x1402409d3
mov r12, qword [rbp - 0x58]
cmp r15d, 0x7e
jle 0x140240ab4
movsxd rax, r15d
mov edx, r11d
nop word [rax + rax]
shr rax, 7
inc edx
test rax, rax
je 0x140240a90
cmp edx, 9
jl 0x140240a80
add r15d, edx
mov eax, r11d
movsxd rcx, r15d
nop dword [rax]
shr rcx, 7
inc eax
test rcx, rcx
je 0x140240ab0
cmp eax, 9
jl 0x140240aa0
cmp edx, eax
jge 0x140240ab7
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 0x1402444ed
mov rdi, qword [rsp + 0x78]
xor r8d, r8d
mov edx, esi
mov rcx, rdi
call fcn.1402363d0
test eax, eax
jne 0x140241918
mov rdi, qword [rdi + 8]
mov r9d, 0x80
cmp r15d, r9d
jae 0x140240b08
mov esi, 1
mov byte [rdi], r15b
mov eax, esi
jmp 0x140240b42
test r15d, 0xffffc000
jne 0x140240b2c
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 0x140240b3d
mov edx, r15d
mov rcx, rdi
call fcn.14021b7e0
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.14023aad0
movsxd rcx, ebx
mov r10d, eax
cmp eax, r9d
jae 0x140240b6e
mov byte [rcx + rdi], r10b
mov eax, esi
jmp 0x140240b9c
add rcx, rdi
test r10d, 0xffffc000
jne 0x140240b94
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 0x140240b9c
mov rdx, r10
call fcn.14021b7e0
movzx eax, al
movsxd rcx, r15d
mov r8d, r10d
add rcx, rdi
mov rdx, r13
add ebx, eax
call fcn.14023aba0
add r13, 0x38
mov r9d, 0x80
add r15d, eax
cmp r13, r12
jbe 0x140240b50
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 0x140240bf7
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 0x140240d6a
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 0x140240c4e
mov esi, dword [rsp + 0x40]
mov rax, r11
mov ecx, r11d
mov dword [rsp + 0x44], ecx
mov qword [r13 + 0x18], rax
jmp 0x140243ee2
lea rdx, [rbp + 0x158]
call fcn.140233dc0
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 0x140243ee2
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 0x140240d8e
cmp dword [r15 + 0xa4], r12d
jg 0x1402442eb
mov rbx, r14
test r14, r14
jne 0x140240cae
mov ebx, r11d
jmp 0x140240cc5
cmp byte [r14], 0
je 0x140240cbc
inc rbx
cmp byte [rbx], 0
jne 0x140240cb4
sub ebx, r14d
and ebx, 0x3fffffff
mov r8d, dword [r15 + 0x300]
xor edx, edx
mov rcx, r15
add r8d, dword [r15 + 0x2fc]
call fcn.14027f800
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402443c8
lea edx, [rbx + 0x21]
mov rcx, r15
call fcn.140218530
mov rdi, rax
test rax, rax
je 0x140240d58
lea r9, [rax + 0x20]
lea ecx, [rbx + 1]
mov rdx, r14
movsxd r8, ecx
mov rcx, r9
mov qword [rax], r9
call fcn.1402b9d30
cmp byte [r15 + 0x4e], 0
je 0x140240d29
mov byte [r15 + 0x4e], 0
mov byte [r15 + 0x55], 1
jmp 0x140240d30
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 0x14023ecd0
mov rdi, qword [rsp + 0x70]
mov r15d, r11d
mov rsi, qword [rdi + 0x2f0]
test rsi, rsi
je 0x140240dbd
mov rcx, qword [rsi]
mov rdx, r14
call fcn.14021af30
test eax, eax
je 0x140240def
mov rsi, qword [rsi + 0x18]
inc r15d
test rsi, rsi
jne 0x140240da2
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.140218780
mov esi, dword [rsp + 0x40]
mov ecx, 1
inc esi
mov dword [rsp + 0x44], ecx
jmp 0x14024401b
cmp dword [rdi + 0xa4], 0
jle 0x140240e02
cmp r12d, 1
je 0x140244312
cmp qword [rsi + 0x18], 0
jne 0x140240e65
cmp byte [rdi + 0x55], 0
je 0x140240e65
mov r14d, 1
mov dword [rbp - 0x78], r14d
cmp r12d, r14d
jne 0x140240e6f
mov rbx, qword [rsp + 0x60]
mov rdx, qword [rbx]
mov rax, qword [rdx + 0x310]
add rax, qword [rdx + 0x308]
test rax, rax
jg 0x14024434a
mov rcx, rbx
mov byte [rdi + 0x4e], r14b
call fcn.14023a130
cmp eax, 5
je 0x140244327
mov byte [rdi + 0x55], 0
mov ecx, dword [rbx + 0x84]
mov dword [rsp + 0x44], ecx
jmp 0x140240f4c
xor ecx, ecx
mov r14d, ecx
mov dword [rbp - 0x78], ecx
jmp 0x140240e71
xor ecx, ecx
mov eax, dword [rdi + 0x2fc]
sub eax, r15d
lea r15d, [rax - 1]
cmp r12d, 2
jne 0x140240ece
mov rax, qword [rsp + 0x70]
mov edi, ecx
cmp dword [rax + 0x28], 0
jle 0x140240ed1
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.14022e440
inc edi
lea rbx, [rbx + 0x20]
cmp edi, dword [r12 + 0x28]
jl 0x140240ea0
mov r14d, dword [rbp - 0x78]
mov r12d, dword [rbp - 0x70]
mov rax, qword [rsp + 0x70]
jmp 0x140240ed1
mov rax, rdi
xor ecx, ecx
mov edi, ecx
cmp dword [rax + 0x28], ecx
jle 0x140240f12
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.14022e660
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402443be
mov rax, qword [rsp + 0x70]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x140240ee0
mov rdi, qword [rsp + 0x70]
cmp r12d, 2
jne 0x140240f4c
test byte [rdi + 0x2c], r12b
je 0x140240f4c
mov rax, qword [rdi + 8]
test rax, rax
je 0x140240f40
nop dword [rax]
or dword [rax + 0x8c], 0x20
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x140240f30
mov rcx, rdi
call fcn.140254d90
or dword [rdi + 0x2c], 2
cmp qword [rdi + 0x2f0], rsi
je 0x140240f89
nop word [rax + rax]
mov rdx, qword [rdi + 0x2f0]
mov rcx, rdi
mov rax, qword [rdx + 0x18]
mov qword [rdi + 0x2f0], rax
call fcn.140218260
dec dword [rdi + 0x2fc]
cmp qword [rdi + 0x2f0], rsi
jne 0x140240f60
cmp r12d, 1
jne 0x140240fb6
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, rdi
mov qword [rdi + 0x2f0], rax
call fcn.140218260
test r14d, r14d
jne 0x140243e8c
dec dword [rdi + 0x2fc]
jmp 0x140240fd5
mov rax, qword [rsi + 8]
mov qword [rdi + 0x308], rax
mov rax, qword [rsi + 0x10]
mov qword [rdi + 0x310], rax
test r14d, r14d
jne 0x140243e8c
mov r8d, r15d
mov r15, qword [rsp + 0x70]
mov edx, r12d
mov rcx, r15
call fcn.14027f800
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402443c3
mov esi, dword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
jmp 0x140243edf
mov edx, dword [r14 + r12*8 + 8]
test edx, edx
je 0x14024101b
test dword [r15 + 0x2c], 0x2000000
jne 0x140244376
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 0x140241157
mov rcx, rsi
call fcn.14022d150
mov ecx, eax
mov dword [rsp + 0x44], eax
cmp eax, 5
je 0x140244383
test eax, eax
jne 0x1402443c3
cmp dword [r14 + r12*8 + 8], eax
je 0x140241129
mov rbx, qword [rsp + 0x60]
test byte [rbx + 0x8c], 0x80
je 0x140241129
cmp byte [r15 + 0x4e], al
je 0x140241086
cmp dword [r15 + 0xa0], 1
jle 0x140241129
cmp dword [rbx + 0x9c], 0
jne 0x1402410aa
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.14027f800
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14024110d
mov edi, dword [rbx + 0x9c]
mov rbx, qword [rsi + 8]
mov rcx, rsi
call fcn.14022a490
mov rcx, qword [rbx]
mov edx, edi
call fcn.140226e20
cmp byte [rsi + 0x11], 0
mov dword [rsp + 0x44], eax
je 0x140241108
dec dword [rsi + 0x14]
jne 0x140241108
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x140241104
call qword [0x14041c1a8]
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.140233c60
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 0x140241160
mov ebx, r11d
mov eax, r11d
mov dword [rbp + 0x38], ebx
cmp byte [r14 + r12*8 + 3], 0
je 0x14023fc2e
cmp ebx, dword [r14 + r12*8 + 0xc]
jne 0x14024117e
cmp eax, dword [r14 + r12*8 + 0x10]
je 0x14023fc2e
mov rdi, qword [rsp + 0x60]
mov rcx, r15
mov rdx, qword [rdi + 0x48]
call fcn.140218260
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.1402186a0
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 0x1402411c3
mov rcx, r15
call fcn.140254d40
mov esi, dword [rsp + 0x40]
mov rax, rdi
mov ecx, 0x11
or dword [rax + 0x8c], 0x20
mov dword [rsp + 0x44], ecx
jmp 0x140243edf
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.140233c60
movsxd rax, dword [rbp + 0x58]
mov qword [r13 + 0x18], rax
jmp 0x140240d5d
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.140236a50
mov r8d, dword [rdi + 0x18]
mov edx, dword [r14 + r12*8 + 8]
mov rcx, qword [rbx + 8]
call fcn.140233d00
mov dword [rsp + 0x44], eax
mov eax, dword [r14 + r12*8 + 8]
cmp eax, 1
jne 0x14024125d
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdi + 0x18]
mov dword [rcx], eax
or dword [r15 + 0x2c], 2
jmp 0x14024126d
cmp eax, 2
jne 0x14024126d
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rdi + 0x18]
mov byte [rcx + 0x70], al
cmp dword [r14 + r12*8 + 4], 1
jne 0x14023f093
mov rax, qword [r15 + 8]
test rax, rax
je 0x1402412a0
nop dword [rax]
nop word [rax + rax]
or dword [rax + 0x8c], 0x20
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x140241290
and dword [rsi + 0x8c], 0xffffffdf
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x140243edf
test byte [rsi + 0x8c], 0x20
jne 0x1402443dd
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 0x140241310
mov rax, qword [rax + 0x18]
mov edi, r9d
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x60]
cmp cl, byte [rax + 0x8b]
jae 0x140241313
mov byte [rax + 0x8b], cl
jmp 0x140241313
mov edi, r11d
mov rcx, qword [rbp - 0x68]
test byte [rdx + rcx*8 + 3], 2
je 0x140241347
imul rbx, r15, 0x38
mov rax, r15
add rbx, r10
mov rcx, rbx
call fcn.140236a50
mov r15d, dword [rbx + 0x18]
cmp r15d, 2
jl 0x140244397
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rsp + 0x68]
movzx eax, byte [rdx + rcx*8 + 1]
cmp al, 0xfa
jne 0x140241363
mov r14, qword [rdx + rcx*8 + 0x10]
movzx esi, word [r14 + 8]
movzx eax, word [r14 + 6]
add esi, eax
jmp 0x14024136b
cmp al, 0xf2
jne 0x14024136b
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.14023e980
mov rbx, rax
test rax, rax
je 0x140241918
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.14022e740
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 0x140243ee2
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.14023e980
mov rdi, rax
test rax, rax
je 0x14024469c
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.14022c020
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140241531
mov rcx, qword [rdi + 8]
lea edx, [rax + 1]
call fcn.14022d150
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140241531
mov r15, qword [rbx + r12*8 + 0x10]
test r15, r15
je 0x140241506
mov rsi, qword [rdi + 8]
movzx ebx, byte [rbx + r12*8 + 3]
mov rcx, rsi
or ebx, 2
call fcn.14022a490
lea rdx, [rbp + 0x54]
mov r8d, ebx
mov rcx, rsi
call fcn.1402332e0
cmp byte [rsi + 0x11], 0
mov dword [rsp + 0x44], eax
je 0x1402414d7
dec dword [rsi + 0x14]
jne 0x1402414d7
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x1402414cf
call qword [0x14041c1a8]
mov eax, dword [rsp + 0x44]
mov byte [rsi + 0x12], 0
test eax, eax
jne 0x140241500
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.14022e740
mov dword [rsp + 0x44], eax
and dword [rdi + 0x28], 0xfffffffd
jmp 0x14024152c
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.14022e740
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 0x140243ee2
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.14023e980
test rax, rax
je 0x14024469c
mov rcx, qword [r14 + r12*8 + 0x10]
mov rdx, rax
mov qword [rax + 0x10], rcx
mov rcx, r15
call fcn.140245d20
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x140243edf
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.14023e980
test rax, rax
je 0x14024469c
mov byte [rax + 0x25], 1
mov ecx, dword [r14 + r12*8 + 8]
or dword [rax + 0x28], 2
mov dword [rax + 0x1c], ecx
jmp 0x140240d5d
movsxd rax, dword [r14 + r12*8 + 4]
mov rdx, qword [rsi + 0x60]
mov rcx, rsi
mov rdx, qword [rdx + rax*8]
call fcn.140239640
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 0x140240d6a
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 0x14024171d
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rdi, rax, 0x38
add rdi, r10
mov rcx, rdi
call fcn.14023ea70
mov rcx, rdi
call fcn.140236900
mov byte [rbx + 0x26], 0
movzx ecx, word [rdi + 0x24]
mov r14, rax
test cl, 4
jne 0x1402416a2
test cl, 8
jne 0x140241677
mov r14, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov ecx, dword [r14 + r12*8 + 8]
jmp 0x140240d63
movsd xmm0, qword [rdi + 0x10]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
comisd xmm1, xmm0
jbe 0x140241694
test sil, 1
jne 0x1402416a2
dec esi
jmp 0x1402416a2
comisd xmm0, xmm1
jbe 0x1402416a2
test sil, 1
je 0x1402416a2
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.14022f4e0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402443c3
cmp dword [rbp - 0x7c], eax
jne 0x1402416d6
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 0x1402417b3
test eax, eax
js 0x1402417a1
jne 0x140241705
cmp esi, 0x3e
je 0x1402417a1
mov dword [rbp - 0x7c], r11d
mov ecx, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x140240d6a
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 0x14024176d
call fcn.1402365b0
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.14022f4e0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402443c3
mov byte [rbx + 0x26], al
jmp 0x1402416db
mov dword [rbp - 0x7c], r11d
mov rcx, qword [rbx]
lea rdx, [rbp - 0x7c]
call fcn.14022fa30
jmp 0x1402417e0
test eax, eax
jg 0x1402417d0
jne 0x1402417be
cmp esi, 0x3b
je 0x1402417d0
mov rax, qword [rbx]
mov ecx, r11d
cmp byte [rax + 0x6f], 1
setne cl
mov dword [rbp - 0x7c], ecx
jmp 0x1402417f5
mov dword [rbp - 0x7c], r11d
mov rcx, qword [rbx]
lea rdx, [rbp - 0x7c]
call fcn.14022fbd0
mov dword [rsp + 0x44], eax
mov ecx, eax
test eax, eax
jne 0x1402443c3
xor r11d, r11d
mov byte [rbx + 0x26], r11b
cmp dword [rbp - 0x7c], 0
je 0x140241709
mov ecx, dword [r14 + r12*8 + 8]
mov rsi, qword [rsp + 0x60]
dec ecx
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x140240d6a
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.140236900
mov word [rbx + 0x26], 0x100
mov qword [rbx + 0x40], rax
jmp 0x140240d5d
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 0x1402418e0
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 0x1402418d7
mov rdi, r11
mov r12d, 0x4000
test word [rdi + rsi + 0x24], r12w
je 0x1402418c6
movsxd rax, ebx
imul rcx, rax, 0x38
add rcx, rsi
call fcn.1402365b0
mov rsi, qword [rbp + 0x188]
movzx ecx, word [rbp + 0x180]
inc ebx
movzx eax, cx
add rdi, 0x38
cmp ebx, eax
jl 0x1402418a1
mov r12, qword [rbp - 0x68]
lea rdi, [rbp + 0x178]
jmp 0x140241958
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 0x140241922
mov rcx, qword [rbx + 0x10]
call fcn.140218530
mov rdi, rax
mov r15, rax
test rax, rax
jne 0x14024192f
mov r15, qword [rsp + 0x70]
jmp 0x14024469c
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.14023ae80
mov rbx, qword [rsp + 0x68]
mov byte [rdi + 0xa], 0
cmp byte [rbx + r12*8], 0x40
jne 0x140241992
movzx edx, word [rbp + 0x180]
xor ecx, ecx
test rdx, rdx
jle 0x140241992
mov rax, qword [rbp + 0x188]
add rax, 0x24
test byte [rax], 1
jne 0x1402419d4
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x140241981
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.14022f4e0
cmp dword [rbx + r12*8 + 0x10], 0
mov ecx, eax
mov dword [rsp + 0x44], eax
jne 0x1402419e1
mov rdx, r15
mov r15, qword [rsp + 0x70]
mov rcx, r15
call fcn.140218260
mov ecx, dword [rsp + 0x44]
jmp 0x1402419e6
mov esi, dword [rbx + r12*8 + 8]
dec esi
mov dword [rsp + 0x40], esi
jmp 0x140241996
mov r15, qword [rsp + 0x70]
test ecx, ecx
jne 0x140243edc
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 0x140241a5a
test ecx, ecx
je 0x140241a41
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 0x140240d75
mov ecx, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
inc ecx
mov dword [rsp + 0x40], ecx
jmp 0x140240d75
test ecx, ecx
jne 0x140241a41
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 0x140240d75
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.14022f4e0
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 0x140241aee
mov esi, dword [r14 + r12*8 + 8]
mov dword [rdi + 0x18], ecx
mov ecx, dword [rsp + 0x44]
dec esi
jmp 0x140243ee2
mov esi, dword [rsp + 0x40]
mov dword [rdi + 0x18], ecx
mov ecx, dword [rsp + 0x44]
jmp 0x140243ee2
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 0x14023ecbe
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 0x140241d36
test byte [rsi + 0x28], 1
jne 0x140241bd0
cmp byte [rdi + 0x6f], 1
jne 0x140241b69
cmp byte [rdi + 0x6d], 0
jne 0x140241bbc
mov rcx, rdi
call fcn.14022f1d0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140241bb1
cmp byte [rdi + 0x6f], al
jne 0x140241b92
mov eax, 1
mov edi, ecx
mov dword [rsp + 0x44], ecx
mov dword [rbp - 0x80], eax
mov ebx, eax
jmp 0x140241bd0
mov rcx, rdi
mov dword [rbp - 0x80], 0
call fcn.14022f440
mov dword [rsp + 0x44], eax
test eax, eax
mov ecx, dword [rsp + 0x44]
sete al
mov byte [rdi + 0x6d], al
test ecx, ecx
jne 0x1402443c3
xor r11d, r11d
mov rcx, qword [rsi]
cmp byte [rcx + 0x6f], 1
je 0x140241c16
mov rbx, r11
mov dword [rsp + 0x44], r11d
inc rbx
movsxd rdx, dword [r14 + r12*8 + 0xc]
test edx, edx
je 0x140241c7c
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0xf0]
test rcx, rcx
je 0x140241c3c
mov rax, qword [rcx + 8]
test rax, rax
je 0x140241c0c
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140241c00
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x140241c45
lea rdx, [rbp - 0x48]
call fcn.14022e970
mov rbx, qword [rbp - 0x48]
mov dword [rsp + 0x44], eax
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jl 0x140241bcd
or dword [rsi + 0x28], 1
jmp 0x140241bd0
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.140236a50
mov rax, qword [rdi + 0x18]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x1402443f3
test byte [rsi + 0x28], 1
jne 0x1402443f3
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rdi + 0x18], rbx
test byte [rsi + 0x28], 1
je 0x140241d29
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.14022f4e0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140241d29
mov eax, dword [rbp - 0x80]
test eax, eax
jne 0x140241d1d
inc edi
cmp edi, 0x64
jge 0x140241d1d
lea rdx, [rbp - 0x48]
lea ecx, [rax + 8]
call fcn.14021a2d0
mov rbx, qword [rbp - 0x48]
cmp edi, 5
jge 0x140241cee
and ebx, 0xffffff
jmp 0x140241cf1
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.14022f4e0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
je 0x140241cc3
jmp 0x140241d29
test ecx, ecx
jne 0x140241d29
test eax, eax
je 0x1402443f3
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 0x140243ee2
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 0x140241d76
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rcx, rax, 0x38
mov rbx, qword [rcx + r10 + 0x18]
jmp 0x140241d7b
movsxd rbx, dword [r14 + r12*8 + 0xc]
test byte [r14 + r12*8 + 3], 1
je 0x140241d8e
mov rax, qword [rsp + 0x60]
inc dword [rax + 0x90]
test byte [r14 + r12*8 + 3], 2
je 0x140241d9e
mov qword [rbp - 0x50], rbx
mov qword [r15 + 0x30], rbx
movzx eax, word [r9 + 0x24]
test al, 1
je 0x140241daf
mov qword [r9 + 8], r11
mov dword [r9 + 0x20], r11d
movzx r8d, byte [r14 + r12*8 + 3]
test r8b, 0x10
je 0x140241dc0
mov edx, dword [rsi + 0x18]
jmp 0x140241dc3
mov edx, r11d
mov ecx, 0x4000
test cx, ax
je 0x140241dd3
mov ecx, dword [r9 + 0x18]
jmp 0x140241dd6
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.140232d40
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 0x14023fc32
mov r10, qword [r15 + 0x100]
test r10, r10
je 0x14023fc32
mov r9, qword [r14 + r12*8 + 0x10]
test r9, r9
je 0x14023fc32
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 0x140243edf
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.14023aa10
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402443c8
mov rcx, qword [rbx]
call fcn.140232ff0
xor r11d, r11d
mov ecx, eax
mov dword [rsp + 0x44], eax
mov dword [rbx + 0x58], r11d
test eax, eax
jne 0x140241f04
mov r10, qword [r15 + 0x100]
test r10, r10
je 0x140241f04
mov r9, qword [r14 + r12*8 + 0x10]
test r9, r9
je 0x140241f04
test byte [rbx + 0x28], 2
je 0x140241f04
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 0x140241f26
inc dword [rsi + 0x90]
mov esi, dword [rsp + 0x40]
jmp 0x140243ef6
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 0x14023ecc3
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 0x140241f94
movsxd rax, dword [rax + 4]
shl rax, 6
add rax, qword [rcx + 0x28]
mov r10d, dword [rax + 0x14]
mov r8, qword [rax + 0x28]
jmp 0x140241f9f
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 0x140241fc2
mov r9, rsi
mov edx, r10d
mov rcx, rbx
call fcn.14023ae80
test edi, edi
je 0x140241ff5
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 0x140241ff5
mov rax, qword [rsi + 0x10]
add rax, 0x24
test byte [rax], 1
jne 0x140242033
inc ecx
add rax, 0x38
cmp ecx, edx
jl 0x140241fe6
xor r9d, r9d
mov r8, rsi
mov rdx, r15
mov ecx, r14d
call fcn.14023b6b0
xor r11d, r11d
mov dword [rsp + 0x44], r11d
test eax, eax
je 0x14024203a
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 0x140240d6a
mov dword [rsp + 0x44], r11d
jmp 0x140242012
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 0x140240d6a
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.140246dc0
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x140243edf
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.14023aa10
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402443c3
test byte [rsi + 0x28], 2
jne 0x140242100
cmp byte [rdi + 0x6f], 1
je 0x1402420db
xor ebx, ebx
mov qword [rbp + 0x150], rbx
jmp 0x1402420f1
lea rdx, [rbp + 0x150]
mov rcx, rdi
call fcn.14022e970
mov rbx, qword [rbp + 0x150]
movsxd rax, dword [r15 + 0x68]
cmp rbx, rax
jg 0x1402444f0
jmp 0x14024215c
cmp word [rdi + 0x56], 0
jne 0x14024214f
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.14022b1a0
mov byte [rdi + 0x6e], 1
mov ebx, dword [rdi + 0x48]
cmp ebx, dword [r15 + 0x68]
ja 0x1402444f0
xor r8d, r8d
mov edx, ebx
mov rcx, r13
call fcn.1402363d0
test eax, eax
jne 0x14024469c
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 0x1402421b4
mov dword [rsp + 0x20], edx
call fcn.14022ec40
mov esi, dword [rsp + 0x40]
mov dword [rsp + 0x44], eax
mov ecx, eax
mov byte [r13 + 0x26], 1
jmp 0x140243edf
call fcn.14022f000
mov esi, dword [rsp + 0x40]
mov byte [r13 + 0x26], 1
mov dword [rsp + 0x44], eax
mov ecx, eax
jmp 0x140243edf
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 0x25], 0
je 0x1402421f4
mov ecx, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
mov word [r13 + 0x24], r9w
inc ecx
jmp 0x14023ecc3
cmp byte [rbx + 0x27], 0
je 0x140242213
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 0x140243ee2
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14024223a
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.14023c320
jmp 0x1402422a2
mov rcx, rbx
call fcn.14023aa10
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402443c8
cmp byte [rbx + 0x26], al
je 0x14024226d
mov rax, qword [rbx + 0x48]
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov qword [rbp + 0x20], rax
mov qword [r13 + 0x18], rax
jmp 0x140243ee2
mov rcx, qword [rbx]
cmp byte [rcx + 0x6f], 1
je 0x140242295
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 0x140243ee2
lea rdx, [rbp + 0x20]
call fcn.14022e970
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 0x140243ee2
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 0x1402422ed
mov rcx, qword [rbx + 0x60]
call fcn.1402181b0
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 0x140240d6a
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 0x140242322
cmp byte [rbx + 0x6d], 0
je 0x140242322
mov dword [rsp + 0x44], r11d
jmp 0x140242355
mov rcx, rbx
call fcn.14022f1d0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140242352
cmp byte [rbx + 0x6f], al
jne 0x14024233c
lea edi, [rax + 1]
jmp 0x140242352
mov rcx, rbx
xor edi, edi
call fcn.14022f440
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 0x14023fc2e
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 0x140241f26
lea esi, [rax - 1]
jmp 0x140243ef6
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 0x1402423d4
lea r8, [rbp + 0x3c]
mov rdx, rbx
mov rcx, r15
call fcn.140246780
mov edi, dword [rbp + 0x3c]
xor r11d, r11d
mov dword [rsp + 0x44], eax
jmp 0x14024240c
mov rsi, qword [rbx]
mov rcx, rsi
call fcn.14022f1d0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402423ff
cmp byte [rsi + 0x6f], al
jne 0x1402423f1
lea edi, [rax + 1]
jmp 0x1402423ff
mov rcx, rsi
xor edi, edi
call fcn.14022f3b0
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 0x140241f26
mov esi, dword [r14 + r12*8 + 8]
dec esi
jmp 0x140243ef6
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.140246cf0
jmp 0x14024248f
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rsi + 0x60]
cmp qword [rax + rcx*8], 0
je case.default.0x14023ed62
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 0x1402424c6
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 0x140242ce6
mov esi, dword [rsp + 0x40]
mov byte [rbx + 0x25], 1
mov byte [rbx + 0x26], r11b
jmp 0x140242ce6
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 0x140242506
mov rax, qword [rsp + 0x60]
inc dword [rax + 0x90]
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x140242527
mov rcx, rbx
call fcn.1402365b0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14023f097
cmp qword [rdi + 0x50], 0
je 0x14024254b
mov r8, rbx
mov rdx, rdi
mov rcx, r15
call fcn.1402466a0
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x140243edf
test byte [r14 + r12*8 + 3], 0x10
je 0x140242558
mov eax, dword [rdi + 0x18]
jmp 0x14024255a
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, [0x140336985]
mov rcx, rsi
mov dword [rsp + 0x30], eax
xor eax, eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call fcn.140232d40
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov ecx, eax
mov dword [rsp + 0x44], eax
mov dword [rdi + 0x58], r11d
jmp 0x140243ee2
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.14022f4e0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14024261b
cmp dword [rbp + 0x50], eax
jne 0x14024261b
mov rcx, rdi
call fcn.140232ff0
mov ecx, eax
mov dword [rsp + 0x44], eax
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov dword [rbx + 0x58], r11d
jmp 0x140243ee2
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.14023aa10
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402443c8
cmp byte [rbx + 0x25], al
jne 0x140240d5d
lea r8, [rbp - 0x20]
mov rdx, rdi
mov qword [rbp - 0x20], 0
call fcn.14023bdc0
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402443c8
mov rax, qword [rbp - 0x20]
mov qword [r13 + 0x18], rax
mov eax, 4
mov word [r13 + 0x24], ax
jmp 0x140240d5d
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.14023c0b0
test byte [r14 + r12*8], 1
mov dword [rsp + 0x44], eax
mov eax, dword [rbp - 0x78]
jne 0x140242705
neg eax
jmp 0x140242707
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 0x140243e83
mov esi, dword [r14 + r12*8 + 8]
dec esi
xor r11d, r11d
jmp 0x140243ef6
mov rax, qword [r15 + 8]
mov edx, r11d
test rax, rax
je 0x140242785
mov r14d, 0x200
nop dword [rax + rax]
cmp dword [rax + 0x44], 0xbdf20da3
jne 0x140242777
mov ecx, dword [rax + 0x8c]
test r14d, ecx
je 0x140242777
and cl, 0xc
cmp cl, 8
jae 0x140242777
cmp dword [rax + 0x80], 0
jl 0x140242777
inc edx
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x140242750
mov r14, qword [rsp + 0x68]
mov word [r13 + 0x24], r9w
cmp edx, 1
jg 0x140244467
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.14022a490
lea r8, [rbp + 0x28]
mov edx, ebx
mov rcx, rdi
call fcn.1402339d0
cmp byte [rdi + 0x11], 0
mov dword [rsp + 0x44], eax
je 0x1402427f2
dec dword [rdi + 0x14]
jne 0x1402427f2
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x1402427ee
call qword [0x14041c1a8]
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 0x1402404e0
test edx, edx
je 0x1402404e0
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 0x140242849
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x3c], edx
jne 0x140242841
mov dword [rax + 0x3c], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140242834
mov rax, qword [rsi + r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x14024286c
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x140242864
mov dword [rax + 0x58], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140242857
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 0x140243edf
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.1402338f0
cmp dword [r14 + r12*8 + 0xc], 0
mov ecx, eax
mov dword [rsp + 0x44], eax
je 0x14023f097
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 0x14024272e
imul rcx, rax, 0x38
add qword [rcx + r10 + 0x18], rdx
mov ecx, dword [rsp + 0x44]
xor r11d, r11d
jmp 0x140243ef6
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.14022a490
lea r8d, [rbx + 1]
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.1402332e0
cmp byte [rdi + 0x11], 0
mov dword [rsp + 0x44], eax
je 0x140242968
dec dword [rdi + 0x14]
jne 0x140242968
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x140242964
call qword [0x14041c1a8]
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 0x140243edf
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.140219ee0
mov rbx, rax
test rax, rax
jne 0x1402429e6
mov dword [rsp + 0x44], 7
jmp 0x140242a3c
xor eax, eax
lea r9, [rbp + 0x160]
lea r8, [fcn.14026dd70]
mov rdx, rbx
mov rcx, r15
mov byte [r15 + 0x99], 1
mov dword [rbp + 0x174], eax
mov qword [rsp + 0x20], rax
call fcn.140268bd0
test eax, eax
mov rdx, rbx
mov rcx, r15
cmove eax, dword [rbp + 0x174]
mov dword [rsp + 0x44], eax
call fcn.140218260
mov ecx, dword [rsp + 0x44]
mov byte [r15 + 0x99], 0
test ecx, ecx
je 0x140242a48
mov rcx, r15
call fcn.140254d90
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
cmp ecx, 7
je 0x1402446a0
jmp 0x140243edf
mov edx, dword [r14 + r12*8 + 4]
mov rcx, r15
call fcn.140252e30
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x140243edf
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 0x140242a95
mov eax, r11d
jmp 0x140242aaf
cmp byte [rdx], 0
je 0x140242aa8
nop word [rax + rax]
inc rax
cmp byte [rax], 0
jne 0x140242aa0
sub eax, edx
and eax, 0x3fffffff
mov rcx, qword [rcx + 0x18]
xor r9d, r9d
mov r8d, eax
add rcx, 8
call fcn.14021c310
mov rcx, r15
mov rdx, rax
call fcn.140254ef0
or dword [r15 + 0x2c], 2
jmp 0x140240d5d
mov r8, qword [r14 + r12*8 + 0x10]
mov edx, dword [r14 + r12*8 + 4]
mov rcx, r15
call fcn.140254a30
jmp 0x140240d5d
mov r8, qword [r14 + r12*8 + 0x10]
mov edx, dword [r14 + r12*8 + 4]
mov rcx, r15
call fcn.14027a9d0
jmp 0x140240d5d
mov r12d, dword [r14 + r12*8 + 8]
mov rcx, r15
lea edx, [r12*4 + 4]
call fcn.140218530
mov r14, rax
test rax, rax
je 0x14024469c
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 0x140242b7f
mov rbx, r15
mov esi, r12d
mov rcx, rbx
call fcn.140236900
inc rdi
add rbx, 0x38
mov dword [r14 + rdi*4 - 4], eax
dec rsi
jne 0x140242b58
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.140234c10
mov rdx, r14
mov rcx, rbx
mov rdi, rax
call fcn.140218260
movsxd rbx, dword [rbp + 0x60]
sub qword [r13 + 0x18], rbx
mov rcx, r15
call fcn.140236b80
test ebx, ebx
je 0x140242bff
test rdi, rdi
je 0x140241918
lea rax, [fcn.1402181b0]
mov r9b, 1
or r8d, 0xffffffff
mov rdx, rdi
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.140237030
test byte [r15 + 0x24], 2
movzx edx, byte [rsp + 0x58]
je 0x140242c1c
movzx eax, byte [r15 + 0x26]
cmp eax, edx
je 0x140242c1c
mov rcx, r15
call fcn.14021a570
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
jmp 0x140240d58
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 0x140242c5b
mov rcx, rbx
call fcn.140236d70
test byte [rbx + 0x24], 0x20
je 0x14024469c
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.140221d90
jmp 0x140240d5d
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
add rdi, r10
test byte [rdi + 0x24], 0x20
je 0x140242d45
mov rbx, qword [rdi + 0x18]
movzx eax, byte [rbx + 0x32]
test al, 2
jne 0x140242ca4
test al, 1
jne 0x140242ca0
mov rcx, qword [rbx + 0x10]
call fcn.140221e70
mov qword [rbx + 0x10], rax
or byte [rbx + 0x32], 2
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140242d45
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x140242cc9
mov rcx, rbx
call fcn.140221c50
movsxd rax, dword [r14 + r12*8 + 0xc]
mov rdx, rdi
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x50]
call fcn.140236c40
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov eax, dword [r15 + 0x138]
test eax, eax
jne 0x14024464a
mov r8, qword [r15 + 0x180]
mov ebx, dword [rsp + 0x48]
test r8, r8
je 0x140243e53
cmp ebx, dword [rbp - 0x60]
jb 0x140243e53
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 0x14024451a
mov ecx, dword [rsp + 0x44]
jmp 0x140243edf
mov rcx, rdi
call fcn.140236b80
mov esi, dword [r14 + r12*8 + 8]
dec esi
jmp 0x140242ce3
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 0x140242d8b
mov rcx, rbx
call fcn.140236d70
test byte [rbx + 0x24], 0x20
je 0x14024469c
test edi, edi
je 0x140242dc2
js 0x140242d98
mov eax, edi
and eax, 0xf
jmp 0x140242d9d
mov eax, 0xff
mov r8, qword [rsi + 0x18]
mov rcx, qword [rbx + 0x18]
movzx edx, al
call fcn.1402221e0
test eax, eax
je 0x140242dc0
mov ecx, dword [r14 + r12*8 + 8]
mov rsi, qword [rsp + 0x60]
jmp 0x140240d63
test edi, edi
js 0x140242dd1
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.140221d90
mov rsi, qword [rsp + 0x60]
jmp 0x140240d5d
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 0x140242e23
mov rax, qword [r9 + 0xf0]
mov rcx, qword [r14 + 0x18]
test rax, rax
je 0x140242e23
nop
cmp qword [rax + 0x30], rcx
je 0x140242f22
mov rax, qword [rax + 8]
test rax, rax
jne 0x140242e10
mov eax, dword [r15 + 0x90]
cmp dword [r9 + 0x100], eax
jge 0x140244482
test byte [rsi + 0x24], 0x40
jne 0x140242f3f
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.1402184f0
mov rdi, rax
test rax, rax
je 0x14024469c
mov rcx, rsi
call fcn.1402368b0
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 0x140242f43
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 0x140242f10
jmp 0x140242f43
mov ecx, dword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x48]
mov rsi, r9
inc ecx
mov r9d, 1
jmp 0x14023ecc3
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.1402c22a0
mov rsi, qword [rsp + 0x60]
jmp 0x140240d58
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.140236e90
jmp 0x140240d5d
test dword [r15 + 0x2c], 0x1000000
movsxd rax, dword [r14 + r12*8 + 8]
mov ecx, dword [rsp + 0x40]
je 0x140243049
add qword [r15 + 0x310], rax
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x14023ecc3
cmp dword [r14 + r12*8 + 4], 0
je 0x140243063
add qword [r15 + 0x308], rax
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x14023ecc3
add qword [rsi + 0xc8], rax
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x14023ecc3
cmp dword [r14 + r12*8 + 4], 0
je 0x1402430ab
cmp qword [r15 + 0x308], 0
jne 0x1402401bd
cmp qword [r15 + 0x310], 0
jne 0x1402401bd
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x14023ecc3
cmp qword [rsi + 0xc8], 0
jne 0x1402401bd
cmp qword [r15 + 0x310], 0
jne 0x1402401bd
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x14023ecc3
mov rcx, qword [rsi + 0xf0]
test rcx, rcx
je 0x14024310b
mov rax, qword [rcx + 8]
test rax, rax
je 0x1402430fc
nop
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1402430f0
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x140243117
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
add rdi, r10
mov rcx, rdi
call fcn.140236a50
movsxd rax, dword [r14 + r12*8 + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.140236a50
mov rax, qword [rbx + 0x18]
cmp qword [rdi + 0x18], rax
jge 0x140240d5d
mov qword [rdi + 0x18], rax
jmp 0x140240d5d
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
cmp qword [rcx + r10 + 0x18], 0
jle 0x1402401bd
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x14023ecc3
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
cmp qword [rcx + r10 + 0x18], 0
jge 0x1402401bd
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x14023ecc3
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 0x1402401bd
mov ecx, dword [r14 + r12*8 + 8]
mov ebx, dword [rsp + 0x48]
dec ecx
inc ecx
jmp 0x14023ecc3
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 0x140243200
nop dword [rax + rax]
mov qword [r8 + rax*8], rcx
inc rax
add rcx, 0x38
cmp rax, r10
jl 0x1402431f0
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 0x140243275
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 0x140243341
test byte [rbp + 0x10c], 1
je 0x1402432a1
xor r9d, r9d
jmp 0x140243324
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 0x1402432d3
lea rcx, [rbp + 0xe8]
call fcn.1402365b0
test byte [rbp + 0x10c], 2
je 0x140243301
cmp byte [rbp + 0x10e], 1
je 0x1402432f3
lea rcx, [rbp + 0xe8]
mov dl, 1
call fcn.14021a570
lea rcx, [rbp + 0xe8]
call fcn.140236620
jmp 0x140243312
lea rcx, [rbp + 0xe8]
mov edx, 1
call fcn.140236690
xor r9d, r9d
cmp byte [rbp + 0x10e], 1
cmove r9, qword [rbp + 0xf0]
lea rcx, [rsi + 0x48]
lea r8, [0x14036e0c0]
mov rdx, r15
call fcn.140218780
mov eax, dword [rbp + 0x13c]
mov dword [rsp + 0x44], eax
cmp byte [rbp + 0x140], 0
je 0x140243364
movsxd rax, dword [r14 + r12*8 - 0x14]
test eax, eax
je 0x140243364
imul rcx, rax, 0x38
mov edx, 1
add rcx, rbx
call fcn.140236c40
movzx eax, word [rbp + 0x10c]
mov edi, 0x2460
test di, ax
je 0x140243432
mov ecx, 0x2000
test cx, ax
je 0x1402433a7
mov rdx, qword [rbp + 0x100]
lea rcx, [rbp + 0xe8]
call fcn.140236760
lea rcx, [rbp + 0xe8]
call fcn.1402368b0
jmp 0x140243432
mov ecx, 0x400
test cx, ax
je 0x1402433ca
mov rcx, qword [rbp + 0xf0]
call qword [rbp + pe_nt_image_headers64]
xor r11d, r11d
mov qword [rbp + 0x110], r11
jmp 0x140243435
movzx eax, byte [rbp + 0x10c]
test al, 0x20
je 0x1402433e3
mov rcx, qword [rbp + 0x100]
call fcn.140221c50
jmp 0x140243432
test al, 0x40
je 0x140243432
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 0x140243418
mov rcx, qword [rbp + 0x100]
call fcn.140221c50
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 0x140243e76
mov rcx, qword [rbp + 0xe8]
call fcn.140218260
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov r10, rbx
jmp 0x140243eec
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.140236760
mov dword [rsp + 0x44], eax
test eax, eax
je 0x1402434a5
mov dl, 1
mov rcx, rbx
call fcn.140237400
lea rcx, [rsi + 0x48]
lea r8, [0x14036e0c0]
mov r9, rax
mov rdx, r15
call fcn.140218780
test byte [rbx + 0x24], 2
movzx ecx, byte [rsp + 0x58]
je 0x1402434c3
movzx eax, byte [rbx + 0x26]
cmp eax, ecx
je 0x1402434c3
movzx edx, cl
mov rcx, rbx
call fcn.14021a570
movzx eax, word [rbx + 0x24]
test al, 0x12
je 0x14023f093
mov edx, dword [rbx + 0x20]
mov ecx, 0x4000
test cx, ax
je 0x1402434df
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 0x1402444f4
mov ecx, dword [rsp + 0x44]
jmp 0x140243ee2
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.14028fbe0
mov dword [rsp + 0x44], eax
cmp eax, 5
jne 0x140243555
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.140236c40
inc rbx
add rdi, 0x38
cmp rbx, 3
jl 0x140243570
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x140243edf
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 0x1402435d9
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x1402435db
cmp qword [rdi + 0x60], 0
jle 0x1402435db
mov ebx, esi
cmp byte [rdi + 0x12], 0
lea rcx, [0x140336985]
jne 0x1402435ef
mov rcx, qword [rdi + 0xd0]
cmp ebx, 5
jne 0x140243633
mov rax, rcx
test rcx, rcx
je 0x14024369d
cmp byte [rcx], 0
je 0x14024360d
inc rax
cmp byte [rax], 0
jne 0x140243605
sub eax, ecx
and eax, 0x3fffffff
je 0x14024369d
cmp byte [rdi + 8], 0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax]
jne 0x140243633
cmp dword [rcx], 2
jl 0x14024369d
cmp qword [rcx + 0x68], 0
je 0x14024369d
cmp ebx, esi
je 0x14024369f
cmp esi, 5
je 0x140243641
cmp ebx, 5
jne 0x14024369f
cmp byte [r15 + 0x4e], 0
je 0x1402444ac
cmp dword [r15 + 0xa0], 1
jg 0x1402444ac
cmp esi, 5
jne 0x140243673
mov rcx, rdi
call fcn.140227580
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14024369d
mov edx, ebx
jmp 0x14024367b
cmp esi, 4
jne 0x140243683
lea edx, [rsi - 2]
mov rcx, rdi
call fcn.1402272a0
xor edx, edx
cmp ebx, 5
mov rcx, r14
sete dl
inc edx
call fcn.1402352f0
mov dword [rsp + 0x44], eax
test eax, eax
je 0x14024369f
mov ebx, esi
mov edx, ebx
mov rcx, rdi
call fcn.1402272a0
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 0x1402436db
mov ecx, r11d
jmp 0x1402436ec
lea rcx, [0x140000000]
cdqe
mov rcx, qword [rcx + rax*8 + 0x32f1e8]
mov qword [r13 + 8], rcx
mov rax, rcx
test rcx, rcx
jne 0x1402436fd
mov eax, r11d
jmp 0x140243711
cmp byte [rcx], 0
je 0x14024370a
inc rax
cmp byte [rax], 0
jne 0x140243702
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 0x140243e6c
movzx edx, al
mov rcx, r13
call fcn.14021a570
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x140243edf
lea rcx, [rsi + 0x48]
mov rdx, r15
call fcn.14027dee0
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x140243edf
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14022ddd0
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 0x140243e83
mov esi, dword [r14 + r12*8 + 8]
dec esi
xor r11d, r11d
mov ecx, r11d
mov dword [rsp + 0x44], ecx
jmp 0x140243ef6
cmp dword [r14 + r12*8 + 4], 0
jne 0x1402437ca
mov rcx, r15
call fcn.14023c250
mov ecx, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x14023ecc3
mov ecx, dword [rsp + 0x40]
or dword [rsi + 0x8c], 0x20
mov ebx, dword [rsp + 0x48]
inc ecx
jmp 0x14023ecc3
movzx r8d, byte [r14 + r12*8 + 0xc]
test r8b, r8b
jne 0x1402437fa
mov eax, 0x4000
test dword [r15 + 0x2c], eax
jne 0x140243e6c
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.140235180
mov ecx, eax
mov dword [rsp + 0x44], eax
cmp al, 6
jne 0x14023f097
mov r9, qword [r14 + r12*8 + 0x10]
lea rcx, [rsi + 0x48]
lea r8, str.database_table_is_locked:__s
mov rdx, r15
call fcn.140218780
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x140243edf
mov rbx, qword [r14 + r12*8 + 0x10]
mov rcx, r15
mov rdx, rbx
call fcn.14027f720
mov ecx, eax
mov dword [rsp + 0x44], eax
test rbx, rbx
je 0x14023f097
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
call fcn.14023c320
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x140243edf
mov r8, qword [r14 + r12*8 + 0x10]
mov edx, dword [r14 + r12*8 + 4]
lea r9, [rsi + 0x48]
mov rcx, r15
call fcn.14027f1a0
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x140243edf
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.14027f4c0
and dword [rsi + 0x8c], 0xfffffff3
mov esi, dword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x140243edf
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.14023c320
mov ecx, dword [rsp + 0x44]
test ecx, ecx
jne 0x14023f097
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.14023e980
mov rcx, qword [rbp - 0x30]
test rax, rax
je 0x140243942
mov qword [rax + 0x30], rcx
jmp 0x140240d5d
mov byte [r15 + 0x50], 1
call qword [rdi + 0x38]
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x140243edf
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 0x1402439bf
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 0x1402439a0
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.14023c320
mov ecx, dword [rsp + 0x44]
test ecx, ecx
jne 0x140243a36
mov rcx, rdi
call qword [rsi + 0x50]
mov r14, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x44]
test eax, eax
je 0x140243a3b
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 0x140243edf
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 0x140243edf
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 0x140243a8a
mov rcx, rsi
call fcn.140236b80
mov rsi, qword [rsp + 0x60]
jmp 0x140240d58
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.1402c22a0
lea rcx, [rbp + 0x208]
mov rdx, rsi
call fcn.140236fa0
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.14023c320
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 0x140243b33
movzx eax, byte [rbp + 0x22e]
cmp eax, ecx
je 0x140243b33
movzx edx, cl
lea rcx, [rbp + 0x208]
call fcn.14021a570
lea rdx, [rbp + 0x208]
mov rcx, rsi
call fcn.140236fa0
mov rcx, rsi
call fcn.140236e60
mov esi, dword [rsp + 0x40]
test eax, eax
jne 0x1402444f4
mov ecx, dword [rsp + 0x44]
mov r14, qword [rsp + 0x68]
jmp 0x140243edf
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.0x14023ed62
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.14023c320
cmp dword [rsp + 0x44], 0
jne 0x140243bd0
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x140242cdf
mov esi, dword [r14 + r12*8 + 8]
dec esi
jmp 0x140242ce3
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 0x140243c15
cmp byte [rbx + 0x26], 1
je 0x140243c15
mov dl, 1
mov rcx, rbx
call fcn.14021a570
mov ecx, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14023f097
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.14023c320
and dword [rsi + 0x8c], 0xffffffdf
mov esi, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
jmp 0x140243edf
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 0x140243e3e
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 0x140243ca0
nop dword [rax]
nop word [rax + rax]
mov qword [r10 + rax*8], rcx
inc rax
add rcx, 0x38
cmp rax, rdx
jl 0x140243c90
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.14023c320
mov ecx, dword [rsp + 0x44]
test ecx, ecx
jne 0x140243cec
cmp dword [r14 + r12*8 + 4], ecx
je 0x140243cec
mov rdx, qword [rbp + 0x198]
mov qword [rbp - 0x50], rdx
mov qword [r15 + 0x30], rdx
cmp cl, 0x13
jne 0x140243d47
mov rax, qword [r14 + r12*8 + 0x10]
cmp byte [rax + 0x1c], 0
je 0x140243d47
movzx eax, byte [r14 + r12*8 + 3]
cmp al, 4
jne 0x140243d1d
mov ecx, dword [rsp + 0x40]
xor r11d, r11d
inc ecx
mov dword [rsp + 0x44], r11d
mov dword [rsp + 0x40], ecx
jmp 0x140240d6a
cmp al, 5
jne 0x140243d35
mov eax, 2
mov byte [rsi + 0x8a], al
mov esi, dword [rsp + 0x40]
jmp 0x140243edf
movzx eax, al
mov byte [rsi + 0x8a], al
mov esi, dword [rsp + 0x40]
jmp 0x140243edf
inc dword [rsi + 0x90]
mov esi, dword [rsp + 0x40]
jmp 0x140243edf
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 0x14023ecc3
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 0x140243daf
mov rax, qword [rcx + 8]
mov edx, dword [rax + 0x3c]
cmp edx, r8d
cmovb edx, r8d
call fcn.14022cb80
movsxd rcx, eax
mov qword [r13 + 0x18], rcx
jmp 0x140240d5d
mov eax, dword [r14 + r12*8 + 8]
lea esi, [rax - 1]
test eax, eax
jne 0x140243dd0
mov esi, dword [rsp + 0x40]
cmp qword [r15 + 0xb8], 0
je 0x140243ea0
mov rax, qword [rsp + 0x60]
mov ecx, 0x800
test dword [rax + 0x8c], ecx
jne 0x140243ea0
mov rdx, qword [r14 + r12*8 + 0x10]
test rdx, rdx
jne 0x140243e0e
mov rdx, qword [rax + 0xe0]
test rdx, rdx
je 0x140243ea0
mov rcx, rax
call fcn.14023e4d0
mov rcx, qword [r15 + 0xc0]
mov rdx, rax
mov rbx, rax
call qword [r15 + 0xb8]
mov rdx, rbx
mov rcx, r15
call fcn.140218260
mov ecx, dword [rsp + 0x44]
jmp 0x140243edf
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
xor r11d, r11d
mov edi, 0x2460
jmp 0x140243ef2
mov ecx, dword [rsp + 0x44]
mov r10, qword [rsp + 0x50]
mov edi, 0x2460
mov r8d, 0x1000
jmp 0x140243ef6
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x140243ee7
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
mov r10, rbx
jmp 0x140243eec
mov esi, dword [rsp + 0x40]
xor r11d, r11d
jmp 0x140243ef6
mov ecx, dword [rsp + 0x44]
mov r15, qword [rsp + 0x70]
mov esi, dword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
jmp 0x140243edf
mov ecx, dword [rsp + 0x44]
mov edi, 0x2460
jmp 0x140243ef2
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
mov edi, 0x2460
jmp 0x140243ef2
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 0x140243ef2
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 0x14024401b
mov edx, 0x80
mov ecx, esi
mov rsi, qword [rsp + 0x60]
lea r9d, [rdx - 0x7f]
jmp 0x14023ecd0
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 0x140243fe1
movzx eax, byte [r14 + r12*8 + 3]
test al, al
je 0x140243f92
lea rcx, [0x140000000]
movzx eax, al
mov r11, qword [rcx + rax*8 + 0x32f400]
test r11, r11
je 0x140243f92
mov rax, qword [r14 + r12*8 + 0x10]
test rax, rax
je 0x140243f92
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.140218780
jmp 0x140243fbe
mov r9, qword [r14 + r12*8 + 0x10]
lea rbx, [rdi + 0x48]
mov rdx, r15
mov rcx, rbx
test r9, r9
je 0x140243faf
lea r8, [0x14036e0c0]
jmp 0x140243fb9
mov r9, r11
lea r8, str._s_constraint_failed
call fcn.140218780
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.14021a280
mov rcx, rdi
mov rsi, rdi
call fcn.14023a130
cmp eax, 5
je 0x140244638
cmp dword [rsi + 0x84], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x1402440a1
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.14021a280
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.14023a130
cmp dword [rsp + 0x44], 0xc0a
jne 0x14024406b
mov byte [r15 + 0x50], 1
mov edi, 1
test r12b, r12b
je 0x1402440a1
mov rcx, qword [r15 + 0x20]
movzx ebx, r12b
dec ebx
movsxd rax, ebx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.14025be00
cmp ebx, edi
je 0x1402440a1
mov rcx, qword [r15 + 0x20]
mov rcx, qword [rcx + 0x38]
call fcn.14025be00
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.140238b10
mov eax, edi
mov rcx, qword [rbp + 0x390]
xor rcx, rsp
call fcn.1402b9610
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 0x140244160
lea rbx, [rdi + 0x24]
xor esi, esi
mov eax, 0x1000
test word [rbx], ax
je 0x140244144
movsxd rax, esi
imul rcx, rax, 0x38
add rcx, rdi
call fcn.140236530
test eax, eax
jne 0x14024469c
movsxd rax, esi
imul rcx, rax, 0x38
add rcx, rdi
call fcn.140236620
inc esi
add rbx, 0x38
cmp esi, dword [r14 + r12*8 + 8]
jl 0x140244123
cmp byte [r15 + 0x50], 0
jne 0x14024469c
mov eax, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
mov edi, 0x64
inc eax
mov dword [rsi + 0x80], eax
jmp 0x1402440a1
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.140218780
mov esi, dword [rsp + 0x40]
mov ecx, 1
inc esi
mov dword [rsp + 0x44], ecx
jmp 0x14024401b
movzx eax, word [rbp + 0x9c]
mov r12d, 0x2460
test r12w, ax
je 0x140244288
mov ecx, 0x2000
test cx, ax
je 0x1402441fd
mov rdx, qword [rbp + 0x90]
lea rcx, [rbp + 0x78]
call fcn.140236760
lea rcx, [rbp + 0x78]
call fcn.1402368b0
jmp 0x140244288
mov ecx, 0x400
test cx, ax
je 0x140244221
mov rcx, qword [rbp + 0x80]
call qword [rbp + 0xa0]
mov qword [rbp + 0xa0], 0
jmp 0x140244288
movzx eax, byte [rbp + 0x9c]
test al, 0x20
je 0x14024423a
mov rcx, qword [rbp + 0x90]
call fcn.140221c50
jmp 0x140244288
test al, 0x40
je 0x140244288
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 0x14024426f
mov rcx, qword [rbp + 0x90]
call fcn.140221c50
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 0x1402446a5
mov rcx, qword [rbp + 0x78]
call fcn.140218260
jmp 0x1402446a5
mov ecx, 0x14
mov dword [rsp + 0x44], ecx
jmp 0x1402443c8
lea r9, [0x1403722dc]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0x10f9f
mov ecx, 0xb
call fcn.14021a280
mov esi, dword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov ecx, 0xb
inc esi
mov dword [rsp + 0x44], ecx
jmp 0x14024401b
lea r8, str.cannot_open_savepoint___SQL_statements_in_progress
lea rcx, [rsi + 0x48]
mov rdx, r15
call fcn.140218780
mov esi, dword [rsp + 0x40]
mov ecx, 5
inc esi
mov dword [rsp + 0x44], ecx
jmp 0x14024401b
mov rcx, qword [rsp + 0x60]
lea r8, str.cannot_release_savepoint___SQL_statements_in_progress
mov r15, rdi
add rcx, 0x48
jmp 0x1402442f6
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 0x1402440a1
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.140218780
mov edi, r14d
jmp 0x1402440a1
mov eax, 8
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x1402443c8
mov rax, qword [rsp + 0x60]
mov esi, dword [rsp + 0x40]
mov dword [rax + 0x80], esi
jmp 0x140244633
lea r9, [0x1403722dc]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0x112ca
mov ecx, 0xb
call fcn.14021a280
mov ecx, 0xb
mov dword [rsp + 0x44], ecx
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
cmp byte [r15 + 0x50], 0
je 0x140244408
mov dword [rsp + 0x44], 7
mov ecx, dword [rsp + 0x44]
jmp 0x140244414
mov esi, dword [rsp + 0x40]
mov eax, 4
inc esi
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x14024401b
mov ecx, 0xd
mov dword [rsp + 0x44], ecx
jmp 0x1402443c3
mov r15, qword [rsp + 0x70]
mov rsi, rdi
jmp 0x1402443c8
cmp ecx, 0xc0a
je 0x140244017
lea r9, [0x140336998]
cmp ecx, 0x204
je 0x140244444
movzx eax, cl
cmp eax, 0x1a
ja 0x14024444b
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x32bfa0]
test rcx, rcx
je 0x14024444b
mov r9, rcx
jmp 0x14024444b
lea r9, str.abort_due_to_ROLLBACK
lea rcx, [rsi + 0x48]
lea r8, [0x14036e0c0]
mov rdx, r15
call fcn.140218780
mov ecx, dword [rsp + 0x44]
jmp 0x140244017
mov byte [rsi + 0x8a], 2
mov esi, dword [rsp + 0x40]
mov ecx, 6
inc esi
mov dword [rsp + 0x44], ecx
jmp 0x14024401b
lea rcx, [r9 + 0x48]
lea r8, str.too_many_levels_of_trigger_recursion
mov rdx, r15
mov dword [rsp + 0x44], 1
call fcn.140218780
mov esi, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
inc esi
jmp 0x14024401b
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.140218780
mov esi, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
inc esi
jmp 0x14024401b
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.140218780
mov ecx, 0x12
mov dword [rsp + 0x44], ecx
jmp 0x14024401b
mov ecx, 9
mov dword [rsp + 0x44], ecx
jmp 0x14024401b
mov ebx, dword [r14 + r12*8 + 4]
mov ecx, dword [r14 + r12*8 + 8]
test ebx, ebx
je 0x140244556
cmp byte [r15 + 0x4e], 0
jne 0x140244556
test ecx, ecx
jne 0x140244556
cmp dword [r15 + 0xa4], ecx
jle 0x140244556
lea r8, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x1402442f2
movzx eax, byte [r15 + 0x4e]
cmp ebx, eax
jne 0x14024458e
test ebx, ebx
jne 0x140244572
lea r8, str.cannot_start_a_transaction_within_a_transaction
mov rdx, r15
jmp 0x1402441a1
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 0x1402441a1
test ecx, ecx
je 0x1402445c7
mov edx, 0x204
mov rcx, r15
call fcn.14028ec80
mov byte [r15 + 0x4e], 1
mov rcx, r15
call fcn.14028e5a0
cmp dword [rsi + 0x84], 0
mov edi, 0x65
mov eax, 1
cmove eax, edi
mov edi, eax
jmp 0x1402440a1
mov rdx, qword [rsi]
mov rax, qword [rdx + 0x310]
add rax, qword [rdx + 0x308]
test rax, rax
jle 0x140244608
lea rcx, [rsi + 0x48]
lea r8, str.FOREIGN_KEY_constraint_failed
mov dword [rsi + 0x84], 0x313
mov byte [rsi + 0x8a], 2
call fcn.140218780
mov edi, 1
jmp 0x1402440a1
mov rcx, rsi
mov byte [r15 + 0x4e], bl
call fcn.14023a130
cmp eax, 5
jne 0x1402445a4
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 0x1402440a1
movzx r12d, byte [rsp + 0x4c]
mov rax, qword [0x14032bfe8]
mov r14, qword [rsp + 0x60]
lea r9, [0x140336998]
test rax, rax
lea r8, [0x14036e0c0]
lea rcx, [r14 + 0x48]
mov rdx, r15
cmovne r9, rax
mov dword [rsp + 0x44], 9
mov dword [r14 + 0x84], 9
call fcn.140218780
mov ecx, dword [rsp + 0x44]
jmp 0x140244021
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.140218780
mov ecx, 7
mov dword [rsp + 0x44], ecx
jmp 0x140244021