Function at 0x14017b0d0
Capabilities:
Encrypt data using speck
Reference sql statements

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x290]
sub rsp, 0x390
mov rax, qword [0x1402b0310]
xor rax, rsp
mov qword [rbp + 0x258], rax
mov rax, qword [rcx + 0x90]
xor r14d, r14d
mov rdi, qword [rcx]
mov r13, rcx
mov qword [rsp + 0x50], rax
mov r12d, r14d
mov qword [rsp + 0x38], rax
mov r15d, r14d
xor al, al
mov qword [rbp - 0x78], rcx
mov byte [rsp + 0x79], al
movzx eax, byte [rdi + 0x60]
mov byte [rsp + 0x48], al
mov rax, qword [rcx + 0x70]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x70], r14d
mov qword [rsp + 0x58], r14
call fcn.140174df0
cmp qword [rdi + 0x208], r12
je 0x14017b17c
mov ecx, dword [rdi + 0x218]
xor edx, edx
mov eax, dword [r13 + 0xec]
div ecx
sub ecx, edx
mov esi, ecx
jmp 0x14017b183
mov rsi, 0xffffffffffffffff
cmp dword [r13 + 0x38], 7
mov r11d, 1
movaps xmmword [rsp + 0x380], xmm6
movaps xmmword [rsp + 0x370], xmm7
movaps xmmword [rsp + 0x360], xmm8
mov qword [rsp + 0x60], rsi
je 0x1401813f1
mov dword [r13 + 0x38], r14d
mov qword [r13 + 0x50], r14
mov qword [r13 + 0xa8], r14
mov eax, dword [rdi + 0x198]
mov dword [rdi + 0x290], r14d
test eax, eax
jne 0x14018137d
movsxd rax, dword [r13 + 0x34]
mov edx, 0x2400
mov r10, qword [rsp + 0x50]
xorps xmm8, xmm8
lea rcx, [rax + rax*2]
lea r15, [r10 + rcx*8]
inc qword [rsp + 0x58]
mov r9d, 8
movzx ebx, byte [r15]
mov qword [rsp + 0x38], r15
lea r8d, [r9 + 0x78]
cmp ebx, 0xb0
ja case.0x14017b228.87
lea rsi, [0x140000000]
movsxd rax, ebx
mov ecx, dword [rsi + rax*4 + 0x1815ac]
add rcx, rsi
jmp rcx
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
sub rcx, r10
imul r8, rax, 0x38
mov eax, 4
add r8, qword [rsp + 0x68]
mov word [r8 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8], rax
jmp 0x14017c9f1
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
add rdx, qword [rsp + 0x68]
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov word [rdx + 8], r8w
lea r15, [r10 + rcx*8]
mov edx, 0x2400
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x38]
add rcx, qword [rsp + 0x68]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 8], ax
cmp dword [r15 + 8], 0
jne 0x140180646
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
add rdx, qword [rsp + 0x68]
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov eax, dword [r10 + rcx*8 + 8]
dec eax
cdqe
jmp 0x14017b283
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
sub rbx, r10
imul r8, rax, 0x38
mov eax, 4
add r8, qword [rsp + 0x68]
movsxd rcx, dword [r8]
mov word [r8 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8], rax
jmp 0x14017b28c
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x68]
test byte [rcx + rax + 8], 1
je 0x14017ca15
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r10
imul rcx
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 4]
test ecx, ecx
jne 0x140180d16
mov rdx, qword [r13 + 0x108]
test rdx, rdx
je 0x140180d16
mov rax, qword [rdx + 8]
mov rcx, rdx
dec dword [r13 + 0x118]
mov qword [r13 + 0x108], rax
mov rax, qword [r13 + 0x40]
add qword [rdi + 0x80], rax
mov qword [rdi + 0x78], rax
call fcn.140175cf0
mov r15, qword [rsp + 0x38]
mov r10, qword [r13 + 0x90]
mov qword [rsp + 0x50], r10
cmp dword [r15 + 8], 4
jne 0x14017b412
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [r10 + rcx*8 + 8]
dec eax
mov rcx, qword [r13 + 0x70]
mov edx, 0x2400
cdqe
mov r11d, 1
mov qword [rsp + 0x68], rcx
lea rcx, [rax + rax*2]
lea r15, [r10 + rcx*8]
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x70]
test word [rcx + 8], dx
je 0x14017b490
call fcn.14017b070
mov r10, qword [rsp + 0x50]
mov rcx, rax
mov rax, qword [rsp + 0x38]
mov edx, 0x2400
mov r15, qword [rsp + 0x38]
mov r11d, 1
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov r15, qword [rsp + 0x38]
mov eax, 4
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
mov r15d, 0x2400
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r15w
je 0x14017b502
mov rcx, rdx
call fcn.14017b070
mov r10, qword [rsp + 0x50]
mov rdx, rax
mov rax, qword [rsp + 0x38]
mov r11d, 1
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14017ca10
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14017ca10
mov rax, qword [rsp + 0x38]
mov r15d, 0x2400
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r15w
je 0x14017b557
mov rcx, rdx
call fcn.14017b070
mov r10, qword [rsp + 0x50]
mov r9d, 8
mov rdx, rax
lea r11d, [r9 - 7]
mov rax, qword [rsp + 0x38]
mov word [rdx + 8], r9w
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14017ca10
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x70]
test word [rbx + 8], dx
je 0x14017b599
mov rcx, rbx
call fcn.14017b070
mov rcx, qword [rsp + 0x38]
mov rbx, rax
jmp 0x14017b5a2
mov eax, 4
mov word [rbx + 8], ax
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x14017b5b0
mov eax, r14d
jmp 0x14017b5c5
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x14017b5b7
and eax, 0x3fffffff
movzx esi, byte [rsp + 0x48]
mov dword [rcx + 4], eax
cmp sil, 1
je 0x14017b662
mov r9b, 1
mov qword [rsp + 0x20], r14
mov r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.140172740
mov dword [rsp + 0x30], eax
mov r12d, eax
test eax, eax
jne 0x140181133
test byte [rbx + 8], 2
je 0x14017b61d
cmp byte [rbx + 0xa], sil
je 0x14017b61d
movzx edx, sil
mov rcx, rbx
call fcn.140151320
test eax, eax
jne 0x1401813a0
mov eax, 0x800
mov dword [rbx + 0x20], r14d
or word [rbx + 8], ax
mov rax, qword [rsp + 0x38]
cmp byte [rax + 1], 0xf9
jne 0x14017b64b
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14017b64b
mov rcx, rdi
call fcn.14014e640
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
mov byte [rax + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rcx + 4], eax
cmp eax, dword [rdi + 0x88]
jg 0x140181133
mov byte [rcx], 0x48
jmp 0x14017b67d
mov rcx, qword [rsp + 0x38]
movzx esi, byte [rsp + 0x48]
movsxd rax, dword [rcx + 8]
mov r15d, 0x2400
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r15w
je 0x14017b6a6
mov rcx, rdx
call fcn.14017b070
mov rcx, qword [rsp + 0x38]
mov rdx, rax
mov eax, 0xa02
mov word [rdx + 8], ax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [rcx + 4]
mov dword [rdx + 0xc], eax
mov rax, qword [rsp + 0x38]
mov byte [rdx + 0xa], sil
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x14017c17f
mov r8, qword [rsp + 0x68]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
cmp qword [rcx + r8], rax
jne 0x14017c17f
mov eax, 0xa10
mov word [rdx + 8], ax
mov edx, 0x2400
mov r10, qword [rsp + 0x50]
mov r15, qword [rsp + 0x38]
mov r11d, 1
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x70]
test word [rcx + 8], dx
je 0x14017b748
call fcn.14017b070
mov rcx, rax
mov edx, 0x2400
mov r11d, 1
jmp 0x14017b751
mov eax, 4
mov word [rcx + 8], ax
cmp dword [rbx + 4], 0
mov esi, r11d
mov edi, dword [rbx + 0xc]
mov r8d, 0x101
mov eax, dword [rbx + 8]
cmovne si, r8w
sub edi, eax
mov word [rcx + 8], si
mov dword [rcx + 0xc], r14d
lea rbx, [rcx + 8]
test edi, edi
jle 0x140180bcc
nop
test word [rbx + 0x38], dx
lea rbx, [rbx + 0x38]
je 0x14017b798
lea rcx, [rbx - 8]
call fcn.140171e90
mov edx, 0x2400
dec edi
mov word [rbx], si
mov dword [rbx + 4], r14d
test edi, edi
jg 0x14017b780
mov rdi, qword [rsp + 0x40]
mov r11d, 1
mov r10, qword [rsp + 0x50]
mov r15, qword [rsp + 0x38]
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, qword [rsp + 0x68]
and word [rcx + 8], ax
or word [rcx + 8], 1
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x70]
test word [rbx + 8], dx
je 0x14017b823
mov rcx, rbx
call fcn.14017b070
mov rbx, rax
jmp 0x14017b82c
mov eax, 4
mov word [rbx + 8], ax
mov rax, qword [rsp + 0x38]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], r14
movsxd r8, dword [rax + 4]
mov rdx, qword [rax + 0x10]
call fcn.140172740
movzx eax, byte [rsp + 0x48]
mov byte [rbx + 0xa], al
jmp 0x14017b6f7
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x88]
lea rcx, [rdi - 0x38]
call fcn.1401725f0
test eax, eax
jne 0x140181126
movsxd rax, dword [rbx + 8]
mov r15d, 0x2400
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
test word [rbx + 8], r15w
je 0x14017b89d
mov rcx, rbx
call fcn.140171e90
movups xmm0, xmmword [rdi - 0x38]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi - 0x28]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov rcx, qword [rsp + 0x38]
mov r15d, 0x2400
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, qword [rsp + 0x68]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
test word [rbx + 8], r15w
jne 0x14017b905
cmp dword [rbx + 0x20], 0
je 0x14017b913
mov rcx, rbx
call fcn.140171ee0
mov r11d, 1
movups xmm0, xmmword [rdi]
mov eax, 0x1000
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 8], r11w
mov dword [rdi + 0x20], r14d
test word [rbx + 8], ax
je 0x14017b95b
mov rcx, rbx
call fcn.140171a60
test eax, eax
jne 0x14018139b
lea r11d, [rax + 1]
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x14017b8f8
mov r10, qword [rsp + 0x50]
jmp 0x14017ca0b
mov r12, qword [rsp + 0x38]
mov r14d, 0x1000
movsxd rax, dword [r12 + 4]
mov esi, dword [r12 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 8]
add rdi, qword [rsp + 0x68]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
nop
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.140172660
test word [rbx + 8], r14w
je 0x14017b9c5
mov rcx, rbx
call fcn.140171a60
test eax, eax
jne 0x1401810c9
mov eax, esi
dec esi
test eax, eax
je 0x140180bcc
add rbx, 0x38
add rdi, 0x38
jmp 0x14017b9a0
mov rcx, qword [rsp + 0x38]
mov r8d, 0x1000
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdx, qword [rsp + 0x68]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
call fcn.140172660
jmp 0x14017b6f7
mov rcx, qword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r14
mov rax, qword [rcx + r14]
test word [r8 + 8], dx
je 0x14017ba42
mov rdx, rax
mov rcx, r8
call fcn.140172480
jmp 0x14017b6f7
mov r15, qword [rsp + 0x38]
mov qword [r8], rax
mov eax, 4
mov word [r8 + 8], ax
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rbx, qword [rsp + 0x38]
mov r10, qword [rsp + 0x68]
movsxd rax, dword [rbx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 0xc]
add r15, r10
imul rbx, rax, 0x38
movzx r14d, word [r15 + 8]
add rdi, r10
add rbx, r10
movzx eax, byte [rdi + 8]
or al, r14b
test al, 1
je 0x14017badb
test word [rbx + 8], dx
je 0x14017bab7
mov rcx, rbx
call fcn.140171e90
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov rdi, qword [rsp + 0x40]
mov word [rbx + 8], r11w
mov r10, qword [rsp + 0x50]
mov r15, qword [rsp + 0x38]
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
test r14b, 0x12
jne 0x14017bb13
movzx r12d, byte [rsp + 0x48]
xor r8d, r8d
movzx edx, r12b
mov rcx, r15
call fcn.140171b20
test eax, eax
jne 0x14018139b
movzx r14d, word [r15 + 8]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
jmp 0x14017bb47
mov eax, 0x4000
test ax, r14w
je 0x14017bb41
mov rcx, r15
call fcn.140171ac0
test eax, eax
jne 0x14018139b
movzx r14d, word [r15 + 8]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
movzx r12d, byte [rsp + 0x48]
movzx esi, word [rdi + 8]
test sil, 0x12
jne 0x14017bb62
xor r8d, r8d
movzx edx, r12b
mov rcx, rdi
call fcn.140171b20
jmp 0x14017bb6f
test ax, si
je 0x14017bb83
mov rcx, rdi
call fcn.140171ac0
test eax, eax
jne 0x14018139b
movzx esi, word [rdi + 8]
mov eax, 0xfffd
and si, ax
mov r8, qword [rsp + 0x40]
mov r13d, dword [rdi + 0xc]
add r13d, dword [r15 + 0xc]
movsxd r12, r13d
movsxd rax, dword [r8 + 0x88]
cmp r12, rax
jg 0x14018111d
xor eax, eax
lea edx, [r13 + 3]
mov r8d, eax
cmp rbx, rdi
mov rcx, rbx
sete r8b
call fcn.140171860
test eax, eax
jne 0x1401813e5
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], 2
cmp rbx, rdi
je 0x14017bbeb
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call sub.VCRUNTIME140.dll_memcpy
mov word [rdi + 8], si
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [r15 + 0xc]
mov rdx, qword [r15 + 0x10]
call sub.VCRUNTIME140.dll_memcpy
mov word [r15 + 8], r14w
mov rax, qword [rbx + 0x10]
mov byte [r12 + rax], 0
mov rax, qword [rbx + 0x10]
mov byte [r12 + rax + 1], 0
mov rax, qword [rbx + 0x10]
mov byte [r12 + rax + 2], 0
mov eax, 0x200
or word [rbx + 8], ax
movzx eax, byte [rsp + 0x48]
mov byte [rbx + 0xa], al
mov dword [rbx + 0xc], r13d
mov r12d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x68]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r13
mov rcx, rdi
call fcn.14017b050
movzx ebx, ax
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 8]
imul rsi, rcx, 0x38
add rsi, r13
mov rcx, rsi
call fcn.14017b050
mov r15, qword [rsp + 0x38]
and al, bl
movsxd rcx, dword [r15 + 0xc]
imul r14, rcx, 0x38
movzx ecx, word [rsi + 8]
or cx, word [rdi + 8]
add r14, r13
test al, 4
je 0x14017bd9b
movzx ecx, byte [r15]
mov rdx, qword [rsi]
mov r8, qword [rdi]
mov qword [rbp - 0x30], rdx
sub ecx, 0x6a
je 0x14017bd3d
sub ecx, 1
je 0x14017bd2b
sub ecx, 1
je 0x14017bd19
cmp ecx, 1
je 0x14017bced
test r8, r8
je 0x14017be7c
cmp r8, 0xffffffffffffffff
mov rax, rdx
mov ecx, 1
cqo
cmove r8, rcx
idiv r8
mov qword [rbp - 0x30], rdx
jmp 0x14017bd7e
test r8, r8
je 0x14017be7c
cmp r8, 0xffffffffffffffff
jne 0x14017bd0f
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14017bda4
mov rax, rdx
cqo
idiv r8
jmp 0x14017bd7a
mov rdx, r8
lea rcx, [rbp - 0x30]
call fcn.140152c10
test eax, eax
jne 0x14017bda4
jmp 0x14017bd7e
mov rdx, r8
lea rcx, [rbp - 0x30]
call fcn.140152ba0
test eax, eax
jne 0x14017bda4
jmp 0x14017bd7e
test r8, r8
js 0x14017bd5b
test rdx, rdx
jle 0x14017bd76
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x14017bd76
jmp 0x14017bda4
test rdx, rdx
jns 0x14017bd76
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jg 0x14017bda4
lea rax, [rdx + r8]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x30]
mov ecx, 0x3e40
mov qword [r14], rax
movzx eax, word [r14 + 8]
and ax, cx
or ax, 4
jmp 0x14017be52
test cl, 1
jne 0x14017be7c
mov rcx, rdi
call fcn.1401720a0
mov rcx, rsi
movaps xmm7, xmm0
call fcn.1401720a0
movzx ecx, byte [r15]
movaps xmm6, xmm0
sub ecx, 0x6a
je 0x14017be29
sub ecx, 1
je 0x14017be23
sub ecx, 1
je 0x14017be1d
cmp ecx, 1
je 0x14017be0e
mov rcx, rdi
call fcn.140172040
mov rcx, rsi
mov rbx, rax
call fcn.140172040
mov qword [rbp - 0x30], rax
test rbx, rbx
je 0x14017be7c
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
xorps xmm6, xmm6
cmove rbx, rcx
idiv rbx
cvtsi2sd xmm6, rdx
jmp 0x14017be2d
ucomisd xmm7, xmm8
jp 0x14017be17
je 0x14017be7c
divsd xmm6, xmm7
jmp 0x14017be2d
mulsd xmm6, xmm7
jmp 0x14017be2d
subsd xmm6, xmm7
jmp 0x14017be2d
addsd xmm6, xmm7
movaps xmm0, xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dclass]
cmp ax, 2
je 0x14017be7c
movzx eax, word [r14 + 8]
mov ecx, 0x3e40
and ax, cx
movsd qword [r14], xmm6
or ax, 8
mov word [r14 + 8], ax
mov rdi, qword [rsp + 0x40]
mov edx, 0x2400
mov r10, qword [rsp + 0x50]
mov r11d, 1
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov edx, 0x2400
test word [r14 + 8], dx
je 0x14017be92
mov rcx, r14
call fcn.140171e90
jmp 0x14017be57
mov rdi, qword [rsp + 0x40]
mov r11d, 1
mov r10, qword [rsp + 0x50]
mov word [r14 + 8], r11w
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x14017ca15
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
test word [rcx + 8], dx
je 0x14017bee3
xor edx, edx
call fcn.140172480
jmp 0x14017b6f7
mov r15, qword [rsp + 0x38]
mov eax, 4
mov word [rcx + 8], ax
mov qword [rcx], r14
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rcx, qword [rsp + 0x38]
mov r13, qword [rsp + 0x68]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x38]
add rdi, r13
add rcx, r13
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
movzx eax, byte [rcx + 8]
or al, byte [rdi + 8]
add rsi, r13
test al, 1
je 0x14017bf76
test word [rsi + 8], dx
je 0x14017bf57
mov rcx, rsi
call fcn.140171e90
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov word [rsi + 8], r11w
mov rdi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x38]
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
call fcn.140172040
mov rcx, rdi
mov rbx, rax
call fcn.140172040
mov r15, qword [rsp + 0x38]
mov rcx, rax
movzx edx, byte [r15]
cmp dl, 0x66
jne 0x14017bf9c
and rbx, rax
jmp 0x14017c010
cmp dl, 0x67
jne 0x14017bfa6
or rbx, rcx
jmp 0x14017c010
test rcx, rcx
je 0x14017c010
jns 0x14017bfc0
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x14017bfc6
neg rcx
cmp rcx, 0x40
jl 0x14017bfde
test rbx, rbx
jns 0x14017bfd9
cmp dl, 0x68
je 0x14017bfd9
mov rbx, 0xffffffffffffffff
jmp 0x14017c010
mov rbx, r14
jmp 0x14017c010
cmp dl, 0x68
jne 0x14017bfeb
shl rbx, cl
mov r8, rbx
jmp 0x14017c00d
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14017c00d
mov eax, 0x40
mov rdx, 0xffffffffffffffff
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0x3e40
mov qword [rsi], rbx
and word [rsi + 8], ax
or word [rsi + 8], 4
jmp 0x14017be57
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.140172040
mov r15, qword [rsp + 0x38]
mov ecx, 0x3e40
and word [rbx + 8], cx
or word [rbx + 8], 4
mov qword [rbx], rax
movsxd rcx, dword [r15 + 8]
add rcx, rax
mov qword [rbx], rcx
jmp 0x14017be5c
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
movzx eax, word [rbx + 8]
test al, 4
jne 0x14017c0c7
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
mov rcx, rbx
call fcn.14017af20
movzx eax, word [rbx + 8]
test al, 4
jne 0x14017c0b7
mov r15, qword [rsp + 0x38]
cmp dword [r15 + 8], 0
je 0x140180df6
mov r10, qword [rsp + 0x50]
mov r11d, 1
jmp 0x14017c9f6
mov r10, qword [rsp + 0x50]
mov edx, 0x2400
mov r11d, 1
mov r15, qword [rsp + 0x38]
mov ecx, 0x3e40
and ax, cx
or ax, 4
mov word [rbx + 8], ax
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
test byte [rbx + 8], 0x24
je 0x14017ca15
mov rcx, rbx
call fcn.1401720a0
mov eax, 0x3e40
movsd qword [rbx], xmm0
and word [rbx + 8], ax
or word [rbx + 8], 8
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, qword [rsp + 0x68]
test word [rbx + 8], ax
je 0x14017c15c
mov rcx, rbx
call fcn.140171ac0
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181045
movzx r8d, byte [rsp + 0x48]
mov rcx, rbx
movzx edx, byte [r12 + 8]
call fcn.140172320
mov r8d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140181045
mov r12d, dword [rsp + 0x30]
jmp 0x14017b6f7
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add r15, qword [rsp + 0x68]
imul rsi, rax, 0x38
movzx r14d, word [r15 + 8]
add rsi, qword [rsp + 0x68]
movzx edi, word [rsi + 8]
movzx edx, di
and dx, r14w
test dl, 4
je 0x14017c228
mov rax, qword [rsi]
lea rcx, [0x140000000]
cmp rax, qword [r15]
jle 0x14017c1e4
cmp byte [rbx + rcx + 0x212978], 0
mov dword [rsp + 0x70], r11d
jne 0x14017c9f1
jmp 0x14017ca0b
mov r15, qword [rsp + 0x38]
jge 0x14017c20b
cmp byte [rbx + rcx + 0x21296c], 0
mov dword [rsp + 0x70], 0xffffffff
jne 0x14017c9f6
mov rdi, qword [rsp + 0x40]
jmp 0x14017b290
xor eax, eax
mov dword [rsp + 0x70], eax
cmp byte [rbx + rcx + 0x212972], al
jne 0x14017c9f6
mov rdi, qword [rsp + 0x40]
jmp 0x14017b290
movzx ecx, di
or cx, r14w
test cl, 1
je 0x14017c28c
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test al, al
jns 0x14017c270
test dl, 1
je 0x14017c257
mov eax, 0x100
test ax, di
jne 0x14017c257
xor eax, eax
jmp 0x14017c367
movzx eax, di
not ax
and eax, 1
lea edx, [rax*2 - 1]
mov dword [rsp + 0x70], edx
jmp 0x14017c36d
mov r15, qword [rsp + 0x38]
mov dword [rsp + 0x70], r11d
test al, 0x10
jne 0x14017c9f6
mov rdi, qword [rsp + 0x40]
jmp 0x14017b290
mov rbx, qword [rsp + 0x38]
movzx eax, byte [rbx + 2]
and al, 0x47
cmp al, 0x43
jb 0x14017c2d6
test cl, 2
je 0x14017c34a
movzx eax, r14b
and al, 0x2e
cmp al, 2
jne 0x14017c2bc
xor edx, edx
mov rcx, r15
call fcn.14017ae30
movzx edi, word [rsi + 8]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x14017c34a
xor edx, edx
mov rcx, rsi
call fcn.14017ae30
jmp 0x14017c34a
cmp al, 0x42
jne 0x14017c34a
movzx r13d, byte [rsp + 0x48]
test r14b, 2
jne 0x14017c31d
test r14b, 0x2c
je 0x14017c31d
mov r8b, 1
movzx edx, r13b
mov rcx, r15
call fcn.140171b20
movzx eax, word [r15 + 8]
mov ecx, 0x3e40
xor ax, r14w
and ax, cx
xor r14w, ax
cmp r15, rsi
jne 0x14017c31d
movzx edi, r14w
or di, 2
test dil, 2
jne 0x14017c34a
test dil, 0x2c
je 0x14017c34a
mov r8b, 1
movzx edx, r13b
mov rcx, rsi
call fcn.140171b20
movzx eax, word [rsi + 8]
mov ecx, 0x3e40
xor ax, di
and ax, cx
xor di, ax
mov r8, qword [rbx + 0x10]
mov rdx, r15
mov rcx, rsi
call fcn.140177e60
mov r10, qword [rsp + 0x50]
mov r11d, 1
movzx ebx, byte [rbx]
mov dword [rsp + 0x70], eax
mov edx, eax
movzx ecx, bl
test edx, edx
jns 0x14017c37d
lea rax, [0x14021296c]
jmp 0x14017c391
test edx, edx
lea rax, [0x140212972]
lea rdx, [0x140212978]
cmovne rax, rdx
movzx eax, byte [rcx + rax]
mov word [rsi + 8], di
mov word [r15 + 8], r14w
mov r15, qword [rsp + 0x38]
test al, al
jne 0x140180646
mov rdi, qword [rsp + 0x40]
jmp 0x14017b290
cmp dword [rsp + 0x70], 0
je 0x14017c9f6
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
test byte [rax + 2], 1
jne 0x14017c3e0
mov r13, r14
jmp 0x14017c3e8
mov r13, qword [rax - 8]
add r13, 4
mov rdx, qword [rax + 0x10]
mov esi, r14d
mov r8d, dword [rax + 4]
mov rbx, r14
mov r9d, dword [rax + 8]
movsxd rax, dword [rax + 0xc]
mov qword [rbp - 0x60], rdx
mov dword [rbp - 0x50], r8d
mov dword [rbp - 0x58], r9d
mov qword [rbp - 0x28], rax
test rax, rax
jle 0x14017ca10
lea r12, [rdx + 0x20]
nop dword [rax + rax]
test r13, r13
je 0x14017c42c
mov ecx, dword [r13 + rbx*4]
jmp 0x14017c42e
mov ecx, esi
mov rax, qword [rdx + 0x18]
lea r15d, [rcx + r9]
lea r14d, [rcx + r8]
mov r8, qword [r12]
imul rdx, r15, 0x38
imul rcx, r14, 0x38
movzx edi, byte [rbx + rax]
add rdx, qword [rsp + 0x68]
and edi, 1
add rcx, qword [rsp + 0x68]
call fcn.140177e60
mov dword [rsp + 0x70], eax
mov ecx, eax
test eax, eax
jne 0x14017c490
mov rdx, qword [rbp - 0x60]
inc esi
mov r8d, dword [rbp - 0x50]
inc rbx
mov r9d, dword [rbp - 0x58]
add r12, 8
cmp rbx, qword [rbp - 0x28]
jl 0x14017c420
mov r12d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov rax, qword [rbp - 0x60]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x14017c4bf
mov rsi, qword [rsp + 0x68]
imul rax, r14, 0x38
test byte [rax + rsi + 8], 1
jne 0x14017c4b9
imul rax, r15, 0x38
test byte [rax + rsi + 8], 1
je 0x14017c4bf
neg ecx
mov dword [rsp + 0x70], ecx
test edi, edi
mov rdi, qword [rsp + 0x40]
je 0x14017c17f
mov r12d, dword [rsp + 0x30]
neg ecx
mov dword [rsp + 0x70], ecx
jmp 0x14017b6f7
mov eax, dword [rsp + 0x70]
test eax, eax
mov rax, qword [rsp + 0x38]
jns 0x14017c509
mov eax, dword [rax + 4]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r15, [r10 + rax*8]
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
jne 0x14017c52b
mov eax, dword [rax + 8]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r15, [r10 + rax*8]
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov eax, dword [rax + 0xc]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r15, [r10 + rax*8]
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
mov r14d, 2
mov rsi, qword [rsp + 0x68]
mov edx, r14d
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.1401720d0
mov ebx, eax
mov edx, r14d
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 8]
imul rcx, rcx, 0x38
add rcx, rsi
call fcn.1401720d0
mov rdx, qword [rsp + 0x38]
lea rcx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [rdx], 0x2c
cdqe
jne 0x14017c5ab
movzx r8d, byte [rax + rcx + 0x210e28]
jmp 0x14017c5b4
movzx r8d, byte [rax + rcx + 0x210e60]
movsxd rax, dword [rdx + 0xc]
mov r11d, 1
imul rcx, rax, 0x38
mov eax, 0x3e40
movzx edx, word [rcx + rsi + 8]
and dx, ax
cmp r8b, r14b
jne 0x14017c5ea
mov r10, qword [rsp + 0x50]
movzx eax, r11w
or dx, ax
mov word [rcx + rsi + 8], dx
jmp 0x14017ca10
mov r10, qword [rsp + 0x50]
movzx eax, r8b
mov qword [rcx + rsi], rax
mov eax, 4
or dx, ax
mov word [rcx + rsi + 8], dx
jmp 0x14017ca10
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
call fcn.1401720d0
movsxd rdx, dword [rbx + 0x10]
mov r15d, 0x2400
movsxd rcx, eax
movsxd rax, dword [rbx + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
test word [rcx + 8], r15w
je 0x14017c654
call fcn.140172480
mov r15, rbx
jmp 0x14017be5c
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 8], ax
mov r15, rbx
jmp 0x14017be5c
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
add rcx, qword [rsp + 0x68]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
test byte [rcx + 8], 1
jne 0x14017c6c8
xor edx, edx
call fcn.1401720d0
test eax, eax
mov rcx, r14
mov edx, 0x2400
sete cl
test word [rbx + 8], dx
je 0x14017c6b7
mov rdx, rcx
mov rcx, rbx
call fcn.140172480
jmp 0x14017b6f7
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 8], ax
jmp 0x14017b6fc
test word [rbx + 8], dx
je 0x14017c6db
mov rcx, rbx
call fcn.140171e90
jmp 0x14017b6f7
mov r15, qword [rsp + 0x38]
mov word [rbx + 8], r11w
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
add rdi, qword [rsp + 0x68]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
test word [rbx + 8], dx
je 0x14017c724
mov rcx, rbx
call fcn.140171e90
jmp 0x14017c729
mov word [rbx + 8], r11w
test byte [rdi + 8], 1
jne 0x140180bcc
mov eax, 4
mov rcx, rdi
mov word [rbx + 8], ax
call fcn.140172040
mov rdi, qword [rsp + 0x40]
not rax
mov qword [rbx], rax
jmp 0x14017b6f7
mov r8, qword [r13 + 0x108]
test r8, r8
je 0x14017c7d1
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r13 + 0x90]
mov r9, qword [r8 + 0x30]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x14017c9f1
mov r15, qword [rsp + 0x38]
bts eax, edx
mov byte [rcx + r9], al
mov edx, 0x2400
mov rcx, qword [r13 + 0x90]
mov eax, dword [rcx + 4]
mov dword [r15 + 4], eax
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
mov rcx, qword [r13 + 0x90]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x14017c9f1
mov r15, qword [rsp + 0x38]
mov eax, dword [rcx + 4]
mov dword [r15 + 4], eax
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x38]
add rcx, qword [rsp + 0x68]
mov edx, dword [rax + 0xc]
call fcn.1401720d0
mov r15, qword [rsp + 0x38]
test eax, eax
jne 0x140180646
jmp 0x14017be5c
mov rax, qword [rsp + 0x38]
mov edx, r14d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
call fcn.1401720d0
mov r15, qword [rsp + 0x38]
test eax, eax
je 0x140180646
jmp 0x14017be5c
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x68]
test byte [rcx + rax + 8], 1
jne 0x14017c9f6
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x68]
movzx eax, word [rcx + rax + 8]
test al, 1
jne 0x14017c9f6
and eax, 0x3f
movzx eax, byte [rax + rsi + 0x215e60]
cmp eax, dword [r15 + 0xc]
je 0x14017c9f6
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 8], 1
jne 0x14017c94b
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rsi + 8], 1
jne 0x14017c94b
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 8], dx
je 0x14017c92c
xor edx, edx
call fcn.140172480
mov r15, rbx
jmp 0x14017be5c
mov eax, 4
mov qword [rcx], r14
mov word [rcx + 8], ax
mov r15, rbx
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 8], dx
je 0x14017c969
call fcn.140171e90
mov r15, rbx
jmp 0x14017be5c
mov word [rcx + 8], r11w
mov r15, rbx
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x68]
test byte [rcx + rax + 8], 1
je 0x14017c9f6
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je 0x14017ca15
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
test word [rcx + 8], dx
je 0x14017ca2a
call fcn.140171e90
mov r11d, 1
mov r10, qword [rsp + 0x50]
mov r15, qword [rsp + 0x38]
mov eax, dword [r15 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r10 + rcx*8]
mov qword [rsp + 0x38], rdi
mov rdi, qword [rsp + 0x40]
mov edx, 0x2400
mov r15, qword [rsp + 0x38]
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov word [rcx + 8], r11w
jmp 0x14017c9f1
mov rax, qword [r13 + 0x80]
lea rdx, [rbp - 0x70]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x80], rcx
lea rcx, [rbp - 0x80]
mov eax, dword [r12 + 8]
mov dword [rbp - 0x70], eax
call fcn.140177610
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181045
movsxd rax, dword [r12 + 0xc]
mov r9, qword [rbp - 0x80]
mov rsi, qword [rbp - 0x78]
mov r10, qword [rsp + 0x68]
imul r13, rax, 0x38
mov eax, dword [rsi + 0x30]
mov r12, qword [r9 + 0x60]
add r13, r10
cmp dword [r9 + 0x28], eax
je 0x14017cbfd
cmp byte [r9 + 2], r8b
je 0x14017cb1a
cmp byte [r9], 3
jne 0x14017cad2
movsxd rax, dword [r9 + 0x2c]
imul rdx, rax, 0x38
mov ecx, dword [rdx + r10 + 0xc]
mov dword [r9 + 0x74], ecx
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + r10 + 0x10]
mov rax, qword [rbp - 0x80]
mov qword [rax + 0x68], rcx
mov rcx, qword [rbp - 0x80]
jmp 0x14017cb5b
mov edx, 0x2400
test word [r13 + 8], dx
je 0x14017caf0
mov rcx, r13
call fcn.140171e90
mov r12d, dword [rsp + 0x30]
jmp 0x14017b6f7
mov r12d, dword [rsp + 0x30]
mov r11d, 1
mov r10, qword [rsp + 0x50]
mov r15, qword [rsp + 0x38]
mov word [r13 + 8], r11w
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rbx, qword [r9 + 0x38]
mov rcx, rbx
call fcn.140167b50
mov ecx, dword [rbx + 0x40]
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x70], ecx
mov rcx, rbx
mov rdx, qword [rbp - 0x80]
add rdx, 0x74
call fcn.140168390
mov rcx, qword [rbp - 0x80]
mov qword [rcx + 0x68], rax
mov rcx, qword [rbp - 0x80]
mov eax, dword [rdi + 0x88]
cmp dword [rcx + 0x70], eax
ja 0x140181130
mov eax, dword [rsi + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax + 0x68]
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x14017cb7b
movzx eax, al
mov dword [r12], eax
mov al, 1
jmp 0x14017cb83
mov rdx, r12
call fcn.140152a00
movzx ecx, al
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x48], ecx
mov rax, qword [rbp - 0x80]
mov word [rax + 0x52], r14w
mov r9, qword [rbp - 0x80]
mov eax, dword [r12]
cmp dword [r9 + 0x74], eax
jae 0x14017cbf7
mov qword [r9 + 0x68], r14
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x74], r14d
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x14017cbc5
mov r9, qword [rbp - 0x80]
cmp eax, dword [r9 + 0x70]
jbe 0x14017cbfd
mov edx, 0x2400
mov r10, qword [rsp + 0x50]
mov eax, dword [r10 + 0xc]
test eax, eax
jle 0x140180e09
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r12, [r10 + rax*8]
mov qword [rsp + 0x38], r12
mov r12d, dword [rsp + 0x30]
jmp 0x14017b701
mov rcx, qword [r9 + 0x68]
jmp 0x14017cc74
movzx eax, word [r9 + 0x52]
mov r8d, dword [rbp - 0x70]
cmp eax, r8d
ja 0x14017ce0d
mov eax, dword [r12]
cmp dword [r9 + 0x48], eax
jae 0x14017cdc8
mov rcx, qword [r9 + 0x68]
mov qword [rbp - 0x60], rcx
test rcx, rcx
jne 0x14017cc78
xor eax, eax
lea r8, [rbp + 0x40]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rax
mov edx, dword [r12]
mov rcx, qword [r9 + 0x38]
call fcn.140172b40
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181040
mov rcx, qword [rbp + 0x50]
mov eax, dword [r12]
mov r9, qword [rbp - 0x80]
mov qword [rbp - 0x60], rcx
movzx esi, word [r9 + 0x52]
mov ebx, dword [r9 + 0x48]
mov edi, esi
add rbx, rcx
mov r15d, eax
add r15, rcx
mov r14d, dword [r12 + rsi*4]
movzx eax, byte [rbx]
mov dword [rsp + 0x74], eax
mov dword [r9 + rdi*4 + 0x78], eax
mov eax, dword [rsp + 0x74]
cmp eax, 0x80
jae 0x14017ccbe
movzx eax, al
lea rcx, [0x140000000]
inc rbx
movzx ecx, byte [rax + rcx + 0x212a30]
jmp 0x14017cd00
lea rdx, [rsp + 0x74]
mov rcx, rbx
call fcn.140152a00
mov rcx, qword [rbp - 0x80]
movzx eax, al
add rbx, rax
mov eax, dword [rsp + 0x74]
mov dword [rcx + rdi*4 + 0x78], eax
mov eax, dword [rsp + 0x74]
cmp eax, 0x80
jb 0x14017ccef
add eax, 0xfffffff4
shr eax, 1
jmp 0x14017ccfe
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x212a30]
mov ecx, eax
inc esi
add r14, rcx
movsxd rdi, esi
mov dword [r12 + rdi*4], r14d
mov r9, qword [rbp - 0x80]
cmp esi, dword [rbp - 0x70]
ja 0x14017cd20
cmp rbx, r15
jb 0x14017cc90
jmp 0x14017cd25
cmp rbx, r15
jb 0x14017cd33
cmp rbx, r15
ja 0x14017cd3c
mov eax, dword [r9 + 0x70]
cmp r14, rax
jne 0x14017cd3c
mov eax, dword [r9 + 0x70]
cmp r14, rax
jbe 0x14017cd4a
cmp dword [r12], 0
jne 0x14017cd93
xor eax, eax
mov rbx, r15
mov esi, eax
sub ebx, dword [rbp - 0x60]
mov r15d, 0x2400
mov word [r9 + 0x52], si
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x48], ebx
mov r9, qword [rbp - 0x80]
cmp qword [r9 + 0x68], 0
jne 0x14017cd84
test word [rbp + 0x48], r15w
jne 0x14017cd77
cmp dword [rbp + 0x60], 0
je 0x14017cd84
lea rcx, [rbp + 0x40]
call fcn.140171ee0
mov r9, qword [rbp - 0x80]
mov r8d, dword [rbp - 0x70]
mov edx, dword [rsp + 0x74]
mov rdi, qword [rsp + 0x40]
jmp 0x14017cdd5
cmp qword [r9 + 0x68], 0
mov edx, 0x2400
jne 0x14017cdbe
test word [rbp + 0x48], dx
jne 0x14017cdab
cmp dword [rbp + 0x60], 0
je 0x14017cdbe
lea rcx, [rbp + 0x40]
call fcn.140171ee0
mov rdi, qword [rsp + 0x40]
jmp 0x14017cbc5
mov rdi, qword [rsp + 0x40]
jmp 0x14017cbca
mov edx, r14d
mov r15d, 0x2400
mov dword [rsp + 0x74], edx
movzx eax, word [r9 + 0x52]
cmp eax, r8d
ja 0x14017ce1c
mov r12, qword [rsp + 0x38]
cmp byte [r12 + 1], 0xf5
jne 0x14017cad2
mov rdx, qword [r12 + 0x10]
mov r8d, 0x800
mov rcx, r13
call fcn.140172660
mov r12d, dword [rsp + 0x30]
jmp 0x14017b6f7
mov edx, dword [r9 + r8*4 + 0x78]
mov r15d, 0x2400
mov dword [rsp + 0x74], edx
test word [r13 + 8], r15w
je 0x14017ce37
mov rcx, r13
call fcn.140171e90
mov r9, qword [rbp - 0x80]
mov r8d, dword [rbp - 0x70]
mov edx, dword [rsp + 0x74]
lea eax, [r8 + 1]
mov eax, dword [r12 + rax*4]
cmp dword [r9 + 0x74], eax
jb 0x14017ceff
mov eax, r8d
mov edi, dword [r12 + rax*4]
add rdi, qword [r9 + 0x68]
cmp edx, 0xc
jae 0x14017ce73
mov r8, r13
mov rcx, rdi
call fcn.1401776e0
mov r12d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
movzx eax, byte [rsp + 0x48]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [r13 + 0xc], ebx
mov byte [r13 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r13 + 0x20], edx
jge 0x14017ceb1
mov ecx, 1
xor r8d, r8d
mov word [r13 + 8], cx
mov rcx, r13
call fcn.140171860
test eax, eax
jne 0x1401813e5
mov rcx, qword [r13 + 0x10]
jmp 0x14017ceb9
mov rcx, qword [r13 + 0x18]
mov qword [r13 + 0x10], rcx
mov r8d, ebx
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r13 + 0x10]
lea rcx, [0x140000000]
mov r12d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
mov byte [rbx + rax], 0
mov rax, qword [r13 + 0x10]
mov byte [rbx + rax + 1], 0
mov eax, dword [rsp + 0x74]
and eax, 1
movzx eax, word [rcx + rax*2 + 0x21206c]
mov word [r13 + 8], ax
jmp 0x14017b6f7
movzx eax, byte [rsp + 0x48]
mov byte [r13 + 0xa], al
mov rax, qword [rsp + 0x38]
mov edx, dword [rsp + 0x74]
movzx eax, word [rax + 2]
test al, 0xc0
je 0x14017cf27
cmp edx, 0xc
jb 0x14017cf23
test dl, 1
je 0x14017cf4e
test al, al
js 0x14017cf4e
mov eax, 0x80
cmp edx, eax
jb 0x14017cf39
lea r8d, [rdx - 0xc]
shr r8d, 1
jmp 0x14017cf49
lea rcx, [0x140000000]
movzx r8d, byte [rdx + rcx + 0x212a30]
test r8d, r8d
jne 0x14017cf67
mov r8, r13
lea rcx, [0x1402121b0]
call fcn.1401776e0
mov r12d, dword [rsp + 0x30]
jmp 0x14017b6f7
mov eax, dword [rbp - 0x70]
mov r9, r13
mov rcx, qword [rbp - 0x80]
mov edx, dword [r12 + rax*4]
mov rcx, qword [rcx + 0x38]
call fcn.140172a30
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181040
mov edx, dword [rsp + 0x74]
mov r8, r13
mov rcx, qword [r13 + 0x10]
call fcn.1401776e0
mov r12d, dword [rsp + 0x30]
mov eax, 0xefff
and word [r13 + 8], ax
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov r15, qword [r14 + 8]
xor eax, eax
add rbx, qword [rsp + 0x68]
mov esi, eax
cmp ax, word [r14 + 0x36]
jge 0x14017ca15
lea rdi, [r15 + 0xc]
nop
movzx eax, word [rdi + 6]
test al, 0x60
je 0x14017cfff
test al, 0x20
jne 0x14017d0bb
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
jne 0x14017d0b7
movzx r8d, byte [rsp + 0x48]
mov rcx, rbx
movzx edx, byte [rdi]
call fcn.14017af20
movzx edx, word [rbx + 8]
test dl, 1
jne 0x14017d0b7
mov eax, dword [rdi - 4]
and eax, 0xf0
cmp eax, 0x20
je 0x14017d0ae
jbe 0x14017d0b7
cmp eax, 0x40
jbe 0x14017d0a9
cmp eax, 0x50
je 0x14017d048
cmp eax, 0x60
jne 0x14017d0b7
test dl, 2
jmp 0x14017d0b1
test dl, 4
je 0x14017d0a4
mov rcx, qword [rbx]
movabs rax, 0x800000000000
add rax, rcx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x14017d082
mov eax, 0x20
or dx, ax
mov eax, 0xfffb
and dx, ax
mov word [rbx + 8], dx
jmp 0x14017d0b7
mov eax, 8
xorps xmm0, xmm0
or dx, ax
mov eax, 0xfffb
cvtsi2sd xmm0, rcx
and dx, ax
movsd qword [rbx], xmm0
mov word [rbx + 8], dx
jmp 0x14017d0b7
test dl, 8
jmp 0x14017d0b1
test dl, 4
jmp 0x14017d0b1
test dl, 0x10
je 0x140180e44
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
add rdi, 0x18
cmp esi, eax
jl 0x14017cfe0
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
movzx esi, byte [rsp + 0x48]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, qword [rsp + 0x68]
nop word [rax + rax]
movzx r8d, sil
movzx edx, al
mov rcx, rbx
call fcn.14017af20
cmp byte [rdi], 0x45
jne 0x14017d161
movzx ecx, word [rbx + 8]
test cl, 4
je 0x14017d161
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x14017d14a
and cx, ax
or cx, 0x20
jmp 0x14017d15d
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
movzx eax, byte [rdi + 1]
inc rdi
test al, al
je 0x140180bcc
add rbx, 0x38
jmp 0x14017d100
mov rcx, qword [rsp + 0x38]
mov rdx, r14
mov r15, r14
mov qword [rbp - 0x68], rdx
mov r12d, r14d
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r13, rax, 0x38
mov eax, dword [rcx + 8]
add r13, qword [rsp + 0x68]
dec eax
cdqe
imul rsi, rax, 0x38
mov rax, qword [rbp - 0x78]
add rsi, r13
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x50], rsi
movzx r9d, byte [rax + 0xcb]
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
mov byte [rsp + 0x78], r9b
add rcx, qword [rsp + 0x68]
mov qword [rbp - 0x60], rcx
test rdi, rdi
je 0x14017d23e
movzx eax, byte [rdi]
lea rbx, [r13 + 8]
movzx esi, byte [rsp + 0x48]
mov r13d, 0xfffb
nop dword [rax + rax]
lea rcx, [rbx - 8]
movzx r8d, sil
movzx edx, al
call fcn.14017af20
cmp byte [rdi], 0x45
jne 0x14017d217
movzx eax, word [rbx]
test al, 4
je 0x14017d217
and ax, r13w
or ax, 0x20
mov word [rbx], ax
movzx eax, byte [rdi + 1]
inc rdi
add rbx, 0x38
test al, al
jne 0x14017d1f0
mov r13, qword [rbp - 0x28]
mov r11d, 1
movzx r9d, byte [rsp + 0x78]
mov rdx, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x50]
lea r14, [rsi + 0x24]
movzx ecx, word [r14 - 0x1c]
test cl, 1
je 0x14017d267
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
inc r12d
jmp 0x14017d3e4
test cl, 0x24
je 0x14017d362
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x14017d27f
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x14017d2b2
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x14017d2a4
cmp r9b, 4
jb 0x14017d2a4
lea eax, [rdx + 8]
mov dword [r14], eax
jmp 0x14017d3e4
mov eax, r11d
inc r15
mov dword [r14], eax
jmp 0x14017d3e4
cmp rdx, 0x7fff
ja 0x14017d2cc
mov eax, 2
add r15, 2
mov dword [r14], eax
jmp 0x14017d3e4
cmp rdx, 0x7fffff
ja 0x14017d2e6
mov eax, 3
add r15, 3
mov dword [r14], eax
jmp 0x14017d3e4
cmp rdx, 0x7fffffff
ja 0x14017d300
mov eax, 4
add r15, 4
mov dword [r14], eax
jmp 0x14017d3e4
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14017d320
mov eax, 5
add r15, 6
mov dword [r14], eax
jmp 0x14017d3e4
add r15, 8
test cl, 0x20
je 0x14017d355
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
mov eax, 7
cvtsi2sd xmm0, r8
or cx, 8
mov word [r14 - 0x1c], cx
movsd qword [r14 - 0x24], xmm0
mov dword [r14], eax
jmp 0x14017d3e4
mov eax, 6
mov dword [r14], eax
jmp 0x14017d3e4
test cl, 8
je 0x14017d377
inc r12d
mov dword [r14], 7
add r15, 8
jmp 0x14017d3e4
mov edi, dword [r14 - 0x18]
mov esi, ecx
shr esi, 1
mov eax, 0x4000
and esi, 1
add esi, 0xc
lea esi, [rsi + rdi*2]
test ax, cx
je 0x14017d3c0
movsxd rax, dword [r14 - 0x24]
lea esi, [rsi + rax*2]
test r15, r15
je 0x14017d3b9
lea rcx, [r14 - 0x24]
call fcn.140171ac0
test eax, eax
jne 0x1401813e5
add edi, dword [r14 - 0x24]
lea r11d, [rax + 1]
jmp 0x14017d3c0
add rdx, rax
mov qword [rbp - 0x68], rdx
mov eax, edi
mov ecx, r11d
add r15, rax
mov eax, esi
shr rax, 7
test rax, rax
je 0x14017d3de
inc ecx
shr rax, 7
test rax, rax
jne 0x14017d3d3
add r12d, ecx
mov dword [r14], esi
lea rax, [r14 - 0x24]
cmp rax, r13
je 0x14017d400
movzx r9d, byte [rsp + 0x78]
sub r14, 0x38
mov rdx, qword [rbp - 0x68]
jmp 0x14017d242
cmp r12d, 0x7e
jle 0x14017d441
movsxd rax, r12d
mov edx, r11d
shr rax, 7
test rax, rax
je 0x14017d420
inc edx
shr rax, 7
test rax, rax
jne 0x14017d415
add r12d, edx
mov ecx, r11d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x14017d43d
inc ecx
shr rax, 7
test rax, rax
jne 0x14017d432
cmp edx, ecx
jge 0x14017d444
inc r12d
mov r9, qword [rbp - 0x60]
mov rdi, qword [rbp - 0x68]
movsxd r14, r12d
movsxd rdx, dword [r9 + 0x20]
lea rbx, [r15 + r14]
lea rcx, [rbx + rdi]
cmp rcx, rdx
jg 0x14017d46a
mov rax, qword [r9 + 0x18]
mov qword [r9 + 0x10], rax
jmp 0x14017d4b4
mov r8, qword [rsp + 0x40]
movsxd rax, dword [r8 + 0x88]
cmp rcx, rax
jg 0x14018111d
cmp edx, ebx
jge 0x14017d49c
xor r8d, r8d
mov edx, ebx
mov rcx, r9
call fcn.140171860
mov r9, qword [rbp - 0x60]
mov r11d, 1
jmp 0x14017d4ac
mov rax, qword [r9 + 0x18]
and word [r9 + 8], 0x2d
mov qword [r9 + 0x10], rax
xor eax, eax
test eax, eax
jne 0x1401813e5
mov dword [r9 + 0xc], ebx
mov eax, 0x10
mov word [r9 + 8], ax
test rdi, rdi
je 0x14017d4d4
mov eax, 0x4010
mov dword [r9], edi
mov word [r9 + 8], ax
mov rdi, qword [r9 + 0x10]
mov ecx, 0x80
lea rsi, [rdi + r14]
cmp r12d, ecx
jae 0x14017d4ee
mov byte [rdi], r12b
mov eax, r11d
jmp 0x14017d502
mov rdx, r14
mov rcx, rdi
call fcn.140152800
mov ecx, 0x80
lea r11d, [rcx - 0x7f]
mov r14, qword [rbp - 0x50]
movzx eax, al
add rdi, rax
nop dword [rax]
mov ebx, dword [r13 + 0x24]
cmp ebx, ecx
jae 0x14017d51f
mov byte [rdi], bl
mov eax, r11d
jmp 0x14017d52a
mov rdx, rbx
mov rcx, rdi
call fcn.140152800
movzx eax, al
mov r8d, ebx
mov rdx, r13
mov rcx, rsi
add rdi, rax
call fcn.140177660
mov eax, eax
mov ecx, 0x80
add rsi, rax
add r13, 0x38
lea r11d, [rcx - 0x7f]
cmp r13, r14
jbe 0x14017d510
mov r12d, dword [rsp + 0x30]
mov r10, qword [rsp + 0x50]
jmp 0x14017ca0b
mov rbx, qword [rsp + 0x38]
mov rax, qword [r13 + 0x80]
cmp dword [rbx + 0xc], 0
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x38]
je 0x14017d590
mov rcx, rdx
call fcn.140168ea0
mov qword [rbp - 8], rax
jmp 0x14017d5b2
lea r8, [rbp - 8]
mov qword [rbp - 8], r14
mov rcx, rdi
call fcn.14016f7d0
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x1401813f8
mov r12d, eax
movsxd rax, dword [rbx + 8]
mov r15d, 0x2400
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x70]
test word [rcx + 8], r15w
je 0x14017d5df
call fcn.14017b070
mov rcx, rax
mov rax, qword [rbp - 8]
mov qword [rcx], rax
jmp 0x1401807f8
mov eax, 4
mov word [rcx + 8], ax
mov rax, qword [rbp - 8]
mov qword [rcx], rax
jmp 0x1401807f8
mov r12, qword [rsp + 0x38]
mov r14d, dword [r12 + 4]
mov rdi, qword [r12 + 0x10]
mov dword [rbp - 0x50], r14d
test r14d, r14d
jne 0x14017d6e7
mov rsi, qword [rsp + 0x40]
cmp dword [rsi + 0xe0], r14d
jg 0x140180eb3
test rdi, rdi
jne 0x14017d62d
xor eax, eax
mov ebx, eax
jmp 0x14017d643
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x14017d634
and ebx, 0x3fffffff
mov r8d, dword [rsi + 0x2ec]
xor edx, edx
add r8d, dword [rsi + 0x2e8]
mov rcx, rsi
call fcn.1401cd3b0
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140180ecd
mov edx, ebx
mov rcx, rsi
add rdx, 0x21
call fcn.14014e9c0
mov rsi, rax
test rax, rax
je 0x140180bcc
lea r9, [rax + 0x20]
mov rdx, rdi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call sub.VCRUNTIME140.dll_memcpy
mov rdi, qword [rsp + 0x40]
cmp byte [rdi + 0x61], 0
je 0x14017d6af
mov byte [rdi + 0x61], 0
mov byte [rdi + 0x69], 1
jmp 0x14017d6b5
inc dword [rdi + 0x2e8]
mov rax, qword [rdi + 0x2d8]
mov r12d, dword [rsp + 0x30]
mov qword [rsi + 0x18], rax
mov rax, qword [rdi + 0x2f0]
mov qword [rdi + 0x2d8], rsi
mov qword [rsi + 8], rax
mov rax, qword [rdi + 0x2f8]
mov qword [rsi + 0x10], rax
jmp 0x14017b6f7
mov r8, qword [rsp + 0x40]
xor ebx, ebx
mov r15d, ebx
mov rsi, qword [r8 + 0x2d8]
test rsi, rsi
je 0x14017d71b
nop dword [rax]
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.140151c30
test eax, eax
je 0x14017d745
mov rsi, qword [rsi + 0x18]
inc r15d
test rsi, rsi
jne 0x14017d700
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r13
call fcn.1401734f0
mov rdi, qword [rsp + 0x40]
mov r14d, 1
mov r8d, r14d
mov dword [rsp + 0x30], r14d
jmp 0x14018104b
mov rdi, qword [rsp + 0x40]
cmp dword [rdi + 0xe0], ebx
jle 0x14017d75c
cmp r14d, 1
je 0x140180ed5
cmp qword [rsi + 0x18], rbx
jne 0x14017d7c2
cmp byte [rdi + 0x69], bl
je 0x14017d7c2
mov eax, 1
mov r13d, eax
cmp r14d, eax
jne 0x14017d7c5
mov rcx, qword [rbp - 0x78]
mov edx, eax
call fcn.140176ac0
mov ebx, eax
test eax, eax
jne 0x1401814fe
mov rbx, qword [rbp - 0x78]
mov rcx, rbx
mov byte [rdi + 0x61], r13b
call fcn.140176b10
cmp eax, 5
je 0x140180ef4
mov r8d, dword [rbx + 0x38]
mov dword [rsp + 0x30], r8d
test r8d, r8d
je 0x14017d7b9
mov byte [rdi + 0x61], 0
jmp 0x14017d8cd
mov byte [rdi + 0x69], 0
jmp 0x14017d8d6
mov r13d, ebx
mov eax, dword [rdi + 0x2e8]
sub eax, r15d
lea r15d, [rax - 1]
mov eax, dword [rdi + 0x28]
cmp r14d, 2
jne 0x14017d834
mov r12d, dword [rdi + 0x2c]
mov edi, ebx
and r12d, 1
test eax, eax
jle 0x14017d837
mov r14d, r12d
xor r14d, 1
mov r8, qword [rsp + 0x40]
mov edx, 0x204
mov rcx, qword [r8 + 0x20]
mov r8d, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.140167590
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140180ea9
mov rax, qword [rsp + 0x40]
inc edi
add rbx, 0x20
mov eax, dword [rax + 0x28]
cmp edi, eax
jl 0x14017d7f0
mov r14d, dword [rbp - 0x50]
xor ebx, ebx
jmp 0x14017d837
mov r12d, ebx
mov edi, ebx
test eax, eax
jle 0x14017d885
mov rax, qword [rsp + 0x40]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rax + 0x20]
mov r8d, r15d
mov edx, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.140167880
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140180ea9
mov rax, qword [rsp + 0x40]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x14017d850
jmp 0x14017d88a
mov r8d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
test r12d, r12d
je 0x14017d8c8
mov rax, qword [rdi + 8]
test rax, rax
je 0x14017d8b7
nop dword [rax]
and dword [rax + 0xd0], 0xfffffffd
or dword [rax + 0xd0], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14017d8a0
mov rcx, rdi
call fcn.14019a320
or dword [rdi + 0x2c], 1
mov r8d, dword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
test r8d, r8d
jne 0x140181045
mov rcx, qword [rdi + 0x2d8]
cmp rcx, rsi
je 0x14017d90a
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, rdi
mov qword [rdi + 0x2d8], rax
call fcn.14014e640
mov rcx, qword [rdi + 0x2d8]
dec dword [rdi + 0x2e8]
cmp rcx, rsi
jne 0x14017d8e2
cmp r14d, 1
jne 0x14017d948
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, rdi
mov qword [rdi + 0x2d8], rax
call fcn.14014e640
test r13d, r13d
jne 0x14017c17f
dec dword [rdi + 0x2e8]
mov r8d, r15d
mov edx, r14d
mov rcx, rdi
call fcn.1401cd3b0
jmp 0x14017c170
mov rax, qword [rsi + 8]
mov qword [rdi + 0x2f0], rax
mov rax, qword [rsi + 0x10]
mov qword [rdi + 0x2f8], rax
test r13d, r13d
je 0x14017d96d
cmp r14d, 2
jne 0x14017c17f
mov r8d, r15d
mov edx, r14d
mov rcx, rdi
call fcn.1401cd3b0
jmp 0x14017c170
mov r12, qword [rsp + 0x38]
mov dword [rbp - 0x50], r14d
mov edx, dword [r12 + 8]
test edx, edx
je 0x14017d9a9
mov rax, qword [rdi + 0x30]
movabs rcx, 0x200100000
test rcx, rax
jne 0x140180f2f
movsxd rcx, dword [r12 + 4]
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x14017da5a
lea r8, [rbp - 0x50]
mov rcx, rbx
call fcn.140165fe0
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140180f4b
test byte [r13 + 0xd0], 0x40
je 0x14017da68
cmp dword [r12 + 8], eax
je 0x14017da68
cmp byte [rdi + 0x61], al
je 0x14017d9fe
cmp dword [rdi + 0xdc], 1
jle 0x14017da68
mov r8d, dword [r13 + 0x48]
test r8d, r8d
jne 0x14017da1f
inc dword [rdi + 0x2ec]
mov r8d, dword [rdi + 0x2e8]
add r8d, dword [rdi + 0x2ec]
mov dword [r13 + 0x48], r8d
dec r8d
xor edx, edx
mov rcx, rdi
call fcn.1401cd3b0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14017da44
mov edx, dword [r13 + 0x48]
mov rcx, rbx
call fcn.140167810
mov dword [rsp + 0x30], eax
mov rax, qword [rdi + 0x2f0]
mov qword [r13 + 0x60], rax
mov rax, qword [rdi + 0x2f8]
mov qword [r13 + 0x68], rax
mov r8d, dword [rsp + 0x30]
test r8d, r8d
jne 0x140181045
cmp word [r12 + 2], 0
je 0x14017c17f
mov eax, dword [r12 + 0xc]
cmp dword [rbp - 0x50], eax
jne 0x14017da9f
mov rax, qword [rdi + 0x20]
movsxd rcx, dword [r12 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [r12 + 0x10]
cmp dword [rcx + 4], eax
je 0x14017c17f
mov rdx, qword [r13 + 0xb0]
test rdx, rdx
je 0x14017dab3
mov rcx, rdi
call fcn.14014e640
lea rdx, str.database_schema_has_changed
mov rcx, rdi
call fcn.14014ec20
mov qword [r13 + 0xb0], rax
mov rax, qword [rdi + 0x20]
movsxd rdx, dword [r12 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x50]
cmp dword [rcx], eax
je 0x14017daed
mov rcx, rdi
call fcn.14019a2a0
and dword [r13 + 0xd0], 0xfffffffd
mov r8d, 0x11
or dword [r13 + 0xd0], 1
mov dword [rsp + 0x30], r8d
jmp 0x140181045
mov rcx, qword [rdi + 0x20]
lea r8, [rbp - 0x10]
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov edx, dword [r15 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14016f650
movsxd rax, dword [r15 + 8]
mov edx, 0x2400
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x70]
test word [rcx + 8], dx
je 0x14017db65
call fcn.14017b070
mov rcx, rax
mov edx, 0x2400
movsxd rax, dword [rbp - 0x10]
mov qword [rcx], rax
jmp 0x14017be61
mov eax, 4
mov word [rcx + 8], ax
movsxd rax, dword [rbp - 0x10]
mov qword [rcx], rax
jmp 0x14017be61
mov r12, qword [rsp + 0x38]
movsxd rbx, dword [r12 + 4]
mov r8d, dword [r12 + 0xc]
mov edx, dword [r12 + 8]
shl rbx, 5
add rbx, qword [rdi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14016f6e0
mov dword [rsp + 0x30], eax
mov eax, dword [r12 + 8]
cmp eax, 1
jne 0x14017dbd3
movzx eax, word [r12 + 2]
mov ecx, dword [r12 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, rdi
or dword [rdi + 0x2c], 1
mov edx, dword [r12 + 4]
call fcn.1401aac60
jmp 0x14017dbe5
cmp eax, 2
jne 0x14017dbe5
mov rcx, qword [rbx + 0x18]
movzx eax, byte [r12 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r12 + 4], 1
jne 0x14017dbff
xor edx, edx
mov rcx, rdi
call fcn.140178f10
and dword [r13 + 0xd0], 0xfffffffc
mov r8d, dword [rsp + 0x30]
test r8d, r8d
jmp 0x14017c179
mov r12, qword [rsp + 0x38]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x14017dc42
mov eax, dword [r12 + 8]
cmp dword [rdi + 0x4c], eax
jne 0x14017dc42
mov rcx, qword [rdi + 0x38]
add rdi, 0x38
call fcn.140163100
jmp 0x14017dd5d
mov rdi, qword [rsp + 0x40]
jmp 0x14017dc4e
mov r12, qword [rsp + 0x38]
mov eax, dword [r13 + 0xd0]
and al, 3
cmp al, 1
je 0x140180f99
mov r15d, dword [r12 + 8]
mov edi, r14d
movsxd r12, dword [r12 + 0xc]
mov r8, qword [rsp + 0x40]
mov rax, r12
shl rax, 5
add rax, qword [r8 + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x65
jne 0x14017dcb0
mov rcx, qword [rsp + 0x38]
mov rax, qword [rax + 0x18]
movzx esi, word [rcx + 2]
movzx ecx, byte [rax + 0x70]
and esi, 8
mov rax, qword [rbp - 0x78]
or esi, 4
cmp cl, byte [rax + 0xcb]
jae 0x14017dcb4
mov byte [rax + 0xcb], cl
jmp 0x14017dcb4
xor eax, eax
mov esi, eax
mov rcx, qword [rsp + 0x38]
test byte [rcx + 2], 0x10
je 0x14017dcdb
imul rbx, r15, 0x38
mov rax, r15
add rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.140172180
mov rcx, qword [rsp + 0x38]
mov r15d, dword [rbx]
movzx eax, byte [rcx + 1]
cmp al, 0xf7
jne 0x14017dcee
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x14017dcf5
cmp al, 0xfd
jne 0x14017dcf5
mov edi, dword [rcx + 0x10]
mov rcx, qword [rbp - 0x78]
mov r9d, r12d
mov r12, qword [rsp + 0x38]
mov r8d, edi
mov byte [rsp + 0x20], 0
mov edx, dword [r12 + 4]
call fcn.14017acc0
mov rbx, rax
test rax, rax
je 0x1401813a7
mov rcx, qword [rax + 0x38]
lea rdi, [rax + 0x38]
or dword [rax + 8], 4
mov r9, r14
mov qword [rsp + 0x20], rcx
mov r8d, esi
mov rcx, r13
mov byte [rax + 2], 1
mov edx, r15d
mov dword [rax + 0x4c], r15d
call fcn.140167ac0
mov qword [rbx + 0x40], r14
cmp byte [r12 + 1], 0xf7
mov dword [rsp + 0x30], eax
setne al
mov byte [rbx + 4], al
movzx edx, word [r12 + 2]
mov rcx, qword [rdi]
and edx, 3
call fcn.1401632e0
mov r8d, dword [rsp + 0x30]
test r8d, r8d
mov rdi, qword [rsp + 0x40]
jmp 0x14017c179
mov r12, qword [rsp + 0x38]
mov r9d, 0xffffffff
mov rax, qword [r13 + 0x80]
mov byte [rsp + 0x20], 0
movsxd rcx, dword [r12 + 8]
mov edx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
movsx r8d, word [rbx + 0x50]
call fcn.14017acc0
mov r10, rax
test rax, rax
je 0x1401813b0
or dword [rax + 8], 1
mov r8d, 4
mov byte [rax + 2], 1
mov rcx, qword [rbx + 0x40]
mov qword [rax + 0x40], rcx
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], ecx
mov ecx, dword [rbx + 8]
xor ecx, dword [rax + 8]
and ecx, 4
xor ecx, dword [rax + 8]
mov dword [rax + 8], ecx
or ecx, 8
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
mov dword [r10 + 8], ecx
or dword [rbx + 8], 8
mov rax, qword [r10 + 0x38]
mov r9, qword [r10 + 0x40]
mov edx, dword [r10 + 0x4c]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140167ac0
mov r12d, eax
mov dword [rsp + 0x30], eax
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x14017de5a
mov rdx, qword [rsp + 0x68]
imul rcx, rax, 0x38
mov dword [rcx + rdx + 0xc], r14d
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x14020e9cd]
mov qword [rcx + rdx + 0x10], rax
movsxd rdx, dword [r12 + 4]
mov rax, qword [r13 + 0x80]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14017dea3
test byte [rbx + 8], 8
jne 0x14017dea3
movsx eax, word [rbx + 0x50]
cmp dword [r12 + 8], eax
jg 0x14017dea3
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r14
mov dword [rbx + 0x28], r14d
call fcn.14016f080
mov r8d, eax
mov dword [rsp + 0x30], eax
jmp 0x14017dfe1
mov r8d, dword [r12 + 8]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 0
call fcn.14017acc0
mov rbx, rax
test rax, rax
je 0x1401813b0
or dword [rax + 8], 1
lea r9, [rax + 0x10]
movzx ecx, word [r12 + 2]
xor edx, edx
mov rax, qword [rsp + 0x40]
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov r8, rax
mov dword [rsp + 0x20], ecx
mov rcx, qword [rax]
call fcn.140164b60
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x14017e8d8
mov rcx, qword [rbx + 0x10]
mov r15d, 1
mov edx, r15d
xor r8d, r8d
call fcn.140165fe0
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x14017dfac
mov r14, qword [r12 + 0x10]
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x40], r14
test r14, r14
je 0x14017df82
movzx r8d, word [r12 + 2]
lea rdx, [rbx + 0x4c]
or r8d, 2
call fcn.14016ed40
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x14017df7c
mov rax, qword [rbx + 0x38]
lea r8d, [r15 + 3]
mov edx, dword [rbx + 0x4c]
mov r9, r14
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140167ac0
mov r8d, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 4], 0
jmp 0x14017dfa9
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov edx, r15d
mov dword [rbx + 0x4c], r15d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.140167ac0
mov r8d, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 4], r15b
xor r14d, r14d
cmp word [r12 + 2], 8
mov eax, 4
mov ecx, r14d
cmovne ecx, eax
mov eax, dword [rbx + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
test r8d, r8d
je 0x14017dfea
mov rcx, qword [rbx + 0x10]
call fcn.1401652e0
mov r8d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
test r8d, r8d
jne 0x140181045
mov r12d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
mov byte [rbx + 2], 1
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 1
mov r8d, dword [r12 + 8]
mov edx, dword [r12 + 4]
call fcn.14017acc0
test rax, rax
je 0x1401813b0
mov rcx, qword [r12 + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, rdi
mov edx, dword [r12 + 0xc]
call fcn.140182110
jmp 0x14017c170
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x140180646
jmp 0x14017b290
mov rax, qword [rsp + 0x38]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 3
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.14017acc0
test rax, rax
je 0x1401813a0
mov rcx, qword [rsp + 0x38]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x1402d5069]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], 1
jmp 0x14017b6f7
mov rdx, qword [r13 + 0x80]
mov rcx, r13
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.140175b10
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov qword [rax + rcx*8], r14
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
xor esi, esi
mov r12d, esi
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov r14, qword [rax + rcx*8]
mov word [r14 + 2], si
mov dword [r14 + 0x28], esi
cmp byte [r14 + 4], sil
je 0x14017e219
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x68]
movzx esi, word [rdi + 8]
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x14017e14f
xor edx, edx
mov rcx, rdi
call fcn.14017ae30
mov rcx, rdi
call fcn.140172040
movzx edx, word [rdi + 8]
mov r15, rax
mov word [rdi + 8], si
test dl, 0x24
jne 0x14017e1e6
test dl, 8
jne 0x14017e1c0
test dl, 1
jne 0x14018063c
cmp ebx, 0x19
jae 0x14018063c
mov rcx, qword [r14 + 0x38]
lea rdx, [rsp + 0x7c]
call fcn.140168870
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140180ea9
cmp dword [rsp + 0x7c], 0
jne 0x14018063c
mov rdi, qword [rsp + 0x38]
test r12d, r12d
mov r12d, dword [rsp + 0x30]
lea r15, [rdi + 0x18]
cmove r15, rdi
jmp 0x14017be57
movsd xmm1, qword [rdi]
mov rcx, r15
call fcn.140177e10
test eax, eax
jle 0x14017e1dd
test bl, 1
lea eax, [rbx - 1]
cmovne eax, ebx
mov ebx, eax
jmp 0x14017e1e6
jns 0x14017e1e6
test bl, 1
je 0x14017e1e6
inc ebx
mov rcx, qword [r14 + 0x38]
lea r9, [rsp + 0x7c]
xor r8d, r8d
mov rdx, r15
call fcn.1401688f0
mov rdi, qword [rsp + 0x40]
mov r8d, eax
mov dword [rsp + 0x30], eax
mov qword [r14 + 0x58], r15
test eax, eax
jne 0x140181040
xor esi, esi
jmp 0x14017e29e
mov rcx, qword [r14 + 0x38]
mov edx, 2
call fcn.140170be0
mov rcx, qword [rsp + 0x38]
lea r8, [rsp + 0x7c]
test eax, eax
mov edx, 1
mov rax, qword [r14 + 0x40]
mov qword [rbp + 0x28], rax
cmovne r12d, edx
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x38], ax
lea eax, [rbx - 1]
test dl, al
mov byte [rbp + 0x3e], sil
mov eax, edx
mov edx, 0xffffffff
cmovne eax, edx
lea rdx, [rbp + 0x28]
mov byte [rbp + 0x3a], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
mov qword [rbp + 0x30], rcx
mov rcx, qword [r14 + 0x38]
call fcn.140168b70
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181040
test r12d, r12d
je 0x14017e29e
cmp byte [rbp + 0x3e], sil
je 0x14017e19b
mov eax, dword [rsp + 0x7c]
cmp ebx, 0x19
jl 0x14017e2f9
test eax, eax
js 0x14017e2bb
jne 0x14017e2b2
cmp ebx, 0x1a
je 0x14017e2bb
mov dword [rsp + 0x7c], esi
jmp 0x14017e1a6
mov dword [rsp + 0x7c], esi
xor edx, edx
mov rcx, qword [r14 + 0x38]
call fcn.140169100
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
je 0x14017e19b
cmp eax, 0x65
jne 0x140181040
mov r11d, 1
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x7c], r11d
mov r12d, esi
jmp 0x14017c9ec
test eax, eax
jg 0x14017e316
jne 0x14017e304
cmp ebx, 0x17
je 0x14017e316
mov rcx, qword [r14 + 0x38]
call fcn.140168e90
mov dword [rsp + 0x7c], eax
jmp 0x14017e19b
mov dword [rsp + 0x7c], esi
xor edx, edx
mov rcx, qword [r14 + 0x38]
call fcn.140169270
jmp 0x14017e2ca
mov rax, qword [r13 + 0x80]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [r12 + 0x1c]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x38]
call fcn.140167b90
test eax, eax
je 0x140180bcc
mov rax, qword [rdi + 0x40]
mov ebx, dword [r12 + 4]
mov qword [rbp + 0xa8], rax
movzx eax, word [r12 + 0x28]
mov word [rbp + 0xb8], ax
movsxd rax, dword [r12 + 0x24]
imul rcx, rax, 0x38
mov byte [rbp + 0xba], 0
add rcx, qword [rsp + 0x68]
mov qword [rbp + 0xb0], rcx
mov dword [rbp - 0x20], r14d
nop word [rax + rax]
mov rcx, qword [rsp + 0x40]
lea r9, [rbp - 0x20]
lea r8, [rbp + 0xa8]
mov rdx, rdi
call fcn.140178dd0
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x14017e8d8
mov eax, dword [rbp - 0x20]
test eax, eax
jg 0x14017e3f7
je 0x14018063c
test ebx, ebx
jle 0x140180bcc
mov rcx, qword [rdi + 0x38]
xor edx, edx
dec ebx
call fcn.140169100
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
je 0x14017e390
cmp eax, 0x65
jne 0x14017e8d8
mov r12d, r14d
mov dword [rsp + 0x30], r14d
jmp 0x14017e3fc
mov r12d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov r11d, 1
mov r10, qword [rsp + 0x50]
add r15, 0x18
jmp 0x14017c9f6
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
movzx ecx, word [rdx + 0xc]
mov eax, dword [rax + 8]
cmp ecx, eax
jge 0x14017e442
mov word [rdx + 0xc], ax
jmp 0x14017ca10
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
cmp ecx, eax
jle 0x14017b290
mov word [rdx + 0xc], ax
jmp 0x14017b290
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
cmp qword [rax + rcx*8], 0
je case.0x14017b228.11
mov r15, qword [rsp + 0x38]
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r15 + 0x10]
jge case.0x14017b228.87
mov r12, qword [rsp + 0x38]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
mov ecx, dword [r12 + 0x10]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
test ecx, ecx
jle 0x14017e505
mov rax, qword [rsi + 0x40]
lea rdi, [rbp + 0xf0]
mov qword [rbp + 0xf0], rax
mov word [rbp + 0x100], cx
mov qword [rbp + 0xf8], rbx
jmp 0x14017e551
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14017e520
mov rcx, rbx
call fcn.140171ac0
test eax, eax
jne 0x1401813b0
mov rcx, qword [rsi + 0x40]
call fcn.140177930
mov rdi, rax
mov r14, rax
test rax, rax
je 0x1401810c9
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.140177990
mov r11d, 1
xor r15d, r15d
mov byte [rdi + 0x12], 0
cmp byte [r12], 0x1d
mov ebx, r15d
jne 0x14017e589
movzx edx, word [rdi + 0x10]
mov ecx, r15d
test edx, edx
je 0x14017e589
mov rax, qword [rdi + 8]
add rax, 8
test byte [rax], 1
jne 0x14017e586
inc ecx
add rax, 0x38
cmp ecx, edx
jl 0x14017e575
jmp 0x14017e589
mov ebx, r11d
mov rcx, qword [rsi + 0x38]
lea r8, [rbp - 0x1c]
mov rdx, rdi
call fcn.140168b70
mov rdi, qword [rsp + 0x40]
mov r8d, eax
mov dword [rsp + 0x30], eax
test r14, r14
je 0x14017e5ba
mov rdx, r14
mov rcx, rdi
call fcn.14014e640
mov r8d, dword [rsp + 0x30]
test r8d, r8d
jne 0x140181045
mov eax, dword [rbp - 0x1c]
mov ecx, r15d
mov dword [rsi + 0x2c], eax
mov eax, dword [rbp - 0x1c]
test eax, eax
mov byte [rsi + 3], r15b
sete cl
mov dword [rsi + 0x28], r15d
test eax, eax
setne al
mov byte [rsi + 2], al
movzx eax, byte [r12]
cmp al, 0x1f
jne 0x14017e604
mov r12d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
test ecx, ecx
jne 0x140180646
jmp 0x14017be5c
test ebx, ebx
jne 0x14018063c
test ecx, ecx
je 0x14018063c
cmp al, 0x1c
jne 0x14017c17f
movzx eax, word [r12 + 0x10]
mov r12d, dword [rsp + 0x30]
mov word [rsi + 0xc], ax
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
test byte [rcx + 8], 0x24
jne 0x14017e6ac
movups xmm0, xmmword [rcx]
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x170], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x180], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x170]
movups xmmword [rbp + 0x190], xmm0
movsd qword [rbp + 0x1a0], xmm1
call fcn.14017af20
test byte [rbp + 0x178], 4
je 0x140180641
mov rdi, qword [rbp + 0x170]
mov r12, qword [rsp + 0x38]
jmp 0x14017e6be
mov rsi, qword [rsp + 0x68]
mov r12, qword [rsp + 0x38]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + rsi]
movsxd rcx, dword [r12 + 4]
lea r9, [rbp - 0x44]
mov rax, qword [r13 + 0x80]
xor r8d, r8d
mov rdx, rdi
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x44], r14d
call fcn.1401688f0
mov qword [rbx + 0x58], rdi
mov r8d, eax
mov word [rbx + 2], 0
mov dword [rbx + 0x28], r14d
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x44]
mov dword [rbx + 0x2c], eax
cmp dword [rbp - 0x44], 0
je 0x14017e723
cmp dword [r12 + 8], 0
jne 0x14018063c
mov ecx, 0x16664
call fcn.1401ea0c0
mov r8d, eax
mov dword [rsp + 0x30], eax
mov rdi, qword [rsp + 0x40]
test r8d, r8d
jmp 0x14017c179
mov rbx, qword [rsp + 0x38]
mov rcx, r13
mov rdx, rbx
call fcn.14017b0a0
mov rcx, qword [r13 + 0x80]
mov r15, rbx
movsxd rdx, dword [rbx + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x80]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x14017be5c
mov r12, qword [rsp + 0x38]
mov rcx, r13
mov rdx, r12
mov qword [rbp - 0x68], r14
mov dword [rbp - 0x58], r14d
call fcn.14017b0a0
movsxd rdx, dword [r12 + 4]
mov rsi, rax
mov rcx, qword [r13 + 0x80]
mov rdi, qword [rcx + rdx*8]
test byte [rdi + 8], 2
jne 0x14017e7cc
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp - 0x58]
call fcn.140168870
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x14017e8d8
cmp dword [rbp - 0x58], eax
je 0x14017e816
mov ecx, 1
mov qword [rbp - 0x68], rcx
movabs r15, 0x7fffffffffffffff
movsxd rdx, dword [r12 + 0xc]
test edx, edx
je 0x14017e875
mov rcx, qword [r13 + 0x108]
test rcx, rcx
je 0x14017e841
mov rax, qword [rcx + 8]
test rax, rax
je 0x14017e80c
nop dword [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14017e800
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x14017e84a
mov rcx, qword [rdi + 0x38]
call fcn.140167ba0
movabs r15, 0x7fffffffffffffff
mov qword [rbp - 0x68], rax
cmp rax, r15
jl 0x14017e838
or dword [rdi + 8], 2
jmp 0x14017e7d6
inc rax
mov qword [rbp - 0x68], rax
jmp 0x14017e7d6
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.140172180
mov rax, qword [rbx]
cmp rax, r15
je 0x14017e8cd
test byte [rdi + 8], 2
jne 0x14017e8cd
mov rcx, qword [rbp - 0x68]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rbp - 0x68], rcx
mov qword [rbx], rcx
test byte [rdi + 8], 2
je 0x14017e8e2
mov ebx, r14d
nop
lea rdx, [rbp - 0x68]
mov ecx, 8
call fcn.140150fe0
mov rdx, qword [rbp - 0x68]
lea r9, [rbp - 0x58]
movabs rax, 0x3fffffffffffffff
xor r8d, r8d
and rdx, rax
inc rdx
mov qword [rbp - 0x68], rdx
mov rcx, qword [rdi + 0x38]
call fcn.1401688f0
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x14017e8d8
cmp dword [rbp - 0x58], eax
jne 0x14017e8e2
inc ebx
cmp ebx, 0x64
jl 0x14017e880
mov r8d, 0xd
mov dword [rsp + 0x30], r8d
mov rdi, qword [rsp + 0x40]
jmp 0x140181045
mov r12d, dword [rsp + 0x30]
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r14d
mov rax, qword [rbp - 0x68]
mov rdi, qword [rsp + 0x40]
mov qword [rsi], rax
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
mov r8, qword [rsp + 0x68]
movsxd rax, dword [r12 + 8]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x80]
add rdx, r8
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
cmp byte [r12 + 1], 0xfa
mov r8, qword [rcx + r8]
mov qword [rbp + 0x110], r8
jne 0x14017e964
cmp qword [rdi + 0x140], 0
je 0x14017e964
mov rax, qword [rdi + 0x20]
movsx rcx, byte [rbx + 1]
mov rdi, qword [r12 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x14017e96a
mov rdi, r14
mov rsi, r14
movzx ecx, word [r12 + 2]
test cl, 1
je 0x14017e97f
inc qword [r13 + 0x40]
movzx ecx, word [r12 + 2]
test cl, 0x20
je 0x14017e993
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x38], r8
movzx ecx, word [r12 + 2]
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0x118], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0x12c], eax
test cl, 0x10
je 0x14017e9b2
mov r9d, dword [rbx + 0x2c]
jmp 0x14017e9b5
mov r9d, r14d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x14017e9ca
mov eax, dword [rdx]
mov dword [rbp + 0x130], eax
jmp 0x14017e9d1
mov dword [rbp + 0x130], r14d
movzx r8d, cx
lea rdx, [rbp + 0x108]
mov qword [rbp + 0x108], r14
and r8d, 0x8a
mov rcx, qword [rbx + 0x38]
call fcn.14016d860
mov dword [rsp + 0x30], eax
mov r8d, eax
mov byte [rbx + 3], 0
mov dword [rbx + 0x28], r14d
test eax, eax
jne 0x14017e8d8
test rdi, rdi
je 0x140180bcc
mov r9, qword [rdi]
mov edx, 0x12
mov rdi, qword [rsp + 0x40]
mov eax, 0x17
test byte [r12 + 2], 4
mov r8, rsi
cmovne edx, eax
mov rax, qword [rbp + 0x110]
mov rcx, qword [rdi + 0x138]
mov qword [rsp + 0x20], rax
call qword [rdi + pe_nt_image_headers64]
mov r12d, dword [rsp + 0x30]
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
mov rcx, qword [r13 + 0x80]
movsxd rax, dword [r12 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r12 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r12 + 0xc]
test eax, eax
je 0x14017ea9a
mov rdx, qword [rdx + 0x38]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x68]
mov r8, qword [rcx + rax]
mov rcx, qword [r9 + 0x38]
call fcn.14016dd80
jmp 0x14017c170
mov rdx, qword [rdx + 0x38]
mov r8, r14
mov rcx, qword [r9 + 0x38]
call fcn.14016dd80
jmp 0x14017c170
mov r12, qword [rsp + 0x38]
mov rax, qword [r13 + 0x80]
cmp byte [r12 + 1], 0xfa
movsxd rcx, dword [r12 + 4]
mov r14d, dword [r12 + 8]
mov rbx, qword [rax + rcx*8]
jne 0x14017eb0e
cmp qword [rdi + 0x140], 0
je 0x14017eb0e
mov rax, qword [rdi + 0x20]
movsx rcx, byte [rbx + 1]
mov rdi, qword [r12 + 0x10]
shl rcx, 5
test byte [r12 + 2], 2
mov rsi, qword [rcx + rax]
je 0x14017eb14
cmp byte [rbx + 4], 0
je 0x14017eb14
mov rcx, qword [rbx + 0x38]
call fcn.140167ba0
mov qword [rbx + 0x58], rax
jmp 0x14017eb14
xor eax, eax
mov esi, eax
mov edi, eax
movzx edx, byte [r12 + 2]
mov rcx, qword [rbx + 0x38]
call fcn.14016e320
mov r8d, eax
mov dword [rsp + 0x30], eax
xor eax, eax
mov qword [rbx + 0x28], rax
test r8d, r8d
jne 0x14017e8d8
test r14b, 1
je 0x140180bcc
inc qword [r13 + 0x40]
mov rax, qword [rsp + 0x40]
mov r10, qword [rax + 0x140]
test r10, r10
je 0x140180bbf
test rdi, rdi
je 0x140180bbf
test byte [rdi + 0x30], 0x80
jne 0x140180bbf
mov r9, qword [rdi]
mov r8, rsi
mov rax, qword [rbx + 0x58]
mov edx, 9
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rcx, qword [rdi + 0x138]
call r10
mov r12d, dword [rsp + 0x30]
jmp 0x14017b6f7
mov rdx, qword [r13 + 0x40]
mov rcx, rdi
call fcn.140178f00
mov qword [r13 + 0x40], r14
jmp 0x14017be5c
mov r12, qword [rsp + 0x38]
lea r9, [rbp - 0x18]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov r8d, dword [r12 + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rdx, rax, 0x38
mov dword [rbp - 0x18], r14d
add rdx, qword [rsp + 0x68]
call fcn.140183e60
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181045
mov r12d, eax
mov r15, qword [rsp + 0x38]
cmp dword [rbp - 0x18], eax
jne 0x140180646
jmp 0x14017be5c
mov r12, qword [rsp + 0x38]
movsxd rax, dword [r12 + 8]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x80]
add rdx, qword [rsp + 0x68]
mov rcx, qword [rax + rcx*8]
call fcn.140183da0
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181045
movsxd rcx, dword [r12 + 0xc]
mov r12d, r8d
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r14d
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
mov rcx, r13
mov rdx, r12
call fcn.14017b0a0
mov rcx, qword [r13 + 0x80]
mov rbx, rax
movsxd rdx, dword [r12 + 4]
mov rdx, qword [rcx + rdx*8]
mov rdi, qword [rdx + 0x38]
mov rcx, rdi
call fcn.140167be0
mov r8, qword [rsp + 0x40]
cmp eax, dword [r8 + 0x88]
ja 0x140181118
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.140172b40
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x14017e8d8
cmp dword [r12 + 0xc], eax
jne 0x140180bcc
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140180bcc
mov rcx, rbx
call fcn.140171a60
mov rdi, qword [rsp + 0x40]
test eax, eax
jne 0x1401813b0
mov r12d, dword [rsp + 0x30]
jmp 0x14017b6f7
mov rbx, qword [rsp + 0x38]
mov rcx, r13
mov rdx, rbx
call fcn.14017b0a0
movsxd rdx, dword [rbx + 4]
mov rdi, rax
mov rcx, qword [r13 + 0x80]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], 0
je 0x14017ed31
mov r10, qword [rsp + 0x50]
mov r11d, 1
mov word [rax + 8], r11w
jmp 0x14017ca0b
cmp byte [rbx + 3], 0
je 0x14017ed4c
mov rax, qword [rbx + 0x58]
mov qword [rbp], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
cmp byte [rbx], 2
jne 0x14017ed93
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.140179060
mov r8d, dword [rsp + 0x30]
test r8d, r8d
jne 0x140180ea9
mov rax, qword [rbp]
mov r12d, r8d
mov qword [rdi], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov rcx, rbx
call fcn.140177600
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140180ea9
cmp byte [rbx + 2], al
je 0x14017edc7
mov r10, qword [rsp + 0x50]
mov r11d, 1
mov word [rdi + 8], r11w
mov r12d, eax
jmp 0x14017ca0b
mov rcx, qword [rbx + 0x38]
call fcn.140167ba0
mov r12d, dword [rsp + 0x30]
mov qword [rbp], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 0
mov byte [rcx + 2], 1
mov dword [rcx + 0x28], r14d
jne 0x14017c17f
mov rcx, qword [rcx + 0x38]
call fcn.140163100
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
mov rsi, qword [rdi + 0x38]
mov dword [rbp - 0x40], r14d
cmp bl, 0x87
jne 0x14017ee52
mov rcx, rsi
mov dword [rdi + 0x2c], 0xffffffff
call fcn.140167b90
test eax, eax
jne 0x140180bcc
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140168870
mov r8d, eax
mov dword [rsp + 0x30], eax
movzx eax, byte [rbp - 0x40]
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r14d
test r8d, r8d
jne 0x14017e8d8
cmp dword [r12 + 8], r8d
jle 0x140180bcc
mov r12d, r8d
mov r15, qword [rsp + 0x38]
cmp dword [rbp - 0x40], r8d
jne 0x140180646
jmp 0x14017be57
mov rax, qword [r13 + 0x80]
lea rdx, [rbp - 0x3c]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.140168820
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181045
cmp dword [rbp - 0x3c], eax
jne 0x14018063c
mov rcx, rbx
call fcn.140168ea0
test rax, rax
js 0x14017ef0f
mov rcx, rax
call fcn.140152d30
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x14017ef0f
mov r12d, dword [rsp + 0x30]
mov r11d, 1
mov dword [rbp - 0x3c], r11d
jmp 0x14017c9ec
cmp dword [rbp - 0x3c], 0
mov r12d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
jne 0x140180646
jmp 0x14017be5c
inc dword [r13 + 0xe4]
mov r12, qword [rsp + 0x38]
lea rdx, [rbp - 0x48]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x48], r11d
cmp byte [rbx], 1
jne 0x14017ef5b
mov rcx, rbx
call fcn.140183c50
jmp 0x14017ef6c
mov rcx, qword [rbx + 0x38]
call fcn.140168820
mov byte [rbx + 3], 0
mov dword [rbx + 0x28], r14d
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181045
movzx eax, byte [rbp - 0x48]
mov r12d, r8d
mov r15, qword [rsp + 0x38]
mov byte [rbx + 2], al
cmp dword [rbp - 0x48], r8d
jne 0x140180646
jmp 0x14017be5c
mov rax, qword [r13 + 0x80]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, rdi
mov rdx, rbx
call fcn.140183d20
jmp 0x14017efde
mov r12, qword [rsp + 0x38]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov edx, dword [r12 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
call qword [r12 + 0x10]
mov dword [rsp + 0x30], eax
mov r8d, eax
mov dword [rbx + 0x28], r14d
test eax, eax
jne 0x14017f003
mov byte [rbx + 2], al
movzx eax, word [r12 + 2]
inc dword [r13 + rax*4 + 0xdc]
jmp 0x1401807c9
cmp r8d, 0x65
jne 0x140181045
mov r12d, r14d
mov dword [rsp + 0x30], r14d
mov byte [rbx + 2], 1
jmp 0x1401807f8
mov r12, qword [rsp + 0x38]
mov rax, qword [r13 + 0x80]
mov rsi, qword [rsp + 0x68]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, rsi
test byte [r12 + 2], 1
je 0x14017f050
inc qword [r13 + 0x40]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14017f072
mov rcx, rbx
call fcn.140171ac0
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x14017e8d8
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [r12 + 2]
mov qword [rbp + 0x1e8], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x1e0], rax
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r12 + 0x10]
add rcx, rsi
mov word [rbp + 0x200], ax
mov qword [rbp + 0x1f8], rcx
test r8b, 0x10
je 0x14017f0ba
mov r9d, dword [rdi + 0x2c]
jmp 0x14017f0bd
mov r9d, r14d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x1e0]
and r8d, 0x8a
call fcn.14016d860
mov dword [rdi + 0x28], r14d
mov rdi, qword [rsp + 0x40]
jmp 0x14017c170
mov r12, qword [rsp + 0x38]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, qword [rsp + 0x68]
test word [rbx + 8], ax
je 0x14017f127
mov rcx, rbx
call fcn.140171ac0
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x14017e8d8
mov rdx, rbx
mov rcx, rdi
call fcn.140183010
mov rdi, qword [rsp + 0x40]
jmp 0x14017c170
mov r12, qword [rsp + 0x38]
lea r8, [rbp - 0xc]
mov rax, qword [r13 + 0x80]
lea rdx, [rbp + 0xc0]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp + 0xc0], rax
movzx eax, word [r12 + 0xc]
mov word [rbp + 0xd0], ax
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov byte [rbp + 0xd2], 0
add rcx, qword [rsp + 0x68]
mov qword [rbp + 0xc8], rcx
mov rcx, rdi
call fcn.140168b70
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x14017e8d8
cmp dword [rbp - 0xc], eax
jne 0x14017f1de
mov dl, 4
mov rcx, rdi
call fcn.14016e320
mov rdi, qword [rsp + 0x40]
mov r8d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140181045
mov qword [rbx + 0x28], 0
mov r12d, eax
jmp 0x14017b6f7
cmp word [r12 + 2], 0
mov rdi, qword [rsp + 0x40]
je 0x14017f1fc
mov rcx, rdi
call fcn.14019af60
test eax, eax
je 0x140180fa9
mov r12d, dword [rsp + 0x30]
mov qword [rbx + 0x28], 0
jmp 0x14017b6f7
mov rax, qword [r13 + 0x80]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
call fcn.140177600
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181045
cmp byte [rbx + 2], al
jne 0x14017f2ba
mov qword [rbp + 8], r14
lea r8, [rbp + 8]
mov rdx, qword [rbx + 0x38]
mov rcx, rdi
call fcn.140178ba0
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181045
cmp byte [r12], 0x8b
jne 0x14017f29e
movsxd rcx, dword [r12 + 0xc]
mov rax, qword [r13 + 0x80]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r8b
mov rax, qword [rbp + 8]
mov qword [rdx + 0x58], rax
mov byte [rdx + 3], 1
mov rax, qword [r12 + 0x10]
mov r12d, r8d
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x14017b6f7
mov rdx, r12
mov rcx, r13
call fcn.14017b0a0
mov rcx, qword [rbp + 8]
mov r12d, dword [rsp + 0x30]
mov qword [rax], rcx
jmp 0x14017b6f7
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
call fcn.140172460
mov r12d, dword [rsp + 0x30]
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x14017ca15
call fcn.140177540
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181040
mov r12d, eax
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
cmp bl, 0x29
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp + 0xd8], rax
movzx eax, word [r12 + 0x10]
mov word [rbp + 0xe8], ax
sbb al, al
mov byte [rbp + 0xea], al
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
mov qword [rbp + 0xe0], rcx
mov rbx, qword [rdx + 0x38]
mov rcx, rbx
call fcn.140167be0
mov edi, eax
lea rax, [rdi - 1]
cmp rax, 0x7ffffffe
ja 0x140180fc8
mov rdx, qword [rsp + 0x40]
lea rcx, [rbp + 0x210]
xor r8d, r8d
call fcn.140172440
lea r8, [rbp + 0x210]
mov edx, edi
mov rcx, rbx
call fcn.140172b40
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x14017e8d8
mov rdx, qword [rbp + 0x220]
lea r8, [rbp + 0xd8]
mov ecx, dword [rbp + 0x21c]
xor r9d, r9d
call fcn.140177f70
lea rcx, [rbp + 0x210]
mov ebx, eax
call fcn.140171fb0
movzx edx, byte [r12]
lea ecx, [rbx + 1]
mov r12d, dword [rsp + 0x30]
neg ebx
mov r15, qword [rsp + 0x38]
and dl, 1
cmove ebx, ecx
test ebx, ebx
jg 0x140180646
jmp 0x14017be57
mov r12, qword [rsp + 0x38]
mov rcx, r13
mov rdx, r12
call fcn.14017b0a0
mov ecx, 1
mov rbx, rax
mov word [rax + 8], cx
mov ecx, dword [rdi + 0xe8]
inc ecx
cmp dword [rdi + 0xdc], ecx
jg 0x140180fe0
movsxd rdi, dword [r12 + 0xc]
lea r8, [rbp - 0x38]
mov rsi, qword [rsp + 0x40]
mov r9, rdi
mov edx, dword [r12 + 4]
shl r9, 5
mov dword [rbp - 0x38], r14d
mov rcx, qword [rsi + 0x20]
mov rcx, qword [r9 + rcx + 8]
call fcn.14016f5f0
mov r8d, eax
mov dword [rsp + 0x30], eax
mov eax, 4
mov word [rbx + 8], ax
movsxd rax, dword [rbp - 0x38]
mov qword [rbx], rax
test r8d, r8d
jne 0x140180ecd
mov r8d, dword [rbp - 0x38]
test r8d, r8d
je 0x140180bb2
mov r9d, dword [r12 + 4]
mov edx, edi
mov rcx, rsi
call fcn.14019e930
mov r12d, dword [rsp + 0x30]
lea eax, [rdi + 1]
mov byte [rsp + 0x79], al
mov rdi, rsi
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
lea r8, [rbp + 0x20]
mov rcx, qword [rdi + 0x20]
mov qword [rbp + 0x20], r14
movsxd rax, dword [r12 + 8]
mov edx, dword [r12 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14016f080
cmp dword [r12 + 0xc], 0
mov r8d, eax
mov dword [rsp + 0x30], eax
je 0x14017f503
mov rdx, qword [rbp + 0x20]
add qword [r13 + 0x40], rdx
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x14017f503
mov r14, qword [rsp + 0x68]
imul rcx, rax, 0x38
add qword [rcx + r14], rdx
test r8d, r8d
jmp 0x14017c179
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x14017f535
mov rdx, qword [rcx + 0x38]
mov rcx, rdi
call fcn.1401824d0
jmp 0x14017b6f7
mov rcx, qword [rcx + 0x38]
call fcn.14016f160
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181040
mov r12d, eax
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
mov rcx, r13
mov rdx, r12
call fcn.14017b0a0
movsxd rcx, dword [r12 + 4]
lea rdx, [rbp - 0x14]
mov r8d, dword [r12 + 0xc]
mov rbx, rax
shl rcx, 5
add rcx, qword [rdi + 0x20]
mov dword [rbp - 0x14], r14d
mov rcx, qword [rcx + 8]
call fcn.14016ed40
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181045
mov eax, dword [rbp - 0x14]
mov r12d, r8d
mov qword [rbx], rax
jmp 0x14017b6f7
inc byte [rdi + 0x6c]
xor r9d, r9d
mov r12, qword [rsp + 0x38]
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x20], r14
mov rdx, qword [r12 + 0x10]
call fcn.1401b2b90
dec byte [rdi + 0x6c]
jmp 0x14017c170
mov r12, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x20]
cmp qword [r12 + 0x10], 0
movsxd rbx, dword [r12 + 4]
jne 0x14017f62a
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1401a3b70
and dword [rdi + 0x2c], 0xffffffef
lea r8, [r13 + 0xb0]
movzx r9d, word [r12 + 2]
mov edx, ebx
mov rcx, rdi
call fcn.1401b7930
or dword [rdi + 0x2c], 1
mov r8d, eax
and dword [r13 + 0xd0], 0xfffffffc
mov dword [rsp + 0x30], eax
jmp 0x14017f70a
mov dword [rbp + 0x90], ebx
lea rax, [r13 + 0xb0]
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0x88], rax
mov dword [rbp + 0x98], r14d
shl rbx, 5
mov rcx, qword [rcx + rbx + 8]
call fcn.1401647f0
mov r8, qword [rdi + 0x20]
lea r9, str.sqlite_master
mov dword [rbp + 0xa0], eax
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rax, qword [r12 + 0x10]
mov rcx, rdi
mov qword [rsp + 0x20], rax
mov r8, qword [r8 + rbx]
call fcn.140150d40
mov rbx, rax
test rax, rax
je 0x140180ff5
lea r9, [rbp + 0x80]
mov byte [rdi + 0xc5], 1
lea r8, [fcn.1401b76e0]
mov dword [rbp + 0x94], r14d
mov rdx, rax
mov dword [rbp + 0x9c], r14d
mov rcx, rdi
mov qword [rsp + 0x20], r14
call fcn.1401b2b90
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14017f6f3
mov eax, dword [rbp + 0x94]
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14017f6f3
cmp dword [rbp + 0x9c], eax
jne 0x14017f6f3
mov ecx, 0x16c48
call fcn.1401ea0c0
mov dword [rsp + 0x30], eax
mov rdx, rbx
mov rcx, rdi
call fcn.14014e640
mov r8d, dword [rsp + 0x30]
mov byte [rdi + 0xc5], 0
test r8d, r8d
jne 0x140180ffe
mov r12d, dword [rsp + 0x30]
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
mov rcx, rdi
mov edx, dword [r12 + 4]
call fcn.140197ae0
jmp 0x14017c170
mov rax, qword [rsp + 0x38]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14019abd0
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140199f90
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1401c6000
jmp 0x14017b6f7
mov rcx, qword [rsp + 0x38]
lea r11, [rbp + 0x10]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
movsxd rax, dword [rcx + 0xc]
mov r8, qword [rcx + 0x10]
mov rdx, qword [r10 + 0x20]
add r8, 4
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movzx eax, word [r9 + 2]
mov ecx, dword [rdi + r14]
add rbx, r14
mov r9d, dword [r9 + 8]
inc ecx
shl rax, 5
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], ecx
mov rcx, r10
mov rdx, qword [rax + rdx + 8]
call fcn.1401704b0
mov rcx, rbx
mov rsi, rax
call fcn.140172460
mov ecx, dword [rbp + 0x10]
test ecx, ecx
je 0x14017f824
test rsi, rsi
je 0x14018139b
dec ecx
lea rax, [fcn.14014e560]
movsxd rdx, ecx
mov r9b, 1
sub qword [rdi + r14], rdx
mov r8, 0xffffffffffffffff
mov rdx, rsi
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140172740
movzx edx, byte [rsp + 0x48]
mov rcx, rbx
call fcn.140171840
jmp 0x1401807f3
mov rcx, qword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r14
imul rdi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x14017f869
mov rcx, rbx
call fcn.1401724e0
test eax, eax
jne 0x14018139b
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.140159bc0
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r14
test byte [rbx + 8], 0x10
je 0x14017f8ca
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x78]
call fcn.14015a010
test eax, eax
je 0x14017f8ca
mov rax, qword [rsp + 0x38]
mov rdx, qword [rbp + 0x78]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.1401724c0
jmp 0x1401807f8
mov rcx, rbx
call fcn.140172460
jmp 0x1401807ce
mov rcx, qword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r14
imul rsi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x14017f90d
mov rcx, rbx
call fcn.1401724e0
test eax, eax
jne 0x14018139b
test edi, edi
je 0x14017f92a
mov r8, qword [rsi + r14]
mov edx, edi
mov rcx, qword [rbx + 0x10]
call fcn.14015a090
test eax, eax
jne 0x140180641
test edi, edi
js 0x14017b8c6
mov rdx, qword [rsi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.140159bc0
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
mov r15, qword [rcx + 0x10]
imul r14, rax, 0x38
add r14, qword [rsp + 0x68]
cmp word [rcx + 2], 0
je 0x14017f987
mov rax, qword [r13 + 0x108]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x14017f987
cmp qword [rax + 0x38], rcx
je 0x14017ca15
mov rax, qword [rax + 8]
test rax, rax
jne 0x14017f974
mov eax, dword [r13 + 0x118]
cmp eax, dword [rdi + 0xb0]
jge 0x140181027
test byte [r14 + 8], 0x10
jne 0x14017faca
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
mov eax, dword [r15 + 8]
add ecx, edx
test edx, edx
lea ebx, [rcx + 1]
cmovne ebx, ecx
imul ecx, ebx, 7
add ecx, 0xf
add eax, 7
jns 0x14017f9c9
add eax, 7
add ecx, edx
sar eax, 3
lea edi, [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
movsxd rdx, edi
call fcn.14014e910
mov rsi, rax
test rax, rax
je 0x14018139b
mov rcx, r14
call fcn.140171fb0
mov dword [r14 + 0xc], edi
mov eax, 0x410
mov rdi, qword [rsp + 0x40]
mov word [r14 + 8], ax
lea rax, [0x140175020]
mov qword [r14 + 0x30], rax
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [r14 + 0x10], rsi
mov qword [rsi], r13
mov dword [rsi + 0x60], ebx
mov ecx, dword [r15 + 0x10]
mov dword [rsi + 0x64], ecx
mov rcx, qword [rsp + 0x38]
sub rcx, qword [rsp + 0x50]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x54], edx
mov rax, qword [r13 + 0x70]
mov qword [rsi + 0x20], rax
mov eax, dword [r13 + 0x28]
mov dword [rsi + 0x5c], eax
mov rax, qword [r13 + 0x80]
mov qword [rsi + 0x28], rax
mov eax, dword [r13 + 0x2c]
mov dword [rsi + 0x50], eax
mov rax, qword [r13 + 0x90]
mov qword [rsi + 0x10], rax
mov eax, dword [r13 + 0x98]
mov dword [rsi + 0x58], eax
mov rax, qword [r15 + 0x20]
mov qword [rsi + 0x38], rax
movsxd rax, ebx
imul rdx, rax, 0x38
lea rax, [rsi + 0x78]
add rdx, 0x78
add rdx, rsi
cmp rax, rdx
je 0x14017fac1
mov ecx, 0x80
nop dword [rax]
nop word [rax + rax]
mov word [rax + 8], cx
mov qword [rax + 0x28], rdi
add rax, 0x38
cmp rax, rdx
jne 0x14017fab0
mov eax, dword [r13 + 0x118]
jmp 0x14017face
mov rsi, qword [r14 + 0x10]
inc eax
lea r14, [rsi + 0x78]
mov dword [r13 + 0x118], eax
mov rax, qword [r13 + 0x108]
mov qword [rsi + 8], rax
mov rax, qword [rdi + 0x38]
mov qword [rsi + 0x40], rax
mov rax, qword [r13 + 0x40]
mov qword [rsi + 0x68], rax
mov rax, qword [r13]
mov qword [rsp + 0x68], r14
mov rcx, qword [rax + 0x78]
mov qword [rsi + 0x70], rcx
mov rax, qword [r13 + 0x128]
mov qword [rsi + 0x48], rax
xor eax, eax
mov qword [r13 + 0x128], rax
mov qword [r13 + 0x40], rax
mov qword [r13 + 0x108], rsi
mov qword [r13 + 0x70], r14
movsxd rcx, dword [rsi + 0x60]
mov dword [r13 + 0x28], ecx
movzx eax, word [rsi + 0x64]
mov dword [r13 + 0x2c], eax
imul rdx, rcx, 0x38
add rdx, r14
mov qword [r13 + 0x80], rdx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rsi + 0x30], rcx
mov eax, dword [r15 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1401ec560
mov r10, qword [r15]
mov qword [r13 + 0x90], r10
mov eax, dword [r15 + 8]
mov qword [rsp + 0x50], r10
lea rdx, [r10 - 0x18]
mov dword [r13 + 0x98], eax
mov qword [rsp + 0x38], rdx
jmp 0x1401807f8
mov rdx, qword [rsp + 0x38]
mov rcx, r13
call fcn.14017b0a0
mov r9, qword [r13 + 0x108]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
mov rcx, qword [rsp + 0x38]
add r8d, dword [rcx + 4]
movsxd rcx, r8d
mov r8d, 0x1000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.140172660
jmp 0x14017b6f7
mov eax, dword [rdi + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x38]
jae 0x14017fc11
movsxd rax, dword [rax + 8]
add qword [rdi + 0x2f8], rax
mov r15, qword [rsp + 0x38]
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
mov r15, qword [rsp + 0x38]
je 0x14017fc37
add qword [rdi + 0x2f0], rax
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
add qword [r13 + 0x58], rax
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
cmp dword [r15 + 4], 0
je 0x14017fc7e
cmp qword [rdi + 0x2f0], 0
jne case.0x14017b228.87
cmp qword [rdi + 0x2f8], 0
je 0x14017c9f6
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
cmp qword [r13 + 0x58], 0
jne case.0x14017b228.87
cmp qword [rdi + 0x2f8], 0
je 0x14017c9f6
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rcx, qword [r13 + 0x108]
test rcx, rcx
je 0x14017fce4
mov rax, qword [rcx + 8]
test rax, rax
je 0x14017fccc
nop dword [rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14017fcc0
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14017fcf9
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, rsi
mov rcx, rdi
call fcn.140172180
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.140172180
mov rax, qword [rbx]
cmp qword [rdi], rax
jge 0x140180bcc
mov qword [rdi], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
mov rdx, qword [rcx]
test rdx, rdx
jle 0x14017b290
mov rax, r15
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx], rdx
jmp 0x14017c9f6
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
mov rcx, r13
add rbx, qword [rsp + 0x68]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x68]
call fcn.14017b0a0
mov rcx, qword [rbx]
mov rsi, rax
mov qword [rbp + 0x18], rcx
test rcx, rcx
jle 0x14017fdc8
mov rdx, qword [rdi]
lea rcx, [rbp + 0x18]
test rdx, rdx
cmovle rdx, r14
call fcn.140152b50
test eax, eax
jne 0x14017fdc8
mov rax, qword [rbp + 0x18]
mov rdi, qword [rsp + 0x40]
mov qword [rsi], rax
jmp 0x14017b6f7
mov rdi, qword [rsp + 0x40]
mov qword [rsi], 0xffffffffffffffff
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
test rax, rax
je 0x14017ca15
mov r15, qword [rsp + 0x38]
jle 0x14017c9f6
dec rax
mov qword [rcx], rax
jmp 0x14017c9f6
mov rax, qword [rsp + 0x38]
movabs r8, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
cmp rax, r8
jle 0x14017fe37
dec rax
mov qword [rcx], rax
mov r15, qword [rsp + 0x38]
test rax, rax
je 0x14017c9f6
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov rcx, r14
movzx edi, word [r12 + 2]
mov esi, edi
lea rdx, [rdi*8 + 0x68]
call fcn.14014e9c0
mov rbx, rax
test rax, rax
je 0x140181396
xor eax, eax
lea rcx, [rdi + 6]
lea rcx, [rbx + rcx*8]
mov qword [rbx + 0x10], rax
mov r15d, 1
mov qword [rbx], rcx
mov r8d, r15d
mov rdx, r14
call fcn.140172440
mov rcx, qword [r12 + 0x10]
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [rbx + 8], rcx
mov rcx, r12
sub rcx, qword [rsp + 0x50]
imul rcx
mov byte [rbx + 0x29], dil
mov rdi, qword [rsp + 0x40]
sar rdx, 2
mov rax, rdx
mov qword [rbx + 0x18], r13
shr rax, 0x3f
add rdx, rax
mov byte [rbx + 0x28], 0
mov dword [rbx + 0x20], edx
xor r14d, r14d
mov dword [rbx + 0x24], r14d
mov word [r12], 0xf0a1
mov qword [r12 + 0x10], rbx
jmp 0x14017ff05
mov r12, qword [rsp + 0x38]
mov r15d, 1
movsxd rax, dword [r12 + 0xc]
mov rbx, qword [r12 + 0x10]
mov rsi, qword [rsp + 0x68]
imul r10, rax, 0x38
add r10, rsi
cmp qword [rbx + 0x10], r10
je 0x14017ff62
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x14017ff62
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax]
mov eax, dword [r12 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, rsi
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14017ff40
inc dword [r10 + 0xc]
lea r8, [rbx + 0x30]
cmp dword [r12 + 4], 0
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
je 0x14017ff82
call qword [rax + 0x30]
jmp 0x14017ff85
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x14017c17f
jle 0x14017ffb3
mov rcx, qword [rbx]
call fcn.1401793e0
mov r8, rax
lea rdx, [0x140241a14]
mov rcx, r13
call fcn.1401734f0
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x30], eax
cmp byte [rbx + 0x28], 0
je 0x14017ffd5
movsxd rax, dword [r12 - 0x14]
test eax, eax
je 0x14017ffd1
imul rcx, rax, 0x38
mov rdx, r15
add rcx, rsi
call fcn.1401724c0
mov byte [rbx + 0x28], 0
mov rcx, qword [rbx]
call fcn.140171fb0
mov rax, qword [rbx]
mov r11d, 1
mov r8d, dword [rsp + 0x30]
mov word [rax + 8], r11w
mov dword [rbx + 0x24], r14d
test r8d, r8d
jne 0x140181400
mov r10, qword [rsp + 0x50]
mov r12d, r8d
jmp 0x14017ca10
mov rcx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, rsi
test eax, eax
je 0x140180053
mov r8, qword [rcx + 0x10]
mov rcx, rbx
imul rdx, rax, 0x38
add rdx, rsi
call fcn.140171e10
mov r12d, eax
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, rsi
jmp 0x140180066
mov rdx, qword [rcx + 0x10]
mov rcx, rbx
call fcn.140171d00
mov r12d, eax
mov dword [rsp + 0x30], eax
mov rcx, rbx
test r12d, r12d
jne 0x14018106f
movzx edx, byte [rsp + 0x48]
call fcn.140171840
mov rcx, rbx
call fcn.1401725f0
test eax, eax
jne 0x140181133
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
lea rax, [rbp + 0x250]
lea r9, [rbp + 0x24c]
mov dword [rbp + 0x248], r14d
mov rcx, rdi
mov qword [rbp + 0x24c], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov r8d, dword [r12 + 8]
mov edx, dword [r12 + 4]
call fcn.1401e8d40
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
je 0x1401800f6
cmp eax, 5
jne 0x140181045
mov ecx, 1
mov dword [rsp + 0x30], r14d
mov dword [rbp + 0x248], ecx
mov r12d, r14d
jmp 0x1401800fb
mov r12d, dword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov rbx, r14
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x68]
movsxd rdx, dword [rbp + rbx*4 + 0x248]
mov rcx, rdi
call fcn.1401724c0
inc rbx
add rdi, 0x38
cmp rbx, 3
jl 0x140180110
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov rdx, qword [rsp + 0x38]
mov rcx, r13
call fcn.14017b0a0
mov rcx, qword [rdi + 0x20]
mov r14, rax
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 4]
mov ebx, dword [rax + 0xc]
shl rdx, 5
mov r15, qword [rdx + rcx + 8]
mov rcx, r15
call fcn.14016f8e0
mov rcx, rax
mov rsi, rax
call fcn.140128de0
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.14015f5a0
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.14015f200
cmp ebx, 5
jne 0x1401801b9
mov rcx, rax
call fcn.1401518f0
test eax, eax
je 0x1401801b2
mov rcx, rsi
call fcn.14015f5c0
test eax, eax
jne 0x1401801b9
mov ebx, edi
jmp 0x140180237
cmp ebx, edi
je 0x140180237
cmp edi, 5
je 0x1401801c7
cmp ebx, 5
jne 0x140180237
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x61], 0
je 0x140181088
cmp dword [rax + 0xdc], 1
jg 0x140181088
cmp edi, 5
jne 0x140180207
mov rdx, rax
mov rcx, rsi
call fcn.14015f8b0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14018023c
mov edx, ebx
mov rcx, rsi
call fcn.14015f420
jmp 0x14018021c
cmp edi, 4
jne 0x140180217
lea edx, [rdi - 2]
mov rcx, rsi
call fcn.14015f420
test r12d, r12d
jne 0x14018023c
xor eax, eax
mov rcx, r15
mov edx, eax
cmp ebx, 5
sete dl
inc edx
call fcn.140170b30
mov r12d, eax
mov dword [rsp + 0x30], eax
test r12d, r12d
je 0x14018023e
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.14015f420
mov ecx, 0xa02
mov word [r14 + 8], cx
mov ecx, eax
call fcn.1401b36f0
mov rcx, rax
mov qword [r14 + 0x10], rax
call fcn.1401518f0
movzx edx, byte [rsp + 0x48]
mov rcx, r14
mov dword [r14 + 0xc], eax
mov byte [r14 + 0xa], 1
call fcn.140171840
mov r8d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
test r8d, r8d
jne 0x140181040
mov r12d, r8d
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
movsxd rax, dword [r12 + 8]
test eax, eax
je 0x1401802af
imul r9, rax, 0x38
add r9, qword [rsp + 0x68]
jmp 0x1401802b2
mov r9, r14
mov r8d, dword [r12 + 4]
lea rcx, [r13 + 0xb0]
mov rdx, rdi
call fcn.1401cb720
jmp 0x14017c170
mov rax, qword [rdi + 0x20]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [r12 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140166d90
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
je 0x14017c17f
cmp eax, 0x65
jne 0x140181045
mov r12d, r14d
mov dword [rsp + 0x30], r14d
jmp 0x14017c9e6
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
jne 0x140180327
mov edx, dword [rax + 8]
mov rcx, rdi
call fcn.140178f10
jmp 0x14017b6f7
mov eax, dword [rax + 8]
mov r15, qword [rsp + 0x38]
inc eax
xor eax, dword [r13 + 0xd0]
and eax, 3
xor dword [r13 + 0xd0], eax
mov r13, qword [rbp - 0x78]
add r15, 0x18
xor r14d, r14d
jmp 0x14017b1f0
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
call fcn.140167bc0
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
call fcn.140167bd0
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
movzx r8d, byte [rax + 0xc]
test r8b, r8b
jne 0x1401803b3
mov eax, dword [rdi + 0x30]
bt rax, 0xa
jb 0x14017ca15
mov r12, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x20]
movsxd rax, dword [r12 + 4]
mov edx, dword [r12 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1401709f0
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
je 0x14017c17f
cmp al, 6
jne 0x140181045
mov r8, qword [r12 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r13
call fcn.1401734f0
mov r8d, dword [rsp + 0x30]
jmp 0x140181045
mov r12, qword [rsp + 0x38]
mov rcx, rdi
mov rbx, qword [r12 + 0x10]
mov rdx, rbx
call fcn.1401cd2b0
mov dword [rsp + 0x30], eax
mov r8d, eax
test rbx, rbx
je 0x14017dc04
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.140179060
mov r8d, dword [rsp + 0x30]
test r8d, r8d
jmp 0x14017c179
mov r12, qword [rsp + 0x38]
lea rcx, [rbp + 0x138]
xorps xmm0, xmm0
mov qword [rbp + 0x138], r14
xorps xmm1, xmm1
mov qword [rbp + 0x168], r14
movdqu xmmword [rbp + 0x140], xmm0
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
movdqu xmmword [rbp + 0x150], xmm1
mov qword [rbp + 0x160], rdi
add rdx, qword [rsp + 0x68]
call fcn.1401726a0
lea rcx, [rbp + 0x138]
mov dword [rsp + 0x30], eax
call fcn.1401793e0
test rax, rax
je 0x1401804c1
mov edx, dword [r12 + 4]
lea r9, [r13 + 0xb0]
mov r8, rax
mov rcx, rdi
call fcn.1401cccc0
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x138]
call fcn.140171fb0
mov r8d, dword [rsp + 0x30]
test r8d, r8d
jmp 0x14017c179
inc dword [rdi + 0xe8]
mov rcx, rdi
mov r12, qword [rsp + 0x38]
mov r8, qword [r12 + 0x10]
mov edx, dword [r12 + 4]
call fcn.1401cd0a0
dec dword [rdi + 0xe8]
jmp 0x14017c170
mov r12, qword [rsp + 0x38]
mov qword [rbp - 0x60], r14
mov rax, qword [r12 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1401810d8
mov rdi, qword [rbx]
test rdi, rdi
je 0x1401810d3
lea rdx, [rbp - 0x60]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.140179060
mov r8d, dword [rsp + 0x30]
test r8d, r8d
jne 0x14017e8d8
mov rax, qword [rbp - 0x60]
lea r9d, [r8 - 1]
mov rcx, r13
mov byte [rsp + 0x20], 2
mov qword [rax], rbx
mov edx, dword [r12 + 4]
call fcn.14017acc0
mov rcx, qword [rbp - 0x60]
test rax, rax
je 0x1401810c6
mov r12d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
mov qword [rax + 0x38], rcx
inc dword [rbx + 8]
jmp 0x14017b6f7
mov r12, qword [rsp + 0x38]
movsxd rax, dword [r12 + 0xc]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x80]
add rdx, qword [rsp + 0x68]
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
mov rax, qword [rbp - 0x78]
mov edx, dword [rdx]
mov rsi, qword [r13 + 0x38]
mov rdi, qword [rax + 0x78]
xor eax, eax
mov r8d, eax
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x1401805f9
mov r10d, 1
nop
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x1401805e0
mov r8, qword [r12 + 0x10]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
call qword [r14 + 0x40]
mov rcx, qword [rbp - 0x78]
mov rdx, r15
mov dword [rsp + 0x30], eax
call fcn.140179060
mov r8d, dword [rsp + 0x30]
test r8d, r8d
jne 0x14017e8d8
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x14017bc37
mov r12d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov r10, qword [rsp + 0x50]
mov r11d, 1
jmp 0x14017c9f6
mov rbx, qword [rsp + 0x38]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
cmp byte [rdi + 2], 0
je 0x14018068f
mov rcx, rbx
call fcn.140172460
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov rax, qword [rdi + 0x38]
xorps xmm0, xmm0
mov r12, qword [rsp + 0x38]
xorps xmm1, xmm1
mov rsi, qword [rax]
test byte [r12 + 2], 1
mov r14, qword [rsi]
movdqu xmmword [rbp + 0x1b0], xmm0
mov qword [rbp + 0x1a8], rbx
movdqu xmmword [rbp + 0x1c0], xmm1
movdqu xmmword [rbp + 0x1d0], xmm0
je 0x1401806de
mov rcx, rbx
call fcn.140172460
xor eax, eax
mov dword [rbx], eax
mov eax, 0x4001
jmp 0x1401806ee
movzx eax, word [rbx + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 1
mov word [rbx + 8], ax
lea rdx, [rbp + 0x1a8]
mov r8d, dword [r12 + 8]
mov rcx, qword [rdi + 0x38]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.140179060
cmp dword [rbp + 0x1cc], 0
jle 0x140180742
mov rcx, rbx
call fcn.1401793e0
mov r8, rax
lea rdx, [0x140241a14]
mov rcx, r13
call fcn.1401734f0
mov eax, dword [rbp + 0x1cc]
mov dword [rsp + 0x30], eax
movzx edx, byte [rsp + 0x48]
mov rcx, rbx
call fcn.140171840
mov rcx, rbx
call fcn.1401725f0
mov rdi, qword [rsp + 0x40]
test eax, eax
jne 0x140181138
mov r8d, dword [rsp + 0x30]
test r8d, r8d
jmp 0x14017c179
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x14017bf5c
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.140179060
mov r8d, dword [rsp + 0x30]
test r8d, r8d
jne 0x140180ea9
mov rcx, qword [rdi + 0x38]
call qword [rsi + 0x50]
test eax, eax
jne 0x1401807ee
mov rdi, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x30]
mov r10, qword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [r10 + rcx*8]
mov qword [rsp + 0x38], rax
jmp 0x1401807f8
mov r12d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
mov eax, dword [rdi + 0x198]
test eax, eax
jne 0x140181373
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
cmp rsi, rbx
jb 0x14017c17f
nop dword [rax]
mov rdx, qword [rdi + 0x208]
test rdx, rdx
je 0x14017c17f
mov eax, dword [rdi + 0x218]
mov rcx, qword [rdi + 0x210]
add rbx, rax
mov qword [rsp + 0x60], rbx
call rdx
test eax, eax
jne 0x1401810e8
cmp rsi, rbx
jae 0x140180820
jmp 0x14017b6f7
mov edi, dword [rdi + 0x30]
mov edx, r11d
mov rax, qword [rsp + 0x40]
and edi, 0x4000000
mov r12, qword [rsp + 0x38]
or qword [rax + 0x30], 0x4000000
mov rax, qword [r12 + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.140171840
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x14017e8d8
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
test edi, edi
mov rdi, qword [rsp + 0x40]
mov dword [rsp + 0x30], eax
jne 0x1401808ca
and qword [rdi + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r13
call fcn.140179060
and dword [r13 + 0xd0], 0xfffffffc
mov r8d, dword [rsp + 0x30]
test r8d, r8d
jmp 0x14017c179
cmp byte [rdi + 0x63], 0
mov qword [rbp - 0x28], r14
jne 0x1401813a0
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140181108
mov r10, qword [rbx]
test r10, r10
je 0x140181108
cmp qword [r10 + 0x68], 0
je 0x14017bac1
mov r12, qword [rsp + 0x38]
movzx edi, byte [rdi + 0x68]
mov r8, qword [r13 + 0x78]
movsxd rax, dword [r12 + 0xc]
movsxd rdx, dword [r12 + 8]
imul rcx, rax, 0x38
mov rax, r14
add rcx, qword [rsp + 0x68]
test edx, edx
jle 0x140180960
nop dword [rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x140180950
movzx eax, byte [r12 + 2]
lea r9, [rbp - 0x28]
mov rsi, qword [rsp + 0x40]
mov rcx, rbx
mov byte [rsi + 0x68], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [rsi + 0x68], dil
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.140179060
mov r8d, dword [rsp + 0x30]
mov rdi, rsi
test r8d, r8d
jne 0x1401809a8
cmp dword [r12 + 4], r8d
je 0x1401809a8
mov rax, qword [rbp - 0x28]
mov qword [rsi + 0x38], rax
cmp r8b, 0x13
jne 0x1401809f0
mov rax, qword [r12 + 0x10]
cmp byte [rax + 0x1c], 0
je 0x1401809f0
movzx ecx, word [r12 + 2]
cmp cx, 4
jne 0x1401809d2
mov r12d, r14d
mov dword [rsp + 0x30], r14d
jmp 0x14017b6f7
cmp cx, 5
movzx eax, cl
mov ecx, 2
cmove eax, ecx
test r8d, r8d
mov byte [r13 + 0xca], al
jmp 0x14017c179
inc qword [r13 + 0x40]
test r8d, r8d
jmp 0x14017c179
mov rdx, qword [rsp + 0x38]
mov rcx, r13
call fcn.14017b0a0
mov rcx, qword [rdi + 0x20]
mov rbx, rax
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 4]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.1401647f0
mov ecx, eax
mov qword [rbx], rcx
jmp 0x14017b6f7
mov rdx, qword [rsp + 0x38]
mov rcx, r13
call fcn.14017b0a0
mov r8, qword [rsp + 0x38]
mov rdi, rax
mov rax, qword [rsp + 0x40]
movsxd rdx, dword [r8 + 4]
mov rcx, qword [rax + 0x20]
mov eax, r14d
shl rdx, 5
cmp dword [r8 + 0xc], 0
mov rbx, qword [rdx + rcx + 8]
je 0x140180a7b
mov rcx, rbx
call fcn.1401647f0
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 0xc]
cmp eax, ecx
cmovb eax, ecx
mov edx, eax
mov rcx, rbx
call fcn.1401658b0
mov eax, eax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14017b6f7
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, rsi
cmp qword [rbx], rdi
je 0x140180b07
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx + 0x18], r13
sub rdx, 1
mov qword [rbx], rdi
lea r9d, [rax - 1]
js 0x140180b07
mov r12, qword [rsp + 0x38]
lea r8, [rbx + 0x30]
lea r8, [r8 + rdx*8]
nop word [rax + rax]
mov eax, dword [r12 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, rsi
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x140180ae0
mov r12d, dword [rsp + 0x30]
mov eax, 0x3e40
lea r8, [rbx + 0x30]
and word [rdi + 8], ax
mov rcx, rbx
or word [rdi + 8], 1
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x140180b85
jle 0x140180b51
mov rcx, rdi
call fcn.1401793e0
mov r8, rax
lea rdx, [0x140241a14]
mov rcx, r13
call fcn.1401734f0
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x30], eax
mov r12, qword [rsp + 0x38]
lea rdx, [r13 + 0x128]
mov r8d, dword [rbx + 0x20]
mov rcx, qword [rsp + 0x40]
mov r9d, dword [r12 + 4]
call fcn.140177090
mov r8d, dword [rsp + 0x30]
mov dword [rbx + 0x24], r14d
test r8d, r8d
jne 0x14017e8d8
mov r12d, r8d
test byte [rdi + 8], 0x12
je 0x140180bcc
movzx edx, byte [rsp + 0x48]
mov rcx, rdi
call fcn.140171840
mov rcx, rdi
call fcn.1401725f0
mov rdi, qword [rsp + 0x40]
test eax, eax
jne 0x140181133
jmp 0x14017b6f7
mov r12d, dword [rsp + 0x30]
mov rdi, rsi
jmp 0x14017b6f7
mov r12d, dword [rsp + 0x30]
mov rdi, rax
jmp 0x14017b6f7
mov rdi, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x30]
jmp 0x14017b6f7
movzx eax, byte [rdi + 0x6a]
test al, 0x41
je 0x140180ca5
cmp byte [r13 + 0xcd], 0
jne 0x140180ca5
mov rcx, qword [rsp + 0x38]
mov r9, qword [rcx + 0x10]
test r9, r9
jne 0x140180c13
mov r9, qword [r13 + 0xf8]
test r9, r9
je 0x140180ca5
test al, 0x40
je 0x140180c3f
mov rdx, r9
mov rcx, r13
call fcn.14017a7d0
mov rcx, qword [rdi + 0x100]
mov rdx, rax
mov rbx, rax
call qword [rdi + 0xf8]
mov rcx, rbx
call fcn.14014e560
jmp 0x140180c95
cmp dword [rdi + 0xe4], 1
jle 0x140180c82
mov r8, r9
lea rdx, str.____s
mov rcx, rdi
call fcn.140150d40
mov rdx, qword [rdi + 0x100]
mov r9, rax
mov r8, r13
mov ecx, 1
mov rbx, rax
call qword [rdi + 0xf8]
mov rdx, rbx
mov rcx, rdi
call fcn.14014e6a0
jmp 0x140180c95
mov rdx, qword [rdi + 0x100]
mov r8, r13
mov ecx, r11d
call qword [rdi + 0xf8]
mov r10, qword [rsp + 0x50]
mov edx, 0x2400
mov r11d, 1
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
mov eax, dword [rax + 4]
cmp eax, dword [0x1402b066c]
jl 0x140180d04
cmp byte [r15], 0xb0
je case.0x14017b228.87
cmp dword [r13 + 0x98], 1
mov edx, r11d
jle 0x140180d01
mov eax, 0x18
nop word [rax + rax]
mov rcx, qword [r13 + 0x90]
cmp byte [rax + rcx], 0x11
jne 0x140180cf2
mov dword [rax + rcx + 4], r14d
inc edx
add rax, 0x18
cmp edx, dword [r13 + 0x98]
jl 0x140180ce0
mov eax, r14d
inc eax
mov dword [r15 + 4], eax
inc dword [r13 + 0xf4]
jmp 0x14017c9f6
mov dword [r13 + 0x38], ecx
mov r12, rax
movzx eax, byte [rax + 8]
mov byte [r13 + 0xca], al
mov dword [r13 + 0x34], ebx
test ecx, ecx
je 0x140180dbb
movzx eax, word [r12 + 2]
mov rcx, r13
test ax, ax
je 0x140180d83
movzx r8d, ax
lea rdx, str._s_constraint_failed
mov r8, qword [rsi + r8*8 + 0x211500]
call fcn.1401734f0
mov r9, qword [r12 + 0x10]
test r9, r9
je 0x140180d94
mov r8, qword [r13 + 0xb0]
lea rdx, str._z:__s
mov rcx, rdi
call fcn.140150d40
mov qword [r13 + 0xb0], rax
jmp 0x140180d94
mov r8, qword [r12 + 0x10]
lea rdx, [0x140241a14]
call fcn.1401734f0
mov rax, qword [r13 + 0xb0]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r13 + 0xf8]
mov r8d, ebx
mov ecx, dword [r12 + 4]
mov qword [rsp + 0x20], rax
call fcn.140150ee0
mov rcx, r13
call fcn.140176b10
mov rsi, qword [rsp + 0x60]
mov ebx, eax
mov r15, qword [rsp + 0x58]
mov r14d, 1
cmp eax, 5
jne 0x140180de3
mov dword [r13 + 0x38], eax
jmp 0x140181512
cmp dword [r13 + 0x38], 0
mov ebx, 0x65
cmovne ebx, r14d
jmp 0x140181512
mov r8d, 0x14
mov r12, r15
mov dword [rsp + 0x30], r8d
jmp 0x140181045
lea rax, [0x1402471e4]
mov r9d, 0x15e04
mov qword [rsp + 0x20], rax
lea r8, str.database_corruption
mov eax, 0xb
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, eax
mov dword [rsp + 0x30], eax
call fcn.140150ee0
mov r8d, 0xb
jmp 0x140181040
lea r10, [0x140000000]
movsxd rax, esi
and edx, 0x3f
lea rcx, [rax + rax*2]
mov r9d, dword [r15 + rcx*8 + 8]
mov rax, qword [r15 + rcx*8]
mov rcx, r13
movzx r8d, byte [rdx + r10 + 0x215e60]
lea rdx, str.cannot_store__s_value_in__s_column__s._s
shr r9d, 4
and r9d, 0xf
mov qword [rsp + 0x28], rax
mov rax, qword [r14]
dec r9d
mov r8, qword [r10 + r8*8 + 0x214500]
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x2c3af0]
call fcn.1401734f0
mov r8d, 0xc13
mov dword [rsp + 0x30], r8d
mov rdi, qword [rsp + 0x40]
jmp 0x140181040
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1401734f0
mov r8d, 5
mov dword [rsp + 0x30], r8d
mov rdi, rsi
jmp 0x140181045
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1401734f0
mov r8d, 5
mov dword [rsp + 0x30], r8d
jmp 0x140181045
mov r13, rbx
mov rcx, r12
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x34], edx
mov ebx, 5
mov byte [rdi + 0x61], 0
mov dword [r13 + 0x38], ebx
jmp 0x140181502
mov r8d, 0xb
bt rax, 0x14
cmovae r9d, r8d
mov r8d, r9d
mov dword [rsp + 0x30], r9d
jmp 0x140181045
mov rsi, qword [rsp + 0x60]
mov r14d, 1
mov r15, qword [rsp + 0x58]
cmp r8b, 5
jne 0x140181055
mov ebx, dword [rsp + 0x30]
mov rcx, r12
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov dword [r13 + 0x38], r8d
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r13 + 0x34], edx
jmp 0x140181512
mov r8d, 0x204
mov dword [rsp + 0x30], r8d
jmp 0x140181045
lea r8, str.index_corruption
mov edx, 0x16a80
mov ecx, 0x30b
call fcn.1401ea090
mov r8d, eax
mov dword [rsp + 0x30], eax
jmp 0x140181045
mov ecx, 0x16b4c
call fcn.1401ea0c0
mov rdi, qword [rsp + 0x40]
mov r8d, eax
mov dword [rsp + 0x30], eax
jmp 0x140181045
mov r8d, 6
mov byte [r13 + 0xca], 2
mov dword [rsp + 0x30], r8d
jmp 0x140181045
mov eax, 7
mov dword [rsp + 0x30], eax
mov rcx, rdi
call fcn.14019a320
mov r8d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
cmp r8d, 7
je 0x1401813ba
mov r14d, 1
jmp 0x140181055
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x30], r11d
mov rcx, r13
call fcn.1401734f0
mov r8d, dword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov r14d, 1
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
cmp byte [rdi + 0x63], 0
je 0x140181408
mov r8d, 7
mov dword [rsp + 0x30], r8d
jmp 0x140181422
call fcn.1401793e0
mov r8, rax
lea rdx, [0x140241a14]
mov rcx, r13
call fcn.1401734f0
jmp 0x14018103b
cmp ebx, 5
lea rax, str.into
lea r8, str.out_of
mov r14d, 1
cmove r8, rax
mov dword [rsp + 0x30], r14d
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, r13
call fcn.1401734f0
mov rdi, qword [rsp + 0x40]
mov r8d, r14d
mov r12, qword [rsp + 0x38]
jmp 0x14018104b
call qword [rdi + 0x38]
mov rdi, qword [rsp + 0x40]
jmp 0x1401813b0
mov rdi, qword [rsp + 0x40]
mov r8d, 6
mov dword [rsp + 0x30], r8d
jmp 0x140181045
mov r12, qword [rsp + 0x38]
mov rsi, 0xffffffffffffffff
mov r8d, 9
mov dword [rsp + 0x30], r8d
lea r14d, [rsi + 2]
jmp 0x140181050
mov r8d, 6
mov dword [rsp + 0x30], r8d
jmp 0x140181040
mov rdi, r8
jmp 0x140181138
mov r13, qword [rbp - 0x78]
mov rdi, r8
jmp 0x140181133
mov rdi, qword [rsp + 0x40]
mov r12, rbx
jmp 0x140181138
mov r13, rsi
mov r12, qword [rsp + 0x38]
lea rdx, str.string_or_blob_too_big
mov rcx, r13
call fcn.1401734f0
mov r8d, 0x12
mov dword [rsp + 0x30], r8d
jmp 0x140181045
xor edx, edx
mov rcx, r13
call fcn.140176ac0
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
jne 0x140181040
mov eax, dword [r13 + 0x30]
mov r12, qword [rsp + 0x38]
add eax, 2
or eax, 1
mov dword [r13 + 0x30], eax
movsxd rax, dword [r12 + 4]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x68]
mov qword [r13 + 0xa8], rdi
cmp dword [r12 + 8], 0
jle 0x1401811f4
lea rbx, [rdi + 8]
mov esi, 0x202
nop dword [rax]
mov eax, 0x1000
test word [rbx], ax
je 0x1401811d1
movsxd rax, r14d
imul rcx, rax, 0x38
add rcx, rdi
call fcn.140171a60
test eax, eax
jne 0x1401810c9
movzx eax, word [rbx]
and ax, si
cmp ax, 2
jne 0x1401811e6
lea rcx, [rbx - 8]
call fcn.140171a00
inc r14d
add rbx, 0x38
cmp r14d, dword [r12 + 8]
jl 0x1401811b0
mov rdi, qword [rsp + 0x40]
cmp byte [rdi + 0x63], 0
jne 0x1401813b0
test byte [rdi + 0x6a], 4
je 0x140181220
mov rdx, qword [rdi + 0x100]
xor r9d, r9d
mov r8, r13
lea ecx, [r9 + 4]
call qword [rdi + 0xf8]
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
mov ebx, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r13 + 0x34], edx
jmp 0x140181502
mov r12, qword [rsp + 0x38]
movzx eax, byte [rdi + 0x61]
mov ebx, dword [r12 + 4]
mov ecx, dword [r12 + 8]
cmp ebx, eax
je 0x140181337
test ecx, ecx
je 0x140181284
mov edx, 0x204
mov rcx, rdi
call fcn.1401e8410
mov dil, 1
jmp 0x1401812b8
test ebx, ebx
je 0x14018129d
cmp dword [rdi + 0xe0], 0
jle 0x14018129d
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x140180edc
mov edx, r11d
mov rcx, r13
mov edi, ebx
call fcn.140176ac0
mov ebx, eax
test eax, eax
jne 0x1401814f7
movzx ebx, dil
mov rax, qword [rsp + 0x40]
mov rcx, r13
mov byte [rax + 0x61], dil
call fcn.140176b10
mov rdi, qword [rsp + 0x40]
cmp eax, 5
jne 0x140181316
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
mov r14d, 1
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r14d
sub al, bl
mov dword [r13 + 0x34], edx
mov ebx, 5
mov byte [rdi + 0x61], al
mov dword [r13 + 0x38], ebx
jmp 0x140181508
mov rcx, rdi
call fcn.1401e7c60
cmp dword [r13 + 0x38], 0
mov ebx, 0x65
mov r14d, 1
cmovne ebx, r14d
jmp 0x140181508
test ebx, ebx
jne 0x140181344
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x140181358
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
mov rcx, r13
call fcn.1401734f0
mov r14d, 1
mov r8d, r14d
mov dword [rsp + 0x30], r14d
jmp 0x14018104b
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x38]
mov r8d, 9
mov dword [rsp + 0x30], r8d
lea r14d, [r8 - 8]
jmp 0x140181055
mov rdi, r14
jmp 0x1401813b0
mov rdi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
jmp 0x1401813b0
mov rdi, qword [rsp + 0x40]
mov r13, qword [rbp - 0x78]
mov r15, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.14014ee50
lea rdx, str.out_of_memory
mov rcx, r13
call fcn.1401734f0
mov r8d, 7
mov dword [rsp + 0x30], r8d
lea r14d, [r8 - 6]
jmp 0x140181055
mov rdi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
jmp 0x1401813ac
mov r12, qword [rsp + 0x38]
jmp 0x1401813ba
mov r12, rbx
jmp 0x140181045
mov r14, r11
jmp 0x14018104b
cmp r8d, 0x210a
jne 0x140181422
mov ecx, 0x17376
call fcn.1401ea0c0
mov r8d, eax
mov dword [rsp + 0x30], eax
mov r13, qword [rbp - 0x78]
cmp qword [r13 + 0xb0], 0
jne 0x140181453
cmp r8d, 0xc0a
je 0x140181453
mov ecx, r8d
call fcn.1401e8570
mov r8, rax
lea rdx, [0x140241a14]
mov rcx, r13
call fcn.1401734f0
mov ebx, dword [rsp + 0x30]
mov rcx, rdi
mov edx, ebx
mov dword [r13 + 0x38], ebx
call fcn.1401519e0
mov r9, qword [r13 + 0xf8]
mov rcx, r12
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r13 + 0xb0]
mov ecx, ebx
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.140150ee0
mov rcx, r13
call fcn.140176b10
cmp ebx, 0xc0a
jne 0x1401814c3
mov rcx, rdi
call fcn.14014ee50
jmp 0x1401814dc
cmp ebx, 0xb
jne 0x1401814dc
cmp byte [rdi + 0x61], 0
jne 0x1401814dc
movabs rax, 0x200000000
or qword [rdi + 0x30], rax
movzx eax, byte [rsp + 0x79]
mov ebx, r14d
test al, al
je 0x140181512
movzx edx, al
mov rcx, rdi
dec edx
call fcn.14019a2a0
jmp 0x140181512
mov rdi, qword [rsp + 0x40]
jmp 0x140181502
mov r13, qword [rbp - 0x78]
mov r14d, 1
mov r15, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp r15, rsi
jb 0x140181550
mov rdx, qword [rdi + 0x208]
test rdx, rdx
je 0x140181550
mov eax, dword [rdi + 0x218]
mov rcx, qword [rdi + 0x210]
add rsi, rax
call rdx
test eax, eax
je 0x140181512
mov r8d, 9
mov rsi, 0xffffffffffffffff
mov dword [rsp + 0x30], r8d
jmp 0x140181055
add dword [r13 + 0xec], r15d
mov rcx, r13
call fcn.140174f20
movaps xmm8, xmmword [rsp + 0x360]
mov eax, ebx
movaps xmm7, xmmword [rsp + 0x370]
movaps xmm6, xmmword [rsp + 0x380]
mov rcx, qword [rbp + 0x258]
xor rcx, rsp
call fcn.1401eb080
lea r11, [rsp + 0x390]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret