Function at 0x1401b3a40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [0x1402b0310]
xor rax, rsp
mov qword [rbp + 0x38], rax
mov r15, qword [rcx]
mov rsi, r9
mov qword [rsp + 0x60], r15
mov r13, r8
mov rdi, rdx
mov qword [rbp - 0x60], rcx
mov r12, rcx
call fcn.1401bc270
mov qword [rbp - 0x48], rax
mov rbx, rax
test rax, rax
je 0x1401b3de3
or dword [rax + 0xd0], 0x20
lea r9, [rbp - 8]
mov r8, r13
mov dword [r12 + 0x38], 2
mov rdx, rdi
mov rcx, r12
call fcn.14019aed0
mov dword [rsp + 0x6c], eax
test eax, eax
js 0x1401b3de3
mov qword [rsp + 0x148], r14
movsxd r14, eax
mov rdi, r14
shl rdi, 5
add rdi, qword [r15 + 0x20]
cmp eax, 1
jne 0x1401b3aeb
mov rcx, r12
call fcn.1401a22e0
test eax, eax
jne 0x1401b3ddb
mov rdx, qword [rbp - 8]
test rdx, rdx
je 0x1401b3ddb
mov r8d, dword [rdx + 8]
mov rcx, r15
mov rdx, qword [rdx]
call fcn.14014eca0
mov rcx, rax
mov qword [rbp - 0x20], rax
mov r15, rax
call fcn.140151b80
test r15, r15
je 0x1401b3ddb
xor r15d, r15d
cmp dword [rbp + 0xb0], r15d
je 0x1401b3b41
mov rcx, qword [rsp + 0x60]
lea rdx, [0x1402455c8]
mov r8, rsi
call fcn.140150d40
jmp 0x1401b3b6c
test rsi, rsi
je 0x1401b3b69
mov r8d, dword [rsi + 8]
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x60]
call fcn.14014eca0
mov rcx, rax
mov qword [rbp - 0x78], rax
call fcn.140151b80
mov rax, qword [rbp - 0x78]
jmp 0x1401b3b70
mov rax, r15
mov qword [rbp - 0x78], rax
cmp dword [r13 + 8], r15d
jbe 0x1401b3b7b
mov rsi, qword [rdi]
jmp 0x1401b3b7e
mov rsi, r15
mov r8, qword [rbp - 0x20]
mov r9, rax
mov edx, 0x13
mov qword [rbp - 0x50], rsi
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.140198cf0
test eax, eax
jne 0x1401b3db4
mov rax, qword [rbp - 0x20]
lea r9, [rbp]
mov rcx, qword [rbp - 0x78]
mov r8d, 0xe
mov qword [rbp + 8], rax
mov rdx, rsi
mov rax, qword [rsp + 0x60]
mov qword [rbp + 0x10], rcx
mov rcx, rax
mov qword [rbp], r15
mov qword [rbp + 0x18], r15
mov dword [rax + 0x290], r15d
call fcn.1401ea100
mov esi, eax
test eax, eax
jne 0x1401b3c32
lea edx, [rax + 1]
mov rcx, rbx
call fcn.1401760f0
mov rax, qword [rbx]
cmp byte [rax + 0x63], r15b
jne 0x1401b3c18
mov rdx, qword [rbp]
mov rax, 0xffffffffffffffff
mov rcx, qword [rbx + 0xa0]
mov r8, rax
mov r9b, 1
mov qword [rsp + 0x20], rax
call fcn.140172740
mov rdx, qword [rbp]
mov rcx, rbx
call fcn.1401b35c0
mov rcx, qword [rbp]
call fcn.14014e560
jmp 0x1401b3db4
cmp esi, 0xc
je 0x1401b3c67
mov r8, qword [rbp]
test r8, r8
je 0x1401b3c58
lea rdx, [0x140241a14]
mov rcx, r12
call fcn.140151b10
mov rcx, qword [rbp]
call fcn.14014e560
inc dword [r12 + 0x30]
mov dword [r12 + 0x18], esi
jmp 0x1401b3db4
mov rcx, qword [rbp - 0x20]
call fcn.1401b3710
mov qword [rbp - 0x30], rax
mov rsi, rax
test rax, rax
je 0x1401b3db4
test byte [rax + 9], 1
je 0x1401b3c96
mov rcx, r12
call fcn.1401b7e00
test eax, eax
jne 0x1401b3db4
movzx eax, byte [rsi + 9]
test al, 2
jne 0x1401b3cb6
test al, 4
je 0x1401b3cab
mov r10, qword [rbp - 0x78]
test r10, r10
jne 0x1401b3cba
mov rdx, rsi
mov rcx, rbx
call fcn.1401b3410
mov r10, qword [rbp - 0x78]
movzx eax, byte [rsi + 8]
dec eax
cmp eax, 0x2a
ja case.0x1401b3cdc.5
cdqe
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x1b6b6c]
add rax, rcx
jmp rax
mov r14d, dword [rsp + 0x6c]
mov rcx, rbx
mov edx, r14d
call fcn.140174db0
mov rax, qword [rbp - 0x78]
test rax, rax
jne 0x1401b3d29
add dword [r12 + 0x38], 2
lea r8, [0x140210ed8]
xor r9d, r9d
lea edx, [rax + 9]
mov rcx, rbx
call fcn.1401740f0
mov dword [rax + 4], r14d
mov dword [rax + 0x1c], r14d
mov dword [rax + 0x94], 0xfffff830
jmp 0x1401b3db4
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], r15d
mov rcx, rax
call fcn.1401524b0
mov esi, dword [rsp + 0x68]
test esi, esi
jns 0x1401b3d54
cmp esi, 0x80000000
jne 0x1401b3d52
mov esi, 0x7fffffff
jmp 0x1401b3d54
neg esi
mov r8d, r14d
xor edx, edx
mov rcx, r12
call fcn.1401a24c0
mov r9d, 3
mov dword [rsp + 0x20], esi
mov r8d, r14d
mov rcx, rbx
lea edx, [r9 + 0x5f]
call fcn.140173790
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x74], esi
mov rax, qword [rdi + 0x18]
mov rcx, qword [rdi + 8]
mov edx, dword [rax + 0x74]
call fcn.140165480
jmp 0x1401b3db4
mov rdi, qword [rdi + 8]
test r10, r10
jne 0x1401b3e01
test rdi, rdi
je 0x1401b3da9
mov rax, qword [rdi + 8]
mov r15d, dword [rax + 0x34]
movsxd rdx, r15d
mov rcx, rbx
call fcn.1401b34f0
mov r14, qword [rsp + 0x60]
mov rdx, qword [rbp - 0x20]
mov rcx, r14
call fcn.14014e640
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x1401b3ddb
mov rcx, qword [rsp + 0x60]
mov rdx, rax
call fcn.14014e640
mov r14, qword [rsp + 0x148]
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.1401eb080
add rsp, 0x150
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], r15d
mov rcx, r10
call fcn.1401524b0
mov rax, qword [rsp + 0x60]
xor r9d, r9d
mov edx, dword [rsp + 0x68]
xor r8d, r8d
mov rcx, rdi
mov dword [rax + 0x70], edx
call fcn.140165740
cmp eax, 7
jne 0x1401b3db4
mov rcx, qword [rsp + 0x60]
call fcn.14014ee50
jmp 0x1401b3db4
mov rsi, qword [rdi + 8]
mov r14, 0xffffffffffffffff
test r10, r10
je 0x1401b3e85
lea rdx, str.fast
mov rcx, r10
call fcn.140151c30
test eax, eax
jne 0x1401b3e6a
lea r14d, [rax + 2]
jmp 0x1401b3e85
mov rcx, qword [rbp - 0x78]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.1401b3130
mov ecx, r15d
test al, al
setne cl
mov r14d, ecx
cmp dword [r13 + 8], r15d
jne 0x1401b3ec3
test r14d, r14d
js 0x1401b3ec3
mov rax, qword [rsp + 0x60]
cmp dword [rax + 0x28], r15d
jle 0x1401b3ec3
mov rdi, r15
mov rbx, rax
mov rcx, qword [rbx + 0x20]
mov edx, r14d
mov rcx, qword [rdi + rcx + 8]
call fcn.140165910
inc r15d
lea rdi, [rdi + 0x20]
cmp r15d, dword [rbx + 0x28]
jl 0x1401b3ea1
mov rbx, qword [rbp - 0x48]
mov edx, r14d
mov rcx, rsi
call fcn.140165910
movsxd rdx, eax
jmp 0x1401b3dac
mov esi, dword [rsp + 0x6c]
mov rcx, r12
mov edx, esi
mov qword [rsp + 0x78], r15
call fcn.1401a23d0
inc dword [r12 + 0x38]
lea rcx, [0x140000000]
mov rax, qword [rbp - 0x20]
mov edi, dword [r12 + 0x38]
movzx eax, byte [rax]
cmp byte [rax + rcx + 0x2128a0], 0x70
jne 0x1401b3f17
mov dword [rsp + 0x20], r15d
mov edx, 0xae
jmp 0x1401b3f5f
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x1401b3f4e
lea rdx, [rsp + 0x78]
mov rcx, rax
call fcn.1401523b0
test eax, eax
jne 0x1401b3f4e
mov rax, qword [rsp + 0x78]
test rax, rax
js 0x1401b3f4e
mov ecx, 0xfffffffe
cmp rax, rcx
jle 0x1401b3f56
mov eax, ecx
mov qword [rsp + 0x78], rcx
jmp 0x1401b3f56
mov rax, r15
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x20], eax
mov edx, 0xaf
mov r9d, edi
mov r8d, esi
mov rcx, rbx
call fcn.140173790
mov r9d, 1
mov dword [rsp + 0x20], r15d
mov r8d, edi
mov rcx, rbx
lea edx, [r9 + 0x51]
call fcn.140173790
jmp 0x1401b3db4
lea r12, str.normal
lea r14, str.exclusive
test r10, r10
je 0x1401b3fc4
mov rdx, r14
mov rcx, r10
call fcn.140151c30
test eax, eax
jne 0x1401b3fb4
lea r15d, [rax + 1]
jmp 0x1401b3fca
mov rcx, qword [rbp - 0x78]
mov rdx, r12
call fcn.140151c30
test eax, eax
je 0x1401b3fca
mov r15d, 0xffffffff
cmp dword [r13 + 8], 0
jne 0x1401b4039
mov rax, qword [rsp + 0x60]
cmp r15d, 0xffffffff
jne 0x1401b3fe2
movzx eax, byte [rax + 0x65]
jmp 0x1401b404c
cmp dword [rax + 0x28], 2
jle 0x1401b4035
mov esi, 0x40
mov rbx, rax
lea r14d, [rsi - 0x3e]
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbx + 0x20]
mov edx, r15d
mov rcx, qword [rsi + rax + 8]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
call fcn.14015f3f0
inc r14d
lea rsi, [rsi + 0x20]
cmp r14d, dword [rbx + 0x28]
jl 0x1401b4000
mov rbx, qword [rbp - 0x48]
lea r14, str.exclusive
mov rax, qword [rsp + 0x60]
mov byte [rax + 0x65], r15b
mov rax, qword [rdi + 8]
mov edx, r15d
mov rcx, qword [rax + 8]
mov rcx, qword [rcx]
call fcn.14015f3f0
cmp eax, 1
mov rcx, rbx
cmovne r14, r12
mov rdx, r14
call fcn.1401b35c0
jmp 0x1401b3db4
mov r12d, 1
test r10, r10
je 0x1401b40d1
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [r10 + rdi], r15b
jne 0x1401b4075
and edi, 0x3fffffff
lea r14, str.delete
mov esi, r15d
lea rax, [0x1402120c0]
cmp r14, rax
je 0x1401b40d1
mov rdx, qword [r14]
test rdx, rdx
je 0x1401b40d1
mov r8d, edi
mov rcx, r10
call fcn.140151c70
test eax, eax
je 0x1401b40bd
mov r10, qword [rbp - 0x78]
inc esi
add r14, 8
jmp 0x1401b408e
cmp esi, 2
jne 0x1401b40e5
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x30]
bt rax, 0x1c
jae 0x1401b40ea
mov esi, 0xffffffff
cmp dword [r13 + 8], r15d
jne 0x1401b40ea
mov ecx, r15d
mov dword [r13 + 8], r12d
jmp 0x1401b40ee
cmp esi, 0xffffffff
je 0x1401b40d6
mov ecx, dword [rsp + 0x6c]
mov rax, qword [rsp + 0x60]
mov edi, dword [rax + 0x28]
sub edi, r12d
js 0x1401b4164
movsxd r12, edi
mov r15, rax
mov r14, r12
movsxd rcx, ecx
shl r14, 5
mov qword [rbp - 0x70], rcx
nop
mov rax, qword [r15 + 0x20]
cmp qword [r14 + rax + 8], 0
je 0x1401b414f
cmp r12, rcx
je 0x1401b4128
cmp dword [r13 + 8], 0
jne 0x1401b414f
mov edx, edi
mov rcx, rbx
call fcn.140174db0
mov r9d, 1
mov dword [rsp + 0x20], esi
mov r8d, edi
mov rcx, rbx
lea edx, [r9 + 6]
call fcn.140173790
mov rcx, qword [rbp - 0x70]
dec r12
sub r14, 0x20
sub edi, 1
jns 0x1401b4110
xor r15d, r15d
mov r12d, 1
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov r8d, r12d
mov edx, 0x52
mov rcx, rbx
call fcn.140173790
jmp 0x1401b3db4
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 8]
mov rax, 0xfffffffffffffffe
mov rdi, qword [rcx]
mov qword [rsp + 0x78], rax
test r10, r10
je 0x1401b41c2
lea rdx, [rsp + 0x78]
mov rcx, r10
call fcn.1401523b0
mov rax, qword [rsp + 0x78]
mov rcx, 0xffffffffffffffff
cmp rax, rcx
cmovl rax, rcx
mov qword [rsp + 0x78], rax
cmp rax, 0xffffffffffffffff
jl 0x1401b41df
mov rcx, qword [rdi + 0x120]
mov qword [rdi + 0xc8], rax
test rcx, rcx
je 0x1401b41df
mov qword [rcx + 0x20], rax
mov rdx, qword [rdi + 0xc8]
mov qword [rsp + 0x78], rdx
jmp 0x1401b3dac
mov rdi, qword [rdi + 8]
test r10, r10
jne 0x1401b4209
mov rcx, rdi
call fcn.140165a30
movsxd rdx, eax
jmp 0x1401b3dac
mov rcx, r10
call fcn.1401b3220
mov esi, eax
mov rcx, rdi
mov rax, qword [rsp + 0x60]
mov edx, esi
mov byte [rax + 0x66], sil
call fcn.1401659a0
test eax, eax
jne 0x1401b3db4
lea ecx, [rsi - 1]
cmp ecx, 1
ja 0x1401b3db4
mov edi, dword [rbx + 0x98]
lea r8, [0x1402122e8]
xor r9d, r9d
lea edx, [rax + 5]
mov rcx, rbx
call fcn.1401740f0
mov edx, dword [rsp + 0x6c]
lea ecx, [rdi + 4]
mov dword [rax + 0x38], ecx
lea ecx, [rsi - 1]
mov dword [rax + 0x6c], ecx
mov rcx, rbx
mov dword [rax + 4], edx
mov dword [rax + 0x1c], edx
mov dword [rax + 0x64], edx
call fcn.140174db0
jmp 0x1401b3db4
test r10, r10
je 0x1401b4298
lea rdx, [rsp + 0x70]
mov rcx, r10
call fcn.1401524b0
test eax, eax
je 0x1401b4298
cmp dword [rsp + 0x70], r15d
jg 0x1401b42a1
mov esi, 0x7fffffff
mov dword [rsp + 0x70], esi
mov r8d, dword [rsp + 0x6c]
xor edx, edx
mov rcx, r12
call fcn.1401a24c0
mov r8d, dword [rsp + 0x70]
mov esi, 1
mov r9d, esi
mov dword [rsp + 0x20], r15d
mov rcx, rbx
lea edx, [rsi + 0x45]
call fcn.140173790
mov r8d, dword [rsp + 0x6c]
lea edx, [rsi + 0x3c]
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov rcx, rbx
call fcn.140173790
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, esi
lea edx, [rsi + 0x51]
mov rcx, rbx
mov edi, eax
call fcn.140173790
lea r9d, [rsi - 2]
mov dword [rsp + 0x20], r15d
mov r8d, esi
lea edx, [rsi + 0x53]
mov rcx, rbx
call fcn.140173790
mov r9d, edi
mov dword [rsp + 0x20], r15d
mov r8d, esi
lea edx, [rsi + 0x30]
mov rcx, rbx
call fcn.140173790
mov edx, edi
mov rcx, rbx
call fcn.140174270
jmp 0x1401b3db4
test r10, r10
jne 0x1401b434b
mov rax, qword [rdi + 0x18]
movsxd rdx, dword [rax + 0x74]
jmp 0x1401b3dac
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], r15d
mov rcx, r10
call fcn.1401524b0
mov rcx, qword [rdi + 0x18]
mov eax, dword [rsp + 0x68]
mov dword [rcx + 0x74], eax
jmp 0x1401b3d81
test r10, r10
jne 0x1401b4394
mov rax, qword [rsp + 0x60]
test byte [rax + 0x30], 0x20
je 0x1401b3da9
mov rcx, qword [rdi + 8]
xor edx, edx
call fcn.140165520
mov r15d, eax
jmp 0x1401b3da9
mov ebx, 1
lea rdx, [rsp + 0x70]
mov rcx, r10
mov dword [rsp + 0x70], ebx
call fcn.1401524b0
test eax, eax
je 0x1401b43bb
mov edx, dword [rsp + 0x70]
mov rcx, qword [rdi + 8]
call fcn.140165520
cmp dword [rsp + 0x70], r15d
mov edx, ebx
mov rcx, qword [rbp - 0x78]
setne r8b
call fcn.1401b3130
mov r8, qword [rsp + 0x60]
mov rdx, qword [r8 + 0x30]
mov rcx, rdx
and rdx, 0xffffffffffffffdf
or rcx, 0x20
test al, al
cmovne rdx, rcx
mov rcx, r8
mov qword [r8 + 0x30], rdx
call fcn.1401b3680
jmp 0x1401b3db4
test r10, r10
je 0x1401b4482
lea rdx, [rsp + 0x78]
mov rcx, r10
call fcn.1401523b0
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x60]
test rdx, rdx
cmovs rdx, qword [0x1402b05f8]
mov qword [rsp + 0x78], rdx
cmp dword [r13 + 8], r15d
jne 0x1401b4434
mov qword [r8 + 0x40], rdx
mov eax, dword [r8 + 0x28]
sub eax, 1
movsxd rdi, eax
js 0x1401b4482
mov rsi, rdi
shl rsi, 5
nop word [rax + rax]
mov rax, qword [r8 + 0x20]
mov rcx, qword [rsi + rax + 8]
test rcx, rcx
je 0x1401b4478
cmp rdi, r14
je 0x1401b4469
cmp dword [r13 + 8], r15d
jne 0x1401b4478
call fcn.1401655e0
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x60]
sub rsi, 0x20
sub rdi, 1
jns 0x1401b4450
mov rdx, qword [rbp - 0x50]
lea r9, [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
mov r8d, 0x12
mov qword [rsp + 0x78], 0xffffffffffffffff
call fcn.1401ea100
test eax, eax
jne 0x1401b44b2
mov rdx, qword [rsp + 0x78]
jmp 0x1401b3dac
mov r14, qword [rsp + 0x60]
cmp eax, 0xc
je 0x1401b3db9
inc dword [r12 + 0x30]
mov dword [r12 + 0x18], eax
jmp 0x1401b3db9
test r10, r10
jne 0x1401b44e2
mov rax, qword [rsp + 0x60]
movzx edx, byte [rax + 0x62]
jmp 0x1401b3dac
mov rcx, r10
call fcn.1401b3320
mov rdi, qword [r12]
mov ebx, eax
movzx ecx, byte [rdi + 0x62]
cmp ecx, eax
je 0x1401b3db4
mov rcx, r12
call fcn.1401b33b0
mov r14, qword [rsp + 0x60]
test eax, eax
jne 0x1401b3db9
mov byte [rdi + 0x62], bl
jmp 0x1401b3db9
test r10, r10
jne 0x1401b4532
mov rdx, qword [0x1402d4c80]
mov rcx, rbx
call fcn.1401b35c0
jmp 0x1401b3db4
cmp byte [r10], r15b
je 0x1401b4572
mov rax, qword [rsp + 0x60]
lea r9, [rsp + 0x68]
mov r8d, 1
mov rdx, r10
mov rax, qword [rax]
mov rcx, rax
call qword [rax + 0x38]
test eax, eax
jne 0x1401b455e
cmp dword [rsp + 0x68], r15d
jne 0x1401b4572
lea rdx, str.not_a_writable_directory
mov rcx, r12
call fcn.140151b10
jmp 0x1401b3db4
mov rcx, qword [0x1402d4c80]
call fcn.14014e560
mov rax, qword [rbp - 0x78]
cmp byte [rax], r15b
je 0x1401b45a2
mov rdx, rax
lea rcx, [0x140241a14]
call fcn.140150d70
mov qword [0x1402d4c80], rax
jmp 0x1401b3db4
mov qword [0x1402d4c80], r15
jmp 0x1401b3db4
test r10, r10
jne 0x1401b45c7
mov rdx, qword [0x1402d4c88]
mov rcx, rbx
call fcn.1401b35c0
jmp 0x1401b3db4
cmp byte [r10], r15b
je 0x1401b4607
mov rax, qword [rsp + 0x60]
lea r9, [rsp + 0x68]
mov r8d, 1
mov rdx, r10
mov rax, qword [rax]
mov rcx, rax
call qword [rax + 0x38]
test eax, eax
jne 0x1401b45f3
cmp dword [rsp + 0x68], r15d
jne 0x1401b4607
lea rdx, str.not_a_writable_directory
mov rcx, r12
call fcn.140151b10
jmp 0x1401b3db4
mov rcx, qword [0x1402d4c88]
call fcn.14014e560
mov rax, qword [rbp - 0x78]
cmp byte [rax], r15b
je 0x1401b4637
mov rdx, rax
lea rcx, [0x140241a14]
call fcn.140150d70
mov qword [0x1402d4c88], rax
jmp 0x1401b3db4
mov qword [0x1402d4c88], r15
jmp 0x1401b3db4
test r10, r10
jne 0x1401b4654
movzx edx, byte [rdi + 0x10]
dec rdx
jmp 0x1401b3dac
mov r14, qword [rsp + 0x60]
cmp byte [r14 + 0x61], r15b
jne 0x1401b4673
lea rdx, str.Safety_level_may_not_be_changed_inside_a_transaction
mov rcx, r12
call fcn.140151b10
jmp 0x1401b3db9
cmp dword [rsp + 0x6c], 1
je 0x1401b3db9
mov r8b, 1
xor edx, edx
mov rcx, r10
call fcn.1401b3130
inc eax
mov ecx, 1
and eax, 7
mov byte [rdi + 0x11], cl
cmove eax, ecx
mov rcx, r14
mov byte [rdi + 0x10], al
call fcn.1401b3680
jmp 0x1401b3db9
test r10, r10
jne 0x1401b46dc
mov rdx, rsi
mov rcx, rbx
call fcn.1401b3410
mov r14, qword [rsp + 0x60]
mov rcx, rbx
mov rax, qword [r14 + 0x30]
test qword [rsi + 0x10], rax
setne r15b
mov rdx, r15
call fcn.1401b34f0
jmp 0x1401b3db9
mov rdi, qword [rsi + 0x10]
mov rcx, r10
mov r14, qword [rsp + 0x60]
btr rdi, 0xe
cmp byte [r14 + 0x61], r15b
cmovne rdi, qword [rsi + 0x10]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.1401b3130
mov rdx, r14
mov rcx, qword [rdx + 0x30]
test al, al
je 0x1401b4716
or rcx, rdi
mov qword [rdx + 0x30], rcx
jmp 0x1401b4755
mov rax, rdi
not rax
and rax, rcx
mov qword [rdx + 0x30], rax
cmp rdi, 0x80000
jne 0x1401b4733
mov qword [rdx + 0x2f8], r15
test dil, 1
je 0x1401b4755
mov rcx, qword [rbp - 0x78]
lea rdx, str.reset
call fcn.140151c30
test eax, eax
jne 0x1401b4755
mov rcx, r14
call fcn.14019a320
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov edx, 0xa4
mov rcx, rbx
call fcn.140173790
mov rcx, r14
call fcn.1401b3680
jmp 0x1401b3db9
test r10, r10
je 0x1401b3db4
mov rdx, qword [rbp - 0x50]
mov rcx, r12
call fcn.1401a2400
mov r9, qword [rbp - 0x50]
mov edx, 2
mov r8, qword [rbp - 0x78]
mov rcx, r12
call fcn.140199960
mov qword [rsp + 0x78], rax
mov r14, rax
test rax, rax
je 0x1401b3db4
mov r13, qword [rax + 0x10]
mov dword [rsp + 0x70], r15d
test r13, r13
je 0x1401b47d8
mov ecx, dword [r13 + 0x64]
and cl, 3
cmp cl, 2
je 0x1401b47d8
mov r13, qword [r13 + 0x28]
test r13, r13
jne 0x1401b47c3
mov rdx, r14
mov dword [r12 + 0x38], 7
mov rcx, r12
call fcn.14019e640
movzx ecx, word [r14 + 0x36]
mov r12d, r15d
mov rdi, qword [r14 + 8]
mov qword [rbp - 0x48], rdi
cmp r15w, cx
jge 0x1401b3db4
mov r8d, 1
nop dword [rax]
movzx eax, word [rdi + 0x12]
mov r14d, r15d
test al, 0x62
je 0x1401b4846
cmp qword [rsi + 0x10], r14
jne 0x1401b482a
inc dword [rsp + 0x70]
jmp 0x1401b4928
test al, 0x20
je 0x1401b4836
mov r14d, 2
jmp 0x1401b4846
movzx r14d, al
and r14d, 0x40
or r14d, 0x20
shr r14d, 5
test al, 1
jne 0x1401b484f
mov esi, r15d
jmp 0x1401b487e
mov esi, r8d
test r13, r13
je 0x1401b487e
mov rdx, r8
cmp r8w, cx
jg 0x1401b487e
movsx r8, cx
mov rcx, qword [r13 + 8]
movsx eax, word [rcx]
cmp eax, r12d
je 0x1401b487e
inc esi
inc rdx
add rcx, 2
cmp rdx, r8
jle 0x1401b4868
mov rcx, qword [rsp + 0x78]
mov rdx, rdi
call fcn.14019a4b0
cmp r14d, 2
jae 0x1401b48a0
test rax, rax
je 0x1401b48a0
mov rax, qword [rax + 8]
mov qword [rbp - 0x60], rax
jmp 0x1401b48a4
mov qword [rbp - 0x60], r15
test byte [rdi + 8], 0xf
lea rdx, [0x14020e9cd]
mov rcx, qword [rbp - 0x48]
mov edi, r15d
setne dil
call fcn.140151910
mov rcx, qword [rbp - 0x30]
lea r8, str.issisi
mov dword [rsp + 0x48], r14d
mov r9d, r12d
sub r9d, dword [rsp + 0x70]
mov edx, 1
mov dword [rsp + 0x40], esi
cmp qword [rcx + 0x10], r15
lea rcx, str.issisii
cmovne r8, rcx
mov rcx, qword [rbp - 0x60]
mov qword [rsp + 0x38], rcx
mov rcx, rbx
mov dword [rsp + 0x30], edi
mov rdi, qword [rbp - 0x48]
mov qword [rsp + 0x28], rax
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.140173a10
mov rax, qword [rsp + 0x78]
mov r8d, 1
mov rsi, qword [rbp - 0x30]
movzx ecx, word [rax + 0x36]
add rdi, 0x18
movsx eax, cx
inc r12d
mov qword [rbp - 0x48], rdi
cmp r12d, eax
jl 0x1401b4810
jmp 0x1401b3db4
mov rdi, qword [rbp - 0x50]
mov edx, 6
mov dword [r12 + 0x38], edx
mov rcx, r12
mov rdx, rdi
call fcn.1401a2400
mov rdx, qword [rsp + 0x60]
mov dword [rsp + 0x68], r15d
cmp dword [rdx + 0x28], r15d
jle 0x1401b4ee0
mov r14, r15
mov qword [rbp - 0x30], r15
mov r12, 0xffffffffffffffff
nop
test rdi, rdi
je 0x1401b49ab
mov rax, qword [rdx + 0x20]
mov rdx, qword [r14 + rax]
test rdx, rdx
je 0x1401b4b64
mov rcx, rdi
call fcn.140151c30
mov rdx, qword [rsp + 0x60]
test eax, eax
jne 0x1401b4b69
mov rax, qword [rdx + 0x20]
mov rcx, qword [r14 + rax + 0x18]
add rcx, 8
mov esi, dword [rcx + 4]
test esi, esi
je 0x1401b4a6a
mov rbx, qword [rsp + 0x60]
nop dword [rax + rax]
mov rax, qword [rcx + 8]
dec esi
test rax, rax
je 0x1401b4a61
nop
mov r8, qword [rax + 0x10]
cmp word [r8 + 0x36], 0
je 0x1401b49f6
mov rax, qword [rax]
test rax, rax
jne 0x1401b49e0
jmp 0x1401b4a61
mov r8, qword [r8]
lea rdx, str.SELECTFROM__w_
mov rcx, rbx
call fcn.140150d40
mov rdi, rax
test rax, rax
je 0x1401b4a4c
lea rax, [rbp - 0x60]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov r8d, r12d
mov qword [rsp + 0x20], r15
mov rdx, rdi
mov qword [rbp - 0x60], r15
mov rcx, rbx
call fcn.1401b8650
mov rcx, qword [rbp - 0x60]
call fcn.140179190
mov rdx, rdi
mov rcx, rbx
call fcn.14014e640
mov rax, qword [rbx + 0x20]
mov rcx, qword [r14 + rax + 0x18]
add rcx, 8
test esi, esi
jne 0x1401b49d0
mov rbx, qword [rbp - 0x48]
mov rdx, qword [rsp + 0x60]
mov rdi, qword [rcx + 8]
mov qword [rbp - 0x60], rdi
test rdi, rdi
je 0x1401b4b89
mov r15, qword [rsp + 0x60]
mov rax, qword [rbp - 0x78]
mov r12, qword [rdi + 0x10]
test rax, rax
je 0x1401b4aaa
mov rdx, qword [r12]
test rdx, rdx
je 0x1401b4b49
mov rcx, rax
call fcn.140151c30
test eax, eax
jne 0x1401b4b45
movzx eax, byte [r12 + 0x3f]
cmp al, 2
jne 0x1401b4abd
lea r13, str.view
jmp 0x1401b4ae5
cmp al, 1
jne 0x1401b4aca
lea r13, str.virtual
jmp 0x1401b4ae5
test dword [r12 + 0x30], 0x1000
lea r13, str.shadow
lea rax, str.table
cmove r13, rax
mov r14d, dword [r12 + 0x30]
mov esi, r14d
mov rcx, qword [r12]
movsx edi, word [r12 + 0x36]
shr esi, 0x10
shr r14d, 7
and esi, 1
and r14d, 1
call fcn.140199ca0
mov r9, qword [r15 + 0x20]
lea r8, str.sssiii
mov dword [rsp + 0x40], esi
mov edx, 1
mov dword [rsp + 0x38], r14d
mov rcx, rbx
mov r14, qword [rbp - 0x30]
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
mov r9, qword [r14 + r9]
call fcn.140173a10
mov rdi, qword [rbp - 0x60]
mov rax, qword [rbp - 0x78]
mov rdi, qword [rdi]
mov qword [rbp - 0x60], rdi
test rdi, rdi
jne 0x1401b4a84
mov rdi, qword [rbp - 0x50]
xor r15d, r15d
lea r12, [r15 - 1]
mov rdx, qword [rsp + 0x60]
mov eax, dword [rsp + 0x68]
add r14, 0x20
inc eax
mov qword [rbp - 0x30], r14
mov dword [rsp + 0x68], eax
cmp eax, dword [rdx + 0x28]
jl 0x1401b4980
jmp 0x1401b3db4
mov rdi, qword [rbp - 0x50]
jmp 0x1401b4b69
test r10, r10
je 0x1401b3db4
mov r14, qword [rbp - 0x50]
mov rdx, r10
mov rcx, qword [rsp + 0x60]
mov r8, r14
call fcn.140199db0
mov rdi, rax
test rax, rax
jne 0x1401b4c01
mov r8, qword [rbp - 0x78]
lea edx, [rax + 2]
mov r9, r14
mov rcx, r12
call fcn.140199960
test rax, rax
je 0x1401b3db4
test byte [rax + 0x30], 0x80
je 0x1401b3db4
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x1401b3db4
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x1401b4bf8
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x1401b4be6
test rdi, rdi
je 0x1401b3db4
mov rcx, qword [rdi + 0x30]
mov r8, 0xffffffffffff8000
test rcx, rcx
je 0x1401b4c3c
mov rax, qword [rsp + 0x60]
mov r8d, r15d
mov rax, qword [rax + 0x20]
add rax, 0x18
cmp qword [rax], rcx
je 0x1401b4c3c
nop word [rax + rax]
inc r8d
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x1401b4c30
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1401b4c4b
movzx esi, word [rdi + 0x60]
jmp 0x1401b4c4f
movzx esi, word [rdi + 0x5e]
test rax, rax
mov edx, 6
mov ecx, 3
cmove edx, ecx
mov rcx, r12
mov dword [r12 + 0x38], edx
mov edx, r8d
mov rax, qword [rdi + 0x18]
mov qword [rbp - 0x70], rax
call fcn.1401a23d0
movzx r13d, si
mov r14d, r15d
test r13, r13
je 0x1401b3db4
mov rsi, r15
mov r10d, 1
mov rax, qword [rdi + 8]
movzx edx, word [rax + rsi*2]
test dx, dx
jns 0x1401b4ca2
mov rcx, r15
jmp 0x1401b4cb6
movsx rax, dx
lea rcx, [rax + rax*2]
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 8]
mov rcx, qword [rax + rcx*8]
movsx eax, dx
lea r8, str.iisX
mov qword [rsp + 0x28], rcx
mov edx, r10d
mov rcx, rbx
mov dword [rsp + 0x20], eax
mov r9d, r14d
call fcn.140173a10
mov rax, qword [rbp - 0x30]
cmp qword [rax + 0x10], r15
je 0x1401b4d1c
movzx eax, word [rdi + 0x5e]
lea r8, str.isiX
mov rcx, qword [rdi + 0x40]
cmp r14d, eax
mov rax, qword [rdi + 0x38]
mov edx, r15d
setl dl
mov dword [rsp + 0x28], edx
mov edx, 4
movzx r9d, byte [rax + rsi]
mov rax, qword [rcx + rsi*8]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140173a10
mov r9d, dword [r12 + 0x38]
mov edx, 0x52
mov rcx, rbx
mov dword [rsp + 0x20], r15d
lea r8d, [rdx - 0x51]
call fcn.140173790
inc r14d
inc rsi
mov r10d, 1
cmp rsi, r13
jl 0x1401b4c90
jmp 0x1401b3db4
test r10, r10
je 0x1401b3db4
mov r8, qword [rbp - 0x50]
mov rdx, r10
mov rcx, qword [rsp + 0x60]
call fcn.140199580
mov rdi, rax
test rax, rax
je 0x1401b3db4
mov rdx, qword [rax + 0x60]
mov r8, 0xffffffffffff8000
test rdx, rdx
je 0x1401b4dac
mov rax, qword [rsp + 0x60]
mov r8d, r15d
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x1401b4dac
nop dword [rax]
inc r8d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x1401b4da0
mov edx, r8d
mov dword [r12 + 0x38], 5
mov rcx, r12
call fcn.1401a23d0
mov rdi, qword [rdi + 0x10]
mov esi, r15d
test rdi, rdi
je 0x1401b3db4
mov r10d, 1
lea r14, [0x1402456e0]
lea r12, [0x1402456e4]
lea r13, [0x140244f04]
nop dword [rax + rax]
mov eax, dword [rdi + 0x64]
lea r8, str.isisi
mov edx, r15d
mov qword [rbp + 0x20], r14
cmp qword [rdi + 0x48], rdx
mov ecx, r15d
mov qword [rbp + 0x28], r12
mov r9d, esi
setne dl
mov qword [rbp + 0x30], r13
mov dword [rsp + 0x38], edx
and eax, 3
cmp byte [rdi + 0x62], cl
mov edx, r10d
setne cl
mov rax, qword [rbp + rax*8 + 0x20]
mov qword [rsp + 0x30], rax
mov rax, qword [rdi]
mov dword [rsp + 0x28], ecx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140173a10
mov rdi, qword [rdi + 0x28]
inc esi
mov r10d, 1
test rdi, rdi
jne 0x1401b4df0
jmp 0x1401b3db4
mov rdx, qword [rsp + 0x60]
mov ecx, 3
mov dword [r12 + 0x38], ecx
cmp dword [rdx + 0x28], r15d
jle 0x1401b4ee0
mov rdi, r15
lea r10d, [rcx - 2]
lea rsi, [0x1402119dc]
nop dword [rax]
mov rdx, qword [rdx + 0x20]
mov rax, qword [rdx + rdi + 8]
test rax, rax
je 0x1401b4ece
mov rax, qword [rax + 8]
mov rcx, qword [rax]
mov rax, rsi
cmp byte [rcx + 0x13], 0
jne 0x1401b4ea5
mov rax, qword [rcx + 0xd0]
mov qword [rsp + 0x28], rax
lea r8, [0x1402456dc]
mov rax, qword [rdx + rdi]
mov r9d, r15d
mov edx, r10d
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140173a10
mov r10d, 1
mov rdx, qword [rsp + 0x60]
inc r15d
add rdi, 0x20
cmp r15d, dword [rdx + 0x28]
jl 0x1401b4e80
mov r14, rdx
jmp 0x1401b3db9
mov r14, qword [rsp + 0x60]
mov dword [r12 + 0x38], 2
mov rdi, qword [r14 + 0x270]
test rdi, rdi
je 0x1401b3db9
mov r14d, 1
nop dword [rax]
mov rax, qword [rdi + 0x10]
lea r8, [0x1402456c8]
mov r9d, r15d
mov edx, r14d
mov rcx, qword [rax]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call fcn.140173a10
mov rdi, qword [rdi]
inc r15d
test rdi, rdi
jne 0x1401b4f10
jmp 0x1401b3db4
mov rax, qword [rsp + 0x60]
lea r14, [0x1406dd6b0]
mov edx, 6
mov qword [rbp - 0x60], r14
lea r15, [0x1406dd768]
mov esi, dword [rax + 0x2c]
shr esi, 5
and esi, 1
mov dword [r12 + 0x38], edx
nop dword [rax + rax]
mov rdi, qword [r14]
test rdi, rdi
je 0x1401b4f9e
mov r14d, 1
nop
mov r9d, esi
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.1401b3800
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x1401b4f80
mov r14, qword [rbp - 0x60]
add r14, 8
mov qword [rbp - 0x60], r14
cmp r14, r15
jl 0x1401b4f70
mov r14, qword [rsp + 0x60]
mov rdi, qword [r14 + 0x258]
test rdi, rdi
je 0x1401b3db9
mov rdx, qword [rdi + 0x10]
mov r9d, esi
xor r8d, r8d
mov rcx, rbx
call fcn.1401b3800
mov rdi, qword [rdi]
test rdi, rdi
jne 0x1401b4fc0
jmp 0x1401b3db9
mov r14, qword [rsp + 0x60]
mov dword [r12 + 0x38], 1
mov rdi, qword [r14 + 0x228]
test rdi, rdi
je 0x1401b3db9
mov r14d, 1
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdi + 0x10]
lea r8, [0x14022cb60]
mov edx, r14d
mov rcx, rbx
mov r9, qword [r9 + 8]
call fcn.140173a10
mov rdi, qword [rdi]
test rdi, rdi
jne 0x1401b5010
jmp 0x1401b3db4
lea rdi, str.analysis_limit
mov eax, 1
lea rsi, str.first_value
nop word [rax + rax]
mov r9, qword [rdi]
lea r8, [0x14022cb60]
mov edx, eax
mov rcx, rbx
call fcn.140173a10
add rdi, 0x18
mov eax, 1
cmp rdi, rsi
jl 0x1401b5050
jmp 0x1401b3db4
test r10, r10
je 0x1401b3db4
mov r8, qword [rbp - 0x50]
mov rdx, r10
mov rcx, qword [rsp + 0x60]
call fcn.140199580
mov qword [rbp - 0x70], rax
test rax, rax
je 0x1401b3db4
cmp byte [rax + 0x3f], r15b
jne 0x1401b3db4
mov rdi, qword [rax + 0x48]
test rdi, rdi
je 0x1401b3db4
mov rcx, qword [rax + 0x60]
mov r8, 0xffffffffffff8000
test rcx, rcx
je 0x1401b50ec
mov rax, qword [rsp + 0x60]
mov r8d, r15d
mov rax, qword [rax + 0x20]
add rax, 0x18
cmp qword [rax], rcx
je 0x1401b50ec
nop word [rax + rax]
inc r8d
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x1401b50e0
mov edx, r8d
mov dword [r12 + 0x38], 8
mov rcx, r12
mov r13d, r15d
call fcn.1401a23d0
mov r12, qword [rbp - 0x70]
lea r10, str.NONE
nop
cmp dword [rdi + 0x28], 0
mov esi, r15d
jle 0x1401b521c
lea r14, [rdi + 0x40]
mov r15d, 1
movzx ecx, byte [rdi + 0x2d]
sub ecx, 7
je 0x1401b5163
sub ecx, r15d
je 0x1401b515a
sub ecx, r15d
je 0x1401b5151
cmp ecx, r15d
je 0x1401b5148
lea r9, str.NO_ACTION
jmp 0x1401b516a
lea r9, str.CASCADE
jmp 0x1401b516a
lea r9, str.SET_DEFAULT
jmp 0x1401b516a
lea r9, str.SET_NULL
jmp 0x1401b516a
lea r9, str.RESTRICT
movzx ecx, byte [rdi + 0x2e]
sub ecx, 7
je 0x1401b51a6
sub ecx, r15d
je 0x1401b519d
sub ecx, r15d
je 0x1401b5194
cmp ecx, r15d
je 0x1401b518b
lea r8, str.NO_ACTION
jmp 0x1401b51ad
lea r8, str.CASCADE
jmp 0x1401b51ad
lea r8, str.SET_DEFAULT
jmp 0x1401b51ad
lea r8, str.SET_NULL
jmp 0x1401b51ad
lea r8, str.RESTRICT
movsxd rax, dword [r14]
mov rcx, qword [r12 + 8]
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x48], r9
mov r9d, r13d
mov qword [rsp + 0x40], r8
lea rdx, [rax + rax*2]
mov rax, qword [r14 + 8]
lea r8, str.iissssss
mov qword [rsp + 0x38], rax
mov rax, qword [rcx + rdx*8]
mov edx, r15d
mov qword [rsp + 0x30], rax
mov rcx, rbx
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
call fcn.140173a10
inc esi
lea r10, str.NONE
add r14, 0x10
cmp esi, dword [rdi + 0x28]
jl 0x1401b5127
xor r15d, r15d
lea r10, str.NONE
mov rdi, qword [rdi + 8]
inc r13d
test rdi, rdi
jne 0x1401b5110
jmp 0x1401b3db4
mov eax, dword [r12 + 0x38]
mov rdx, qword [rsp + 0x60]
shl r14, 5
lea ecx, [rax + 1]
add eax, 5
mov dword [rbp - 0x64], ecx
mov dword [rbp - 0x58], eax
lea r13d, [rax + 1]
mov dword [r12 + 0x38], r13d
mov rax, qword [rdx + 0x20]
mov dword [rbp - 0x68], r13d
mov rcx, qword [r14 + rax + 0x18]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1401b4ee0
mov rdi, qword [rbp - 0x50]
mov rax, 0xffffffffffff8000
test r10, r10
je 0x1401b52a2
mov r9, rdi
mov r8, r10
xor edx, edx
mov rcx, r12
call fcn.140199960
mov rdx, qword [rsp + 0x60]
mov r14, rax
mov rax, 0xffffffffffff8000
mov rcx, r15
jmp 0x1401b52a9
mov r14, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
mov qword [rsp + 0x78], r14
test r14, r14
je 0x1401b577d
cmp byte [r14 + 0x3f], r15b
jne 0x1401b577d
cmp qword [r14 + 0x48], r15
je 0x1401b577d
mov rcx, qword [r14 + 0x60]
mov esi, eax
mov rdi, rax
test rcx, rcx
je 0x1401b52fe
mov rax, qword [rdx + 0x20]
mov esi, r15d
add rax, 0x18
mov rdi, r15
cmp qword [rax], rcx
je 0x1401b52fe
inc esi
lea rax, [rax + 0x20]
inc rdi
cmp qword [rax], rcx
jne 0x1401b52f0
mov rax, qword [rdx + 0x20]
mov rcx, r12
shl rdi, 5
mov edx, esi
mov qword [rbp - 0x70], rdi
mov rax, qword [rdi + rax]
mov qword [rbp - 0x50], rax
call fcn.1401a23d0
cmp esi, 1
je 0x1401b534d
mov rax, qword [r12]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx + rdi + 8]
cmp byte [rax + 0x11], r15b
je 0x1401b534d
mov rax, qword [r14]
xor r9d, r9d
mov r8d, dword [r14 + 0x28]
mov edx, esi
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.140198db0
movsx ecx, word [r14 + 0x36]
add ecx, r13d
cmp ecx, dword [r12 + 0x38]
jle 0x1401b5361
mov dword [r12 + 0x38], ecx
mov r9, r14
mov dword [rsp + 0x20], 0x64
mov r8d, esi
xor edx, edx
mov rcx, r12
call fcn.1401acac0
mov r9d, dword [rbp - 0x64]
xor r8d, r8d
mov rdi, qword [r14]
mov rcx, rbx
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0x74]
call fcn.140173790
xor r9d, r9d
mov r8, rdi
mov edx, eax
mov rcx, rbx
call fcn.140174810
mov r14, qword [r14 + 0x48]
mov r13d, 1
test r14, r14
je 0x1401b54a9
nop word [rax + rax]
mov r8, qword [rbp - 0x50]
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x60]
call fcn.140199580
mov rdi, rax
test rax, rax
je 0x1401b5499
mov qword [rbp - 0x28], r15
cmp esi, 1
je 0x1401b5417
mov rcx, qword [r12]
mov rax, qword [rbp - 0x70]
mov rdx, qword [rcx + 0x20]
mov rcx, qword [rdx + rax + 8]
cmp byte [rcx + 0x11], r15b
je 0x1401b5417
mov rcx, qword [rdi]
xor r9d, r9d
mov r8d, dword [rdi + 0x28]
mov edx, esi
mov qword [rsp + 0x20], rcx
mov rcx, r12
call fcn.140198db0
lea r9, [rbp - 0x28]
mov qword [rsp + 0x20], r15
mov r8, r14
mov rdx, rdi
mov rcx, r12
call fcn.1401a9730
test eax, eax
jne 0x1401b3db4
mov rax, qword [rbp - 0x28]
test rax, rax
jne 0x1401b545a
mov r9, rdi
mov dword [rsp + 0x20], 0x64
mov r8d, esi
mov edx, r13d
mov rcx, r12
call fcn.1401acac0
jmp 0x1401b5499
mov r9d, dword [rax + 0x58]
mov r8d, r13d
mov edx, 0x64
mov dword [rsp + 0x20], esi
mov rcx, rbx
call fcn.140173790
mov rdx, qword [rbp - 0x28]
mov rcx, r12
mov rdi, qword [r12 + 0x10]
call fcn.1401a2c80
test rax, rax
je 0x1401b5499
mov r8d, 0xfffffff7
mov rdx, rax
mov rcx, rdi
call fcn.140174890
mov r14, qword [r14 + 8]
inc r13d
test r14, r14
jne 0x1401b53c0
cmp dword [r12 + 0x34], r13d
jge 0x1401b54b5
mov dword [r12 + 0x34], r13d
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x26]
call fcn.140173790
mov rsi, qword [rsp + 0x78]
mov edi, 1
mov r14d, eax
mov dword [rbp - 0x40], eax
mov dword [rsp + 0x70], edi
mov rsi, qword [rsi + 0x48]
test rsi, rsi
je 0x1401b574e
nop dword [rax]
mov r8, qword [rbp - 0x50]
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsp + 0x60]
call fcn.140199580
mov qword [rbp - 0x70], rax
mov rdx, r15
mov qword [rbp - 0x28], rdx
mov rcx, r15
mov qword [rbp - 0x38], rcx
test rax, rax
je 0x1401b553c
lea rcx, [rbp - 0x38]
mov r8, rsi
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x28]
mov rcx, r12
mov rdx, rax
call fcn.1401a9730
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x38]
dec dword [r12 + 0x44]
mov r9d, dword [rsi + 0x28]
mov r8d, dword [rbp - 0x68]
add r9d, r8d
mov r13d, dword [r12 + 0x44]
mov dword [rsp + 0x68], r13d
cmp r9d, dword [r12 + 0x38]
jle 0x1401b5562
mov dword [r12 + 0x38], r9d
mov r14d, dword [rsi + 0x28]
test r14d, r14d
jle 0x1401b55f8
mov edi, r8d
lea r13, [rsi + 0x40]
mov r14, r15
nop dword [rax]
lea rax, [rcx + r14]
test rcx, rcx
jne 0x1401b558c
mov rax, r13
mov r9d, dword [rax]
xor r8d, r8d
mov rdx, qword [rsp + 0x78]
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.14018dd00
mov r9d, dword [rsp + 0x68]
mov r8d, edi
mov edx, 0x32
mov dword [rsp + 0x20], r15d
mov rcx, rbx
call fcn.140173790
mov r12d, dword [rsi + 0x28]
inc edi
mov r8d, dword [rbp - 0x68]
mov eax, edi
sub eax, r8d
mov dword [rbp - 0x3c], r12d
add r13, 0x10
add r14, 4
cmp eax, r12d
jge 0x1401b55e3
mov rcx, qword [rbp - 0x38]
jmp 0x1401b5580
mov rdx, qword [rbp - 0x28]
mov r12, qword [rbp - 0x60]
mov r14d, dword [rbp - 0x3c]
mov r13d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x70]
test rdx, rdx
je 0x1401b5676
mov rcx, qword [rsp + 0x60]
call fcn.1401acc10
mov r9d, dword [rsi + 0x28]
mov rdi, rax
mov eax, dword [rbp - 0x58]
mov edx, 0x5f
mov r8d, dword [rbp - 0x68]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140173790
mov r9d, r14d
mov r8, rdi
mov edx, eax
mov rcx, rbx
call fcn.140174810
mov eax, dword [rbp - 0x58]
mov r9d, r13d
mov edi, dword [rsp + 0x70]
mov edx, 0x1f
mov r8d, edi
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.140173790
mov rcx, qword [rbx]
cmp byte [rcx + 0x63], r15b
jne 0x1401b56b3
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r15d
jmp 0x1401b56b3
cmp qword [rbp - 0x70], r15
je 0x1401b56b3
mov r9d, dword [rbx + 0x98]
mov edx, 0x20
mov dword [rsp + 0x20], r8d
add r9d, 2
mov r8d, edi
mov rcx, rbx
call fcn.140173790
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, r13d
mov rcx, rbx
lea edx, [r8 + 0xb]
call fcn.140173790
mov rax, qword [rsp + 0x78]
mov edx, 0x85
mov r14d, dword [rbp - 0x64]
mov rcx, rbx
mov dword [rsp + 0x20], r15d
test byte [rax + 0x30], 0x80
mov eax, 0x49
lea r9d, [r14 + 1]
cmovne edx, eax
xor r8d, r8d
call fcn.140173790
mov r9, qword [rsi + 0x10]
lea eax, [rdi - 1]
lea r8, [0x1402456c4]
mov dword [rsp + 0x20], eax
lea edx, [r14 + 2]
mov rcx, rbx
call fcn.140173a10
mov r9d, 4
mov dword [rsp + 0x20], r15d
mov r8d, r14d
mov rcx, rbx
lea edx, [r9 + 0x4e]
call fcn.140173790
mov edx, r13d
mov rcx, rbx
call fcn.140173f10
mov rdx, qword [rbp - 0x38]
test rdx, rdx
je 0x1401b5737
mov rcx, qword [rsp + 0x60]
call fcn.14014e640
mov rsi, qword [rsi + 8]
inc edi
mov dword [rsp + 0x70], edi
test rsi, rsi
jne 0x1401b54f0
mov r14d, dword [rbp - 0x40]
xor r8d, r8d
mov dword [rsp + 0x20], r15d
lea r9d, [r14 + 1]
mov rcx, rbx
lea edx, [r8 + 5]
call fcn.140173790
mov edx, r14d
mov rcx, rbx
call fcn.140174270
mov rcx, qword [rbp - 0x48]
mov r13d, dword [rbp - 0x68]
mov rdi, qword [rbp - 0x50]
test rcx, rcx
je 0x1401b3db4
mov rdx, qword [rsp + 0x60]
mov r10, qword [rbp - 0x78]
jmp 0x1401b5272
test r10, r10
je 0x1401b3db4
xor r8d, r8d
mov rcx, r10
lea edx, [r8 + 1]
call fcn.1401b3130
mov rcx, qword [rsp + 0x60]
test al, al
setne r15b
mov edx, r15d
call fcn.1401a9350
jmp 0x1401b3db4
cmp qword [r13], r15
mov edx, 6
mov r14d, dword [rsp + 0x6c]
mov r8d, 0x64
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x30], r15
mov dword [rbp - 0x68], r8d
movzx eax, byte [rax]
movzx eax, byte [rax + rcx + 0x2128a0]
mov byte [rbp - 0x80], al
mov rax, 0xffffffffffffffff
cmove r14d, eax
mov dword [r12 + 0x38], edx
mov dword [rsp + 0x6c], r14d
test r10, r10
je 0x1401b5865
lea rdx, [rbp - 0x68]
mov rcx, r10
call fcn.1401524b0
test eax, eax
je 0x1401b5831
mov r8d, dword [rbp - 0x68]
test r8d, r8d
jg 0x1401b5865
mov r8d, 0x64
mov dword [rbp - 0x68], r8d
jmp 0x1401b5865
test r14d, r14d
js 0x1401b584c
mov rax, qword [rsp + 0x60]
movsxd rcx, r14d
shl rcx, 5
mov rax, qword [rax + 0x20]
mov r9, qword [rcx + rax]
jmp 0x1401b584f
mov r9, r15
mov r8, qword [rbp - 0x78]
xor edx, edx
mov rcx, r12
call fcn.140199960
mov r8d, dword [rbp - 0x68]
mov qword [rbp - 0x30], rax
mov esi, 1
mov dword [rsp + 0x20], r15d
dec r8d
mov r9d, esi
mov rcx, rbx
lea edx, [rsi + 0x45]
call fcn.140173790
mov rdi, qword [rsp + 0x60]
lea r13, [0x1406dd660]
mov edx, r15d
mov dword [rbp - 0x3c], edx
cmp dword [rdi + 0x28], edx
jle 0x1401b64c4
nop dword [rax + rax]
mov esi, r15d
test r14d, r14d
js 0x1401b58b1
cmp edx, r14d
jne 0x1401b64a5
mov rax, qword [r12 + 0xa0]
mov rcx, r12
test rax, rax
cmovne rcx, rax
call fcn.1401a23b0
movsxd r14, dword [rbp - 0x3c]
mov ecx, r15d
mov rax, qword [rdi + 0x20]
shl r14, 5
mov r13, qword [r14 + rax + 0x18]
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x1401b64a0
mov r10, qword [rbp - 0x30]
nop dword [rax]
mov r8, qword [r9 + 0x10]
test r10, r10
je 0x1401b58fe
cmp r10, r8
jne 0x1401b5932
test byte [r8 + 0x30], 0x80
lea eax, [rcx + 1]
mov edx, r15d
cmovne eax, ecx
mov ecx, eax
mov rax, qword [r8 + 0x10]
test rax, rax
je 0x1401b592d
nop word [rax + rax]
mov rax, qword [rax + 0x28]
inc ecx
inc edx
test rax, rax
jne 0x1401b5920
cmp edx, esi
cmovg esi, edx
mov r9, qword [r9]
test r9, r9
jne 0x1401b58f0
test ecx, ecx
je 0x1401b64a0
lea eax, [rcx + 1]
test r10, r10
cmove eax, ecx
mov rcx, rdi
movsxd rdx, eax
lea rdx, [rdx*4 + 4]
call fcn.14014e9c0
mov rdi, rax
test rax, rax
je 0x1401b64b8
mov r11, qword [rbp - 0x30]
mov r9d, r15d
mov rdx, r15
mov r10d, 1
test r11, r11
je 0x1401b5989
mov r9d, r10d
mov dword [rax + 4], r15d
mov edx, r10d
mov r8, qword [r13 + 0x10]
test r8, r8
je 0x1401b59dd
mov rcx, qword [r8 + 0x10]
test r11, r11
je 0x1401b59a0
cmp r11, rcx
jne 0x1401b59d5
test byte [rcx + 0x30], 0x80
jne 0x1401b59b2
mov eax, dword [rcx + 0x28]
inc r9d
inc rdx
mov dword [rdi + rdx*4], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1401b59d5
nop dword [rax + rax]
mov eax, dword [rcx + 0x58]
inc rdx
inc r9d
mov dword [rdi + rdx*4], eax
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x1401b59c0
mov r8, qword [r8]
test r8, r8
jne 0x1401b5992
mov dword [rdi], r9d
lea eax, [rsi + 8]
mov ecx, dword [r12 + 0x38]
mov esi, 2
cmp ecx, eax
mov byte [r12 + 0x1f], r15b
mov r8d, esi
mov dword [r12 + 0x28], r15d
cmovle ecx, eax
mov dword [rsp + 0x20], r10d
mov dword [r12 + 0x38], ecx
mov edx, 0x99
mov rcx, rbx
call fcn.140173790
lea r9d, [rsi - 0x11]
mov r8, rdi
mov edx, eax
mov rcx, rbx
call fcn.140174810
movsxd rax, dword [rbx + 0x98]
test eax, eax
jle 0x1401b5a46
movzx edx, byte [rbp - 0x3c]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
mov word [rax + rcx*8 - 0x16], dx
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, esi
mov rcx, rbx
lea edx, [r9 + 0x32]
call fcn.140173790
mov esi, eax
lea rdx, str._in_database__s__n
mov rax, qword [rsp + 0x60]
mov rcx, rax
mov r8, qword [rax + 0x20]
mov r8, qword [r14 + r8]
call fcn.140150d40
mov r9d, 3
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, rbx
mov rdi, rax
lea edx, [r9 + 0x71]
call fcn.140173790
mov r9d, 0xfffffff9
mov r8, rdi
mov edx, eax
mov rcx, rbx
call fcn.140174810
mov edx, 0x6f
mov dword [rsp + 0x20], 3
mov rcx, rbx
lea r9d, [rdx - 0x6c]
lea r8d, [rdx - 0x6d]
call fcn.140173790
mov rcx, rbx
call fcn.1401b38f0
mov edx, esi
mov rcx, rbx
call fcn.140174270
mov r13, qword [r13 + 0x10]
mov qword [rbp - 0x70], r13
test r13, r13
je 0x1401b649b
nop dword [rax + rax]
mov r13, qword [r13 + 0x10]
mov qword [rbp - 0x10], r13
mov qword [rbp - 0x18], r15
mov dword [rbp - 0x40], 0xffffffff
cmp byte [r13 + 0x3f], r15b
jne 0x1401b6486
mov r10, qword [rbp - 0x30]
test r10, r10
je 0x1401b5b1f
cmp r10, r13
jne 0x1401b6486
test byte [r13 + 0x30], 0x80
jne 0x1401b5b2d
mov qword [rsp + 0x78], r15
jmp 0x1401b5b57
mov rsi, qword [r13 + 0x10]
mov qword [rsp + 0x78], rsi
test rsi, rsi
je 0x1401b5b57
nop dword [rax + rax]
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, 2
je 0x1401b5b52
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x1401b5b40
mov qword [rsp + 0x78], rsi
lea rax, [rsp + 0x70]
mov r14d, 1
mov qword [rsp + 0x38], rax
xor r9d, r9d
lea rax, [rbp - 0x38]
mov rdx, r13
mov qword [rsp + 0x30], rax
mov rcx, r12
mov qword [rsp + 0x28], r15
lea r8d, [r14 + 0x63]
mov dword [rsp + 0x20], r14d
call fcn.1401b1be0
lea r9d, [r14 + 6]
mov dword [rsp + 0x20], r15d
xor r8d, r8d
lea edx, [r14 + 0x45]
mov rcx, rbx
call fcn.140173790
mov rdi, qword [r13 + 0x10]
test rdi, rdi
je 0x1401b5bd4
mov esi, 8
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, esi
mov rcx, rbx
lea edx, [r8 + 0x46]
call fcn.140173790
mov rdi, qword [rdi + 0x28]
inc esi
test rdi, rdi
jne 0x1401b5bb2
mov r8d, dword [rbp - 0x38]
xor r9d, r9d
mov rcx, rbx
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 0x26]
call fcn.140173790
mov edx, 0x54
mov dword [rsp + 0x20], r15d
mov r9d, r14d
mov rcx, rbx
lea r8d, [rdx - 0x4d]
call fcn.140173790
cmp byte [rbp - 0x80], 0x71
mov dword [rbp - 0x50], eax
je 0x1401b5c4f
movsx r9d, word [r13 + 0x38]
mov edx, 0x5c
mov r8d, dword [rbp - 0x38]
dec r9d
mov rcx, rbx
mov dword [rsp + 0x20], 3
call fcn.140173790
movsxd rcx, dword [rbx + 0x98]
test ecx, ecx
jle 0x1401b5c4f
mov rax, qword [rbx + 0x90]
lea rcx, [rcx + rcx*2]
mov edx, 0x80
mov word [rax + rcx*8 - 0x16], dx
mov edi, r15d
mov dword [rsp + 0x68], r15d
cmp r15w, word [r13 + 0x36]
jge 0x1401b5ec4
movzx edx, word [r13 + 0x32]
and edx, r14d
mov qword [rbp - 0x48], r15
mov dword [rbp - 0x64], edx
mov r14, qword [rbp - 0x48]
add r14, qword [r13 + 8]
movsx eax, word [r13 + 0x34]
cmp edi, eax
je 0x1401b5eac
test byte [r14 + 8], 0xf
jne 0x1401b5ca4
test edx, edx
je 0x1401b5eac
dec dword [r12 + 0x44]
mov esi, dword [r12 + 0x44]
mov dword [rbp - 0x58], esi
jmp 0x1401b5cbb
test edx, edx
je 0x1401b5cb7
dec dword [r12 + 0x44]
mov esi, dword [r12 + 0x44]
mov dword [rbp - 0x58], esi
jmp 0x1401b5cbb
mov dword [rbp - 0x58], r15d
mov r8d, dword [rbp - 0x38]
mov esi, 3
mov r9d, edi
mov dword [rsp + 0x20], esi
mov rdx, r13
mov rcx, rbx
call fcn.14018dd00
mov rax, qword [rbx]
movsxd rdx, dword [rbx + 0x98]
cmp byte [rax + 0x63], r15b
je 0x1401b5cef
lea rax, [0x1406dd660]
jmp 0x1401b5d02
mov rax, qword [rbx + 0x90]
lea rcx, [rdx + rdx*2]
lea rax, [rax + rcx*8]
add rax, 0xffffffffffffffe8
cmp byte [rax], 0x5c
jne 0x1401b5d20
test edx, edx
jle 0x1401b5d20
mov rax, qword [rbx + 0x90]
lea rcx, [rdx + rdx*2]
mov edx, 0x80
mov word [rax + rcx*8 - 0x16], dx
test byte [r14 + 8], 0xf
je 0x1401b5dd1
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, esi
mov rcx, rbx
lea edx, [r9 + 0x33]
call fcn.140173790
mov r9, qword [r14]
lea rdx, str.NULL_value_in__s._s
mov r8, qword [r13]
mov esi, eax
mov rcx, qword [rsp + 0x60]
call fcn.140150d40
mov r9d, 3
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, rbx
mov rdi, rax
lea edx, [r9 + 0x71]
call fcn.140173790
mov r9d, 0xfffffff9
mov r8, rdi
mov edx, eax
mov rcx, rbx
call fcn.140174810
cmp dword [rbp - 0x64], r15d
je 0x1401b5db6
mov eax, dword [r14 + 8]
and al, 0xf0
cmp al, 0x10
je 0x1401b5db6
mov r9d, dword [rbp - 0x58]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0xb]
call fcn.140173790
jmp 0x1401b5dbe
mov rcx, rbx
call fcn.1401b38f0
mov edx, esi
mov rcx, rbx
call fcn.140174270
mov edi, dword [rsp + 0x68]
mov esi, 3
test dword [r13 + 0x30], 0x10000
je 0x1401b5ea9
mov eax, dword [r14 + 8]
shr eax, 4
and eax, 0xf
cmp eax, 1
je 0x1401b5ea9
dec eax
lea rdi, [0x140000000]
xor r9d, r9d
mov r8d, esi
mov rcx, rbx
movsx eax, byte [rax + rdi + 0x216154]
lea edx, [r9 + 0x15]
mov dword [rsp + 0x20], eax
call fcn.140173790
mov r8d, dword [r14 + 8]
mov esi, eax
mov rdx, qword [r13 + 8]
mov rax, qword [rbp - 0x48]
mov r9, qword [r13]
shr r8d, 4
and r8d, 0xf
mov rcx, qword [rdx + rax]
dec r8d
mov qword [rsp + 0x20], rcx
lea rdx, str.non__s_value_in__s._s
mov rcx, qword [rsp + 0x60]
mov r8, qword [rdi + r8*8 + 0x2c3af0]
call fcn.140150d40
mov r9d, 3
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, rbx
mov rdi, rax
lea edx, [r9 + 0x71]
call fcn.140173790
mov r9d, 0xfffffff9
mov r8, rdi
mov edx, eax
mov rcx, rbx
call fcn.140174810
mov edx, dword [rbp - 0x58]
mov rcx, rbx
call fcn.140173f10
mov rcx, rbx
call fcn.1401b38f0
mov edx, esi
mov rcx, rbx
call fcn.140174270
mov edi, dword [rsp + 0x68]
mov edx, dword [rbp - 0x64]
add qword [rbp - 0x48], 0x18
inc edi
movsx eax, word [r13 + 0x36]
mov dword [rsp + 0x68], edi
cmp edi, eax
jl 0x1401b5c71
mov rdx, qword [r13 + 0x20]
test rdx, rdx
je 0x1401b5fe8
mov rdi, qword [rsp + 0x60]
mov eax, dword [rdi + 0x30]
bt rax, 9
jb 0x1401b5fe8
xor r8d, r8d
mov rcx, rdi
call fcn.140189b50
mov rsi, rax
mov qword [rbp - 0x48], rax
cmp byte [rdi + 0x63], r15b
jne 0x1401b5fd8
mov r14d, dword [r12 + 0x44]
mov ecx, dword [rbp - 0x38]
inc ecx
mov dword [r12 + 0x40], ecx
lea eax, [r14 - 2]
mov dword [r12 + 0x44], eax
mov eax, dword [rsi]
dec eax
movsxd rdi, eax
test eax, eax
jle 0x1401b5f53
mov rax, rdi
shl rax, 5
add rax, 8
add rsi, rax
mov rdx, qword [rsi]
lea r8d, [r14 - 1]
xor r9d, r9d
mov rcx, r12
call fcn.140190250
dec rdi
lea rsi, [rsi - 0x20]
test rdi, rdi
jg 0x1401b5f31
mov rsi, qword [rbp - 0x48]
mov rdx, qword [rsi + 8]
lea r8d, [r14 - 2]
mov r9d, 0x10
mov rcx, r12
call fcn.14018fe40
lea edx, [r14 - 1]
mov rcx, rbx
call fcn.140173f10
mov rcx, qword [rsp + 0x60]
lea rdx, str.CHECK_constraint_failed_in__s
mov dword [r12 + 0x40], r15d
mov r8, qword [r13]
call fcn.140150d40
mov r9d, 3
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, rbx
mov rdi, rax
lea edx, [r9 + 0x71]
call fcn.140173790
mov r9d, 0xfffffff9
mov r8, rdi
mov edx, eax
mov rcx, rbx
call fcn.140174810
mov rcx, rbx
call fcn.1401b38f0
lea edx, [r14 - 2]
mov rcx, rbx
call fcn.140173f10
mov rdi, qword [rsp + 0x60]
test rsi, rsi
je 0x1401b5fe8
mov rdx, rsi
mov rcx, rdi
call fcn.14018a740
cmp byte [rbp - 0x80], 0x71
je 0x1401b6338
mov rsi, qword [r13 + 0x10]
mov r14d, r15d
mov dword [rsp + 0x68], r15d
test rsi, rsi
je 0x1401b6338
mov rax, qword [rsp + 0x78]
nop dword [rax]
mov edi, dword [r12 + 0x44]
dec edi
mov dword [r12 + 0x44], edi
cmp rax, rsi
je 0x1401b631f
mov eax, dword [rbp - 0x40]
xor r9d, r9d
mov r8d, dword [rbp - 0x38]
mov rdx, rsi
mov dword [rsp + 0x38], eax
mov rcx, r12
mov rax, qword [rbp - 0x18]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
call fcn.1401a5720
mov edx, 0x54
mov dword [rbp - 0x40], eax
lea r8d, [r14 + 8]
mov qword [rbp - 0x18], rsi
mov rcx, rbx
mov dword [rsp + 0x20], r15d
lea r9d, [rdx - 0x53]
call fcn.140173790
mov r8d, dword [rsp + 0x70]
mov r9d, edi
mov eax, dword [rbp - 0x40]
add r8d, r14d
movzx r13d, word [rsi + 0x60]
mov edx, 0x1f
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140173790
mov rcx, qword [rbx]
movsxd r14, eax
cmp byte [rcx + 0x63], r15b
jne 0x1401b60bb
mov rcx, qword [rbx + 0x90]
lea rdx, [r14 + r14*2]
mov byte [rcx + rdx*8 + 1], 0xfd
mov dword [rcx + rdx*8 + 0x10], r13d
mov r13d, 3
mov dword [rsp + 0x20], r15d
mov r9d, r13d
xor r8d, r8d
mov rcx, rbx
lea edx, [r13 + 0x71]
call fcn.140173790
xor r9d, r9d
lea r8, str.row
mov edx, eax
mov rcx, rbx
call fcn.140174810
mov r9d, r13d
mov dword [rsp + 0x20], r13d
lea edx, [r13 + 0x6c]
mov rcx, rbx
lea r8d, [r13 + 4]
call fcn.140173790
lea r9d, [r13 + 1]
mov dword [rsp + 0x20], r15d
xor r8d, r8d
lea edx, [r13 + 0x71]
mov rcx, rbx
call fcn.140173790
xor r9d, r9d
lea r8, str._missing_from_index
mov edx, eax
mov rcx, rbx
call fcn.140174810
mov r9d, r13d
mov dword [rsp + 0x20], r13d
lea edx, [r13 + 0x6c]
mov rcx, rbx
lea r8d, [r13 + 1]
call fcn.140173790
mov rdi, qword [rsi]
lea r9d, [r13 + 1]
xor r8d, r8d
mov dword [rsp + 0x20], r15d
lea edx, [r13 + 0x71]
mov rcx, rbx
call fcn.140173790
xor r9d, r9d
mov dword [rbp - 0x58], eax
mov r8, rdi
mov edx, eax
mov rcx, rbx
call fcn.140174810
mov r9d, r13d
mov dword [rsp + 0x20], r13d
lea edx, [r13 + 0x6c]
mov rcx, rbx
lea r8d, [r13 + 1]
call fcn.140173790
mov rcx, rbx
call fcn.1401b38f0
mov edx, r14d
mov dword [rbp - 0x64], eax
mov rcx, rbx
call fcn.140174270
cmp byte [rsi + 0x62], r15b
je 0x1401b62f9
dec dword [r12 + 0x44]
mov edi, r15d
mov r13d, dword [r12 + 0x44]
cmp r15w, word [rsi + 0x5e]
jae 0x1401b6220
mov r12, qword [rbp - 0x10]
mov r14, r15
nop dword [rax]
mov rax, qword [rsi + 8]
movzx ecx, word [r14 + rax]
test cx, cx
js 0x1401b61f2
movsx rax, cx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
test byte [rax + rcx*8 + 8], 0xf
jne 0x1401b620e
mov r8d, dword [rbp - 0x40]
mov r9d, r13d
add r8d, edi
mov dword [rsp + 0x20], r15d
mov edx, 0x32
mov rcx, rbx
call fcn.140173790
movzx eax, word [rsi + 0x5e]
inc edi
add r14, 2
cmp edi, eax
jl 0x1401b61d0
mov r12, qword [rbp - 0x60]
mov r8d, dword [rsp + 0x70]
xor r9d, r9d
mov r14d, dword [rsp + 0x68]
mov rcx, rbx
add r8d, r14d
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 5]
call fcn.140173790
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, r13d
mov rcx, rbx
mov edi, eax
lea edx, [r8 + 0xb]
call fcn.140173790
mov edx, edi
mov rcx, rbx
call fcn.140174270
mov r8d, dword [rsp + 0x70]
mov r9d, r13d
mov eax, dword [rbp - 0x40]
add r8d, r14d
movzx edi, word [rsi + 0x5e]
mov edx, 0x28
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140173790
mov rcx, qword [rbx]
cmp byte [rcx + 0x63], r15b
jne 0x1401b62a6
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], edi
mov r9d, 3
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x71]
call fcn.140173790
xor r9d, r9d
lea r8, str.non_unique_entry_in_index
mov edx, eax
mov rcx, rbx
call fcn.140174810
mov r9d, dword [rbp - 0x58]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0xb]
call fcn.140173790
mov edx, r13d
mov rcx, rbx
call fcn.140173f10
jmp 0x1401b62fe
mov r14d, dword [rsp + 0x68]
mov edx, dword [rbp - 0x64]
mov rcx, rbx
call fcn.140174270
mov edx, dword [rbp - 0x28]
test edx, edx
je 0x1401b631a
mov rcx, qword [r12 + 0x10]
call fcn.140173f10
mov rax, qword [rsp + 0x78]
mov rsi, qword [rsi + 0x28]
inc r14d
mov dword [rsp + 0x68], r14d
test rsi, rsi
jne 0x1401b6010
mov r13, qword [rbp - 0x10]
mov edi, dword [rbp - 0x50]
mov edx, 5
mov r8d, dword [rbp - 0x38]
mov r9d, edi
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.140173790
lea edx, [rdi - 1]
mov rcx, rbx
call fcn.140174270
cmp byte [rbp - 0x80], 0x71
je 0x1401b6486
mov r9d, 2
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x72]
call fcn.140173790
xor r9d, r9d
lea r8, str.wrong__of_entries_in_index
mov edx, eax
mov rcx, rbx
call fcn.140174810
mov rsi, qword [r13 + 0x10]
mov r14d, r15d
test rsi, rsi
je 0x1401b6486
mov rax, qword [rsp + 0x78]
mov r12d, 3
cmp rax, rsi
je 0x1401b6472
mov r8d, dword [rsp + 0x70]
mov r9d, r12d
add r8d, r14d
mov dword [rsp + 0x20], r15d
mov edx, 0x60
mov rcx, rbx
call fcn.140173790
xor r9d, r9d
mov dword [rsp + 0x20], r12d
lea r8d, [r14 + 8]
mov rcx, rbx
lea edx, [r9 + 0x35]
call fcn.140173790
movsxd rcx, dword [rbx + 0x98]
mov r13d, eax
test ecx, ecx
jle 0x1401b6413
lea rdx, [rcx + rcx*2]
mov eax, 0x90
mov rcx, qword [rbx + 0x90]
mov word [rcx + rdx*8 - 0x16], ax
mov rdi, qword [rsi]
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov rcx, rbx
lea edx, [r9 + 0x70]
call fcn.140173790
xor r9d, r9d
mov r8, rdi
mov edx, eax
mov rcx, rbx
call fcn.140174810
mov edx, 0x6f
mov dword [rsp + 0x20], r12d
mov rcx, rbx
lea r9d, [rdx - 0x6d]
lea r8d, [rdx - 0x6b]
call fcn.140173790
mov rcx, rbx
call fcn.1401b38f0
mov edx, r13d
mov rcx, rbx
call fcn.140174270
mov rax, qword [rsp + 0x78]
mov rsi, qword [rsi + 0x28]
inc r14d
test rsi, rsi
jne 0x1401b63b2
mov r12, qword [rbp - 0x60]
mov r13, qword [rbp - 0x70]
mov r13, qword [r13]
mov qword [rbp - 0x70], r13
test r13, r13
jne 0x1401b5af0
mov rdi, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x6c]
mov esi, dword [rbp - 0x3c]
inc esi
mov edx, esi
mov dword [rbp - 0x3c], esi
cmp esi, dword [rdi + 0x28]
jl 0x1401b58a0
mov esi, 1
lea r13, [0x1406dd660]
xor r9d, r9d
lea r8, [0x140216138]
mov rcx, rbx
lea edx, [r9 + 7]
call fcn.1401740f0
mov rdi, rax
test rax, rax
je 0x1401b650c
sub esi, dword [rbp - 0x68]
mov ecx, 0xb
mov dword [rax + 8], esi
mov byte [rax + 0x31], 0xff
lea rax, [0x14024579c]
mov qword [rdi + 0x40], rax
mov byte [rdi + 0x79], 0xff
call fcn.1401e8570
mov qword [rdi + 0x88], rax
mov rax, qword [rbx]
mov ecx, dword [rbx + 0x98]
cmp byte [rax + 0x63], r15b
jne 0x1401b6522
mov r13, qword [rbx + 0x90]
lea eax, [rcx - 2]
mov dword [r13 + 0xc], eax
jmp 0x1401b3db4
test r10, r10
jne 0x1401b6566
mov rcx, r12
call fcn.1401b7e00
test eax, eax
jne 0x1401b3db4
mov rax, qword [r12]
lea rdi, str.UTF8
mov rcx, rbx
movzx edx, byte [rax + 0x60]
add rdx, rdx
mov rdx, qword [rdi + rdx*8]
call fcn.1401b35c0
jmp 0x1401b3db4
mov r14, qword [rsp + 0x60]
test byte [r14 + 0x2c], 0x40
jne 0x1401b3db9
mov rax, qword [str.UTF8]
lea rdi, str.UTF8
test rax, rax
je 0x1401b65f5
nop dword [rax]
mov rdx, rax
mov rcx, r10
call fcn.140151c30
test eax, eax
je 0x1401b65b2
mov rax, qword [rdi + 0x10]
add rdi, 0x10
mov r10, qword [rbp - 0x78]
test rax, rax
jne 0x1401b6590
jmp 0x1401b65f5
movzx eax, byte [rdi + 8]
lea r8, [0x140212174]
test al, al
mov edx, 2
mov r10, r14
cmovne edx, eax
mov rax, qword [r14 + 0x20]
xor r9d, r9d
mov rcx, qword [rax + 0x18]
mov byte [rcx + 0x71], dl
mov rcx, r14
mov byte [r14 + 0x60], dl
call fcn.1401a3250
mov qword [r14 + 0x10], rax
cmp qword [rdi], r15
jne 0x1401b3db9
mov r10, qword [rbp - 0x78]
mov r8, r10
lea rdx, str.unsupported_encoding:__s
mov rcx, r12
call fcn.140151b10
jmp 0x1401b3db9
mov r14d, dword [rsp + 0x6c]
mov rcx, rbx
mov edi, dword [rsi + 0x10]
mov edx, r14d
call fcn.140174db0
mov r12, qword [rbp - 0x78]
test r12, r12
je 0x1401b6679
test byte [rsi + 9], 8
jne 0x1401b6679
xor r9d, r9d
lea r8, [0x140214498]
mov rcx, rbx
lea edx, [r9 + 2]
call fcn.1401740f0
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], r15d
mov rcx, r12
mov rbx, rax
mov dword [rax + 4], r14d
mov dword [rax + 0x1c], r14d
mov dword [rax + 0x20], edi
call fcn.1401524b0
mov ecx, dword [rsp + 0x68]
mov eax, 1
mov word [rbx + 0x1a], ax
mov dword [rbx + 0x24], ecx
jmp 0x1401b3db4
xor r9d, r9d
lea r8, [0x1402112e8]
mov rcx, rbx
lea edx, [r9 + 3]
call fcn.1401740f0
mov dword [rax + 4], r14d
mov dword [rax + 0x1c], r14d
mov dword [rax + 0x24], edi
and dword [rbx + 0xd0], 0xffffffdf
jmp 0x1401b3db4
cmp qword [r13], r15
mov esi, 0xc
mov r13d, 1
mov edi, r15d
cmovne esi, dword [rsp + 0x6c]
lea r14d, [r13 + 2]
test r10, r10
je 0x1401b670d
lea rdx, str.full
mov rcx, r10
call fcn.140151c30
test eax, eax
jne 0x1401b66de
mov edi, r13d
jmp 0x1401b670d
mov rcx, qword [rbp - 0x78]
lea rdx, str.restart
call fcn.140151c30
test eax, eax
jne 0x1401b66f7
lea edi, [rax + 2]
jmp 0x1401b670d
mov rcx, qword [rbp - 0x78]
lea rdx, str.truncate
call fcn.140151c30
test eax, eax
cmove edi, r14d
mov r9d, edi
mov dword [r12 + 0x38], r14d
mov r8d, esi
mov dword [rsp + 0x20], r13d
mov edx, 6
mov rcx, rbx
call fcn.140173790
mov r9d, r14d
mov dword [rsp + 0x20], r15d
mov r8d, r13d
mov edx, 0x52
mov rcx, rbx
call fcn.140173790
jmp 0x1401b3db4
lea rdi, [0x1401e8bc0]
test r10, r10
je 0x1401b6785
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], r15d
mov rcx, r10
call fcn.1401524b0
movsxd rax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
test eax, eax
jle 0x1401b677b
mov r8, rax
mov rdx, rdi
jmp 0x1401b6780
xor r8d, r8d
xor edx, edx
call fcn.1401e8cd0
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x168], rdi
jne 0x1401b3da9
mov r15d, dword [rax + 0x170]
jmp 0x1401b3da9
mov rcx, qword [rsp + 0x60]
call fcn.1401e7ab0
jmp 0x1401b3db4
test r10, r10
je 0x1401b67da
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], r15d
mov rcx, r10
call fcn.1401524b0
mov r13d, dword [rsp + 0x68]
test r13b, 2
je 0x1401b3db4
jmp 0x1401b67e0
mov r13d, 0xfffe
mov eax, dword [r12 + 0x34]
mov edx, dword [rsp + 0x6c]
mov dword [rsp + 0x68], eax
inc eax
mov dword [r12 + 0x34], eax
cmp qword [rbp - 0x50], r15
je 0x1401b67fe
mov eax, edx
jmp 0x1401b6808
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x28]
dec eax
movsxd rdi, eax
cmp r14, rdi
jg 0x1401b69c7
mov rsi, r14
sub rdi, r14
shl rsi, 5
inc rdi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x70], rdi
nop dword [rax]
cmp edx, 1
je 0x1401b69ab
mov rax, qword [r12 + 0xa0]
mov rcx, r12
test rax, rax
cmovne rcx, rax
call fcn.1401a23b0
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + 0x20]
mov rcx, qword [rsi + rax + 0x18]
mov r14, qword [rcx + 0x10]
test r14, r14
je 0x1401b69a7
nop dword [rax + rax]
mov rdi, qword [r14 + 0x10]
test dword [rdi + 0x30], 0x100
je 0x1401b6993
movzx esi, word [rdi + 0x3a]
mov rax, qword [rdi + 0x10]
add si, 0x2e
test rax, rax
je 0x1401b68a1
test byte [rax + 0x64], 0x80
je 0x1401b68ef
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401b6892
test si, si
je 0x1401b68ef
mov r8d, dword [rsp + 0x6c]
mov r9, rdi
mov edx, dword [rsp + 0x68]
mov rcx, r12
mov dword [rsp + 0x20], 0x64
call fcn.1401acac0
mov r9d, dword [rbx + 0x98]
mov ecx, r13d
mov r8d, dword [rsp + 0x68]
and ecx, 1
movsx edx, si
add r9d, 2
add r9d, ecx
mov dword [rsp + 0x20], edx
mov rcx, rbx
mov edx, 0x23
call fcn.140173790
mov rcx, qword [rsp + 0x60]
lea rdx, str.ANALYZE___w_.__w_
mov rax, qword [rbp - 0x60]
mov r9, qword [rdi]
mov r8, qword [rcx + 0x20]
mov r8, qword [rax + r8]
call fcn.140150d40
mov rsi, rax
test r13b, 1
je 0x1401b6968
mov rcx, r12
call fcn.140191670
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, eax
mov rcx, rbx
mov edi, eax
lea edx, [r8 + 0x74]
call fcn.140173790
mov r9d, 0xfffffff9
mov r8, rsi
mov edx, eax
mov rcx, rbx
call fcn.140174810
mov r9d, 1
mov dword [rsp + 0x20], r15d
mov r8d, edi
mov rcx, rbx
lea edx, [r9 + 0x51]
call fcn.140173790
jmp 0x1401b6993
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov edx, 0x92
mov rcx, rbx
call fcn.140173790
mov r9d, 0xfffffff9
mov r8, rsi
mov edx, eax
mov rcx, rbx
call fcn.140174810
mov r14, qword [r14]
test r14, r14
jne 0x1401b6870
mov rsi, qword [rbp - 0x60]
mov rdi, qword [rbp - 0x70]
mov edx, dword [rsp + 0x6c]
inc edx
add rsi, 0x20
sub rdi, 1
mov dword [rsp + 0x6c], edx
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x60], rsi
jne 0x1401b6830
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov edx, 0xa4
mov rcx, rbx
call fcn.140173790
jmp 0x1401b3db4
test r10, r10
je 0x1401b6a02
lea rdx, [rbp - 0x70]
mov rcx, r10
call fcn.1401523b0
test eax, eax
jne 0x1401b6a02
mov rcx, qword [rbp - 0x70]
call fcn.14014e1d0
mov rcx, 0xffffffffffffffff
call fcn.14014e1d0
mov rdx, rax
jmp 0x1401b3dac
mov rdi, 0xffffffffffffffff
test r10, r10
je 0x1401b6a52
lea rdx, [rbp - 0x70]
mov rcx, r10
call fcn.1401523b0
test eax, eax
jne 0x1401b6a52
mov rcx, rdi
call fcn.14014e2b0
mov rcx, qword [rbp - 0x70]
test rcx, rcx
jle 0x1401b6a52
test rax, rax
je 0x1401b6a4d
cmp rax, rcx
jle 0x1401b6a52
call fcn.14014e2b0
mov rcx, rdi
call fcn.14014e2b0
mov rdx, rax
jmp 0x1401b3dac
test r10, r10
je 0x1401b6a98
lea rdx, [rbp - 0x70]
mov rcx, r10
call fcn.1401523b0
test eax, eax
jne 0x1401b6a98
mov rax, qword [rbp - 0x70]
test rax, rax
js 0x1401b6a98
mov rcx, qword [rsp + 0x60]
mov r8d, 0x7fffffff
and r8d, eax
mov edx, 0xb
call fcn.1401e92a0
mov rcx, qword [rsp + 0x60]
mov edx, 0xb
lea r8d, [rdx - 0xc]
call fcn.1401e92a0
movsxd rdx, eax
jmp 0x1401b3dac
test r10, r10
je 0x1401b6ae3
lea rdx, [rbp - 0x70]
mov rcx, r10
call fcn.1401523b0
test eax, eax
jne 0x1401b6ae3
mov rax, qword [rbp - 0x70]
test rax, rax
js 0x1401b6ae3
mov rcx, qword [rsp + 0x60]
mov esi, 0x7fffffff
and eax, esi
mov dword [rcx + 0x2e0], eax
mov rax, qword [rsp + 0x60]
movsxd rdx, dword [rax + 0x2e0]
jmp 0x1401b3dac
test r10, r10
je 0x1401b6b52
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], r15d
mov rcx, r10
call fcn.1401524b0
mov edi, dword [rsp + 0x68]
test edi, edi
jle 0x1401b6b43
mov r8, qword [rsp + 0x60]
lea rdx, [0x1401e85c0]
mov rcx, r8
call fcn.1401e8640
mov r14, qword [rsp + 0x60]
mov rcx, rbx
movsxd rdx, edi
mov dword [r14 + 0x2e4], edi
call fcn.1401b34f0
jmp 0x1401b3db9
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
xor edx, edx
call fcn.1401e8640
mov r14, qword [rsp + 0x60]
mov rcx, rbx
movsxd rdx, dword [r14 + 0x2e4]
call fcn.1401b34f0
jmp 0x1401b3db9