Function at 0x1401a9730
Capabilities:
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 - 0x108]
sub rsp, 0x1e0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1402ba4e0]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov rsi, qword [rcx]
mov r15, qword [rcx + 8]
xor r14d, r14d
mov rax, qword [rsi + 0x10]
mov rdi, rcx
mov qword [rsp + 0x58], rcx
mov rcx, qword [rax + 0x18]
mov rbx, qword [rdi + 0x10]
mov r12d, r14d
movzx eax, byte [rcx + 0x71]
mov qword [rsp + 0x50], rbx
mov rbx, qword [rsi + 0x40]
mov rcx, rdi
mov byte [rsp + 0x48], al
mov dword [rsp + 0x40], r14d
mov qword [rbp - 0x70], r15
mov dword [rsp + 0x44], r14d
mov qword [rsp + 0x70], rsi
mov byte [rsp + 0x68], r12b
mov dword [rbp - 0x7c], r14d
mov r9d, r14d
mov qword [rsp + 0x60], r14
mov dword [rbp - 0x80], r14d
mov qword [rbp - 0x78], r14
mov qword [rsp + 0x78], rbx
call fcn.14014bbe0
cmp dword [rdi + 0x94], 7
je 0x1401af140
mov dword [rdi + 0x94], r14d
mov qword [rdi + 0x28], r14
mov eax, dword [rsi + 0x150]
mov dword [rsi + 0x2c8], r14d
test eax, eax
jne 0x1401af110
mov ecx, dword [rdi + 0x90]
xorpd xmm6, xmm6
mov eax, r14d
cmp qword [rsi + 0x198], rax
mov dword [rsp + 0x40], ecx
lea r8d, [r14 + 4]
setne al
cdqe
mov qword [rbp - 0x60], rax
nop dword [rax + rax]
cmp byte [rsi + 0x2a], r14b
jne 0x1401af140
movsxd rbx, ecx
lea r13, [rbx + rbx*2]
test rax, rax
je 0x1401a9874
mov eax, dword [rbp - 0x7c]
cmp dword [rsi + 0x1a8], eax
jne 0x1401a986f
mov rcx, qword [rsi + 0x1a0]
call qword [rsi + SafeArrayCopyData]
test eax, eax
jne 0x1401aedc1
mov eax, r14d
mov r8d, 4
inc eax
mov dword [rbp - 0x7c], eax
test byte [r15 + r13*8 + 2], 2
je 0x1401a98a9
movsxd rax, dword [r15 + r13*8 + 8]
imul rax, rax, 0x38
add rax, qword [rsp + 0x50]
mov rcx, rax
mov qword [rsp + 0x60], rax
call fcn.140157e40
mov r10, qword [rsp + 0x60]
mov r8d, 4
mov word [r10 + 0x24], r8w
jmp 0x1401a98ae
mov r10, qword [rsp + 0x60]
movzx eax, byte [r15 + r13*8]
dec eax
cmp eax, 0x90
ja case.0x1401a98d3.17
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x1af208]
add rcx, rdx
jmp rcx
mov eax, dword [rsi + 0x150]
test eax, eax
jne 0x1401af110
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
movsxd rax, dword [r15 + r13*8 + 4]
imul rax, rax, 0x38
add rax, qword [rsp + 0x50]
mov word [rax + 0x24], r8w
mov qword [rax + 0x18], rbx
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
movsxd rax, dword [r15 + r13*8 + 4]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
mov ecx, dword [rax + rcx + 0x18]
jmp 0x1401aeda9
movsxd rcx, dword [r15 + r13*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov eax, dword [rcx + 0x18]
mov word [rcx + 0x24], r8w
mov dword [rbp - 0x50], eax
mov qword [rcx + 0x18], rbx
mov ecx, dword [rbp - 0x50]
jmp 0x1401aeda9
movsxd rax, dword [r15 + r13*8 + 0xc]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
test byte [rax + rcx + 0x24], 1
je case.0x1401a98d3.17
cmp dword [r15 + r13*8 + 4], r14d
jne 0x1401aedcc
mov r8, qword [rdi + 0xe8]
test r8, r8
je 0x1401aedcc
mov rax, qword [r8 + 0x60]
dec dword [rdi + 0xf8]
mov qword [rdi + 0xe8], rax
mov eax, dword [rdi + 0xa4]
add dword [rsi + 0x50], eax
mov dword [rsi + 0x4c], eax
mov rax, qword [r8 + 0x10]
mov rdx, qword [r8]
mov rcx, qword [rdx]
mov qword [rdx + 8], rax
mov eax, dword [r8 + 0x18]
mov dword [rdx + 0x34], eax
mov rax, qword [r8 + 0x20]
mov qword [rdx + 0x10], rax
mov eax, dword [r8 + 0x28]
mov dword [rdx + 0x30], eax
mov rax, qword [r8 + 0x30]
mov qword [rdx + 0x70], rax
movzx eax, word [r8 + 0x38]
mov word [rdx + 0x52], ax
mov rax, qword [r8 + 0x50]
mov qword [rcx + 0x40], rax
mov eax, dword [r8 + 0x58]
mov dword [rdx + 0xa4], eax
cmp dword [r15 + r13*8 + 8], 4
mov rax, qword [rsi + 0x40]
mov ecx, dword [r8 + 8]
mov qword [rsp + 0x78], rax
jne 0x1401a9a11
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov r15d, dword [rax + rcx*8 + 8]
dec r15d
mov ecx, r15d
mov r15, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
mov r8d, 4
mov qword [rbp - 0x70], r15
mov qword [rsp + 0x50], rax
jmp 0x1401aeda9
movsxd rax, dword [r15 + r13*8 + 4]
mov qword [r10 + 0x18], rax
jmp case.0x1401a98d3.17
mov rax, qword [r15 + r13*8 + 0x10]
mov rcx, qword [rax]
mov qword [r10 + 0x18], rcx
jmp case.0x1401a98d3.17
mov eax, 8
mov word [r10 + 0x24], ax
mov rax, qword [r15 + r13*8 + 0x10]
mov rcx, qword [rax]
mov qword [r10 + 0x10], rcx
jmp case.0x1401a98d3.17
mov rsi, qword [r15 + r13*8 + 0x10]
mov byte [r15 + r13*8], 9
mov rax, rsi
test rsi, rsi
jne 0x1401a9a7e
mov eax, r14d
jmp 0x1401a9a92
cmp byte [rsi], r14b
je 0x1401a9a8b
inc rax
cmp byte [rax], r14b
jne 0x1401a9a83
sub eax, esi
and eax, 0x3fffffff
cmp byte [rsp + 0x48], 1
mov dword [r15 + r13*8 + 4], eax
je 0x1401a9c34
test rsi, rsi
jne 0x1401a9af6
test byte [r10 + 0x24], 0x40
je 0x1401a9ac7
mov rdx, qword [r10 + 0x18]
mov rcx, qword [rdx]
mov rax, qword [rcx + 0xf0]
mov qword [rdx + 0x60], rax
mov qword [rcx + 0xf0], rdx
test byte [r10 + 0x24], 0x20
je 0x1401a9adc
mov rcx, qword [r10 + 0x18]
call fcn.140147090
mov r10, qword [rsp + 0x60]
mov eax, 0xbf01
mov byte [r10 + 0x26], 5
and word [r10 + 0x24], ax
or word [r10 + 0x24], 1
jmp 0x1401a9ba7
mov rax, qword [r10]
test rax, rax
je 0x1401a9b04
mov r12d, dword [rax + 0x60]
jmp 0x1401a9b0a
mov r12d, 0x3b9aca00
movsxd rcx, r12d
mov ebx, r14d
mov rax, r14
test r12d, r12d
js 0x1401a9b28
cmp byte [rax + rsi], r14b
je 0x1401a9b28
inc rax
inc ebx
cmp rax, rcx
jle 0x1401a9b18
lea rax, [fcn.1401434c0]
mov edi, 0x202
mov rcx, r10
test rax, rax
jne 0x1401a9b5d
call fcn.140157e40
mov r9, qword [rsp + 0x60]
mov rdx, qword [r9 + 0x30]
mov rcx, qword [r9]
call fcn.1401434c0
mov r10, qword [rsp + 0x60]
mov qword [r10 + 0x30], rsi
jmp 0x1401a9b81
call fcn.140157e40
mov r9, qword [rsp + 0x60]
mov rdx, qword [r9 + 0x30]
mov rcx, qword [r9]
call fcn.1401434c0
mov r10, qword [rsp + 0x60]
mov edi, 0xa02
mov qword [r10 + 0x30], r14
mov word [r10 + 0x24], di
mov rdi, qword [rsp + 0x58]
mov qword [r10 + 0x28], r14
mov qword [r10 + 8], rsi
mov dword [r10 + 0x20], ebx
mov word [r10 + 0x26], 0x103
cmp ebx, r12d
jg 0x1401af0e9
test byte [r10 + 0x24], 2
movzx ecx, byte [rsp + 0x48]
mov dword [rsp + 0x44], r14d
mov r12d, r14d
je 0x1401a9bdc
movzx eax, byte [r10 + 0x27]
cmp eax, ecx
je 0x1401a9bdc
movzx edx, cl
mov rcx, r10
call fcn.14016b8c0
test eax, eax
jne 0x1401af134
mov r10, qword [rsp + 0x60]
movzx eax, word [r10 + 0x24]
mov ecx, 0xfbff
mov qword [r10 + 0x30], r14
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [r10 + 0x24], ax
cmp byte [r15 + r13*8 + 1], 0xff
jne 0x1401a9c16
mov rdx, qword [r15 + r13*8 + 0x10]
mov rcx, qword [rsp + 0x70]
call fcn.1401434c0
mov r10, qword [rsp + 0x60]
mov byte [r15 + r13*8 + 1], 0xff
mov rax, qword [r10 + 8]
mov r8d, 4
mov qword [r15 + r13*8 + 0x10], rax
mov eax, dword [r10 + 0x20]
mov dword [r15 + r13*8 + 4], eax
mov rsi, qword [rsp + 0x70]
mov eax, dword [rsi + 0x60]
cmp dword [r15 + r13*8 + 4], eax
jg 0x1401af0f5
mov eax, 0xa02
mov word [r10 + 0x24], ax
mov rax, qword [r15 + r13*8 + 0x10]
mov qword [r10 + 8], rax
mov eax, dword [r15 + r13*8 + 4]
mov dword [r10 + 0x20], eax
movzx eax, byte [rsp + 0x48]
mov byte [r10 + 0x27], al
jmp case.0x1401a98d3.17
mov eax, 1
mov word [r10 + 0x24], ax
jmp case.0x1401a98d3.17
mov r8d, dword [r15 + r13*8 + 4]
mov rdx, qword [r15 + r13*8 + 0x10]
xor r9d, r9d
mov rcx, r10
mov qword [rsp + 0x20], r14
call fcn.14016ea40
mov r9, qword [rsp + 0x60]
movzx eax, byte [rsp + 0x48]
mov byte [r9 + 0x27], al
jmp 0x1401aed9f
mov eax, dword [r15 + r13*8 + 4]
dec eax
movsxd rdx, eax
imul rdx, rdx, 0x38
add rdx, qword [rdi + 0x78]
mov qword [rbp - 0x50], rdx
movzx eax, word [rdx + 0x24]
test al, 0x12
je 0x1401a9cf2
mov r8d, dword [rdx + 0x20]
mov ecx, 0x4000
test cx, ax
je 0x1401a9cdd
add r8d, dword [rdx + 0x18]
mov rax, qword [rdx]
mov ecx, r14d
cmp r8d, dword [rax + 0x60]
setg cl
test ecx, ecx
jne 0x1401af0f5
mov r8d, 0x800
mov rcx, r10
call fcn.140158140
jmp 0x1401aed9f
mov edx, dword [r15 + r13*8 + 0xc]
mov r11, qword [rsp + 0x50]
mov dword [rbp - 0x48], edx
movsxd rax, dword [r15 + r13*8 + 4]
mov dword [rbp - 0x44], eax
movsxd rcx, dword [r15 + r13*8 + 8]
mov rbx, rax
imul rbx, rbx, 0x38
mov r13, rcx
add rbx, r11
mov dword [rbp - 0x40], ecx
imul r13, r13, 0x38
add r13, r11
mov qword [rsp + 0x60], r13
test edx, edx
je 0x1401a9d7c
nop
dec edx
mov rcx, r13
mov dword [rbp - 0x48], edx
mov rax, qword [r13 + 0x30]
mov rdx, rbx
mov qword [rbp - 0x50], rax
mov qword [r13 + 0x30], r14
call fcn.1401581c0
mov r11, qword [rbp - 0x50]
add rbx, 0x38
add r13, 0x38
mov qword [rbx - 8], r11
mov edx, dword [rbp - 0x48]
test edx, edx
jne 0x1401a9d40
mov qword [rsp + 0x60], r13
lea r8d, [rdx + 4]
dec edx
mov dword [rbp - 0x48], edx
jmp case.0x1401a98d3.17
movsxd r9, dword [r15 + r13*8 + 8]
movsxd rdx, dword [r15 + r13*8 + 4]
mov rbx, qword [rsp + 0x50]
imul r9, r9, 0x38
imul rdx, rdx, 0x38
add r9, rbx
add rdx, rbx
mov ebx, 0x1000
mov r8d, ebx
mov rcx, r9
mov qword [rsp + 0x60], r9
mov r13, r9
call fcn.140158140
test word [r13 + 0x24], bx
je 0x1401aece2
mov rcx, r13
call fcn.140162ae0
test eax, eax
jne 0x1401af140
jmp 0x1401aed9f
movsxd rax, dword [r15 + r13*8 + 8]
movsxd rdx, dword [r15 + r13*8 + 4]
mov rbx, qword [rsp + 0x50]
imul rax, rax, 0x38
imul rdx, rdx, 0x38
add rax, rbx
add rdx, rbx
mov r8d, 0x1000
mov rcx, rax
mov qword [rsp + 0x60], rax
call fcn.140158140
jmp 0x1401aed9f
cmp qword [rdi + 0xc8], r14
jle 0x1401a9e4d
mov rdx, qword [rdi]
lea rcx, [rdi + 0x58]
lea r8, str.foreign_key_constraint_failed
mov dword [rdi + 0x94], SafeArrayGetElement
mov byte [rdi + 0x98], 2
call fcn.14016b870
mov r12d, 1
mov dword [rsp + 0x44], r12d
jmp 0x1401aed9f
mov edx, 1
mov rcx, rdi
call fcn.1401912b0
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401aed9f
mov eax, dword [rdi + 0x8c]
add eax, 2
or eax, 1
mov dword [rdi + 0x8c], eax
movsxd rdx, dword [r15 + r13*8 + 4]
mov dword [rbp - 0x48], r14d
imul rdx, rdx, 0x38
add rdx, qword [rsp + 0x50]
mov qword [rdi + 0x28], rdx
mov qword [rbp - 0x50], rdx
cmp dword [r15 + r13*8 + 8], r14d
jle 0x1401aee7f
movsxd rcx, r14d
mov eax, 0x1000
imul rcx, rcx, 0x38
add rcx, rdx
test word [rcx + 0x24], ax
je 0x1401a9eca
call fcn.140162ae0
test eax, eax
jne 0x1401af140
mov r14d, dword [rbp - 0x48]
mov rdx, qword [rbp - 0x50]
movsxd rcx, r14d
imul rcx, rcx, 0x38
add rcx, rdx
call fcn.140157dd0
movsxd rcx, dword [rbp - 0x48]
imul rcx, rcx, 0x38
add rcx, qword [rbp - 0x50]
call fcn.14014c840
mov r14d, dword [rbp - 0x48]
inc r14d
mov dword [rbp - 0x48], r14d
cmp r14d, dword [r15 + r13*8 + 8]
jge 0x1401aee7f
mov rdx, qword [rbp - 0x50]
jmp 0x1401a9ea0
movsxd rdi, dword [r15 + r13*8 + 4]
mov rax, qword [rsp + 0x50]
movsxd rbx, dword [r15 + r13*8 + 8]
imul rdi, rdi, 0x38
imul rbx, rbx, 0x38
movsxd r13, dword [r15 + r13*8 + 0xc]
add rdi, rax
add rbx, rax
movzx ecx, word [rdi + 0x24]
imul r13, r13, 0x38
add r13, rax
movzx eax, cl
or al, byte [rbx + 0x24]
mov qword [rsp + 0x60], r13
test al, 1
je 0x1401a9f54
mov rcx, r13
call fcn.14014b7b0
mov rdi, qword [rsp + 0x58]
jmp 0x1401aed9f
mov eax, 0x4000
test ax, cx
je 0x1401a9f73
mov rcx, rdi
call fcn.140157d60
test eax, eax
jne 0x1401af13b
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x1401a9f89
mov rcx, rbx
call fcn.140157d60
test eax, eax
jne 0x1401af13b
test byte [rdi + 0x24], 0x12
jne 0x1401a9fa4
movzx edx, byte [rsp + 0x48]
mov rcx, rdi
call fcn.14016e970
test eax, eax
jne 0x1401af13b
test byte [rbx + 0x24], 0x12
jne 0x1401a9fbf
movzx edx, byte [rsp + 0x48]
mov rcx, rbx
call fcn.14016e970
test eax, eax
jne 0x1401af13b
mov eax, dword [rdi + 0x20]
add eax, dword [rbx + 0x20]
movsxd rcx, eax
mov qword [rbp - 0x50], rcx
movsxd rax, dword [rsi + 0x60]
cmp rcx, rax
jg 0x1401af0f0
mov eax, 0xbf02
mov r8d, r14d
mov rcx, r13
and word [r13 + 0x24], ax
or word [r13 + 0x24], 2
mov edx, dword [rbp - 0x50]
cmp r13, rbx
sete r8b
add edx, 2
call fcn.140157c10
test eax, eax
jne 0x1401af13b
cmp r13, rbx
je 0x1401aa01f
movsxd r8, dword [rbx + 0x20]
mov rdx, qword [rbx + 8]
mov rcx, qword [r13 + 8]
call fcn.14010c9b0
movsxd rcx, dword [rbx + 0x20]
movsxd r8, dword [rdi + 0x20]
mov rdx, qword [rdi + 8]
add rcx, qword [r13 + 8]
call fcn.14010c9b0
mov rax, qword [rbp - 0x50]
mov r11, qword [r13 + 8]
mov rdi, qword [rsp + 0x58]
mov byte [rax + r11], r14b
mov rax, qword [rbp - 0x50]
mov rcx, qword [r13 + 8]
mov byte [rcx + rax + 1], r14b
mov eax, 0x200
or word [r13 + 0x24], ax
mov eax, dword [rbp - 0x50]
mov dword [r13 + 0x20], eax
movzx eax, byte [rsp + 0x48]
mov byte [r13 + 0x27], al
jmp 0x1401aed9f
movsxd rbx, dword [r15 + r13*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.14014c870
movsxd rdi, dword [r15 + r13*8 + 8]
imul rdi, rdi, 0x38
add rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.14014c870
movsxd r9, dword [r15 + r13*8 + 0xc]
movzx ecx, word [rbx + 0x24]
imul r9, r9, 0x38
movzx eax, word [rdi + 0x24]
add r9, qword [rsp + 0x50]
or ecx, eax
mov qword [rsp + 0x60], r9
mov dword [rbp - 0x50], ecx
test cl, 1
jne 0x1401aa2f8
movzx eax, byte [rbx + 0x24]
and al, byte [rdi + 0x24]
test al, 4
je 0x1401aa1ba
mov r8, qword [rbx + 0x18]
mov qword [rbp - 0x48], r8
mov rdx, qword [rdi + 0x18]
mov qword [rbp - 0x40], rdx
movzx ecx, byte [r15 + r13*8]
sub ecx, 0x56
je 0x1401aa237
dec ecx
je 0x1401aa176
dec ecx
je 0x1401aa158
dec ecx
je 0x1401aa126
test r8, r8
je 0x1401aa2f8
cmp r8, 0xffffffffffffffff
mov eax, 1
cmove r8, rax
mov rax, rdx
cqo
mov qword [rbp - 0x48], r8
idiv r8
jmp 0x1401aa261
test r8, r8
je 0x1401aa2f8
cmp r8, 0xffffffffffffffff
jne 0x1401aa144
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x1401aa1ba
mov rax, rdx
cqo
idiv r8
mov rdx, rax
mov qword [rbp - 0x40], rax
jmp 0x1401aa265
lea rcx, [rbp - 0x40]
mov rdx, r8
call fcn.140144740
test eax, eax
jne 0x1401aa1ba
mov rdx, qword [rbp - 0x40]
mov r9, qword [rsp + 0x60]
jmp 0x1401aa265
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x1401aa192
test rdx, rdx
jns 0x1401aa1ba
sub rdx, rax
jmp 0x1401aa261
neg r8
js 0x1401aa23f
test rdx, rdx
jle 0x1401aa25e
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x1401aa25e
mov rcx, rbx
call fcn.14014b5c0
mov rcx, rdi
movsd qword [rbp - 0x38], xmm0
call fcn.14014b5c0
movsd qword [rbp - 0x30], xmm0
movzx ecx, byte [r15 + r13*8]
sub ecx, 0x56
je 0x1401aa2a4
dec ecx
je 0x1401aa29d
dec ecx
je 0x1401aa296
dec ecx
je 0x1401aa283
cvttsd2si rcx, qword [rbp - 0x38]
cvttsd2si rax, xmm0
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x48], rcx
test rcx, rcx
je 0x1401aa2f3
cmp rcx, 0xffffffffffffffff
mov edx, 1
pxor xmm0, xmm0
cmove rcx, rdx
cqo
mov qword [rbp - 0x48], rcx
idiv rcx
cvtsi2sd xmm0, rdx
jmp 0x1401aa2a9
test r8, r8
jmp 0x1401aa195
test rdx, rdx
jns 0x1401aa25e
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jg 0x1401aa1ba
add rdx, r8
mov qword [rbp - 0x40], rdx
mov rdi, qword [rsp + 0x58]
mov eax, 0xbf04
mov qword [r9 + 0x18], rdx
and word [r9 + 0x24], ax
or word [r9 + 0x24], 4
jmp 0x1401aed9f
movsd xmm1, qword [rbp - 0x38]
ucomisd xmm1, xmm6
jp 0x1401aa290
je 0x1401aa2f3
divsd xmm0, xmm1
jmp 0x1401aa2a9
mulsd xmm0, qword [rbp - 0x38]
jmp 0x1401aa2a9
subsd xmm0, qword [rbp - 0x38]
jmp 0x1401aa2a9
addsd xmm0, qword [rbp - 0x38]
movsd qword [rbp - 0x30], xmm0
call fcn.140143950
test eax, eax
jne 0x1401aa2f3
mov r13, qword [rsp + 0x60]
movsd xmm0, qword [rbp - 0x30]
mov eax, 0xbf08
and word [r13 + 0x24], ax
or word [r13 + 0x24], 8
movsd qword [r13 + 0x10], xmm0
test byte [rbp - 0x50], 8
jne 0x1401aece2
mov rcx, r13
call fcn.14014b620
mov rdi, qword [rsp + 0x58]
jmp 0x1401aed9f
mov r9, qword [rsp + 0x60]
mov rcx, r9
call fcn.14014b7b0
mov rdi, qword [rsp + 0x58]
jmp 0x1401aed9f
movzx eax, byte [r15 + r13*8 + 3]
mov rcx, qword [rsp + 0x50]
mov r8, qword [rdi + 0x18]
mov dword [rbp + 0x28], eax
mov qword [rbp + 0x20], r8
movsxd r9, dword [r15 + r13*8 + 0xc]
movsxd rdx, dword [r15 + r13*8 + 8]
imul r9, r9, 0x38
add r9, rcx
mov qword [rsp + 0x60], r9
imul rdx, rdx, 0x38
add rdx, rcx
mov ecx, r14d
mov dword [rbp - 0x50], ecx
mov qword [rbp - 0x48], rdx
test eax, eax
jle 0x1401aa3a0
nop dword [rax + rax]
movsxd rax, ecx
mov qword [r8 + rax*8], rdx
mov rcx, qword [rbp - 0x48]
mov eax, 0x1000
test word [rcx + 0x24], ax
je 0x1401aa377
call fcn.140162ae0
test eax, eax
jne 0x1401af140
mov rcx, qword [rbp - 0x48]
call fcn.14014c840
mov ecx, dword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
inc ecx
add rdx, 0x38
mov dword [rbp - 0x50], ecx
mov qword [rbp - 0x48], rdx
cmp ecx, dword [rbp + 0x28]
jge 0x1401aa39b
mov r8, qword [rbp + 0x20]
jmp 0x1401aa350
mov r9, qword [rsp + 0x60]
cmp byte [r15 + r13*8 + 1], 0xfb
mov rax, qword [r15 + r13*8 + 0x10]
jne 0x1401aa3b3
mov qword [rbp - 0x38], r14
jmp 0x1401aa3ba
mov qword [rbp - 0x38], rax
mov rax, qword [rax]
lea rcx, [rbp - 0x30]
mov ebx, 1
mov rdx, r9
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], rsi
mov qword [rbp - 8], r14
mov word [rbp - 0xc], bx
mov qword [rbp], r14
call fcn.1401581c0
movzx r11d, word [rbp - 0xc]
mov eax, 0xbf01
mov dword [rbp + 0x10], r14d
and r11w, ax
mov rax, qword [rbp - 0x40]
or r11w, bx
mov word [rbp - 0xc], r11w
test byte [rax + 3], 8
je 0x1401aa40d
mov rax, qword [r15 + r13*8 - 8]
mov qword [rbp + 0x18], rax
mov rax, qword [rsp + 0x78]
lea rcx, [rbp - 0x40]
mov qword [rsi + 0x40], rax
mov rax, qword [rbp - 0x40]
mov r8, qword [rbp + 0x20]
mov edx, dword [rbp + 0x28]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rsi + 0x40]
mov qword [rsp + 0x78], rax
test rcx, rcx
je 0x1401aa453
mov edx, dword [r15 + r13*8 + 4]
call fcn.14014beb0
mov r11, qword [rbp - 0x38]
mov byte [r15 + r13*8 + 1], 0xf9
mov qword [r15 + r13*8 + 0x10], r11
cmp byte [rsi + 0x2a], r14b
jne 0x1401aee9f
cmp dword [rbp + 0x10], r14d
je 0x1401aa4ee
test byte [rbp - 0xc], bl
je 0x1401aa471
mov r9, r14
jmp 0x1401aa4d2
movzx ecx, word [rbp - 0xc]
movzx eax, cx
shr ax, 3
and ax, 2
or cx, ax
mov eax, 0x4000
mov word [rbp - 0xc], cx
test ax, cx
je 0x1401aa49a
lea rcx, [rbp - 0x30]
call fcn.140157d60
test byte [rbp - 0xc], 2
je 0x1401aa4bc
cmp byte [rbp - 9], bl
je 0x1401aa4b1
lea rcx, [rbp - 0x30]
movzx edx, bl
call fcn.14016b8c0
lea rcx, [rbp - 0x30]
call fcn.140157dd0
jmp 0x1401aa4c7
lea rcx, [rbp - 0x30]
mov edx, ebx
call fcn.14016e970
cmp byte [rbp - 9], bl
mov r9, r14
cmove r9, qword [rbp - 0x28]
lea rcx, [rdi + 0x58]
lea r8, [0x14021ec64]
mov rdx, rsi
call fcn.14016b870
mov r12d, dword [rbp + 0x10]
mov dword [rsp + 0x44], r12d
test byte [rbp - 0xc], 2
movzx ecx, byte [rsp + 0x48]
je 0x1401aa50d
movzx eax, byte [rbp - 9]
cmp eax, ecx
je 0x1401aa50d
movzx edx, cl
lea rcx, [rbp - 0x30]
call fcn.14016b8c0
mov r13, qword [rsp + 0x60]
lea rdx, [rbp - 0x30]
mov rcx, r13
call fcn.1401581c0
movzx r11d, word [r13 + 0x24]
test r11b, 0x12
je 0x1401aece2
mov edx, dword [r13 + 0x20]
mov eax, 0x4000
test ax, r11w
je 0x1401aa540
add edx, dword [r13 + 0x18]
mov rax, qword [r13]
mov ecx, r14d
cmp edx, dword [rax + 0x60]
setg cl
test ecx, ecx
jne 0x1401af0f5
jmp 0x1401aed9f
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [r15 + r13*8 + 8]
movsxd rbx, dword [r15 + r13*8 + 4]
imul rcx, rcx, 0x38
imul rbx, rbx, 0x38
movsxd rdx, dword [r15 + r13*8 + 0xc]
add rcx, rax
add rbx, rax
imul rdx, rdx, 0x38
add rdx, rax
movzx eax, byte [rcx + 0x24]
or al, byte [rbx + 0x24]
mov qword [rsp + 0x60], rdx
test al, 1
je 0x1401aa5a0
mov rcx, rdx
call fcn.14014b7b0
jmp 0x1401aed9f
call fcn.14014b530
mov rcx, rbx
mov qword [rbp - 0x50], rax
call fcn.14014b530
mov qword [rbp - 0x40], rax
movzx edx, byte [r15 + r13*8]
mov rcx, rax
mov byte [rbp - 0x38], dl
cmp dl, 0x52
jne 0x1401aa5d5
mov r8, qword [rbp - 0x50]
and r8, rax
mov qword [rbp - 0x50], r8
jmp 0x1401aa68d
cmp dl, 0x53
jne 0x1401aa5ea
mov r8, qword [rbp - 0x50]
or r8, rax
mov qword [rbp - 0x50], r8
jmp 0x1401aa68d
test rax, rax
je 0x1401aa689
jns 0x1401aa60f
mov eax, 0xa9
sub al, dl
movzx edx, al
mov byte [rbp - 0x38], al
cmp rcx, 0xffffffffffffffc0
jle 0x1401aa62d
neg rcx
mov qword [rbp - 0x40], rcx
cmp rcx, 0x40
jl 0x1401aa644
cmp qword [rbp - 0x50], r14
jge 0x1401aa638
cmp dl, 0x54
je 0x1401aa638
or rax, 0xffffffffffffffff
movsxd r8, eax
mov qword [rbp - 0x50], r8
jmp 0x1401aa68d
mov eax, 0x40
mov qword [rbp - 0x40], rax
jmp 0x1401aa615
mov eax, r14d
movsxd r8, eax
mov qword [rbp - 0x50], r8
jmp 0x1401aa68d
cmp dl, 0x54
jne 0x1401aa65a
mov r8, qword [rbp - 0x50]
shl r8, cl
mov qword [rbp - 0x48], r8
mov qword [rbp - 0x50], r8
jmp 0x1401aa68d
mov rax, qword [rbp - 0x50]
mov r8, rax
shr r8, cl
mov qword [rbp - 0x48], r8
test rax, rax
jns 0x1401aa683
or rdx, 0xffffffffffffffff
mov ecx, 0x40
sub cl, byte [rbp - 0x40]
shl rdx, cl
or r8, rdx
mov qword [rbp - 0x48], r8
mov qword [rbp - 0x50], r8
jmp 0x1401aa68d
mov r8, qword [rbp - 0x50]
mov r9, qword [rsp + 0x60]
mov eax, 0xbf04
and word [r9 + 0x24], ax
or word [r9 + 0x24], 4
mov qword [r9 + 0x18], r8
jmp 0x1401aed9f
movsxd rbx, dword [r15 + r13*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.14014b690
movsxd rax, dword [r15 + r13*8 + 8]
add qword [rbx + 0x18], rax
jmp 0x1401aed9f
movsxd rbx, dword [r15 + r13*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.14014c870
test byte [rbx + 0x24], 8
je 0x1401aa6f3
mov rcx, rbx
call fcn.14014b620
movzx eax, word [rbx + 0x24]
test al, 4
jne 0x1401aa716
mov eax, dword [r15 + r13*8 + 8]
test eax, eax
je 0x1401aef66
lea ecx, [rax - 1]
mov r8d, 4
jmp 0x1401aeda9
mov ecx, 0xbf04
and ax, cx
or ax, 4
mov word [rbx + 0x24], ax
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
test byte [rcx + 0x24], 4
je case.0x1401a98d3.17
call fcn.14014b6c0
jmp 0x1401aed9f
movsxd rbx, dword [r15 + r13*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
movzx ecx, word [rbx + 0x24]
test cl, 1
jne case.0x1401a98d3.17
movzx eax, cx
shr ax, 3
and ax, 2
or ax, cx
mov word [rbx + 0x24], ax
test al, 2
jne 0x1401aa78f
test al, 0xc
je 0x1401aa78f
movzx edx, byte [rsp + 0x48]
mov rcx, rbx
call fcn.14016e970
mov eax, 0xfff3
and word [rbx + 0x24], ax
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x1401aa7c0
mov rcx, rbx
call fcn.140157d60
mov r12d, eax
mov dword [rsp + 0x44], eax
mov eax, 0xbfe3
and word [rbx + 0x24], ax
jmp 0x1401aed9f
mov eax, 0xbfe3
mov r12d, r14d
mov dword [rsp + 0x44], r14d
and word [rbx + 0x24], ax
jmp 0x1401aed9f
movsxd rbx, dword [r15 + r13*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
movzx eax, word [rbx + 0x24]
test al, 1
jne case.0x1401a98d3.17
test al, 0x10
jne 0x1401aa822
test al, 2
jne 0x1401aa80f
test al, 0xc
je 0x1401aa80f
movzx edx, byte [rsp + 0x48]
mov rcx, rbx
call fcn.14016e970
mov r8d, 4
mov eax, 0xbf10
and word [rbx + 0x24], ax
or word [rbx + 0x24], 0x10
jmp case.0x1401a98d3.17
mov ecx, 0xff10
and ax, cx
mov word [rbx + 0x24], ax
jmp case.0x1401a98d3.17
movsxd rcx, dword [r15 + r13*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
call fcn.14014b730
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
test byte [rcx + 0x24], 1
jne case.0x1401a98d3.17
call fcn.14014b690
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
test byte [rcx + 0x24], 1
jne case.0x1401a98d3.17
call fcn.14014b6c0
jmp 0x1401aed9f
movsxd rbx, dword [r15 + r13*8 + 4]
movsxd rdi, dword [r15 + r13*8 + 0xc]
mov r11, qword [rsp + 0x50]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, r11
add rdi, r11
movzx eax, word [rbx + 0x24]
mov word [rbp - 0x4a], ax
movzx eax, word [rdi + 0x24]
movzx r9d, byte [rbp - 0x4a]
mov word [rbp - 0x48], ax
movzx ecx, al
or al, r9b
test al, 1
je 0x1401aa931
movzx eax, byte [r15 + r13*8 + 3]
test al, al
jns 0x1401aa8eb
mov r8d, r14d
and cl, r9b
test cl, 1
sete r8b
mov dword [rbp - 0x50], r8d
jmp 0x1401aa9af
test al, 0x10
je 0x1401aa918
movsxd rax, dword [r15 + r13*8 + 8]
mov ecx, 0xbf01
imul rax, rax, 0x38
add rax, r11
mov qword [rsp + 0x60], rax
and word [rax + 0x24], cx
or word [rax + 0x24], 1
mov rdi, qword [rsp + 0x58]
jmp case.0x1401a98d3.17
test al, 8
je 0x1401aa90e
mov edi, dword [r15 + r13*8 + 8]
dec edi
mov dword [rsp + 0x40], edi
mov rdi, qword [rsp + 0x58]
jmp case.0x1401a98d3.17
movzx edx, byte [r15 + r13*8 + 3]
and dl, 0x67
mov byte [rbp - 0x4c], dl
je 0x1401aa969
movzx r8d, byte [rsp + 0x48]
mov rcx, rbx
call fcn.140170010
movzx r8d, byte [rsp + 0x48]
movzx edx, byte [rbp - 0x4c]
mov rcx, rdi
call fcn.140170010
cmp byte [rsi + 0x2a], r14b
jne 0x1401af13b
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x1401aa981
mov rcx, rbx
call fcn.140157d60
mov eax, 0x4000
test word [rdi + 0x24], ax
je 0x1401aa98f
mov rcx, rdi
call fcn.140157d60
mov r8, qword [r15 + r13*8 + 0x10]
mov rdx, rbx
mov rcx, rdi
call fcn.140179360
movzx r9d, byte [rbp - 0x4a]
mov r11, qword [rsp + 0x50]
mov r8d, eax
mov dword [rbp - 0x50], eax
movzx edx, byte [r15 + r13*8]
mov eax, r14d
sub edx, 0x4b
je 0x1401aa9f4
dec edx
je 0x1401aa9ec
dec edx
je 0x1401aa9e4
dec edx
je 0x1401aa9dc
dec edx
je 0x1401aa9d4
test r8d, r8d
setns al
jmp 0x1401aa9fa
test r8d, r8d
sets al
jmp 0x1401aa9fa
test r8d, r8d
setle al
jmp 0x1401aa9fa
test r8d, r8d
setg al
jmp 0x1401aa9fa
test r8d, r8d
sete al
jmp 0x1401aa9fa
test r8d, r8d
setne al
mov dword [rbp - 0x50], eax
test byte [r15 + r13*8 + 3], 0x10
je 0x1401aaa46
movsxd rcx, dword [r15 + r13*8 + 8]
mov eax, 0xbf04
imul rcx, rcx, 0x38
add rcx, r11
mov qword [rsp + 0x60], rcx
and word [rcx + 0x24], ax
or word [rcx + 0x24], 4
movsxd rax, dword [rbp - 0x50]
mov qword [rcx + 0x18], rax
movzx r9d, byte [rbp - 0x4a]
mov byte [rbx + 0x24], r9b
movzx eax, byte [rbp - 0x48]
mov byte [rdi + 0x24], al
mov rdi, qword [rsp + 0x58]
jmp 0x1401aed9f
test eax, eax
je 0x1401aaa55
mov eax, dword [r15 + r13*8 + 8]
dec eax
mov dword [rsp + 0x40], eax
mov byte [rbx + 0x24], r9b
movzx eax, byte [rbp - 0x48]
mov byte [rdi + 0x24], al
mov rdi, qword [rsp + 0x58]
jmp 0x1401aed9f
mov rax, qword [r15 + r13*8 + 0x10]
mov qword [rbp - 0x78], rax
jmp case.0x1401a98d3.17
mov eax, dword [r15 + r13*8 + 0xc]
mov ecx, r14d
mov dword [rbp - 0x50], eax
mov rdx, qword [r15 + r13*8 + 0x10]
mov qword [rbp - 0x40], rdx
mov r10d, dword [r15 + r13*8 + 4]
mov dword [rbp - 0x48], r10d
mov r11d, dword [r15 + r13*8 + 8]
mov dword [rbp - 0x4c], ecx
mov dword [rbp - 0x44], r11d
test eax, eax
jle 0x1401aab37
mov rbx, qword [rsp + 0x50]
nop
mov r8, qword [rbp - 0x78]
test r8, r8
je 0x1401aaac6
movsxd rax, ecx
mov r9d, dword [r8 + rax*4]
mov dword [rbp - 0x38], r9d
jmp 0x1401aaacc
mov r9d, ecx
mov dword [rbp - 0x38], ecx
movsxd rcx, ecx
mov r8, qword [rdx + rcx*8 + 0x18]
mov qword [rbp - 0x30], r8
mov rax, qword [rdx + 0x10]
movzx ecx, byte [rax + rcx]
lea eax, [r9 + r11]
mov dword [rbp - 0x28], ecx
movsxd rdx, eax
lea eax, [r9 + r10]
movsxd rcx, eax
imul rdx, rdx, 0x38
add rdx, rbx
imul rcx, rcx, 0x38
add rcx, rbx
call fcn.140179360
mov dword [rbp - 0x80], eax
test eax, eax
jne 0x1401aab26
mov ecx, dword [rbp - 0x4c]
inc ecx
mov dword [rbp - 0x4c], ecx
cmp ecx, dword [rbp - 0x50]
jge 0x1401aab31
mov rdx, qword [rbp - 0x40]
mov r11d, dword [rbp - 0x44]
mov r10d, dword [rbp - 0x48]
jmp 0x1401aaab0
cmp dword [rbp - 0x28], r14d
je 0x1401aab31
neg eax
mov dword [rbp - 0x80], eax
mov r8d, 4
mov qword [rbp - 0x78], r14
jmp case.0x1401a98d3.17
mov ebx, dword [rbp - 0x80]
test ebx, ebx
jns 0x1401aab53
mov ecx, dword [r15 + r13*8 + 4]
dec ecx
jmp 0x1401aeda9
jne 0x1401aab61
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
mov ecx, dword [r15 + r13*8 + 0xc]
dec ecx
jmp 0x1401aeda9
movsxd rcx, dword [r15 + r13*8 + 4]
mov rbx, qword [rsp + 0x50]
imul rcx, rcx, 0x38
add rcx, rbx
test byte [rcx + 0x24], 1
je 0x1401aab8c
mov r8d, 2
jmp 0x1401aab9b
call fcn.14014b530
mov r8d, r14d
test rax, rax
setne r8b
mov dword [rbp - 0x50], r8d
movsxd rcx, dword [r15 + r13*8 + 8]
imul rcx, rcx, 0x38
add rcx, rbx
test byte [rcx + 0x24], 1
je 0x1401aabb8
mov edx, 2
jmp 0x1401aabca
call fcn.14014b530
mov r8d, dword [rbp - 0x50]
mov edx, r14d
test rax, rax
setne dl
movsxd rax, r8d
mov dword [rbp - 0x4c], edx
lea rcx, [rax + rax*2]
movsxd rax, edx
add rcx, rax
cmp byte [r15 + r13*8], 0x45
lea rax, [0x140000000]
jne 0x1401aabf2
movzx eax, byte [rcx + rax + 0x245f70]
jmp 0x1401aabfa
movzx eax, byte [rcx + rax + 0x245f80]
mov ecx, dword [rsp + 0x40]
mov dword [rbp - 0x50], eax
movsxd r13, dword [r15 + r13*8 + 0xc]
imul r13, r13, 0x38
add r13, rbx
mov r8d, 4
mov qword [rsp + 0x60], r13
cmp eax, 2
jne 0x1401aac32
mov eax, 0xbf01
and word [r13 + 0x24], ax
or word [r13 + 0x24], 1
jmp 0x1401aeda9
cdqe
mov qword [r13 + 0x18], rax
mov eax, 0xbf04
and word [r13 + 0x24], ax
or word [r13 + 0x24], 4
jmp 0x1401aeda9
movsxd rcx, dword [r15 + r13*8 + 4]
movsxd r13, dword [r15 + r13*8 + 8]
mov rbx, qword [rsp + 0x50]
imul rcx, rcx, 0x38
imul r13, r13, 0x38
add r13, rbx
add rcx, rbx
test byte [rcx + 0x24], 1
mov qword [rsp + 0x60], r13
je 0x1401aac82
mov rcx, r13
call fcn.14014b7b0
jmp 0x1401aed9f
call fcn.14014b530
mov rdx, r14
mov rcx, r13
test rax, rax
sete dl
call fcn.140157f50
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
movsxd r13, dword [r15 + r13*8 + 8]
mov rbx, qword [rsp + 0x50]
imul rcx, rcx, 0x38
imul r13, r13, 0x38
add r13, rbx
add rcx, rbx
test byte [rcx + 0x24], 1
mov qword [rsp + 0x60], r13
je 0x1401aacd2
mov rcx, r13
call fcn.14014b7b0
jmp 0x1401aed9f
call fcn.14014b530
mov rcx, r13
not rax
mov rdx, rax
call fcn.140157f50
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
test byte [rcx + 0x24], 1
je 0x1401aad08
mov ecx, dword [r15 + r13*8 + 0xc]
mov dword [rbp - 0x50], ecx
jmp 0x1401aad3a
call fcn.14014b5c0
ucomisd xmm0, xmm6
jp 0x1401aad18
mov ecx, r14d
je 0x1401aad1d
mov ecx, 1
mov dword [rbp - 0x50], ecx
cmp byte [r15 + r13*8], 0x1b
mov r8d, 4
jne 0x1401aad3a
mov eax, r14d
test ecx, ecx
sete al
mov ecx, eax
mov dword [rbp - 0x50], eax
test ecx, ecx
je case.0x1401a98d3.17
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
movsxd rax, dword [r15 + r13*8 + 4]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
test byte [rax + rcx + 0x24], 1
je case.0x1401a98d3.17
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
movsxd rax, dword [r15 + r13*8 + 4]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
test byte [rax + rcx + 0x24], 1
jne case.0x1401a98d3.17
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
mov eax, dword [r15 + r13*8 + 4]
mov rbx, qword [rsp + 0x50]
mov edx, 0xbf01
mov dword [rbp - 0x40], eax
mov eax, dword [r15 + r13*8 + 8]
mov qword [rbp - 0x38], r14
mov dword [rbp - 0x3c], eax
xor eax, eax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], rax
movsxd rcx, dword [r15 + r13*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, rbx
mov qword [rbp + 8], rcx
movzx eax, word [rcx + 0x24]
and ax, dx
or ax, 1
mov word [rcx + 0x24], ax
mov rax, qword [rdi + 0x70]
movsxd rcx, dword [rbp - 0x40]
mov qword [rbp - 0x30], r14
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x38], rdx
mov rax, qword [rdx]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x1401aaf13
mov rcx, rdx
call fcn.14019aa00
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401af0ae
mov rdx, qword [rbp - 0x38]
cmp byte [rdx + 0x28], r14b
je 0x1401aae41
mov dword [rbp - 0x50], r14d
jmp 0x1401aed9f
mov eax, dword [rdi + 0x8c]
cmp dword [rdx + 0x5c], eax
jne 0x1401aae65
mov ecx, dword [rdx + 0x60]
mov r8d, 4
mov dword [rbp - 0x50], ecx
mov rax, qword [rdx + 0x78]
mov qword [rbp - 0x30], rax
jmp 0x1401aaf56
mov rbx, qword [rbp - 0x28]
cmp byte [rdx + 0x2b], r14b
je 0x1401aaea8
cmp byte [rbx + 0x6f], 1
je 0x1401aae7b
mov qword [rbp - 0x48], r14
jmp 0x1401aae8f
mov rcx, rbx
call fcn.14014adf0
mov r11, qword [rbx + 0x38]
mov rdx, qword [rbp - 0x38]
mov qword [rbp - 0x48], r11
mov ecx, dword [rbp - 0x48]
mov r12d, r14d
mov dword [rsp + 0x44], r14d
mov dword [rbp - 0x50], ecx
mov r8d, 4
jmp 0x1401aaf56
cmp word [rbx + 0x56], r14w
jne 0x1401aaefd
movsx rax, word [rbx + 0x7a]
lea r8, [rbx + 0x38]
mov rcx, qword [rbx + rax*8 + 0xa8]
movzx r9d, word [rbx + rax*2 + 0x7c]
movzx eax, word [rcx + 0xc]
mov r11, qword [rcx + 0x70]
lea rdx, [r11 + rax]
movzx eax, byte [rdx + r9*2]
movzx edx, byte [rdx + r9*2 + 1]
shl eax, 8
movsxd r10, eax
movzx eax, word [rcx + 0x12]
or rdx, r10
and rdx, rax
add rdx, r11
call fcn.140149ee0
mov byte [rbx + 0x6e], 1
mov rdx, qword [rbp - 0x38]
mov ecx, dword [rbx + 0x48]
mov r12d, r14d
mov dword [rsp + 0x44], r14d
mov dword [rbp - 0x50], ecx
mov r8d, 4
jmp 0x1401aaf56
movsxd rax, dword [rdx + 0x1c]
test eax, eax
jle 0x1401ab4e6
mov rcx, rax
imul rcx, rcx, 0x38
add rcx, rbx
mov qword [rbp + 0x68], rcx
mov eax, dword [rcx + 0x20]
mov dword [rbp - 0x50], eax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x30], rax
test byte [r15 + r13*8 + 3], 0x20
mov eax, r14d
jne 0x1401aaf4c
mov eax, dword [rdi + 0x8c]
mov dword [rdx + 0x5c], eax
mov rdx, qword [rbp - 0x38]
mov ecx, dword [rbp - 0x50]
test ecx, ecx
je 0x1401aece8
cmp ecx, dword [rsi + 0x60]
ja 0x1401af0f5
movsxd r8, dword [rdx + 0x20]
mov eax, dword [rdi + 0x8c]
mov dword [rbp - 0x10], r8d
mov rcx, qword [rdx + 0x68]
mov qword [rbp - 0x20], rcx
cmp dword [rdx + 0x5c], eax
jne 0x1401aaf96
mov rax, qword [rdx + 0x70]
lea r12, [0x140000000]
mov qword [rbp - 0x18], rax
jmp 0x1401ab3b0
lea rcx, [rcx + r8*4]
mov dword [rbp + 0x64], r14d
mov qword [rbp - 0x18], rcx
mov qword [rdx + 0x70], rcx
mov ecx, dword [rbp - 0x50]
mov rax, qword [rbp - 0x38]
mov dword [rax + 0x60], ecx
mov ecx, dword [rdi + 0x8c]
mov rax, qword [rbp - 0x38]
mov dword [rax + 0x5c], ecx
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x1401aafcf
mov qword [rbp], rcx
jmp 0x1401ab0f9
mov r8, qword [rbp - 0x38]
mov rbx, qword [rbp - 0x28]
mov rcx, r14
cmp byte [r8 + 0x2b], r14b
je 0x1401ab04d
cmp byte [rbx + 0x6f], 1
jne 0x1401ab0db
cmp word [rbx + 0x56], cx
jne 0x1401ab03c
movsx rax, word [rbx + 0x7a]
lea r8, [rbx + 0x38]
mov r11, qword [rbx + rax*8 + 0xa8]
movzx edx, word [rbx + rax*2 + 0x7c]
movzx eax, word [r11 + 0xc]
mov r10, qword [r11 + 0x70]
lea rcx, [r10 + rax]
movzx eax, byte [rcx + rdx*2]
movzx edx, byte [rcx + rdx*2 + 1]
mov rcx, r11
shl eax, 8
movsxd r9, eax
movzx eax, word [r11 + 0x12]
or rdx, r9
and rdx, rax
add rdx, r10
call fcn.140149ee0
mov r8, qword [rbp - 0x38]
movzx ecx, word [rbx + 0x50]
movzx eax, word [rbx + 0x52]
add rcx, qword [rbx + 0x40]
jmp 0x1401ab0d8
cmp byte [rbx + 0x6f], 1
jne 0x1401ab0db
movsx rax, word [rbx + 0x7a]
mov rdi, qword [rbx + rax*8 + 0xa8]
cmp word [rbx + 0x56], cx
jne 0x1401ab0b6
movsx rax, word [rbx + 0x7a]
lea r8, [rbx + 0x38]
mov r11, qword [rbx + rax*8 + 0xa8]
movzx edx, word [rbx + rax*2 + 0x7c]
movzx eax, word [r11 + 0xc]
mov r10, qword [r11 + 0x70]
lea rcx, [r10 + rax]
movzx eax, byte [rcx + rdx*2]
movzx edx, byte [rcx + rdx*2 + 1]
mov rcx, r11
shl eax, 8
movsxd r9, eax
movzx eax, word [r11 + 0x12]
or rdx, r9
and rdx, rax
add rdx, r10
call fcn.140149ee0
mov r8, qword [rbp - 0x38]
movzx edx, word [rbx + 0x50]
mov ecx, r14d
add rdx, qword [rbx + 0x40]
cmp byte [rdi + 2], r14b
jne 0x1401ab0ca
mov ecx, dword [rbx + 0x38]
movzx eax, word [rbx + 0x52]
mov rdi, qword [rsp + 0x58]
sub eax, ecx
add rcx, rdx
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x64]
mov qword [rbp], rcx
cmp dword [rbp - 0x50], eax
ja 0x1401ab0f1
mov qword [rbp - 0x30], rcx
mov qword [r8 + 0x78], rcx
jmp 0x1401ab0f5
mov qword [r8 + 0x78], r14
mov rcx, qword [rbp]
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x1401ab10f
movzx edx, al
mov ebx, 1
mov dword [rbp + 0x58], edx
mov eax, ebx
jmp 0x1401ab127
lea rdx, [rbp + 0x58]
call fcn.140144570
mov edx, dword [rbp + 0x58]
mov rcx, qword [rbp]
movzx eax, al
mov ebx, 1
movzx r9d, al
mov dword [rbp + 0x60], r9d
cmp edx, 0x18003
jbe 0x1401ab165
mov r8d, 0xfdf7
lea r9, [0x14024940c]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.140160780
mov r12d, VariantTimeToDosDateTime
mov dword [rsp + 0x44], r12d
jmp 0x1401aed9f
mov r10d, dword [rbp - 0x10]
lea r8d, [r10 + r10*4 + 3]
cmp r8d, edx
cmovg r8d, edx
mov dword [rbp - 0xc], r8d
cmp qword [rbp - 0x30], r14
jne 0x1401ab1d1
cmp dword [rbp + 0x64], r8d
jge 0x1401ab1d1
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x28]
mov word [rbp + 0x34], r14w
mov qword [rbp + 0x10], r14
movzx r9d, byte [rax + 0x2b]
lea rax, [rbp + 0x10]
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.14019a100
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401aece2
mov rcx, qword [rbp + 0x18]
mov r9d, dword [rbp + 0x60]
mov edx, dword [rbp + 0x58]
mov r8d, dword [rbp - 0xc]
mov r10d, dword [rbp - 0x10]
mov qword [rbp], rcx
movsxd rax, r8d
movsxd r9, r9d
mov dword [rbp - 8], r14d
add rax, rcx
add r9, rcx
mov r8d, r14d
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x48], r9
lea r12, [0x140000000]
test r10d, r10d
jle 0x1401ab28d
nop dword [rax]
cmp r9, rax
mov rax, qword [rbp - 0x18]
movsxd rcx, r8d
jae 0x1401ab2c4
mov dword [rax + rcx*4], edx
mov r8, qword [rbp + 0x48]
movsxd rcx, dword [rbp - 8]
movzx eax, byte [r8]
cmp al, 0x80
jae 0x1401ab231
movzx edx, al
mov rax, qword [rbp - 0x20]
mov dword [rax + rcx*4], edx
mov eax, ebx
jmp 0x1401ab244
mov rax, qword [rbp - 0x20]
lea rdx, [rax + rcx*4]
mov rcx, r8
call fcn.140144570
movzx eax, al
mov r9, qword [rbp + 0x48]
movsxd r8, dword [rbp - 8]
movzx eax, al
add r9, rax
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x48], r9
mov edx, dword [rax + r8*4]
cmp edx, 0xc
jb 0x1401ab26a
lea eax, [rdx - 0xc]
shr eax, 1
jmp 0x1401ab273
movzx eax, byte [rdx + r12 + 0x245f28]
mov edx, dword [rbp + 0x58]
mov dword [rbp + 0x5c], eax
add edx, eax
mov dword [rbp + 0x58], edx
cmp edx, eax
jae 0x1401ab2d3
mov rax, qword [rbp + 0x50]
inc rax
mov qword [rbp + 0x48], rax
movzx eax, word [rbp + 0x34]
mov ecx, 0x2460
test cx, ax
je 0x1401ab35f
mov ecx, 0x2000
test cx, ax
je 0x1401ab2e9
mov rdx, qword [rbp + 0x28]
lea rcx, [rbp + 0x10]
call fcn.14014b410
lea rcx, [rbp + 0x10]
call fcn.140157ed0
jmp 0x1401ab35f
mov dword [rax + rcx*4], r14d
mov edx, dword [rbp + 0x58]
mov r9, qword [rbp + 0x48]
mov r8d, dword [rbp - 8]
inc r8d
mov dword [rbp - 8], r8d
cmp r8d, dword [rbp - 0x10]
jge 0x1401ab28d
mov rax, qword [rbp + 0x50]
jmp 0x1401ab200
mov ecx, 0x400
test cx, ax
je 0x1401ab308
mov rax, qword [rbp + 0x38]
test rax, rax
je 0x1401ab308
mov rcx, qword [rbp + 0x18]
call rax
mov qword [rbp + 0x38], r14
jmp 0x1401ab35f
movzx eax, byte [rbp + 0x34]
test al, 0x20
je 0x1401ab31b
mov rcx, qword [rbp + 0x28]
call fcn.140147090
jmp 0x1401ab35f
test al, 0x40
je 0x1401ab35f
mov rdx, qword [rbp + 0x28]
mov rax, qword [rdx]
mov rcx, qword [rax + 0xf0]
mov qword [rdx + 0x60], rcx
mov qword [rax + 0xf0], rdx
test byte [rbp + 0x34], 0x20
je 0x1401ab347
mov rcx, qword [rbp + 0x28]
call fcn.140147090
movzx eax, word [rbp + 0x34]
mov ecx, 0xbf01
mov byte [rbp + 0x36], 5
and ax, cx
or ax, 1
mov word [rbp + 0x34], ax
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x10]
call fcn.1401434c0
mov rdx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x50]
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x38], r14
mov word [rbp + 0x34], bx
cmp rdx, r8
ja 0x1401ab4db
mov eax, dword [rbp + 0x58]
mov ecx, dword [rbp - 0x50]
cmp eax, ecx
ja 0x1401ab4db
cmp rdx, r8
jne 0x1401ab3a8
cmp eax, ecx
jne 0x1401ab4db
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
movsxd rdx, dword [rbp - 0x3c]
cmp dword [rax + rdx*4], r14d
je 0x1401ab472
cmp qword [rbp - 0x30], r14
je 0x1401ab3e7
mov rcx, qword [rbp + 8]
call fcn.140157e40
movsxd r11, dword [rbp - 0x3c]
mov rax, qword [rbp - 0x18]
mov ecx, dword [rax + r11*4]
mov rax, qword [rbp - 0x20]
mov edx, dword [rax + r11*4]
add rcx, qword [rbp - 0x30]
jmp 0x1401ab45b
mov eax, dword [rcx + rdx*4]
cmp eax, 0xc
jb 0x1401ab3f6
add eax, 0xfffffff4
shr eax, 1
jmp 0x1401ab3ff
movzx eax, byte [rax + r12 + 0x245f28]
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0x10]
mov dword [rbp - 0xc], eax
call fcn.1401581c0
movsxd rcx, dword [rbp - 0x3c]
mov r11, qword [rbp - 0x38]
movzx r9d, byte [r11 + 0x2b]
mov r8d, dword [rbp - 0xc]
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x18]
mov edx, dword [rax + rcx*4]
mov rcx, qword [rbp - 0x28]
call fcn.14019a100
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401aece2
mov rcx, qword [rbp + 0x18]
movsxd rdx, dword [rbp - 0x3c]
mov rax, qword [rbp - 0x20]
mov qword [rbp], rcx
mov edx, dword [rax + rdx*4]
mov r8, qword [rbp + 8]
call fcn.14014c100
mov rax, qword [rbp + 8]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0x27], cl
jmp 0x1401ab48e
cmp byte [r15 + r13*8 + 1], 0xf8
jne 0x1401ab48e
mov rdx, qword [r15 + r13*8 + 0x10]
mov rcx, qword [rbp + 8]
mov r8d, 0x800
call fcn.140158140
cmp qword [rbp + 0x40], r14
je 0x1401ab4c6
mov rax, qword [rbp + 8]
mov ecx, 0xe7ff
and word [rax + 0x24], cx
mov rax, qword [rbp + 8]
mov ecx, 0x200
or word [rax + 0x24], cx
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x18]
mov qword [rax + 8], rcx
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x40]
mov qword [rcx + 0x30], rax
mov rcx, qword [rbp + 8]
call fcn.140162ae0
mov r12d, eax
mov dword [rsp + 0x44], eax
jmp 0x1401aed9f
mov r8d, 0xfe41
jmp 0x1401ab13d
mov dword [rbp - 0x50], r14d
jmp case.0x1401a98d3.17
mov rax, qword [r15 + r13*8 + 0x10]
mov qword [rbp - 0x50], rax
movsxd rbx, dword [r15 + r13*8 + 4]
movzx ecx, byte [rax]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov byte [rbp - 0x48], cl
test cl, cl
je 0x1401ab56a
movzx esi, byte [rsp + 0x48]
mov edi, 0x4000
nop word [rax + rax]
inc rax
mov qword [rbp - 0x50], rax
test word [rbx + 0x24], di
je 0x1401ab539
mov rcx, rbx
call fcn.140157d60
movzx ecx, byte [rbp - 0x48]
movzx edx, cl
movzx r8d, sil
mov rcx, rbx
call fcn.140170010
mov rax, qword [rbp - 0x50]
add rbx, 0x38
movzx ecx, byte [rax]
mov byte [rbp - 0x48], cl
test cl, cl
jne 0x1401ab520
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov r8d, 4
inc rax
mov qword [rbp - 0x50], rax
jmp case.0x1401a98d3.17
mov rdx, qword [rsp + 0x50]
mov qword [rbp - 0x40], r14
mov dword [rbp - 0x38], r14d
mov dword [rbp - 0x28], r14d
movsxd rax, dword [r15 + r13*8 + 4]
mov edi, r14d
mov dword [rbp - 8], eax
mov rbx, qword [r15 + r13*8 + 0x10]
mov rsi, rax
imul rsi, rsi, 0x38
add rsi, rdx
mov qword [rbp], rbx
mov qword [rbp - 0x18], rsi
mov eax, dword [r15 + r13*8 + 8]
mov r11d, r14d
mov dword [rbp - 8], eax
dec eax
mov r10, rsi
movsxd rcx, eax
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x9d]
imul rcx, rcx, 0x38
add rcx, rsi
mov dword [rbp + 8], eax
mov qword [rbp - 0x10], rcx
movsxd r13, dword [r15 + r13*8 + 0xc]
mov qword [rbp - 0x48], rsi
imul r13, r13, 0x38
add r13, rdx
mov qword [rsp + 0x60], r13
cmp rsi, rcx
ja 0x1401ab711
movzx r15d, byte [rsp + 0x48]
mov eax, 0x4000
lea r13, [0x140000000]
movabs r12, 0x4924924924924925
test rbx, rbx
je 0x1401ab657
mov rdx, r10
mov rax, r12
movzx r8d, r15b
sub rdx, rsi
mov rcx, r10
imul rdx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movzx edx, byte [rdx + rbx]
call fcn.140170010
mov rbx, qword [rbp]
mov rsi, qword [rbp - 0x18]
mov r11d, dword [rbp - 0x28]
mov edi, dword [rbp - 0x38]
mov r10, qword [rbp - 0x48]
mov eax, 0x4000
test word [r10 + 0x24], ax
je 0x1401ab67f
cmp dword [r10 + 0x20], r14d
jle 0x1401ab67f
mov rcx, r10
call fcn.140157d60
mov rbx, qword [rbp]
mov rsi, qword [rbp - 0x18]
mov r11d, dword [rbp - 0x28]
mov edi, dword [rbp - 0x38]
mov r10, qword [rbp - 0x48]
mov edx, dword [rbp + 8]
mov rcx, r10
call fcn.14014bf30
mov r9d, eax
mov dword [rbp - 0x20], r9d
cmp eax, 0xc
jb 0x1401ab69e
lea edx, [r9 - 0xc]
shr edx, 1
jmp 0x1401ab6a7
movzx edx, byte [r9 + r13 + 0x245f28]
movsxd rax, edx
mov dword [rbp + 0x10], edx
mov rcx, r9
add qword [rbp - 0x40], rax
mov eax, r14d
nop word [rax + rax]
shr rcx, 7
inc eax
test rcx, rcx
je 0x1401ab6d0
cmp eax, 9
jl 0x1401ab6c0
add edi, eax
mov eax, 0x4000
mov dword [rbp - 0x38], edi
test word [r10 + 0x24], ax
je 0x1401ab6e7
add r11d, dword [r10 + 0x18]
jmp 0x1401ab6ed
test edx, edx
cmovne r11d, r14d
add r10, 0x38
mov dword [rbp - 0x28], r11d
mov qword [rbp - 0x48], r10
cmp r10, qword [rbp - 0x10]
jbe 0x1401ab610
mov r12d, dword [rsp + 0x44]
mov r15, qword [rbp - 0x70]
mov r13, qword [rsp + 0x60]
movsxd rax, edi
mov edx, r14d
nop word [rax + rax]
shr rax, 7
inc edx
test rax, rax
je 0x1401ab730
cmp edx, 9
jl 0x1401ab720
add edi, edx
mov dword [rbp - 0x24], edx
mov eax, r14d
mov dword [rbp - 0x38], edi
movsxd rcx, edi
nop
shr rcx, 7
inc eax
test rcx, rcx
je 0x1401ab750
cmp eax, 9
jl 0x1401ab740
cmp edx, eax
jge 0x1401ab759
inc edi
mov dword [rbp - 0x38], edi
mov rsi, qword [rsp + 0x70]
movsxd rax, r11d
movsxd rcx, edi
sub rcx, rax
add rcx, qword [rbp - 0x40]
mov qword [rbp - 0x30], rcx
movsxd rax, dword [rsi + 0x60]
cmp rcx, rax
jg 0x1401af0f0
mov edx, ecx
xor r8d, r8d
mov rcx, r13
call fcn.140157c10
test eax, eax
jne 0x1401af13b
mov ecx, dword [rbp - 0x38]
mov r8, qword [r13 + 8]
mov qword [rbp - 0x50], r8
cmp ecx, 0x80
jae 0x1401ab7b4
movzx eax, byte [rbp - 0x38]
mov ebx, 1
mov byte [r8], al
mov eax, ebx
jmp 0x1401ab7e4
test ecx, 0xffffc000
jne 0x1401ab7d4
mov eax, ecx
shr eax, 7
or al, 0x80
and cl, 0x7f
mov byte [r8], al
mov byte [r8 + 1], cl
mov eax, 2
jmp 0x1401ab7df
mov rdx, rcx
mov rcx, r8
call fcn.140144280
mov ebx, 1
mov rcx, qword [rbp - 0x10]
movzx r9d, al
mov rax, qword [rbp - 0x18]
mov dword [rbp + 0xc], r9d
mov qword [rbp - 0x48], rax
cmp rax, rcx
ja 0x1401ab884
mov edx, dword [rbp + 8]
mov rcx, rax
call fcn.14014bf30
mov r10d, eax
mov dword [rbp - 0x20], r10d
cmp eax, 0x80
jae 0x1401ab82c
mov rcx, qword [rbp - 0x50]
movzx eax, r10b
movsxd rdx, r9d
mov byte [rdx + rcx], al
mov eax, ebx
jmp 0x1401ab85d
movsxd rcx, r9d
add rcx, qword [rbp - 0x50]
test r10d, 0xffffc000
jne 0x1401ab855
mov eax, r10d
shr eax, 7
or al, 0x80
and r10b, 0x7f
mov byte [rcx], al
mov byte [rcx + 1], r10b
mov eax, 2
jmp 0x1401ab85d
mov rdx, r10
call fcn.140144280
mov r9d, dword [rbp + 0xc]
mov rcx, qword [rbp - 0x10]
movzx eax, al
add r9d, eax
mov rax, qword [rbp - 0x48]
add rax, 0x38
mov dword [rbp + 0xc], r9d
mov qword [rbp - 0x48], rax
cmp rax, rcx
jbe 0x1401ab801
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x48], rax
cmp rax, rcx
ja 0x1401ab8c6
nop dword [rax]
mov edx, dword [rbp - 0x30]
movsxd rcx, r9d
mov r8, rax
add rcx, qword [rbp - 0x50]
sub edx, r9d
mov r9d, dword [rbp + 8]
call fcn.14014c010
mov r9d, dword [rbp + 0xc]
add r9d, eax
mov rax, qword [rbp - 0x48]
add rax, 0x38
mov dword [rbp + 0xc], r9d
mov qword [rbp - 0x48], rax
cmp rax, qword [rbp - 0x10]
jbe 0x1401ab890
mov eax, dword [rbp - 0x30]
mov qword [r13 + 0x28], r14
mov dword [r13 + 0x20], eax
mov eax, 0x410
mov word [r13 + 0x24], ax
mov eax, dword [rbp - 0x28]
test eax, eax
je 0x1401ab8f0
mov dword [r13 + 0x18], eax
mov eax, 0x4410
mov word [r13 + 0x24], ax
mov rdi, qword [rsp + 0x58]
mov byte [r13 + 0x27], 1
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
test rcx, rcx
je 0x1401ab940
lea rdx, [rbp - 0x50]
call fcn.14018f3e0
mov r9, qword [rsp + 0x60]
mov r8d, 4
mov r12d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rbp - 0x50]
mov qword [r9 + 0x18], rax
jmp case.0x1401a98d3.17
mov r9, qword [rsp + 0x60]
mov rax, r14
mov qword [rbp - 0x50], rax
mov qword [r9 + 0x18], rax
jmp case.0x1401a98d3.17
mov edi, dword [r15 + r13*8 + 4]
mov dword [rbp - 0x50], edi
mov r11, qword [r15 + r13*8 + 0x10]
mov qword [rbp - 0x48], r11
test edi, edi
jne 0x1401aba6d
cmp dword [rsi + 0xb4], r14d
jle 0x1401ab99f
mov rdi, qword [rsp + 0x58]
lea r8, str.cannot_open_savepoint___SQL_statements_in_progress
mov rdx, rsi
lea rcx, [rdi + 0x58]
call fcn.14016b870
mov r12d, 5
mov dword [rsp + 0x44], r12d
jmp 0x1401aed9f
test r11, r11
jne 0x1401ab9a9
mov r11d, r14d
jmp 0x1401ab9c3
cmp byte [r11], r14b
je 0x1401ab9b8
nop
inc r11
cmp byte [r11], r14b
jne 0x1401ab9b0
sub r11d, dword [rbp - 0x48]
and r11d, 0x3fffffff
mov dword [rbp - 0x40], r11d
mov r8d, dword [rsi + 0x324]
xor edx, edx
add r8d, dword [rsi + 0x320]
mov rcx, rsi
call fcn.140150eb0
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401af0a9
mov edx, dword [rbp - 0x40]
mov rcx, rsi
add edx, 0x19
call fcn.140154320
mov qword [rbp - 0x38], rax
test rax, rax
je 0x1401aece2
lea rcx, [rax + 0x18]
mov qword [rax], rcx
mov eax, dword [rbp - 0x40]
mov rdx, qword [rbp - 0x48]
inc eax
movsxd r8, eax
call fcn.14010c9b0
cmp byte [rsi + 0x28], r14b
je 0x1401aba34
mov byte [rsi + 0x28], r14b
mov byte [rsi + 0x328], 1
jmp 0x1401aba3a
inc dword [rsi + 0x320]
mov rax, qword [rbp - 0x38]
mov rcx, qword [rsi + 0x318]
mov rdi, qword [rsp + 0x58]
mov qword [rax + 0x10], rcx
mov rax, qword [rbp - 0x38]
mov rcx, qword [rsi + 0x330]
mov qword [rsi + 0x318], rax
mov rax, qword [rbp - 0x38]
mov qword [rax + 8], rcx
jmp 0x1401aed9f
mov ebx, r14d
mov dword [rbp - 0x20], ebx
mov r10, qword [rsi + 0x318]
mov qword [rbp - 0x30], r10
test r10, r10
je 0x1401abaa4
mov rcx, qword [r10]
mov rdx, r11
call fcn.140143a20
test eax, eax
je 0x1401abacf
inc ebx
mov dword [rbp - 0x20], ebx
mov r10, qword [r10 + 0x10]
mov qword [rbp - 0x30], r10
test r10, r10
jne 0x1401aba83
mov rdi, qword [rsp + 0x58]
lea r8, str.no_such_savepoint:__s
mov r9, r11
lea rcx, [rdi + 0x58]
mov rdx, rsi
call fcn.14016b870
mov r12d, 1
mov dword [rsp + 0x44], r12d
jmp 0x1401aed9f
cmp dword [rsi + 0xb4], r14d
jg 0x1401abcb9
cmp edi, 2
jne 0x1401abaee
cmp dword [rsi + 0xb0], 1
jg 0x1401abcb9
cmp qword [r10 + 0x10], r14
jne 0x1401abb52
cmp byte [rsi + 0x328], r14b
je 0x1401abb52
mov r13d, 1
mov esi, r13d
cmp edi, r13d
jne 0x1401abb55
mov rdi, qword [rsp + 0x58]
mov rdx, qword [rdi]
cmp qword [rdx + 0x330], r14
jg 0x1401aef8f
mov rbx, qword [rsp + 0x70]
mov rcx, rdi
mov byte [rbx + 0x28], sil
call fcn.1401a36d0
cmp eax, 5
je 0x1401aef71
mov byte [rbx + 0x328], r14b
mov r12d, dword [rdi + 0x94]
mov dword [rsp + 0x44], r12d
jmp 0x1401abbff
mov esi, r14d
mov rax, qword [rsp + 0x70]
mov r8d, dword [rax + 0x320]
mov eax, r14d
sub r8d, ebx
mov rbx, qword [rsp + 0x70]
mov dword [rbp - 0x1c], eax
dec r8d
mov dword [rbp - 0x20], r8d
cmp dword [rbx + 8], eax
jle 0x1401abbbf
nop dword [rax + rax]
mov rcx, qword [rbx + 0x10]
cdqe
mov edx, edi
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14018a9d0
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401af0a6
mov eax, dword [rbp - 0x1c]
mov edi, dword [rbp - 0x50]
inc eax
mov dword [rbp - 0x1c], eax
cmp eax, dword [rbx + 8]
jge 0x1401abbbb
mov r8d, dword [rbp - 0x20]
jmp 0x1401abb80
mov r10, qword [rbp - 0x30]
cmp edi, 2
jne 0x1401abc06
mov r13d, 0x200
test dword [rbx + 0x18], r13d
je 0x1401abc06
mov rax, qword [rbx + 0xa8]
test rax, rax
je 0x1401abbf0
nop dword [rax]
mov byte [rax + 0x9b], 1
mov rax, qword [rax + 0x68]
test rax, rax
jne 0x1401abbe0
or edx, 0xffffffff
mov rcx, rbx
call fcn.140171220
or dword [rbx + 0x18], r13d
mov edi, dword [rbp - 0x50]
mov r10, qword [rbp - 0x30]
cmp qword [rbx + 0x318], r10
je 0x1401abc48
nop
mov rax, qword [rbx + 0x318]
mov rcx, rbx
mov qword [rbp - 0x28], rax
mov rax, qword [rax + 0x10]
mov qword [rbx + 0x318], rax
mov rdx, qword [rbp - 0x28]
call fcn.1401434c0
dec dword [rbx + 0x320]
mov r10, qword [rbp - 0x30]
cmp qword [rbx + 0x318], r10
jne 0x1401abc10
mov edi, dword [rbp - 0x50]
cmp edi, 1
jne 0x1401abc79
mov rax, qword [r10 + 0x10]
mov rcx, rbx
mov qword [rbx + 0x318], rax
mov rdx, qword [rbp - 0x30]
call fcn.1401434c0
test esi, esi
mov rsi, qword [rsp + 0x70]
jne 0x1401aece2
dec dword [rsi + 0x320]
jmp 0x1401abc91
mov rax, qword [r10 + 8]
test esi, esi
mov rsi, qword [rsp + 0x70]
mov qword [rbx + 0x330], rax
jne 0x1401aece2
mov r8d, dword [rbp - 0x20]
mov edx, dword [rbp - 0x50]
mov rcx, rsi
call fcn.140150eb0
mov rdi, qword [rsp + 0x58]
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401af0ae
jmp 0x1401aed9f
cmp edi, 2
mov rdi, qword [rsp + 0x58]
lea rax, str.rollback
lea r9, str.release
lea r8, str.cannot__s_savepoint___SQL_statements_in_progress
lea rcx, [rdi + 0x58]
cmove r9, rax
mov rdx, rsi
call fcn.14016b870
mov r12d, 5
mov dword [rsp + 0x44], r12d
jmp 0x1401aed9f
mov edx, dword [r15 + r13*8 + 4]
mov dword [rbp - 0x50], edx
mov ecx, dword [r15 + r13*8 + 8]
mov dword [rbp - 0x4c], ecx
test edx, edx
je 0x1401abd73
cmp byte [rsi + 0x28], r14b
jne 0x1401abd73
mov ebx, 1
mov dword [rbp - 0x48], ebx
test ecx, ecx
je 0x1401abd47
cmp dword [rsi + 0xb0], ebx
jle 0x1401abd7c
lea rcx, [rdi + 0x58]
lea r8, str.cannot_rollback_transaction___SQL_statements_in_progress
mov rdx, rsi
call fcn.14016b870
mov r12d, 5
mov dword [rsp + 0x44], r12d
jmp 0x1401aed9f
cmp dword [rsi + 0xb4], r14d
jle 0x1401abd7c
lea rcx, [rdi + 0x58]
lea r8, str.cannot_commit_transaction___SQL_statements_in_progress
mov rdx, rsi
call fcn.14016b870
mov r12d, 5
mov dword [rsp + 0x44], r12d
jmp 0x1401aed9f
mov dword [rbp - 0x48], r14d
mov ebx, 1
movzx eax, byte [rsi + 0x28]
cmp edx, eax
jne 0x1401aefb8
test edx, edx
jne 0x1401abd95
lea r8, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1401abda9
lea r8, str.cannot_commit___no_transaction_is_active
lea rax, str.cannot_rollback___no_transaction_is_active
test ecx, ecx
cmovne r8, rax
lea rcx, [rdi + 0x58]
mov rdx, rsi
call fcn.14016b870
mov r12d, ebx
mov dword [rsp + 0x44], ebx
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rsi + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov qword [rbp - 0x50], rcx
test rcx, rcx
je case.0x1401a98d3.17
mov edx, dword [r15 + r13*8 + 8]
call fcn.14018a220
mov r12d, eax
mov dword [rsp + 0x44], eax
cmp eax, 5
je 0x1401af051
test eax, eax
jne 0x1401af0ae
cmp dword [r15 + r13*8 + 8], r14d
je 0x1401aece2
cmp byte [rdi + 0x9f], r14b
je 0x1401aece2
cmp byte [rsi + 0x28], r14b
je 0x1401abe2d
cmp dword [rsi + 0xb0], 1
jle 0x1401aece2
cmp dword [rdi + 0xb0], r14d
jne 0x1401abe4e
inc dword [rsi + 0x324]
mov ecx, dword [rsi + 0x324]
add ecx, dword [rsi + 0x320]
mov dword [rdi + 0xb0], ecx
mov r8d, dword [rdi + 0xb0]
xor edx, edx
mov rcx, rsi
dec r8d
call fcn.140150eb0
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401abec0
mov rsi, qword [rbp - 0x50]
mov edi, dword [rdi + 0xb0]
mov rbx, qword [rsi + 8]
mov rcx, rsi
call fcn.1401497d0
mov rcx, qword [rbx]
mov edx, edi
call fcn.140156990
mov r12d, eax
mov dword [rsp + 0x44], eax
cmp byte [rsi + 0x11], r14b
je 0x1401abeb6
dec dword [rsi + 0x14]
jne 0x1401abeb6
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x1401abeb2
call qword [0x1402bc390]
mov byte [rsi + 0x12], r14b
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rax, qword [rsi + 0x330]
mov qword [rdi + 0xd0], rax
jmp 0x1401aed9f
movsxd rax, dword [r15 + r13*8 + 4]
lea r8, [rbp - 0x50]
mov dword [rbp - 0x4c], eax
mov edx, dword [r15 + r13*8 + 0xc]
shl rax, 5
mov dword [rbp - 0x48], edx
mov rcx, qword [rsi + 0x10]
mov rcx, qword [rax + rcx + 8]
call fcn.14014b170
mov r9, qword [rsp + 0x60]
movsxd r11, dword [rbp - 0x50]
mov qword [r9 + 0x18], r11
jmp 0x1401aed9f
movsxd rax, dword [r15 + r13*8 + 4]
shl rax, 5
add rax, qword [rsi + 0x10]
mov qword [rbp - 0x50], rax
movsxd rbx, dword [r15 + r13*8 + 0xc]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.14014b690
mov rcx, qword [rbp - 0x50]
mov r8d, dword [rbx + 0x18]
mov rcx, qword [rcx + 8]
mov edx, dword [r15 + r13*8 + 8]
call fcn.14018f320
mov r12d, eax
mov dword [rsp + 0x44], eax
mov eax, dword [r15 + r13*8 + 8]
cmp eax, 1
jne 0x1401abf70
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax + 0x18]
mov eax, dword [rbx + 0x18]
mov dword [rcx], eax
mov eax, 0x200
or dword [rsi + 0x18], eax
jmp 0x1401abf84
cmp eax, 2
jne 0x1401abf84
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax + 0x18]
movzx eax, byte [rbx + 0x18]
mov byte [rcx + 0x70], al
cmp dword [r15 + r13*8 + 4], 1
jne 0x1401aece2
mov rax, qword [rsi + 0xa8]
test rax, rax
je 0x1401abfb0
nop dword [rax]
mov byte [rax + 0x9b], 1
mov rax, qword [rax + 0x68]
test rax, rax
jne 0x1401abfa0
mov byte [rdi + 0x9b], r14b
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rsi + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov qword [rbp - 0x48], rcx
test rcx, rcx
je 0x1401ac005
lea r8, [rbp - 0x50]
mov edx, 1
call fcn.14014b170
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [r15 + r13*8 + 4]
shl rcx, 5
mov r8d, 4
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rcx + 4]
mov ecx, dword [rbp - 0x50]
jmp 0x1401ac00e
mov ecx, r14d
mov eax, r14d
mov dword [rbp - 0x50], ecx
mov dword [rbp - 0x4c], eax
cmp ecx, dword [r15 + r13*8 + 8]
jne 0x1401ac023
cmp eax, dword [r15 + r13*8 + 0xc]
je case.0x1401a98d3.17
mov rdx, qword [rdi + 0x58]
mov rcx, rsi
call fcn.1401434c0
lea rdx, str.database_schema_has_changed
mov rcx, rsi
call fcn.1401544d0
mov qword [rdi + 0x58], rax
mov rax, qword [rsi + 0x10]
movsxd rdx, dword [r15 + r13*8 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x50]
cmp dword [rcx], eax
je 0x1401ac066
mov rcx, rsi
call fcn.140171220
mov r12d, 0x11
mov byte [rdi + 0x9b], 1
mov dword [rsp + 0x44], r12d
jmp 0x1401aed9f
cmp byte [rdi + 0x9b], r14b
je 0x1401ac093
mov r12d, r8d
mov dword [rsp + 0x44], r8d
jmp case.0x1401a98d3.17
mov dword [rbp - 0x50], r14d
mov qword [rbp - 0x48], r14
movsxd rdx, dword [r15 + r13*8 + 8]
mov dword [rbp - 0x40], edx
movsxd r9, dword [r15 + r13*8 + 0xc]
mov r8d, r14d
mov dword [rbp - 0x3c], r9d
mov rcx, r9
shl rcx, 5
add rcx, qword [rsi + 0x10]
mov qword [rbp - 0x20], rcx
mov rax, qword [rcx + 8]
mov qword [rbp - 0x30], rax
cmp byte [r15 + r13*8], 0x27
jne 0x1401ac0ec
mov dword [rbp - 0x38], 1
mov rax, qword [rcx + 0x18]
movzx ecx, byte [rax + 0x70]
cmp cl, byte [rdi + 0x9d]
jae 0x1401ac0f0
mov byte [rdi + 0x9d], cl
jmp 0x1401ac0f0
mov dword [rbp - 0x38], r14d
cmp byte [r15 + r13*8 + 3], r8b
je 0x1401ac125
mov rbx, rdx
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.14014b690
mov r11d, dword [rbx + 0x18]
mov dword [rbp - 0x40], r11d
cmp r11d, 2
jl 0x1401af06b
mov r9d, dword [rbp - 0x3c]
mov r8d, dword [rbp - 0x50]
movzx eax, byte [r15 + r13*8 + 1]
cmp al, 0xfa
jne 0x1401ac15c
mov rax, qword [rdi]
mov rdx, qword [r15 + r13*8 + 0x10]
mov qword [rbp - 0x48], rdx
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 0x18]
movzx ecx, byte [rax + 0x71]
mov byte [rdx + 8], cl
mov rax, qword [rbp - 0x48]
mov r9d, dword [rbp - 0x3c]
movzx r8d, word [rax + 0xa]
inc r8d
jmp 0x1401ac165
cmp al, 0xf2
jne 0x1401ac169
mov r8d, dword [r15 + r13*8 + 0x10]
mov dword [rbp - 0x50], r8d
mov edx, dword [r15 + r13*8 + 4]
mov rcx, rdi
mov dword [rsp + 0x20], 1
call fcn.14019e640
mov qword [rbp - 0x28], rax
test rax, rax
je 0x1401af140
mov byte [rax + 0x28], 1
mov rax, qword [rbp - 0x28]
mov byte [rax + 0x2c], 1
mov rax, qword [rbp - 0x28]
mov r9, qword [rbp - 0x48]
mov rcx, qword [rax]
mov r8d, dword [rbp - 0x38]
mov edx, dword [rbp - 0x40]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp - 0x30]
call fcn.14014ab60
mov rcx, qword [rbp - 0x48]
mov r12d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rbp - 0x28]
mov qword [rax + 0x10], rcx
cmp r12d, 0x10
jne 0x1401ac1df
mov rax, qword [rbp - 0x28]
mov r12d, r14d
mov dword [rsp + 0x44], r14d
mov qword [rax], r14
cmp byte [r15 + r13*8 + 1], 0xfa
mov rax, qword [rbp - 0x28]
setne cl
mov byte [rax + 0x2a], cl
mov rax, qword [rbp - 0x28]
test cl, cl
sete cl
mov byte [rax + 0x2b], cl
jmp 0x1401aed9f
mov r8d, dword [r15 + r13*8 + 8]
mov edx, dword [r15 + r13*8 + 4]
mov ebx, 1
or r9d, 0xffffffff
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.14019e640
mov qword [rbp - 0x50], rax
test rax, rax
je 0x1401af140
mov byte [rax + 0x28], bl
movzx eax, byte [r15 + r13*8 + 3]
mov r9, qword [rbp - 0x50]
mov rcx, qword [rsi]
or eax, 9
add r9, 8
mov r8, rsi
xor edx, edx
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], eax
call fcn.140196650
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401ac46f
mov rcx, qword [rbp - 0x50]
mov edx, ebx
mov rcx, qword [rcx + 8]
call fcn.14018a220
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401ac46f
mov rax, qword [rbp - 0x50]
cmp qword [r15 + r13*8 + 0x10], r14
je 0x1401ac3c7
mov rbx, qword [rax + 8]
mov rcx, rbx
call fcn.1401497d0
lea r8d, [r12 + 2]
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.140198340
mov r12d, eax
mov dword [rsp + 0x44], eax
cmp byte [rbx + 0x11], r14b
je 0x1401ac2db
dec dword [rbx + 0x14]
jne 0x1401ac2db
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x1401ac2d7
call qword [0x1402bc390]
mov byte [rbx + 0x12], r14b
test r12d, r12d
jne 0x1401ac3ba
mov rax, qword [rbp - 0x50]
mov rsi, qword [r15 + r13*8 + 0x10]
mov rdi, qword [rax + 8]
mov rbx, qword [rax]
mov rcx, rdi
call fcn.1401497d0
mov rax, qword [rdi + 8]
cmp byte [rax + 0x20], r14b
je 0x1401ac314
mov eax, 8
mov r12d, eax
mov dword [rsp + 0x44], eax
jmp 0x1401ac36f
mov ecx, dword [rbp - 0x68]
cmp ecx, 1
jne 0x1401ac330
cmp dword [rax + 0x40], r14d
jne 0x1401ac330
mov eax, 0x10
mov r12d, eax
mov dword [rsp + 0x44], eax
jmp 0x1401ac36f
mov dword [rbx + 0x28], ecx
or rcx, 0xffffffffffffffff
mov qword [rbx + 0x20], rsi
mov qword [rbx], rdi
mov qword [rbx + 8], rax
mov byte [rbx + 0x6c], 1
mov word [rbx + 0x7a], cx
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x10], rcx
test rcx, rcx
je 0x1401ac35b
mov qword [rcx + 0x18], rbx
mov qword [rax + 0x10], rbx
mov r12d, r14d
mov dword [rsp + 0x44], r14d
mov byte [rbx + 0x6f], r14b
mov qword [rbx + 0x30], r14
cmp byte [rdi + 0x11], r14b
je 0x1401ac391
dec dword [rdi + 0x14]
jne 0x1401ac391
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x1401ac38d
call qword [0x1402bc390]
mov byte [rdi + 0x12], r14b
mov rax, qword [rbp - 0x50]
mov rdx, qword [r15 + r13*8 + 0x10]
mov rsi, qword [rsp + 0x70]
mov qword [rax + 0x10], rdx
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 0x18]
movzx eax, byte [rax + 0x71]
mov byte [rdx + 8], al
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x2a], r14b
jmp 0x1401ac46f
mov rdi, qword [rax + 8]
mov rbx, qword [rax]
mov rcx, rdi
call fcn.1401497d0
mov rax, qword [rdi + 8]
cmp byte [rax + 0x20], r14b
je 0x1401ac3ee
mov eax, 8
mov r12d, eax
mov dword [rsp + 0x44], eax
jmp 0x1401ac445
cmp dword [rax + 0x40], r14d
jne 0x1401ac402
mov eax, 0x10
mov r12d, eax
mov dword [rsp + 0x44], eax
jmp 0x1401ac445
or rcx, 0xffffffffffffffff
mov dword [rbx + 0x28], 1
mov qword [rbx + 0x20], r14
mov qword [rbx], rdi
mov qword [rbx + 8], rax
mov byte [rbx + 0x6c], 1
mov word [rbx + 0x7a], cx
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x10], rcx
test rcx, rcx
je 0x1401ac431
mov qword [rcx + 0x18], rbx
mov qword [rax + 0x10], rbx
mov r12d, r14d
mov dword [rsp + 0x44], r14d
mov byte [rbx + 0x6f], r14b
mov qword [rbx + 0x30], r14
cmp byte [rdi + 0x11], r14b
je 0x1401ac467
dec dword [rdi + 0x14]
jne 0x1401ac467
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x1401ac463
call qword [0x1402bc390]
mov byte [rdi + 0x12], r14b
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x2a], 1
cmp byte [r15 + r13*8 + 3], 0x10
mov rax, qword [rbp - 0x50]
setne cl
mov byte [rax + 0x2c], cl
mov rcx, qword [rbp - 0x50]
cmp byte [rcx + 0x2a], r14b
sete al
mov byte [rcx + 0x2b], al
mov rdi, qword [rsp + 0x58]
jmp 0x1401aed9f
mov r8d, dword [r15 + r13*8 + 0xc]
mov edx, dword [r15 + r13*8 + 4]
or r9d, 0xffffffff
mov rcx, rdi
mov dword [rsp + 0x20], r14d
call fcn.14019e640
mov qword [rbp - 0x50], rax
test rax, rax
je 0x1401af140
mov byte [rax + 0x28], 1
mov rax, qword [rbp - 0x50]
mov ecx, dword [r15 + r13*8 + 8]
mov dword [rax + 0x1c], ecx
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x2a], 1
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x2b], r14b
jmp 0x1401aed9f
movsxd rax, dword [r15 + r13*8 + 4]
mov rdx, qword [rdi + 0x70]
mov rcx, rdi
mov rdx, qword [rdx + rax*8]
call fcn.14019e5e0
movsxd r11, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov qword [rax + r11*8], r14
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x48], rdx
cmp qword [rdx], r14
je 0x1401a98e3
movzx eax, byte [r15 + r13*8]
mov dword [rbp - 0x4c], eax
mov byte [rdx + 0x28], r14b
mov r10, qword [rbp - 0x48]
cmp byte [r10 + 0x2a], r14b
je 0x1401ac745
movsxd rbx, dword [r15 + r13*8 + 0xc]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.14014c870
mov rcx, rbx
call fcn.14014b530
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x48]
mov byte [rax + 0x25], r14b
movzx eax, word [rbx + 0x24]
test al, 4
jne 0x1401ac6f5
test al, 8
jne 0x1401ac58b
mov ecx, dword [r15 + r13*8 + 8]
mov r8d, 4
dec ecx
jmp 0x1401aeda9
mov r8, qword [rbp - 0x18]
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x1401ac6b2
movsd xmm1, qword [rbx + 0x10]
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
comisd xmm0, xmm1
ja 0x1401ac5c0
comisd xmm1, xmm6
jbe 0x1401ac6b2
mov dword [rbp - 0x50], 1
comisd xmm6, xmmword [rbx + 0x10]
jbe 0x1401ac61d
cmp dword [rbp - 0x4c], 0x2e
jl 0x1401ac6a0
mov rax, qword [rbp - 0x48]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.14018b3a0
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401ac68d
cmp byte [rbx + 0x6f], r14b
jne 0x1401ac608
mov dword [rbp - 0x50], 1
jmp 0x1401ac68d
mov rcx, rbx
mov dword [rbp - 0x50], r14d
call fcn.14018b560
mov r12d, eax
mov dword [rsp + 0x44], eax
jmp 0x1401ac68d
cmp dword [rbp - 0x4c], 0x2d
jg 0x1401ac6a0
mov rax, qword [rbp - 0x48]
mov rbx, qword [rax]
cmp byte [rbx + 0x6f], 1
jne 0x1401ac650
cmp byte [rbx + 0x6d], r14b
je 0x1401ac650
mov ecx, dword [r15 + r13*8 + 8]
mov r12d, r14d
mov dword [rsp + 0x44], r14d
dec ecx
mov r8d, 4
jmp 0x1401aeda9
mov rcx, rbx
call fcn.14018b3a0
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401ac68d
cmp byte [rbx + 0x6f], r14b
jne 0x1401ac672
mov dword [rbp - 0x50], 1
jmp 0x1401ac68d
mov rcx, rbx
mov dword [rbp - 0x50], r14d
call fcn.14018b600
test eax, eax
mov r12d, eax
mov dword [rsp + 0x44], eax
sete al
mov byte [rbx + 0x6d], al
test r12d, r12d
jne 0x1401af0ae
cmp dword [rbp - 0x50], r14d
je 0x1401aece2
mov ecx, dword [r15 + r13*8 + 8]
mov r8d, 4
dec ecx
jmp 0x1401aeda9
mov eax, dword [rbp - 0x4c]
cmp eax, 0x2c
je 0x1401ac6d8
cmp eax, 0x2e
je 0x1401ac6d8
pxor xmm0, xmm0
cvtsi2sd xmm0, r8
comisd xmm0, xmmword [rbx + 0x10]
jbe 0x1401ac6f9
dec r8
mov qword [rbp - 0x18], r8
jmp 0x1401ac6f9
movsd xmm0, qword [rbx + 0x10]
pxor xmm1, xmm1
cvtsi2sd xmm1, r8
comisd xmm0, xmm1
jbe 0x1401ac6f9
inc r8
mov qword [rbp - 0x18], r8
jmp 0x1401ac6f9
mov r8, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x48]
lea rax, [rbp - 0x50]
xor r9d, r9d
mov rcx, qword [rcx]
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.14018b770
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401af0ae
cmp dword [rbp - 0x50], r14d
jne 0x1401ac7c5
mov rax, qword [rbp - 0x48]
mov byte [rax + 0x25], 1
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x18]
mov qword [rcx + 0x50], rax
jmp 0x1401ac7c5
mov eax, dword [r15 + r13*8 + 0x10]
mov dword [rbp - 0x20], eax
mov rax, qword [r10 + 0x10]
mov qword [rbp - 0x40], rax
movzx eax, word [rbp - 0x20]
mov word [rbp - 0x38], ax
movzx eax, word [rbp - 0x4c]
and ax, 1
shl ax, 3
mov word [rbp - 0x36], ax
movsxd rcx, dword [r15 + r13*8 + 0xc]
mov eax, 0x4000
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rbp - 0x28], rcx
test word [rcx + 0x24], ax
je 0x1401ac793
call fcn.140157d60
mov r10, qword [rbp - 0x48]
mov rcx, qword [r10]
lea rax, [rbp - 0x50]
lea rdx, [rbp - 0x40]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.14018b770
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401af0ae
mov rax, qword [rbp - 0x48]
mov byte [rax + 0x25], r14b
mov rax, qword [rbp - 0x48]
mov byte [rax + 0x29], r14b
mov rax, qword [rbp - 0x48]
mov dword [rax + 0x5c], r14d
mov ecx, dword [rbp - 0x4c]
mov eax, dword [rbp - 0x50]
cmp ecx, 0x2e
jl 0x1401ac806
test eax, eax
js 0x1401ac7f4
jne 0x1401ac7eb
cmp ecx, 0x2f
je 0x1401ac7f4
mov dword [rbp - 0x50], r14d
jmp 0x1401aed9f
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp - 0x50]
mov rcx, qword [rcx]
call fcn.140197a90
jmp 0x1401ac837
test eax, eax
jg 0x1401ac827
jne 0x1401ac811
cmp ecx, 0x2c
je 0x1401ac827
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax]
mov eax, r14d
cmp byte [rcx + 0x6f], 1
setne al
mov dword [rbp - 0x50], eax
jmp 0x1401ac84e
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp - 0x50]
mov rcx, qword [rcx]
call fcn.140197c10
mov dword [rsp + 0x44], eax
mov r12d, eax
test eax, eax
jne 0x1401af0ae
mov rax, qword [rbp - 0x48]
mov byte [rax + 0x25], r14b
mov r8d, 4
cmp dword [rbp - 0x50], r14d
je 0x1401aece8
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x50], rdx
cmp qword [rdx], r14
je case.0x1401a98d3.17
mov byte [rdx + 0x28], r14b
movsxd rcx, dword [r15 + r13*8 + 8]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
call fcn.14014b530
mov rcx, qword [rbp - 0x50]
mov qword [rcx + 0x48], rax
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x25], r14b
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x29], 1
jmp 0x1401aed9f
mov rax, qword [rdi + 0x70]
mov edx, r14d
mov dword [rbp - 0x50], edx
movsxd rcx, dword [r15 + r13*8 + 4]
mov r10, qword [rax + rcx*8]
mov qword [rbp - 0x48], r10
movsxd rcx, dword [r15 + r13*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
cmp qword [r10], rdx
je 0x1401ac9b4
cmp dword [r15 + r13*8 + 0x10], edx
jle 0x1401ac916
mov rax, qword [r10 + 0x10]
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x30], rax
movzx eax, word [r15 + r13*8 + 0x10]
mov qword [rbp - 0x18], rcx
mov word [rbp - 0x28], ax
mov eax, 0x10
mov qword [rbp - 0x38], rdx
mov word [rbp - 0x26], ax
jmp 0x1401ac94c
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x20]
mov rcx, qword [r10 + 0x10]
lea r9, [rbp - 0x10]
mov dword [rsp + 0x20], 0xcf
call fcn.140158f30
mov qword [rbp - 0x38], rax
test rax, rax
je 0x1401af140
or word [rax + 0xa], 0x10
mov rdx, qword [rbp - 0x38]
mov r10, qword [rbp - 0x48]
mov rcx, qword [r10]
lea rax, [rbp - 0x40]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.14018b770
mov r12d, eax
mov dword [rsp + 0x44], eax
cmp dword [r15 + r13*8 + 0x10], r14d
jne 0x1401ac986
mov rdx, qword [rbp - 0x38]
test byte [rdx + 0xa], 1
je 0x1401ac986
mov rcx, qword [rdx]
mov rcx, qword [rcx]
call fcn.1401434c0
mov r8d, 4
test r12d, r12d
jne 0x1401aece8
mov eax, r14d
cmp dword [rbp - 0x40], eax
sete al
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x48]
mov byte [rax + 0x29], r14b
mov rax, qword [rbp - 0x48]
mov dword [rax + 0x5c], r14d
mov edx, dword [rbp - 0x50]
cmp byte [r15 + r13*8], 0x32
jne 0x1401ac9cf
test edx, edx
je case.0x1401a98d3.17
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
test edx, edx
jne case.0x1401a98d3.17
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
movsxd rax, dword [r15 + r13*8 + 0x10]
movsxd rbx, dword [r15 + r13*8 + 0xc]
mov r11, qword [rsp + 0x50]
imul rax, rax, 0x38
imul rbx, rbx, 0x38
add rax, r11
add rbx, r11
mov qword [rbp - 0x30], rax
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov rdx, qword [rax + rcx*8]
movzx ecx, r14w
mov qword [rbp - 0x48], rdx
mov dword [rdx + 0x58], r14d
mov rax, qword [rbp - 0x48]
mov dword [rax + 0x5c], r14d
mov r10, qword [rbp - 0x48]
mov r8, qword [rbp - 0x30]
mov r9, qword [r10]
mov qword [rbp - 0x40], r9
mov rax, qword [r10 + 0x10]
movzx edx, word [rax + 0xa]
mov word [rbp - 0x50], cx
mov word [rbp - 0x38], dx
cmp r14w, dx
jae 0x1401aca6f
nop word [rax + rax]
movzx eax, cx
imul rax, rax, 0x38
test byte [rax + r8 + 0x24], 1
jne 0x1401acaec
inc cx
mov word [rbp - 0x50], cx
cmp cx, dx
jb 0x1401aca50
test r9, r9
je 0x1401aece2
mov rax, qword [r10 + 0x10]
inc dx
mov rcx, rbx
mov qword [rbp - 0x28], rax
mov eax, 0x20
mov word [rbp - 0x20], dx
mov word [rbp - 0x1e], ax
mov qword [rbp - 0x10], r8
call fcn.14014b690
mov rax, qword [rbx + 0x18]
mov rcx, qword [rbp - 0x40]
lea rdx, [rbp - 0x28]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 0x48]
xor r9d, r9d
add rax, 0x58
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.14018b770
test byte [rbp - 0x1e], 0x20
mov r12d, eax
mov dword [rsp + 0x44], eax
jne 0x1401ac579
mov rax, qword [rbp - 0x18]
cmp rax, qword [rbp - 8]
je 0x1401ac579
mov qword [rbx + 0x18], rax
jmp 0x1401aed9f
mov ecx, dword [r15 + r13*8 + 8]
mov r8d, 4
mov qword [rbp - 0x40], r14
dec ecx
jmp 0x1401aeda9
movsxd rcx, dword [r15 + r13*8 + 4]
movsxd rbx, dword [r15 + r13*8 + 0xc]
mov rax, qword [rdi + 0x70]
imul rbx, rbx, 0x38
mov rdx, qword [rax + rcx*8]
add rbx, qword [rsp + 0x50]
mov qword [rbp - 0x50], rdx
mov rcx, qword [rdx]
mov qword [rbp - 0x48], rcx
test rcx, rcx
je 0x1401acba3
mov dword [rbp - 0x40], r14d
mov r8, qword [rbx + 0x18]
lea rax, [rbp - 0x40]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x38], r8
call fcn.14018b770
mov rcx, qword [rbx + 0x18]
mov r12d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rbp - 0x50]
mov qword [rax + 0x50], rcx
cmp dword [rbp - 0x40], r14d
mov rax, qword [rbp - 0x50]
sete cl
mov byte [rax + 0x25], cl
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x28], r14b
mov rax, qword [rbp - 0x50]
mov dword [rax + 0x5c], r14d
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x29], r14b
mov ecx, dword [rbp - 0x40]
test ecx, ecx
je 0x1401acb97
mov eax, dword [r15 + r13*8 + 8]
dec eax
mov dword [rsp + 0x40], eax
mov rax, qword [rbp - 0x50]
mov dword [rax + 0x58], ecx
jmp 0x1401aed9f
mov ecx, dword [r15 + r13*8 + 8]
mov dword [rdx + 0x58], r14d
dec ecx
jmp 0x1401aeda9
mov rax, qword [rdi + 0x70]
movsxd rcx, dword [r15 + r13*8 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x40]
mov qword [r10 + 0x18], rax
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x40]
jmp case.0x1401a98d3.17
mov rax, qword [rdi + 0x70]
mov dword [rbp - 0x40], r14d
mov rdx, r14
mov qword [rbp - 0x50], rdx
movsxd rcx, dword [r15 + r13*8 + 4]
mov r10, qword [rax + rcx*8]
mov qword [rbp - 0x48], r10
mov rax, qword [r10]
test rax, rax
je 0x1401acefe
cmp byte [r10 + 0x27], dl
jne 0x1401acdbc
mov rax, qword [rax + 0x30]
mov qword [rbp - 0x50], rax
test rax, rax
jne 0x1401acc88
mov rbx, qword [r10]
cmp byte [rbx + 0x6f], 1
jne 0x1401acc2f
cmp byte [rbx + 0x6d], dl
jne 0x1401accdf
mov rcx, rbx
call fcn.14018b3a0
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401acc6c
cmp byte [rbx + 0x6f], r14b
jne 0x1401acc51
mov dword [rbp - 0x40], 1
jmp 0x1401acc6c
mov rcx, rbx
mov dword [rbp - 0x40], r14d
call fcn.14018b600
test eax, eax
mov r12d, eax
mov dword [rsp + 0x44], eax
sete al
mov byte [rbx + 0x6d], al
test r12d, r12d
jne 0x1401af0ae
mov r10, qword [rbp - 0x48]
cmp dword [rbp - 0x40], r14d
je 0x1401accdf
mov eax, 1
mov qword [rbp - 0x50], rax
movabs rbx, 0x7fffffffffffffff
movsxd rcx, dword [r15 + r13*8 + 0xc]
test ecx, ecx
je 0x1401acd86
mov rax, qword [rdi + 0xe8]
test rax, rax
je 0x1401acd36
mov qword [rbp - 0x30], rax
mov rcx, qword [rax + 0x60]
test rcx, rcx
je 0x1401accd0
nop dword [rax]
mov rax, rcx
mov qword [rbp - 0x30], rcx
mov rcx, qword [rcx + 0x60]
test rcx, rcx
jne 0x1401accc0
movsxd rcx, dword [r15 + r13*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, qword [rax + 0x20]
jmp 0x1401acd3f
mov rbx, qword [r10]
cmp byte [rbx + 0x6f], 1
je 0x1401acced
mov rax, r14
jmp 0x1401accfd
mov rcx, rbx
call fcn.14014adf0
mov rax, qword [rbx + 0x38]
mov r10, qword [rbp - 0x48]
movabs rbx, 0x7fffffffffffffff
mov qword [rbp - 0x50], rax
mov r12d, r14d
mov dword [rsp + 0x44], r14d
cmp rax, rbx
jne 0x1401acd2a
mov byte [r10 + 0x27], 1
mov r10, qword [rbp - 0x48]
mov rax, qword [rbp - 0x50]
jmp 0x1401acc92
inc rax
mov qword [rbp - 0x50], rax
jmp 0x1401acc92
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rbp - 0x38], rcx
call fcn.14014b690
mov r11, qword [rbp - 0x38]
mov rcx, qword [r11 + 0x18]
cmp rcx, rbx
je 0x1401af091
mov rax, qword [rbp - 0x48]
cmp byte [rax + 0x27], r14b
jne 0x1401af091
lea rax, [rcx + 1]
mov rcx, qword [rbp - 0x50]
cmp rcx, rax
cmovl rcx, rax
mov qword [rbp - 0x50], rcx
mov qword [r11 + 0x18], rcx
mov r10, qword [rbp - 0x48]
mov rax, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rax, rbx
jl 0x1401acd92
mov rdx, r14
mov r8, qword [r10]
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1401acdbc
mov eax, dword [r8 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x1401acdaf
mov qword [rcx + 0x30], rdx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1401acda2
mov r10, qword [rbp - 0x48]
cmp byte [r10 + 0x27], r14b
je 0x1401acee0
mov r8, qword [rsp + 0x78]
mov dword [rbp - 0x3c], r14d
lea rax, [rbp - 0x40]
movabs r13, 0x3fffffffffffffff
xor r9d, r9d
xor edx, edx
and r8, r13
mov qword [rsp + 0x20], rax
inc r8
mov qword [rbp - 0x50], r8
mov rcx, qword [r10]
call fcn.14018b770
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401acedc
nop dword [rax + rax]
mov ecx, dword [rbp - 0x40]
test ecx, ecx
jne 0x1401acec5
mov eax, dword [rbp - 0x3c]
inc eax
mov dword [rbp - 0x3c], eax
cmp eax, 0x64
jge 0x1401acec5
cmp dword [0x1402bc304], r14d
lea ebx, [rcx + 8]
lea rdi, [rbp - 0x50]
jne 0x1401ace41
mov rsi, r14
jmp 0x1401ace60
mov ecx, 5
call qword [0x1402bc370]
mov rsi, rax
test rax, rax
je 0x1401ace60
mov rcx, rax
call qword [0x1402bc380]
nop dword [rax]
call fcn.140143630
inc rdi
dec ebx
mov byte [rdi - 1], al
jne 0x1401ace60
test rsi, rsi
je 0x1401ace7d
mov rcx, rsi
call qword [0x1402bc390]
cmp dword [rbp - 0x3c], 5
mov r8, qword [rbp - 0x50]
jge 0x1401ace90
and r8d, 0xffffff
jmp 0x1401ace93
and r8, r13
mov rcx, qword [rbp - 0x48]
inc r8
lea rax, [rbp - 0x40]
mov qword [rbp - 0x50], r8
mov rcx, qword [rcx]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.14018b770
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
je 0x1401ace10
jmp 0x1401aced2
test r12d, r12d
jne 0x1401aced2
test ecx, ecx
je 0x1401af099
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov r10, qword [rbp - 0x48]
mov byte [r10 + 0x25], r14b
mov rax, qword [rbp - 0x48]
mov r8d, 4
mov byte [rax + 0x29], r14b
mov rax, qword [rbp - 0x48]
mov dword [rax + 0x5c], r14d
mov rdx, qword [rbp - 0x50]
mov r9, qword [rsp + 0x60]
mov qword [r9 + 0x18], rdx
jmp case.0x1401a98d3.17
movsxd r9, dword [r15 + r13*8 + 8]
mov rdx, qword [rsp + 0x50]
mov rax, qword [rdi + 0x70]
imul r9, r9, 0x38
add r9, rdx
mov qword [rbp - 0x50], r9
movsxd rcx, dword [r15 + r13*8 + 4]
mov r11, qword [rax + rcx*8]
mov qword [rbp - 0x38], r11
cmp byte [r15 + r13*8], 0x37
jne 0x1401acf4f
movsxd rax, dword [r15 + r13*8 + 0xc]
imul rax, rax, 0x38
add rax, rdx
mov qword [rbp - 0x48], rax
mov r10, qword [rax + 0x18]
jmp 0x1401acf54
movsxd r10, dword [r15 + r13*8 + 0xc]
mov qword [rbp - 0x40], r10
test byte [r15 + r13*8 + 3], 1
je 0x1401acf66
inc dword [rdi + 0xa4]
test byte [r15 + r13*8 + 3], 2
je 0x1401acf83
mov qword [rsi + 0x40], r10
mov r11, qword [rbp - 0x38]
mov r9, qword [rbp - 0x50]
mov qword [rsp + 0x78], r10
mov r10, qword [rbp - 0x40]
test byte [r9 + 0x24], 1
je 0x1401acfa2
mov qword [r9 + 8], r14
mov rax, qword [rbp - 0x50]
mov dword [rax + 0x20], r14d
mov r11, qword [rbp - 0x38]
mov r10, qword [rbp - 0x40]
mov r9, qword [rbp - 0x50]
test byte [r15 + r13*8 + 3], 0x10
je 0x1401acfb4
mov r8d, dword [r11 + 0x58]
mov dword [rbp - 0x2c], r8d
jmp 0x1401acfbb
mov r8d, r14d
mov dword [rbp - 0x2c], r14d
mov eax, 0x4000
test word [r9 + 0x24], ax
je 0x1401acfcd
mov edx, dword [r9 + 0x18]
jmp 0x1401acfd0
mov edx, r14d
mov dword [rbp - 0x30], edx
mov rbx, qword [r11]
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1401ad00b
mov eax, dword [rbx + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x1401acfef
mov qword [rcx + 0x30], r14
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1401acfe3
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
mov r11, qword [rbp - 0x38]
mov r10, qword [rbp - 0x40]
mov r9, qword [rbp - 0x50]
movzx eax, byte [r15 + r13*8 + 3]
mov rcx, qword [r11]
mov dword [rsp + 0x38], r8d
and eax, 8
mov r8, r10
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0x20]
mov r9, qword [r9 + 8]
mov dword [rsp + 0x28], edx
xor edx, edx
mov dword [rsp + 0x20], eax
call fcn.140197da0
mov r12d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rbp - 0x38]
mov byte [rax + 0x25], r14b
mov rax, qword [rbp - 0x38]
mov byte [rax + 0x29], r14b
mov rax, qword [rbp - 0x38]
mov dword [rax + 0x5c], r14d
test r12d, r12d
jne 0x1401aece2
cmp qword [rsi + 0x108], r14
je 0x1401aece2
cmp qword [r15 + r13*8 + 0x10], r14
je 0x1401aece2
mov rax, qword [rbp - 0x38]
mov edx, 0x12
movsxd rcx, dword [rax + 0x18]
mov rax, qword [rsi + 0x10]
shl rcx, 5
mov r8, qword [rcx + rax]
mov eax, reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov qword [rbp - 0x28], r8
mov r9, qword [r15 + r13*8 + 0x10]
mov qword [rbp - 0x20], r9
test byte [r15 + r13*8 + 3], 4
cmovne edx, eax
mov rax, qword [rbp - 0x40]
mov dword [rbp - 0x18], edx
mov rcx, qword [rsi + 0x100]
mov qword [rsp + 0x20], rax
call qword [rsi + 0x108]
jmp 0x1401aed9f
mov rax, qword [rdi + 0x70]
mov qword [rbp - 0x50], r14
movsxd rcx, dword [r15 + r13*8 + 4]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x48], rcx
cmp qword [rsi + 0x108], r14
je 0x1401ad0f9
cmp qword [r15 + r13*8 + 0x10], r14
je 0x1401ad0f9
mov rax, qword [rcx + 0x50]
mov qword [rbp - 0x50], rax
call fcn.14019aa00
mov r12d, eax
test eax, eax
jne 0x1401af0ae
mov rdx, qword [rbp - 0x48]
mov r8, qword [rdx]
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1401ad13a
nop dword [rax]
mov eax, dword [r8 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x1401ad12d
mov qword [rcx + 0x30], r14
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1401ad120
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rdx]
call fcn.140198060
mov r12d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rbp - 0x48]
mov dword [rax + 0x5c], r14d
test r12d, r12d
jne 0x1401ad198
mov r10, qword [rsi + 0x108]
test r10, r10
je 0x1401ad198
mov r9, qword [r15 + r13*8 + 0x10]
test r9, r9
je 0x1401ad198
mov rax, qword [rbp - 0x48]
mov r8, qword [rsi + 0x10]
lea edx, [r12 + 9]
movsxd rcx, dword [rax + 0x18]
mov rax, qword [rbp - 0x50]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, qword [rsi + 0x100]
call r10
test byte [r15 + r13*8 + 8], 1
mov r8d, 4
je 0x1401aece8
inc dword [rdi + 0xa4]
jmp case.0x1401a98d3.17
mov eax, dword [rdi + 0xa4]
add dword [rsi + 0x50], eax
mov dword [rsi + 0x4c], eax
mov dword [rdi + 0xa4], r14d
jmp case.0x1401a98d3.17
movsxd rcx, dword [r15 + r13*8 + 4]
movsxd r9, dword [r15 + r13*8 + 8]
mov rax, qword [rdi + 0x70]
imul r9, r9, 0x38
mov rcx, qword [rax + rcx*8]
add r9, qword [rsp + 0x50]
mov qword [rbp - 0x50], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x60], r9
mov qword [rbp - 0x48], rax
call fcn.14019aa00
mov r12d, eax
test eax, eax
jne 0x1401af0ae
mov rax, qword [rbp - 0x50]
mov rbx, qword [rbp - 0x48]
cmp byte [rax + 0x2b], r14b
je 0x1401ad245
cmp byte [rbx + 0x6f], 1
je 0x1401ad221
mov rcx, r14
jmp 0x1401ad22d
mov rcx, rbx
call fcn.14014adf0
mov rcx, qword [rbx + 0x38]
mov qword [rbp - 0x38], rcx
movsxd rax, dword [rsi + 0x60]
cmp rcx, rax
jg 0x1401af0f5
mov edx, ecx
mov dword [rbp - 0x40], ecx
jmp 0x1401ad2a5
cmp word [rbx + 0x56], r14w
jne 0x1401ad296
movsx rax, word [rbx + 0x7a]
lea r8, [rbx + 0x38]
mov rcx, qword [rbx + rax*8 + 0xa8]
movzx r9d, word [rbx + rax*2 + 0x7c]
movzx eax, word [rcx + 0xc]
mov r11, qword [rcx + 0x70]
lea rdx, [r11 + rax]
movzx eax, byte [rdx + r9*2]
movzx edx, byte [rdx + r9*2 + 1]
shl eax, 8
movsxd r10, eax
movzx eax, word [rcx + 0x12]
or rdx, r10
and rdx, rax
add rdx, r11
call fcn.140149ee0
mov byte [rbx + 0x6e], 1
mov edx, dword [rbx + 0x48]
mov dword [rbp - 0x40], edx
cmp edx, dword [rsi + 0x60]
ja 0x1401af0f5
mov r13, qword [rsp + 0x60]
xor r8d, r8d
mov rcx, r13
call fcn.140157c10
test eax, eax
jne 0x1401af140
mov eax, dword [rbp - 0x40]
mov r9, qword [r13 + 8]
xor edx, edx
mov dword [r13 + 0x20], eax
mov eax, 0xbf10
and word [r13 + 0x24], ax
or word [r13 + 0x24], 0x10
mov rax, qword [rbp - 0x50]
mov r8d, dword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
cmp byte [rax + 0x2b], r14b
je 0x1401ad307
mov dword [rsp + 0x20], r14d
call fcn.14018ae10
mov byte [r13 + 0x27], 1
mov dword [rsp + 0x44], eax
mov r12d, eax
jmp 0x1401aed9f
call fcn.140197a20
mov byte [r13 + 0x27], 1
mov dword [rsp + 0x44], eax
mov r12d, eax
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov r8, qword [rax + rcx*8]
mov qword [rbp - 0x50], r8
cmp byte [r8 + 0x28], r14b
je 0x1401ad343
mov eax, 1
mov word [r10 + 0x24], ax
jmp 0x1401aed9f
cmp byte [r8 + 0x29], r14b
je 0x1401ad35f
mov rax, qword [r8 + 0x48]
mov r9, qword [rsp + 0x60]
mov qword [rbp - 0x48], rax
mov qword [r9 + 0x18], rax
jmp 0x1401aed9f
cmp qword [r8 + 0x30], r14
je 0x1401ad3a7
mov rax, qword [r8 + 0x30]
lea rdx, [rbp - 0x48]
mov rcx, qword [rax]
mov qword [rbp - 0x40], rcx
mov rax, qword [rcx]
mov qword [rbp - 0x38], rax
mov rcx, qword [r8 + 0x30]
call qword [rax + 0x60]
mov rdx, qword [rbp - 0x40]
mov rcx, rdi
mov r12d, eax
mov dword [rsp + 0x44], eax
call fcn.140159860
mov r9, qword [rsp + 0x60]
mov rax, qword [rbp - 0x48]
mov qword [r9 + 0x18], rax
jmp 0x1401aed9f
mov rcx, r8
call fcn.14019aa00
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401af0ae
mov rax, qword [rbp - 0x50]
cmp byte [rax + 0x25], r14b
je 0x1401ad3de
mov rax, qword [rax + 0x50]
mov r9, qword [rsp + 0x60]
mov qword [rbp - 0x48], rax
mov qword [r9 + 0x18], rax
jmp 0x1401aed9f
mov rbx, qword [rax]
cmp byte [rbx + 0x6f], 1
je 0x1401ad3ec
mov rax, r14
jmp 0x1401ad3f8
mov rcx, rbx
call fcn.14014adf0
mov rax, qword [rbx + 0x38]
mov r9, qword [rsp + 0x60]
mov qword [rbp - 0x48], rax
mov r12d, r14d
mov qword [r9 + 0x18], rax
mov dword [rsp + 0x44], r14d
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x50], rdx
mov byte [rdx + 0x28], 1
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x25], r14b
mov rax, qword [rbp - 0x50]
mov rbx, qword [rax]
test rbx, rbx
je 0x1401aece8
mov rcx, qword [rbx + 0x60]
call fcn.140143410
mov qword [rbx + 0x60], r14
mov byte [rbx + 0x6f], r14b
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x50], rdx
mov rbx, qword [rdx]
mov qword [rbp - 0x48], rbx
test rbx, rbx
jne 0x1401ad47b
mov dword [rbp - 0x40], 1
jmp 0x1401ad4d8
cmp byte [rbx + 0x6f], 1
jne 0x1401ad491
cmp byte [rbx + 0x6d], r14b
je 0x1401ad491
mov r12d, r14d
mov dword [rsp + 0x44], r14d
jmp 0x1401ad4d8
mov rcx, rbx
call fcn.14018b3a0
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401ad4ce
cmp byte [rbx + 0x6f], r14b
jne 0x1401ad4b3
mov dword [rbp - 0x40], 1
jmp 0x1401ad4ce
mov rcx, rbx
mov dword [rbp - 0x40], r14d
call fcn.14018b600
test eax, eax
mov r12d, eax
mov dword [rsp + 0x44], eax
sete al
mov byte [rbx + 0x6d], al
mov rdx, qword [rbp - 0x50]
mov r8d, 4
movzx eax, byte [rbp - 0x40]
mov byte [rdx + 0x28], al
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x29], r14b
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x25], r14b
mov rax, qword [rbp - 0x50]
mov dword [rax + 0x5c], r14d
mov eax, dword [r15 + r13*8 + 8]
test eax, eax
jle 0x1401aece8
cmp dword [rbp - 0x40], r14d
je 0x1401aece8
lea ecx, [rax - 1]
jmp 0x1401aeda9
inc dword [rdi + 0xb8]
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov rdx, qword [rax + rcx*8]
mov dword [rbp - 0x40], 1
mov qword [rbp - 0x50], rdx
mov rbx, qword [rdx]
mov qword [rbp - 0x48], rbx
test rbx, rbx
je 0x1401ad5a5
mov rcx, rbx
call fcn.14018b3a0
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401ad575
cmp byte [rbx + 0x6f], r14b
jne 0x1401ad562
mov dword [rbp - 0x40], 1
jmp 0x1401ad575
mov rcx, rbx
mov dword [rbp - 0x40], r14d
call fcn.14018b560
mov r12d, eax
mov dword [rsp + 0x44], eax
cmp dword [rbp - 0x40], r14d
mov rax, qword [rbp - 0x50]
mov r8d, 4
sete cl
mov byte [rax + 0x26], cl
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x29], r14b
mov rax, qword [rbp - 0x50]
mov dword [rax + 0x5c], r14d
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x25], r14b
mov rdx, qword [rbp - 0x50]
movzx eax, byte [rbp - 0x40]
mov byte [rdx + 0x28], al
cmp dword [rbp - 0x40], r14d
je 0x1401aece8
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
mov eax, dword [rsi + 0x150]
test eax, eax
jne 0x1401af110
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x50], rdx
test rdx, rdx
je 0x1401aece8
mov rcx, qword [rdx]
mov qword [rbp - 0x48], rcx
test rcx, rcx
jne 0x1401ad5ff
mov byte [rdx + 0x28], 1
jmp case.0x1401a98d3.17
mov dword [rbp - 0x40], 1
cmp byte [r15 + r13*8], 0x43
lea rdx, [rbp - 0x40]
jne 0x1401ad618
call fcn.140197a90
jmp 0x1401ad61d
call fcn.140197c10
mov rcx, qword [rbp - 0x50]
mov dword [rsp + 0x44], eax
mov r12d, eax
movzx eax, byte [rbp - 0x40]
mov byte [rcx + 0x28], al
mov rax, qword [rbp - 0x50]
mov dword [rax + 0x5c], r14d
cmp dword [rbp - 0x40], r14d
jne 0x1401ad65c
mov eax, dword [r15 + r13*8 + 8]
dec eax
mov dword [rsp + 0x40], eax
movzx eax, byte [r15 + r13*8 + 3]
test al, al
je 0x1401ad65c
movzx eax, al
inc dword [rdi + rax*4 + 0xb0]
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x25], r14b
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x50], rdx
movsxd rbx, dword [r15 + r13*8 + 8]
mov rcx, qword [rdx]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov qword [rbp - 0x48], rcx
test rcx, rcx
je case.0x1401a98d3.17
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x1401ad6c2
mov rcx, rbx
call fcn.140157d60
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401aece2
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x50]
movsxd r8, dword [rbx + 0x20]
mov dword [rbp - 0x40], r8d
mov r10, qword [rbx + 8]
mov qword [rbp - 0x38], r10
test byte [r15 + r13*8 + 3], 0x10
je 0x1401ad6df
mov eax, dword [rdx + 0x58]
jmp 0x1401ad6e2
mov eax, r14d
mov dword [rsp + 0x38], eax
mov eax, dword [r15 + r13*8 + 0xc]
lea r9, [0x14024d112]
mov dword [rsp + 0x30], eax
mov rdx, r10
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
call fcn.140197da0
mov r12d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rbp - 0x50]
mov dword [rax + 0x5c], r14d
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov rax, qword [rax + rcx*8]
mov qword [rbp - 0x50], rax
mov rcx, qword [rax]
mov qword [rbp - 0x48], rcx
test rcx, rcx
je case.0x1401a98d3.17
mov rax, qword [rax + 0x10]
lea rdx, [rbp - 0x38]
xor r9d, r9d
mov qword [rbp - 0x38], rax
movzx eax, word [r15 + r13*8 + 0xc]
mov word [rbp - 0x2e], r14w
mov word [rbp - 0x30], ax
movsxd rax, dword [r15 + r13*8 + 8]
xor r8d, r8d
imul rax, rax, 0x38
add rax, qword [rsp + 0x50]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
call fcn.14018b770
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401ad79f
cmp dword [rbp - 0x40], r14d
jne 0x1401ad79f
mov rcx, qword [rbp - 0x48]
call fcn.140198060
mov r12d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rbp - 0x50]
mov dword [rax + 0x5c], r14d
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov r13, qword [rsp + 0x60]
mov rax, qword [rax + rcx*8]
mov qword [rbp - 0x48], rax
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
mov eax, 1
mov word [r13 + 0x24], ax
cmp qword [rbp - 0x50], r14
je 0x1401aece8
mov rcx, qword [rbp - 0x48]
call fcn.14019aa00
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401af0ae
mov rax, qword [rbp - 0x48]
cmp byte [rax + 0x28], r14b
jne 0x1401aece2
mov rcx, qword [rbp - 0x50]
lea rdx, [rbp - 0x40]
call fcn.14019aac0
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401af0ae
mov rax, qword [rbp - 0x40]
mov r8d, 4
mov qword [r13 + 0x18], rax
mov word [r13 + 0x24], r8w
jmp case.0x1401a98d3.17
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x50], rcx
cmp qword [rcx], r14
je case.0x1401a98d3.17
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x40], rax
movzx eax, word [r15 + r13*8 + 0x10]
mov word [rbp - 0x38], ax
cmp byte [r15 + r13*8 + 3], r14b
je 0x1401ad875
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov word [rbp - 0x36], ax
jmp 0x1401ad87a
mov word [rbp - 0x36], r8w
movsxd rax, dword [r15 + r13*8 + 0xc]
lea r8, [rbp - 0x48]
lea rdx, [rbp - 0x40]
imul rax, rax, 0x38
add rax, qword [rsp + 0x50]
mov qword [rbp - 0x28], rax
call fcn.14019ae30
cmp byte [r15 + r13*8], 0x51
mov r12d, eax
mov dword [rsp + 0x44], eax
mov eax, dword [rbp - 0x48]
jne 0x1401ad8ae
neg eax
jmp 0x1401ad8b0
inc eax
mov dword [rbp - 0x48], eax
mov r8d, 4
test eax, eax
jle 0x1401aece8
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
mov ecx, r14d
mov dword [rbp - 0x4c], ecx
mov rax, qword [rsi + 0xa8]
mov qword [rbp - 0x48], rax
test rax, rax
je 0x1401ad910
cmp dword [rax + 0x54], 0xbdf20da3
jne 0x1401ad903
cmp byte [rax + 0x9e], 2
jae 0x1401ad903
cmp dword [rax + 0x90], r14d
jl 0x1401ad903
inc ecx
mov dword [rbp - 0x4c], ecx
mov rax, qword [rax + 0x68]
mov qword [rbp - 0x48], rax
test rax, rax
jne 0x1401ad8e3
mov eax, 1
mov word [r10 + 0x24], ax
cmp dword [rbp - 0x4c], eax
jle 0x1401ad936
mov r12d, 6
mov byte [rdi + 0x98], 2
mov dword [rsp + 0x44], r12d
jmp case.0x1401a98d3.17
movsxd rax, dword [r15 + r13*8 + 0xc]
mov dword [rbp - 0x40], eax
mov ebx, dword [r15 + r13*8 + 4]
mov rcx, rax
mov rax, qword [rsi + 0x10]
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
mov rcx, rdi
call fcn.1401497d0
lea r8, [rbp - 0x50]
mov edx, ebx
mov rcx, rdi
call fcn.140198a90
mov r12d, eax
mov dword [rsp + 0x44], eax
cmp byte [rdi + 0x11], r14b
je 0x1401ad992
dec dword [rdi + 0x14]
jne 0x1401ad992
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x1401ad98e
call qword [0x1402bc390]
mov byte [rdi + 0x12], r14b
mov r9, qword [rsp + 0x60]
mov r8d, 4
mov word [r9 + 0x24], r8w
movsxd rax, dword [rbp - 0x50]
mov qword [r9 + 0x18], rax
test r12d, r12d
jne 0x1401aece8
mov r8d, dword [rbp - 0x50]
test r8d, r8d
je 0x1401aece2
movsxd r10, dword [rbp - 0x40]
mov r9d, dword [r15 + r13*8 + 4]
shl r10, 5
add r10, qword [rsi + 0x10]
mov rax, qword [r10 + 0x18]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1401ad9f9
nop
mov rcx, qword [rdx + 0x10]
mov eax, dword [rcx + 0x20]
cmp eax, r8d
cmove eax, r9d
mov dword [rcx + 0x20], eax
mov rdx, qword [rdx]
test rdx, rdx
jne 0x1401ad9e0
mov rax, qword [r10 + 0x18]
mov rdx, qword [rax + 0x28]
test rdx, rdx
je 0x1401ada29
nop word [rax + rax]
mov rcx, qword [rdx + 0x10]
mov eax, dword [rcx + 0x28]
cmp eax, r8d
cmove eax, r9d
mov dword [rcx + 0x28], eax
mov rdx, qword [rdx]
test rdx, rdx
jne 0x1401ada10
movzx eax, byte [rbp - 0x40]
mov rdi, qword [rsp + 0x58]
inc al
mov byte [rsp + 0x68], al
jmp 0x1401aed9f
mov dword [rbp - 0x50], r14d
cmp dword [r15 + r13*8 + 0xc], r14d
movsxd rax, dword [r15 + r13*8 + 8]
mov rcx, qword [rsi + 0x10]
mov edx, dword [r15 + r13*8 + 4]
lea r8, [rbp - 0x50]
cmove r8, r14
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1401989b0
mov r12d, eax
mov dword [rsp + 0x44], eax
cmp dword [r15 + r13*8 + 0xc], r14d
je 0x1401aece2
movsxd rax, dword [rbp - 0x50]
mov r8d, 4
add dword [rdi + 0xa4], eax
movsxd rcx, dword [r15 + r13*8 + 0xc]
test ecx, ecx
jle 0x1401aece8
mov rbx, qword [rsp + 0x50]
imul rcx, rcx, 0x38
add qword [rcx + rbx + 0x18], rax
jmp case.0x1401a98d3.17
mov dword [rbp - 0x50], r14d
movsxd rax, dword [r15 + r13*8 + 4]
mov ebx, r14d
shl rax, 5
add rax, qword [rsi + 0x10]
mov qword [rbp - 0x48], rax
cmp byte [r15 + r13*8], 0x62
setne bl
inc ebx
mov dword [rbp - 0x4c], ebx
mov rdi, qword [rax + 8]
mov rcx, rdi
call fcn.1401497d0
lea rdx, [rbp - 0x50]
mov r8d, ebx
mov rcx, rdi
call fcn.140198340
mov r12d, eax
mov dword [rsp + 0x44], eax
cmp byte [rdi + 0x11], r14b
je 0x1401adb15
dec dword [rdi + 0x14]
jne 0x1401adb15
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x1401adb11
call qword [0x1402bc390]
mov byte [rdi + 0x12], r14b
mov r9, qword [rsp + 0x60]
movsxd rax, dword [rbp - 0x50]
mov rdi, qword [rsp + 0x58]
mov qword [r9 + 0x18], rax
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
mov qword [rbp - 0x38], rsi
lea rax, str.sqlite_master
mov dword [rbp - 0x50], ecx
cmp ecx, 1
lea r9, str.sqlite_temp_master
cmovne r9, rax
shl rcx, 5
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov qword [rbp - 0x48], r9
mov eax, dword [r15 + r13*8 + 4]
mov dword [rbp - 0x30], eax
lea rax, [rdi + 0x58]
mov qword [rbp - 0x28], rax
mov r8, qword [rsi + 0x10]
mov rax, qword [r15 + r13*8 + 0x10]
mov r8, qword [rcx + r8]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1401603a0
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1401af140
mov byte [rsi + 0x94], 1
mov rdx, qword [rbp - 0x40]
lea r9, [rbp - 0x38]
lea r8, [fcn.1401a8920]
mov rcx, rsi
mov dword [rbp - 0x20], r14d
mov qword [rsp + 0x20], r14
call fcn.1401aff70
mov rdx, qword [rbp - 0x40]
mov r12d, eax
test eax, eax
mov rcx, rsi
cmove r12d, dword [rbp - 0x20]
mov dword [rsp + 0x44], r12d
call fcn.1401434c0
mov byte [rsi + 0x94], r14b
cmp r12d, 7
je 0x1401af140
jmp 0x1401aed9f
mov edx, dword [r15 + r13*8 + 4]
mov rcx, rsi
call fcn.140164b30
mov r12d, eax
mov dword [rsp + 0x44], eax
jmp 0x1401aed9f
mov r8, qword [r15 + r13*8 + 0x10]
mov edx, dword [r15 + r13*8 + 4]
mov rcx, rsi
call fcn.1401652f0
jmp 0x1401aed9f
mov r8, qword [r15 + r13*8 + 0x10]
mov edx, dword [r15 + r13*8 + 4]
mov rcx, rsi
call fcn.14015b0a0
jmp 0x1401aed9f
mov r8, qword [r15 + r13*8 + 0x10]
mov edx, dword [r15 + r13*8 + 4]
mov rcx, rsi
call fcn.14015c6e0
jmp 0x1401aed9f
mov edx, dword [r15 + r13*8 + 8]
mov rcx, rsi
mov dword [rbp - 0x50], edx
lea edx, [rdx*4 + 4]
call fcn.140154320
mov r11, rax
mov qword [rbp - 0x48], rax
test rax, rax
je 0x1401af140
movsxd rcx, dword [r15 + r13*8 + 0xc]
mov rax, qword [rsp + 0x50]
imul rcx, rcx, 0x38
add rcx, rax
mov qword [rbp - 0x30], rcx
movsxd rbx, dword [r15 + r13*8 + 4]
imul rbx, rbx, 0x38
add rbx, rax
mov eax, r14d
mov dword [rbp - 0x40], eax
cmp dword [rbp - 0x50], eax
jle 0x1401adccb
nop dword [rax]
movsxd rcx, eax
imul rcx, rcx, 0x38
add rcx, rbx
call fcn.14014b530
movsxd rdx, dword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
mov dword [rcx + rdx*4], eax
mov eax, dword [rbp - 0x40]
inc eax
mov dword [rbp - 0x40], eax
cmp eax, dword [rbp - 0x50]
jl 0x1401adca0
mov r11, qword [rbp - 0x48]
cdqe
mov dword [r11 + rax*4], r14d
movzx r10d, byte [r15 + r13*8 + 3]
mov rcx, qword [rsi + 0x10]
mov r8d, dword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
lea rax, [rbp - 0x3c]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x30]
shl r10, 5
mov r9d, dword [rax + 0x18]
mov rcx, qword [r10 + rcx + 8]
call fcn.140190590
mov rdx, qword [rbp - 0x48]
mov rcx, rsi
mov qword [rbp - 0x38], rax
call fcn.1401434c0
mov r11, qword [rbp - 0x30]
movsxd rax, dword [rbp - 0x3c]
mov rcx, rbx
sub qword [r11 + 0x18], rax
call fcn.14014b7b0
cmp dword [rbp - 0x3c], r14d
je 0x1401add54
mov rdx, qword [rbp - 0x38]
test rdx, rdx
je 0x1401af140
lea rax, [fcn.140143410]
mov r9b, 1
or r8d, 0xffffffff
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.14016ea40
test byte [rbx + 0x24], 2
movzx ecx, byte [rsp + 0x48]
je 0x1401aece2
movzx eax, byte [rbx + 0x27]
cmp eax, ecx
je 0x1401aece2
movzx edx, cl
mov rcx, rbx
call fcn.14016b8c0
jmp 0x1401aed9f
mov rax, qword [rsp + 0x50]
movsxd rbx, dword [r15 + r13*8 + 4]
movsxd rdi, dword [r15 + r13*8 + 8]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, rax
add rdi, rax
test byte [rbx + 0x24], 0x20
jne 0x1401addb4
mov rcx, rbx
call fcn.140158060
test byte [rbx + 0x24], 0x20
je 0x1401af13b
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.140155710
mov rdi, qword [rsp + 0x58]
jmp 0x1401aed9f
mov eax, dword [rsi + 0x150]
test eax, eax
jne 0x1401af110
movsxd rbx, dword [r15 + r13*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
test byte [rbx + 0x24], 0x20
je 0x1401ade48
mov rdi, qword [rbx + 0x18]
mov rcx, rdi
call fcn.140147500
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1401ade43
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 8]
mov qword [rdi + 0x10], rcx
test rcx, rcx
jne 0x1401ade22
mov rcx, rdi
call fcn.140147090
movsxd rcx, dword [r15 + r13*8 + 0xc]
mov rdx, qword [rbp - 0x50]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
call fcn.140157f50
mov rdi, qword [rsp + 0x58]
jmp 0x1401aed9f
mov rdi, qword [rsp + 0x58]
mov rcx, rbx
call fcn.14014b7b0
mov ecx, dword [r15 + r13*8 + 8]
mov r8d, 4
dec ecx
jmp 0x1401aeda9
mov rax, qword [rsp + 0x50]
movsxd rbx, dword [r15 + r13*8 + 4]
movsxd rdi, dword [r15 + r13*8 + 0xc]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, rax
add rdi, rax
mov eax, dword [r15 + r13*8 + 0x10]
mov dword [rbp - 0x50], eax
test byte [rbx + 0x24], 0x20
jne 0x1401adea2
mov rcx, rbx
call fcn.140158060
test byte [rbx + 0x24], 0x20
je 0x1401af13b
mov eax, dword [rbp - 0x50]
test eax, eax
je 0x1401adee3
js 0x1401adead
and eax, 0xf
jmp 0x1401adeb2
mov eax, 0xff
mov r8, qword [rdi + 0x18]
mov rcx, qword [rbx + 0x18]
movzx edx, al
call fcn.1401475f0
mov dword [rbp - 0x4c], eax
test eax, eax
je 0x1401adede
mov edi, dword [r15 + r13*8 + 8]
dec edi
mov dword [rsp + 0x40], edi
mov rdi, qword [rsp + 0x58]
jmp 0x1401aed9f
mov eax, dword [rbp - 0x50]
test eax, eax
js 0x1401ac48d
jmp 0x1401addb4
mov r8, qword [r15 + r13*8 + 0x10]
mov qword [rbp - 0x28], r8
movsxd rdx, dword [r15 + r13*8 + 0xc]
imul rdx, rdx, 0x38
add rdx, qword [rsp + 0x50]
mov qword [rbp - 0x48], rdx
cmp byte [r15 + r13*8 + 3], r14b
je 0x1401adf47
mov rax, qword [rdi + 0xe8]
mov rcx, qword [r8 + 0x18]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x30], rax
test rax, rax
je 0x1401adf47
nop dword [rax + rax]
cmp qword [rax + 0x40], rcx
je 0x1401aed9f
mov rax, qword [rax + 0x60]
mov qword [rbp - 0x30], rax
test rax, rax
jne 0x1401adf30
mov eax, dword [rsi + 0x88]
cmp dword [rdi + 0xf8], eax
jl 0x1401adf78
lea rcx, [rdi + 0x58]
lea r8, str.too_many_levels_of_trigger_recursion
mov r12d, 1
mov rdx, rsi
mov dword [rsp + 0x44], r12d
call fcn.14016b870
jmp 0x1401aed9f
test byte [rdx + 0x24], 0x40
jne 0x1401ae0a3
mov edx, dword [r8 + 0xc]
mov rcx, rsi
add edx, dword [r8 + 0x10]
mov dword [rbp - 0x50], edx
imul edx, edx, 7
add edx, dword [r8 + 0x10]
lea edx, [rdx*8 + 0x68]
mov dword [rbp - 0x4c], edx
call fcn.14015f210
mov qword [rbp - 0x30], rax
test rax, rax
je 0x1401af140
mov rcx, qword [rbp - 0x48]
call fcn.140157ed0
mov rax, qword [rbp - 0x48]
mov ecx, 0x40
mov word [rax + 0x24], cx
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x30]
mov qword [rcx + 0x18], rax
mov rax, qword [rbp - 0x30]
mov qword [rax], rdi
mov ecx, dword [rbp - 0x50]
mov rax, qword [rbp - 0x30]
mov dword [rax + 0x48], ecx
mov rax, qword [rbp - 0x28]
mov ecx, dword [rax + 0x10]
mov rax, qword [rbp - 0x30]
mov dword [rax + 0x4c], ecx
mov rax, qword [rbp - 0x30]
mov ecx, dword [rsp + 0x40]
mov dword [rax + 8], ecx
mov rcx, qword [rdi + 0x10]
mov rax, qword [rbp - 0x30]
mov qword [rax + 0x20], rcx
mov rax, qword [rbp - 0x30]
mov ecx, dword [rdi + 0x30]
mov dword [rax + 0x28], ecx
mov rcx, qword [rdi + 0x70]
mov rax, qword [rbp - 0x30]
mov qword [rax + 0x30], rcx
mov rax, qword [rbp - 0x30]
movzx ecx, word [rdi + 0x52]
mov word [rax + 0x38], cx
mov rcx, qword [rdi + 8]
mov rax, qword [rbp - 0x30]
mov qword [rax + 0x10], rcx
mov rax, qword [rbp - 0x30]
mov ecx, dword [rdi + 0x34]
mov dword [rax + 0x18], ecx
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax + 0x18]
mov rax, qword [rbp - 0x30]
mov qword [rax + 0x40], rcx
mov rdx, qword [rbp - 0x30]
movsxd rax, dword [rdx + 0x48]
imul rax, rax, 0x38
lea rcx, [rax + rdx + 0x68]
lea rax, [rdx + 0x68]
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x40], rax
cmp rax, rcx
je 0x1401ae0ab
mov ebx, 1
nop word [rax + rax]
mov word [rax + 0x24], bx
mov rax, qword [rbp - 0x40]
mov qword [rax], rsi
mov rax, qword [rbp - 0x40]
add rax, 0x38
mov qword [rbp - 0x40], rax
cmp rax, qword [rbp - 0x38]
jne 0x1401ae080
mov rdx, qword [rbp - 0x30]
jmp 0x1401ae0ab
mov rdx, qword [rdx + 0x18]
mov qword [rbp - 0x30], rdx
inc dword [rdi + 0xf8]
mov rax, qword [rdi + 0xe8]
mov rcx, qword [rsp + 0x78]
mov qword [rdx + 0x60], rax
mov rax, qword [rbp - 0x30]
mov qword [rax + 0x50], rcx
mov ecx, dword [rdi + 0xa4]
mov rax, qword [rbp - 0x30]
mov dword [rax + 0x58], ecx
mov rax, qword [rbp - 0x30]
mov dword [rdi + 0xa4], r14d
lea r11, [rax + 0x30]
mov qword [rdi + 0xe8], rax
mov qword [rdi + 0x10], r11
mov ecx, dword [rax + 0x48]
mov qword [rsp + 0x50], r11
mov dword [rdi + 0x30], ecx
movzx eax, word [rax + 0x4c]
mov word [rdi + 0x52], ax
lea eax, [rcx + 1]
cdqe
imul rax, rax, 0x38
add rax, r11
or ecx, 0xffffffff
mov qword [rdi + 0x70], rax
mov rax, qword [rbp - 0x28]
lea r8d, [rcx + 5]
mov r15, qword [rax]
mov qword [rdi + 8], r15
mov eax, dword [rax + 8]
mov qword [rbp - 0x70], r15
mov dword [rdi + 0x34], eax
jmp 0x1401aeda9
mov r8, qword [rdi + 0xe8]
mov qword [rbp - 0x50], r8
movsxd rax, dword [r8 + 8]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rcx, r10
add edx, dword [r15 + r13*8 + 4]
movsxd rdx, edx
imul rdx, rdx, 0x38
add rdx, qword [r8 + 0x20]
mov r8d, 0x1000
mov qword [rbp - 0x48], rdx
call fcn.140158140
jmp 0x1401aed9f
movsxd rax, dword [r15 + r13*8 + 8]
mov ecx, dword [rsp + 0x40]
cmp dword [r15 + r13*8 + 4], r14d
je 0x1401ae192
add qword [rsi + 0x330], rax
jmp 0x1401aeda9
add qword [rdi + 0xc8], rax
jmp 0x1401aeda9
cmp dword [r15 + r13*8 + 4], r14d
je 0x1401ae1be
cmp qword [rsi + 0x330], r14
jne case.0x1401a98d3.17
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
cmp qword [rdi + 0xc8], r14
jne case.0x1401a98d3.17
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
mov rax, qword [rdi + 0xe8]
test rax, rax
je 0x1401ae20f
mov qword [rbp - 0x48], rax
mov rcx, qword [rax + 0x60]
test rcx, rcx
je 0x1401ae200
mov rax, rcx
mov qword [rbp - 0x48], rcx
mov rcx, qword [rcx + 0x60]
test rcx, rcx
jne 0x1401ae1f0
movsxd rcx, dword [r15 + r13*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rax + 0x20]
jmp 0x1401ae21d
movsxd rcx, dword [r15 + r13*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rbp - 0x50], rcx
call fcn.14014b690
movsxd rbx, dword [r15 + r13*8 + 8]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.14014b690
mov r11, qword [rbp - 0x50]
mov rax, qword [rbx + 0x18]
mov r8d, 4
cmp qword [r11 + 0x18], rax
jge 0x1401aece8
mov qword [r11 + 0x18], rax
jmp case.0x1401a98d3.17
movsxd rax, dword [r15 + r13*8 + 4]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
cmp qword [rax + rcx + 0x18], r14
jle case.0x1401a98d3.17
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
movsxd rax, dword [r15 + r13*8 + 4]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
cmp qword [rax + rcx + 0x18], r14
jge case.0x1401a98d3.17
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
movsxd rcx, dword [r15 + r13*8 + 4]
movsxd rax, dword [r15 + r13*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
add qword [rcx + 0x18], rax
jne 0x1401aece8
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
movzx eax, byte [r15 + r13*8 + 3]
mov rbx, qword [rsp + 0x50]
mov r8, qword [rdi + 0x18]
mov dword [rbp - 0x50], eax
movsxd rdx, dword [r15 + r13*8 + 8]
mov ecx, r14d
mov qword [rbp + 0x28], r8
mov dword [rbp - 0x4c], ecx
imul rdx, rdx, 0x38
add rdx, rbx
mov qword [rbp - 0x40], rdx
test eax, eax
jle 0x1401ae32f
movsxd rax, ecx
mov qword [r8 + rax*8], rdx
mov rcx, qword [rbp - 0x40]
call fcn.14014c840
mov ecx, dword [rbp - 0x4c]
mov rdx, qword [rbp - 0x40]
inc ecx
add rdx, 0x38
mov dword [rbp - 0x4c], ecx
mov qword [rbp - 0x40], rdx
cmp ecx, dword [rbp - 0x50]
jge 0x1401ae32f
mov r8, qword [rbp + 0x28]
jmp 0x1401ae300
mov rax, qword [r15 + r13*8 + 0x10]
mov qword [rbp - 0x38], rax
movsxd rax, dword [r15 + r13*8 + 0xc]
imul rax, rax, 0x38
add rax, rbx
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x10], rax
inc dword [rax + 0x20]
mov r9, qword [rbp - 0x38]
mov eax, 1
mov word [rbp - 4], ax
mov qword [rbp - 0x20], r14
mov qword [rbp + 8], r14
mov qword [rbp], r14
mov qword [rbp - 0x28], rsi
mov dword [rbp + 0x18], r14d
mov qword [rbp + 0x20], r14
test byte [r9 + 3], 8
je 0x1401ae384
mov rax, qword [r15 + r13*8 - 8]
mov qword [rbp + 0x20], rax
mov r8, qword [rbp + 0x28]
mov edx, dword [rbp - 0x50]
lea rcx, [rbp - 0x38]
call qword [r9 + 0x20]
cmp dword [rbp + 0x18], r14d
je 0x1401ae3c3
lea rcx, [rbp - 0x28]
mov dl, 1
call fcn.14016ec60
lea rcx, [rdi + 0x58]
lea r8, [0x14021ec64]
mov r9, rax
mov rdx, rsi
call fcn.14016b870
mov r12d, dword [rbp + 0x18]
mov dword [rsp + 0x44], r12d
lea rcx, [rbp - 0x28]
call fcn.140157e40
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp - 0x28]
call fcn.1401434c0
mov qword [rbp - 0x20], r14
mov qword [rbp + 8], r14
mov qword [rbp], r14
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rbp - 0x50], rcx
mov rdx, qword [r15 + r13*8 + 0x10]
call fcn.14014b410
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
je 0x1401ae432
mov rcx, qword [rbp - 0x50]
mov dl, 1
call fcn.14016ec60
lea rcx, [rdi + 0x58]
lea r8, [0x14021ec64]
mov r9, rax
mov rdx, rsi
call fcn.14016b870
mov rcx, qword [rbp - 0x50]
movzx edx, byte [rsp + 0x48]
test byte [rcx + 0x24], 2
je 0x1401ae452
movzx eax, byte [rcx + 0x27]
cmp eax, edx
je 0x1401ae452
call fcn.14016b8c0
mov rcx, qword [rbp - 0x50]
call fcn.14014b800
test eax, eax
jne 0x1401af0f5
jmp 0x1401aed9f
mov dword [rbp - 0x4c], r14d
or rbx, 0xffffffffffffffff
lea rax, [rbp - 0x44]
mov dword [rbp - 0x44], ebx
mov dword [rbp - 0x48], ebx
mov r8d, dword [r15 + r13*8 + 8]
mov edx, dword [r15 + r13*8 + 4]
lea r9, [rbp - 0x48]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140182d80
mov r12d, eax
mov dword [rsp + 0x44], eax
cmp eax, 5
jne 0x1401ae4ac
mov r12d, r14d
mov dword [rsp + 0x44], r14d
mov dword [rbp - 0x4c], 1
mov eax, r14d
mov dword [rbp - 0x50], eax
movsxd rcx, dword [r15 + r13*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rbp - 0x40], rcx
cdqe
movsxd rdx, dword [rbp + rax*4 - 0x4c]
call fcn.140157f50
mov eax, dword [rbp - 0x50]
mov rcx, qword [rbp - 0x40]
inc eax
add rcx, 0x38
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x40], rcx
cmp eax, 3
jl 0x1401ae4c4
jmp 0x1401aed9f
mov r8d, dword [r15 + r13*8 + 0xc]
mov dword [rbp - 0x40], r8d
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [r15 + r13*8 + 4]
shl rcx, 5
cmp r8d, 0xffffffff
mov r10, qword [rcx + rax + 8]
mov qword [rbp - 0x50], r10
mov rax, qword [r10 + 8]
mov rcx, qword [rax]
mov qword [rbp - 0x48], rcx
movzx r9d, byte [rcx + 9]
cmove r8d, r9d
mov dword [rbp - 0x3c], r9d
mov dword [rbp - 0x40], r8d
cmp byte [rcx + 0x13], 3
jae 0x1401ae542
mov rax, qword [rcx + 0x50]
cmp qword [rax], r14
je 0x1401ae549
cmp qword [rcx + 0x60], r14
jle 0x1401ae549
mov r8d, r9d
mov dword [rbp - 0x40], r9d
mov rax, qword [rcx + 0xb0]
mov qword [rbp - 0x38], rax
cmp r8d, 5
jne 0x1401ae574
cmp byte [rax], r14b
je 0x1401ae568
call fcn.140148780
test eax, eax
jne 0x1401ae574
mov r8d, r9d
mov dword [rbp - 0x40], r9d
jmp 0x1401ae601
cmp r8d, r9d
je 0x1401ae601
cmp r9d, 5
je 0x1401ae589
cmp r8d, 5
jne 0x1401ae601
cmp byte [rsi + 0x28], r14b
je 0x1401ae63d
cmp dword [rsi + 0xb0], 1
jg 0x1401ae63d
cmp r9d, 5
jne 0x1401ae5bf
call fcn.140183db0
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401ae5f5
mov edx, dword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
jmp 0x1401ae5c9
cmp r9d, 4
jne 0x1401ae5d6
lea edx, [r9 - 2]
call fcn.140178fc0
mov r10, qword [rbp - 0x50]
mov r8d, dword [rbp - 0x40]
mov edx, r14d
cmp r8d, 5
mov rcx, r10
sete dl
inc edx
call fcn.140190ac0
mov r12d, eax
mov dword [rsp + 0x44], eax
test eax, eax
je 0x1401ae637
mov r8d, dword [rbp - 0x3c]
mov dword [rbp - 0x40], r8d
mov rcx, qword [rbp - 0x48]
mov edx, r8d
call fcn.140178fc0
mov dword [rbp - 0x40], eax
movsxd r13, dword [r15 + r13*8 + 8]
mov eax, 0xa02
imul r13, r13, 0x38
add r13, qword [rsp + 0x50]
mov qword [rsp + 0x60], r13
mov word [r13 + 0x24], ax
movsxd rax, dword [rbp - 0x40]
cmp eax, 6
jne 0x1401ae676
mov rcx, r14
jmp 0x1401ae685
mov r8d, dword [rbp - 0x40]
jmp 0x1401ae5fd
cmp r8d, 5
lea rax, str.into
lea r9, str.out_of
lea rcx, [rdi + 0x58]
lea r8, str.cannot_change__s_wal_mode_from_within_a_transaction
mov r12d, 1
cmove r9, rax
mov rdx, rsi
mov dword [rsp + 0x44], r12d
call fcn.14016b870
jmp 0x1401aed9f
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x2467e0]
mov qword [r13 + 8], rcx
mov rax, rcx
test rcx, rcx
jne 0x1401ae696
mov eax, r14d
jmp 0x1401ae6af
cmp byte [rcx], r14b
je 0x1401ae6a8
nop dword [rax + rax]
inc rax
cmp byte [rax], r14b
jne 0x1401ae6a0
sub eax, ecx
and eax, 0x3fffffff
mov dword [r13 + 0x20], eax
movzx eax, byte [rsp + 0x48]
mov byte [r13 + 0x27], 1
cmp eax, 1
je 0x1401aece2
movzx edx, al
mov rcx, r13
call fcn.14016b8c0
jmp 0x1401aed9f
lea rcx, [rdi + 0x58]
mov rdx, rsi
call fcn.1401a6480
mov r12d, eax
mov dword [rsp + 0x44], eax
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rsi + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov qword [rbp - 0x50], rcx
call fcn.140197350
mov r8d, 4
mov r12d, eax
mov dword [rsp + 0x44], eax
cmp eax, 0x65
jne 0x1401aece8
mov r12d, dword [r15 + r13*8 + 8]
mov dword [rsp + 0x44], r14d
dec r12d
mov dword [rsp + 0x40], r12d
mov r12d, r14d
jmp case.0x1401a98d3.17
cmp dword [r15 + r13*8 + 4], r14d
jne 0x1401ae74d
mov rcx, rsi
call fcn.14014c390
jmp case.0x1401a98d3.17
mov byte [rdi + 0x9b], 1
jmp case.0x1401a98d3.17
movzx r8d, byte [r15 + r13*8 + 0xc]
test r8b, r8b
jne 0x1401ae771
test dword [rsi + 0x18], 0x80000
jne 0x1401aed9f
movsxd rax, dword [r15 + r13*8 + 4]
mov rcx, qword [rsi + 0x10]
mov edx, dword [r15 + r13*8 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140157b10
mov r12d, eax
mov dword [rsp + 0x44], eax
cmp al, 6
jne 0x1401aece2
mov r9, qword [r15 + r13*8 + 0x10]
lea rcx, [rdi + 0x58]
lea r8, str.database_table_is_locked:__s
mov rdx, rsi
call fcn.14016b870
jmp 0x1401aed9f
mov rdx, qword [r15 + r13*8 + 0x10]
mov rcx, rsi
mov qword [rbp - 0x50], rdx
call fcn.14015cb00
mov rdx, qword [rbp - 0x50]
mov r12d, eax
mov dword [rsp + 0x44], eax
test rdx, rdx
je 0x1401aece2
mov rdx, qword [rdx + 0x10]
mov rcx, rdi
call fcn.140159860
jmp 0x1401aed9f
mov r8, qword [r15 + r13*8 + 0x10]
mov edx, dword [r15 + r13*8 + 4]
lea r9, [rdi + 0x58]
mov rcx, rsi
call fcn.14016a140
mov r12d, eax
mov dword [rsp + 0x44], eax
jmp 0x1401aed9f
mov byte [rdi + 0x9e], 2
mov r8, qword [r15 + r13*8 + 0x10]
mov edx, dword [r15 + r13*8 + 4]
mov rcx, rsi
call fcn.140150cd0
mov byte [rdi + 0x9e], r14b
mov r12d, eax
mov dword [rsp + 0x44], eax
jmp 0x1401aed9f
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], r14
mov rax, qword [r15 + r13*8 + 0x10]
mov rcx, qword [rax + 0x10]
lea rdx, [rbp - 0x48]
mov qword [rbp - 0x40], rcx
mov rax, qword [rcx]
mov qword [rbp - 0x38], rax
call qword [rax + 0x30]
mov rdx, qword [rbp - 0x40]
mov rcx, rdi
mov r12d, eax
mov dword [rsp + 0x44], eax
call fcn.140159860
test r12d, r12d
jne 0x1401aece2
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x40]
or r9d, 0xffffffff
mov qword [rcx], rax
mov edx, dword [r15 + r13*8 + 4]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], r14d
call fcn.14019e640
mov qword [rbp - 0x50], rax
test rax, rax
je 0x1401ae8c8
mov rcx, qword [rbp - 0x48]
mov qword [rax + 0x30], rcx
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax]
mov rax, qword [rbp - 0x50]
mov rdx, qword [rcx]
mov qword [rax + 0x38], rdx
jmp 0x1401aed9f
mov byte [rsi + 0x2a], 1
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x48]
call qword [rax + 0x38]
jmp 0x1401aed9f
movsxd r8, dword [r15 + r13*8 + 0xc]
mov rax, qword [rdi + 0x70]
imul r8, r8, 0x38
add r8, qword [rsp + 0x50]
mov qword [rbp - 0x40], r8
lea r9, [r8 + 0x38]
mov qword [rbp - 0x38], r9
movsxd rcx, dword [r15 + r13*8 + 4]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x20], rdx
mov rcx, qword [rdx + 0x30]
mov edx, r14d
mov qword [rbp - 0x30], rcx
mov rax, qword [rcx]
mov qword [rbp - 0x28], rax
mov r10, qword [rax]
mov qword [rbp - 0x48], r10
mov eax, dword [r9 + 0x18]
mov dword [rbp - 0x50], eax
mov r11d, dword [r8 + 0x18]
mov r8, qword [rdi + 0x18]
mov qword [rbp - 0x10], r8
mov dword [rbp - 0x4c], r11d
mov dword [rbp - 0x18], r14d
mov dword [rbp - 0x14], edx
test eax, eax
jle 0x1401ae99a
nop word [rax + rax]
lea eax, [rdx + 1]
movsxd rcx, eax
movsxd rax, edx
imul rcx, rcx, 0x38
add rcx, r9
mov qword [r8 + rax*8], rcx
movsxd rax, dword [rbp - 0x14]
mov rcx, qword [rbp - 0x10]
mov rcx, qword [rcx + rax*8]
call fcn.14014c840
mov edx, dword [rbp - 0x14]
mov eax, dword [rbp - 0x50]
mov r8, qword [rbp - 0x10]
inc edx
mov dword [rbp - 0x14], edx
cmp edx, eax
jge 0x1401ae98e
mov r9, qword [rbp - 0x38]
jmp 0x1401ae950
mov rcx, qword [rbp - 0x30]
mov r10, qword [rbp - 0x48]
mov r11d, dword [rbp - 0x4c]
mov byte [rdi + 0x9e], 1
mov qword [rsp + 0x20], r8
mov r8, qword [r15 + r13*8 + 0x10]
mov r9d, eax
mov edx, r11d
call qword [r10 + 0x40]
mov rdx, qword [rbp - 0x28]
mov rcx, rdi
mov r12d, eax
mov dword [rsp + 0x44], eax
mov byte [rdi + 0x9e], r14b
call fcn.140159860
test r12d, r12d
jne 0x1401ae9e4
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x30]
call qword [rax + 0x50]
mov dword [rbp - 0x18], eax
jmp 0x1401ae9e7
mov eax, dword [rbp - 0x18]
test eax, eax
je 0x1401ae9f6
mov eax, dword [r15 + r13*8 + 8]
dec eax
mov dword [rsp + 0x40], eax
mov rax, qword [rbp - 0x20]
mov byte [rax + 0x28], r14b
jmp 0x1401aed9f
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rdi + 0x70]
mov rbx, qword [rax + rcx*8]
movsxd rcx, dword [r15 + r13*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rbp - 0x40], rcx
cmp byte [rbx + 0x28], r14b
je 0x1401aea32
call fcn.14014b7b0
jmp 0x1401aed9f
mov rax, qword [rbx + 0x30]
xor edx, edx
lea rcx, [rbp - 0x38]
mov rax, qword [rax]
lea r8d, [rdx + 0x60]
mov qword [rbp - 0x50], rax
mov rax, qword [rax]
mov qword [rbp - 0x48], rax
call fcn.14010da60
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x28]
call fcn.1401581c0
movzx r11d, word [rbp - 4]
mov eax, 0xbf01
and r11w, ax
mov rax, qword [rbp - 0x48]
lea rdx, [rbp - 0x38]
or r11w, 1
mov word [rbp - 4], r11w
mov r8d, dword [r15 + r13*8 + 8]
mov rcx, qword [rbx + 0x30]
call qword [rax + 0x58]
mov rdx, qword [rbp - 0x50]
mov rcx, rdi
mov r12d, eax
call fcn.140159860
mov eax, dword [rbp + 0x18]
movzx ecx, byte [rsp + 0x48]
test eax, eax
cmovne r12d, eax
test byte [rbp - 4], 2
mov dword [rsp + 0x44], r12d
je 0x1401aeac8
movzx eax, byte [rbp - 1]
cmp eax, ecx
je 0x1401aeac8
movzx edx, cl
lea rcx, [rbp - 0x28]
call fcn.14016b8c0
mov rcx, qword [rbp - 0x40]
lea rdx, [rbp - 0x28]
call fcn.1401581c0
mov rcx, qword [rbp - 0x40]
call fcn.14014b800
test eax, eax
jne 0x1401af0f5
jmp 0x1401aed9f
mov rax, qword [rdi + 0x70]
mov dword [rbp - 0x40], r14d
movsxd rcx, dword [r15 + r13*8 + 4]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x38], rdx
cmp byte [rdx + 0x28], r14b
jne 0x1401aece8
mov rax, qword [rdx + 0x30]
mov rcx, qword [rax]
mov qword [rbp - 0x50], rcx
mov rax, qword [rcx]
mov byte [rdi + 0x9e], 1
mov qword [rbp - 0x48], rax
mov rcx, qword [rdx + 0x30]
call qword [rax + 0x48]
mov rdx, qword [rbp - 0x50]
mov rcx, rdi
mov r12d, eax
mov dword [rsp + 0x44], eax
mov byte [rdi + 0x9e], r14b
call fcn.140159860
test r12d, r12d
jne 0x1401aeb5d
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rcx + 0x30]
call qword [rax + 0x50]
mov dword [rbp - 0x40], eax
jmp 0x1401aeb60
mov eax, dword [rbp - 0x40]
mov r8d, 4
test eax, eax
jne 0x1401aece8
mov ecx, dword [r15 + r13*8 + 8]
dec ecx
jmp 0x1401aeda9
mov rax, qword [r15 + r13*8 + 0x10]
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x50], rcx
movsxd rdx, dword [r15 + r13*8 + 4]
imul rdx, rdx, 0x38
add rdx, qword [rsp + 0x50]
mov qword [rbp - 0x48], rdx
mov rax, qword [rcx]
mov rdx, qword [rdx + 8]
call qword [rax + 0x98]
mov rdx, qword [rbp - 0x50]
mov rcx, rdi
mov r12d, eax
mov dword [rsp + 0x44], eax
call fcn.140159860
mov byte [rdi + 0x9b], r14b
jmp 0x1401aed9f
mov rax, qword [r15 + r13*8 + 0x10]
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x50], rcx
mov rax, qword [rcx]
mov qword [rbp - 0x48], rax
mov edx, dword [r15 + r13*8 + 8]
mov dword [rbp - 0x40], edx
cmp qword [rax + 0x68], r14
je 0x1401aece8
movzx ebx, byte [rsi + 0x2e]
mov rax, qword [rdi + 0x18]
mov qword [rbp - 0x30], rax
movsxd rcx, dword [r15 + r13*8 + 0xc]
mov dword [rbp - 0x3c], r14d
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rbp - 0x28], rcx
test edx, edx
jle 0x1401aec3f
call fcn.14014c840
mov rax, qword [rbp - 0x28]
movsxd rdx, dword [rbp - 0x3c]
mov rcx, qword [rbp - 0x30]
mov qword [rcx + rdx*8], rax
mov eax, dword [rbp - 0x3c]
mov rcx, qword [rbp - 0x28]
inc eax
add rcx, 0x38
mov qword [rbp - 0x28], rcx
mov dword [rbp - 0x3c], eax
cmp eax, dword [rbp - 0x40]
jl 0x1401aec11
movzx eax, byte [r15 + r13*8 + 3]
lea r9, [rbp - 0x38]
mov byte [rsi + 0x2e], al
mov rax, qword [rbp - 0x48]
mov r8, qword [rbp - 0x30]
mov edx, dword [rbp - 0x40]
mov rcx, qword [rbp - 0x50]
call qword [rax + 0x68]
mov byte [rsi + 0x2e], bl
mov rdx, qword [rbp - 0x50]
mov rcx, rdi
mov r12d, eax
mov dword [rsp + 0x44], eax
call fcn.140159860
test r12d, r12d
jne 0x1401aec98
cmp dword [r15 + r13*8 + 4], r14d
je 0x1401aec8d
mov rbx, qword [rbp - 0x38]
mov qword [rsp + 0x78], rbx
mov qword [rsi + 0x40], rbx
inc dword [rdi + 0xa4]
jmp 0x1401aed9f
cmp r12d, 0x13
jne 0x1401aec8d
mov rax, qword [r15 + r13*8 + 0x10]
cmp byte [rax + 0x1c], r14b
je 0x1401aec8d
movzx eax, byte [r15 + r13*8 + 3]
cmp al, 4
jne 0x1401aecc0
mov r12d, r14d
mov dword [rsp + 0x44], r14d
jmp 0x1401aed9f
cmp al, 5
jne 0x1401aecd4
mov eax, 2
mov byte [rdi + 0x98], al
jmp 0x1401aed9f
movzx eax, al
mov byte [rdi + 0x98], al
jmp 0x1401aed9f
mov r8d, 4
mov rdi, qword [rsp + 0x58]
jmp case.0x1401a98d3.17
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [r15 + r13*8 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov qword [r10 + 0x18], rcx
jmp case.0x1401a98d3.17
movsxd rcx, dword [r15 + r13*8 + 4]
mov rax, qword [rsi + 0x10]
mov r8d, dword [r15 + r13*8 + 0xc]
shl rcx, 5
mov edx, r14d
mov rcx, qword [rcx + rax + 8]
test r8d, r8d
je 0x1401aed41
mov rax, qword [rcx + 8]
mov edx, dword [rax + 0x40]
cmp edx, r8d
cmovb edx, r8d
call fcn.14014a6f0
mov r9, qword [rsp + 0x60]
movsxd rcx, eax
mov qword [r9 + 0x18], rcx
jmp 0x1401aed9f
cmp qword [rsi + 0xc0], r14
je case.0x1401a98d3.17
mov rdx, qword [r15 + r13*8 + 0x10]
test rdx, rdx
jne 0x1401aed6e
mov rdx, qword [rdi + 0xd8]
mov qword [rbp - 0x50], rdx
test rdx, rdx
je case.0x1401a98d3.17
mov rcx, rdi
call fcn.14016f9d0
mov qword [rbp - 0x48], rax
mov rcx, qword [rsi + 0xc8]
mov rdx, rax
call qword [rsi + 0xc0]
mov rdx, qword [rbp - 0x48]
mov rcx, rsi
call fcn.1401434c0
mov r8d, 4
mov ecx, dword [rsp + 0x40]
inc ecx
mov dword [rsp + 0x40], ecx
test r12d, r12d
jne 0x1401af15d
mov rax, qword [rbp - 0x60]
jmp 0x1401a9830
mov r12d, 9
jmp 0x1401af15d
mov eax, dword [r15 + r13*8 + 4]
mov ebx, dword [rsp + 0x40]
mov dword [rdi + 0x94], eax
movzx eax, byte [r15 + r13*8 + 8]
mov dword [rdi + 0x90], ebx
mov byte [rdi + 0x98], al
mov r9, qword [r15 + r13*8 + 0x10]
test r9, r9
je 0x1401aee31
lea rcx, [rdi + 0x58]
lea r8, [0x14021ec64]
mov rdx, rsi
call fcn.14016b870
mov r11, qword [r15 + r13*8 + 0x10]
mov r9, qword [rdi + 0xd8]
mov ecx, dword [r15 + r13*8 + 4]
lea rdx, str.abort_at__d_in___s_:__s
mov r8d, ebx
mov qword [rsp + 0x20], r11
call fcn.140160780
jmp 0x1401aee55
cmp dword [rdi + 0x94], r14d
je 0x1401aee55
mov r9, qword [rdi + 0xd8]
mov ecx, dword [r15 + r13*8 + 4]
lea rdx, str.constraint_failed_at__d_in___s_
mov r8d, ebx
call fcn.140160780
mov rcx, rdi
call fcn.1401a36d0
cmp eax, 5
je 0x1401aef7f
cmp dword [rdi + 0x94], r14d
mov ebx, 0x65
mov eax, 1
cmovne ebx, eax
jmp 0x1401af1b8
cmp byte [rsi + 0x2a], 0
jne 0x1401af140
mov eax, dword [rsp + 0x40]
mov ebx, 0x64
inc eax
mov dword [rdi + 0x90], eax
jmp 0x1401af1b8
movzx eax, word [rbp - 0xc]
mov ecx, 0x2460
test cx, ax
je 0x1401aef48
mov ecx, 0x2000
test cx, ax
je 0x1401aeed3
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp - 0x30]
call fcn.14014b410
lea rcx, [rbp - 0x30]
call fcn.140157ed0
jmp 0x1401aef48
mov ecx, 0x400
test cx, ax
je 0x1401aeef2
mov rax, qword [rbp - 8]
test rax, rax
je 0x1401aeef2
mov rcx, qword [rbp - 0x28]
call rax
mov qword [rbp - 8], r14
jmp 0x1401aef48
movzx eax, byte [rbp - 0xc]
test al, 0x20
je 0x1401aef05
mov rcx, qword [rbp - 0x18]
call fcn.140147090
jmp 0x1401aef48
test al, 0x40
je 0x1401aef48
mov rdx, qword [rbp - 0x18]
mov rax, qword [rdx]
mov rcx, qword [rax + 0xf0]
mov qword [rdx + 0x60], rcx
mov qword [rax + 0xf0], rdx
test byte [rbp - 0xc], 0x20
je 0x1401aef31
mov rcx, qword [rbp - 0x18]
call fcn.140147090
movzx eax, word [rbp - 0xc]
mov ecx, 0xbf01
mov byte [rbp - 0xa], 5
and ax, cx
or ax, bx
mov word [rbp - 0xc], ax
mov rdx, qword [rbp]
mov rcx, qword [rbp - 0x30]
call fcn.1401434c0
mov qword [rbp - 0x28], r14
mov qword [rbp], r14
mov qword [rbp - 8], r14
jmp 0x1401af140
mov r12d, SafeArrayGetElement
jmp 0x1401af0ae
mov eax, dword [rsp + 0x40]
mov dword [rdi + 0x90], eax
mov byte [rbx + 0x28], r14b
mov ebx, 5
mov dword [rdi + 0x94], ebx
jmp 0x1401af1b8
lea rcx, [rdi + 0x58]
lea r8, str.foreign_key_constraint_failed
mov dword [rdi + 0x94], SafeArrayGetElement
mov byte [rdi + 0x98], 2
call fcn.14016b870
mov ebx, r13d
jmp 0x1401af1b8
test ecx, ecx
je 0x1401aefeb
mov rcx, rsi
call fcn.14019c600
mov byte [rsi + 0x28], 1
mov rcx, rsi
call fcn.1401524e0
cmp dword [rdi + 0x94], r14d
mov ebx, 0x65
mov eax, 1
cmove eax, ebx
mov ebx, eax
jmp 0x1401af1b8
mov rdx, qword [rdi]
cmp qword [rdx + 0x330], r14
jle 0x1401af01d
lea rcx, [rdi + 0x58]
lea r8, str.foreign_key_constraint_failed
mov dword [rdi + 0x94], SafeArrayGetElement
mov byte [rdi + 0x98], 2
call fcn.14016b870
jmp 0x1401af1b8
movzx eax, byte [rbp - 0x50]
mov rcx, rdi
mov byte [rsi + 0x28], al
call fcn.1401a36d0
cmp eax, 5
jne 0x1401aefc8
sub bl, byte [rbp - 0x50]
mov eax, dword [rsp + 0x40]
mov dword [rdi + 0x90], eax
mov byte [rsi + 0x28], bl
mov ebx, 5
mov dword [rdi + 0x94], ebx
jmp 0x1401af1b8
mov eax, dword [rsp + 0x40]
mov ebx, 5
mov dword [rdi + 0x90], eax
mov dword [rdi + 0x94], ebx
jmp 0x1401af1b8
lea r9, [0x14024940c]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0x10157
mov ecx, VariantTimeToDosDateTime
call fcn.140160780
mov r12d, VariantTimeToDosDateTime
jmp 0x1401af0ae
mov r12d, 0xd
jmp 0x1401af0ae
mov rsi, qword [rsp + 0x70]
mov r12d, 0xd
jmp 0x1401af0a9
mov rsi, rbx
mov rdi, qword [rsp + 0x58]
cmp byte [rsi + 0x2a], r14b
je 0x1401af0bc
mov r12d, 7
jmp 0x1401af0c9
cmp r12d, 0xc0a
je 0x1401af15d
mov ecx, r12d
call fcn.1401525f0
mov r9, rax
lea rcx, [rdi + 0x58]
lea r8, [0x14021ec64]
mov rdx, rsi
call fcn.14016b870
jmp 0x1401af15d
mov rsi, qword [rsp + 0x70]
jmp 0x1401af0f5
mov rdi, qword [rsp + 0x58]
lea rcx, [rdi + 0x58]
lea r8, str.string_or_blob_too_big
mov rdx, rsi
call fcn.14016b870
mov r12d, SafeArrayUnaccessData
jmp 0x1401af15d
mov r12d, 9
lea r9, str.unknown_error
mov dword [rdi + 0x94], r12d
mov rax, qword [str.interrupted]
test rax, rax
cmovne r9, rax
jmp 0x1401af0d4
mov rsi, qword [rsp + 0x70]
jmp 0x1401af140
mov rdi, qword [rsp + 0x58]
lea rcx, [rdi + 0x58]
lea r8, [0x1402448b8]
mov rdx, rsi
mov byte [rsi + 0x2a], 1
call fcn.14016b870
mov r12d, 7
mov rax, qword [rdi + 0x58]
mov r9, qword [rdi + 0xd8]
mov r8d, dword [rsp + 0x40]
lea rdx, str.statement_aborts_at__d:___s___s
mov ecx, r12d
mov qword [rsp + 0x20], rax
mov dword [rdi + 0x94], r12d
call fcn.140160780
mov rcx, rdi
call fcn.1401a36d0
cmp r12d, 0xc0a
jne 0x1401af19d
mov byte [rsi + 0x2a], 1
movzx eax, byte [rsp + 0x68]
mov ebx, 1
test al, al
je 0x1401af1b8
movzx edx, al
mov rcx, rsi
dec edx
call fcn.140171220
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x40], rcx
mov rcx, rdi
call fcn.14014bc70
mov eax, ebx
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.14010d170
lea r11, [rsp + 0x1e0]
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