Function at 0x140036830
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbp
push r13
lea rbp, [r11 - 0x368]
sub rsp, 0x458
mov rax, qword [0x140132020]
xor rax, rsp
mov qword [rbp + 0x310], rax
mov rax, qword [rcx + 0x68]
mov r13, rcx
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov qword [r11 - 0x18], r12
mov r12, qword [rcx]
mov qword [r11 - 0x20], r14
mov r14, qword [rcx + 0x70]
mov qword [r11 - 0x28], r15
xor r15d, r15d
mov rbx, qword [r12 + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x30], rax
movzx eax, byte [r12 + 0x52]
movaps xmmword [r11 - 0x38], xmm6
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], rbx
movaps xmmword [r11 - 0x48], xmm7
mov qword [rsp + 0x70], rcx
mov dword [rsp + 0x3c], r15d
mov qword [rsp + 0x58], r12
mov byte [rsp + 0x68], r15b
mov dword [rsp + 0x78], r15d
mov dword [rsp + 0x38], r15d
mov dword [rbp - 0x70], r15d
mov qword [rsp + 0x60], r14
mov qword [rbp - 0x60], r15
call fcn.14002db00
cmp dword [r13 + 0x38], 7
lea r10d, [r15 + 1]
je 0x14003829d
mov dword [r13 + 0x38], r15d
mov qword [r13 + 0x48], r15
mov qword [r13 + 0x88], r15
mov eax, dword [r12 + 0x150]
mov dword [r12 + 0x228], r15d
test eax, eax
jne 0x14003bcf0
cmp qword [r12 + 0x1a0], r15
je 0x140036931
mov r8d, dword [r12 + 0x1b0]
xor edx, edx
mov eax, dword [r13 + 0xdc]
div r8d
sub r8d, edx
mov dword [rbp - 0x70], r8d
movsxd rax, dword [r13 + 0x34]
mov edx, 0x2460
mov r9, qword [rsp + 0x50]
xorps xmm7, xmm7
mov r11d, r15d
lea rcx, [rax + rax*2]
lea rdi, [r9 + rcx*8]
mov qword [rsp + 0x30], rdi
lea rcx, [0x140000000]
mov rsi, rdi
inc r11d
mov rdi, rbx
movzx ebx, byte [rsi]
mov r8d, 0x1000
mov dword [rsp + 0x38], r11d
cmp ebx, 0x9f
ja case.default.0x14003698d
mov ecx, dword [rcx + rbx*4 + 0x3bd50]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
sub rcx, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov word [r8 + r14 + 8], 4
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
jmp 0x14003b750
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov word [rdx + r14 + 8], 0x80
lea rsi, [r9 + rcx*8]
mov edx, 0x2460
jmp case.0x14003698d.112
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
dec eax
mov word [rcx + r14 + 8], 4
cdqe
mov qword [rcx + r14], rax
cmp dword [rsi + 8], 0
jne 0x14003b750
jmp case.0x14003698d.112
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
cdqe
jmp 0x1400369e3
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
sub rbx, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
movsxd rcx, dword [r8 + r14]
sar rdx, 2
mov rax, rdx
mov word [r8 + r14 + 8], 4
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
lea rsi, [r9 + rcx*8]
mov qword [r8 + r14], rax
mov edx, 0x2460
jmp case.0x14003698d.112
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
je 0x140036e45
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r9
imul rcx
mov rbx, rdx
mov rdx, qword [rsp + 0x30]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
mov ecx, dword [rdx + 4]
add rbx, rax
test ecx, ecx
jne 0x14003b790
mov rdi, qword [r13 + 0xf0]
test rdi, rdi
je 0x14003b790
mov rax, qword [rdi + 8]
mov rcx, r12
mov edx, dword [r13 + 0x3c]
dec dword [r13 + 0x100]
mov qword [r13 + 0xf0], rax
call fcn.140032580
mov rcx, rdi
call fcn.14002ea70
mov rcx, qword [rsp + 0x30]
mov rbx, qword [r12 + 0x30]
mov qword [rsp + 0x40], rbx
cmp dword [rcx + 8], 4
jne 0x140036b4f
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x68]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r9, qword [r13 + 0x68]
mov r14, qword [r13 + 0x70]
cdqe
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x60], r14
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
mov r11d, dword [rsp + 0x38]
mov r10d, 1
mov edx, 0x2460
lea rcx, [0x140000000]
mov r13, qword [rsp + 0x70]
add rsi, 0x18
mov qword [rsp + 0x30], rsi
jmp 0x14003695c
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140036800
mov rcx, rax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov rsi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x50]
mov r10d, 1
mov r11d, dword [rsp + 0x38]
mov edx, 0x2460
jmp case.0x14003698d.112
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140036800
mov rdx, rax
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140036bb1
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140036800
mov rdx, rax
mov word [rax + 8], 8
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140036bb1
mov rdi, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rdi
call fcn.140036800
mov rcx, qword [rdi + 0x10]
mov rbx, rax
mov byte [rdi], 0x4e
call fcn.140009c20
mov rcx, rdi
mov dword [rdi + 4], eax
movzx edi, byte [rsp + 0x48]
cmp dil, 1
je 0x140036cb3
mov rdx, qword [rcx + 0x10]
mov r9b, 1
mov rcx, rbx
mov qword [rsp + 0x20], r15
mov r8d, 0xffffffff
call fcn.14002b630
mov edx, edi
mov dword [rsp + 0x3c], eax
mov rcx, rbx
call fcn.14002a560
test eax, eax
jne 0x14003829d
mov rcx, qword [rsp + 0x30]
mov eax, 0x800
or word [rbx + 8], ax
mov dword [rbx + 0x20], r15d
cmp byte [rcx + 1], 0xff
jne 0x140036ca1
mov rdx, qword [rcx + 0x10]
mov rcx, r12
call fcn.140006bf0
mov rcx, qword [rsp + 0x30]
mov byte [rcx + 1], 0xff
mov rax, qword [rbx + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rcx + 4], eax
cmp eax, dword [r12 + 0x70]
jg 0x14003ba71
jmp 0x140036cc5
movzx edi, byte [rsp + 0x48]
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
mov eax, 0x2460
add rdx, qword [r13 + 0x70]
test word [rdx + 8], ax
je 0x140036cec
mov rcx, rdx
call fcn.1400367d0
mov rdx, rax
mov word [rdx + 8], 0xa02
mov rax, qword [rbx + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [rbx + 4]
mov dword [rdx + 0xc], eax
mov byte [rdx + 0xa], dil
movsxd rax, dword [rbx + 0xc]
test eax, eax
jle 0x140038cf8
mov r9, qword [rsp + 0x50]
mov rsi, rbx
mov r11d, dword [rsp + 0x38]
mov r10d, 1
imul rcx, rax, 0x38
movzx eax, byte [rbx + 3]
mov rbx, qword [rsp + 0x40]
cmp qword [rcx + r14], rax
lea rcx, [0x140000000]
jne 0x140036d43
mov word [rdx + 8], 0xa10
mov edx, 0x2460
mov r13, qword [rsp + 0x70]
add rsi, 0x18
mov qword [rsp + 0x30], rsi
jmp 0x14003695c
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x70]
test word [rcx + 8], dx
je 0x140036d91
call fcn.1400367d0
mov r9, qword [rsp + 0x50]
mov rcx, rax
mov r11d, dword [rsp + 0x38]
mov r10d, 1
mov edx, 0x2460
jmp 0x140036d97
mov word [rcx + 8], 4
cmp dword [rbx + 4], 0
mov esi, r10d
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], r15d
lea rbx, [rcx + 8]
test edi, edi
jle 0x140036e45
test word [rbx + 0x38], dx
lea rbx, [rbx + 0x38]
je 0x140036ddd
lea rcx, [rbx - 8]
call fcn.14002ad50
mov edx, 0x2460
dec edi
mov word [rbx], si
mov dword [rbx + 4], r15d
test edi, edi
jg 0x140036dc5
mov rsi, qword [rsp + 0x30]
mov r10d, 1
mov r11d, dword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x40]
mov r13, qword [rsp + 0x70]
add rsi, 0x18
mov qword [rsp + 0x30], rsi
jmp 0x14003695c
mov rax, qword [rsp + 0x30]
mov r8d, 0xff7f
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
movzx eax, word [rcx + r14 + 8]
and ax, r8w
or ax, 1
mov word [rcx + r14 + 8], ax
mov rsi, qword [rsp + 0x30]
jmp case.0x14003698d.112
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x70]
test word [rbx + 8], dx
je 0x140036e70
mov rcx, rbx
call fcn.1400367d0
mov rbx, rax
jmp 0x140036e76
mov word [rbx + 8], 4
mov rax, qword [rsp + 0x30]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], r15
mov r8d, dword [rax + 4]
mov rdx, qword [rax + 0x10]
call fcn.14002b630
movzx eax, byte [rsp + 0x48]
mov byte [rbx + 0xa], al
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 4]
dec eax
cdqe
imul rbx, rax, 0x38
add rbx, qword [r13 + 0xa0]
mov rcx, rbx
call fcn.14002b4e0
test eax, eax
jne 0x14003ba71
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140036800
mov r8d, 0x800
mov rdx, rbx
mov rcx, rax
call fcn.14002b550
jmp 0x140036bb1
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
test word [rbx + 8], dx
jne 0x140036f14
cmp dword [rbx + 0x20], 0
je 0x140036f28
mov rcx, rbx
call fcn.14002add0
mov r10d, 1
mov r8d, 0x1000
movups xmm0, xmmword [rdi]
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], r10w
mov dword [rdi + 0x20], r15d
test word [rbx + 8], r8w
je 0x140036f72
mov rcx, rbx
call fcn.14002a8f0
test eax, eax
jne 0x14003829d
lea r10d, [rax + 1]
mov r8d, 0x1000
add rdi, 0x38
add rbx, 0x38
mov edx, 0x2460
sub esi, 1
jne 0x140036f08
mov rsi, qword [rsp + 0x30]
jmp 0x140036df5
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
nop dword [rax]
mov rdx, rdi
mov rcx, rbx
call fcn.14002b550
mov r8d, 0x1000
test word [rbx + 8], r8w
je 0x140036fde
mov rcx, rbx
call fcn.14002a8f0
test eax, eax
jne 0x14003829d
mov r8d, 0x1000
mov eax, esi
dec esi
test eax, eax
je 0x140036bb1
add rbx, 0x38
add rdi, 0x38
jmp 0x140036fb0
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r14
add rcx, r14
call fcn.14002b550
jmp 0x140036bb1
mov rcx, qword [rsp + 0x30]
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 0x14003704c
mov rdx, rax
mov rcx, r8
call fcn.14002b390
jmp 0x140036bb1
mov rsi, qword [rsp + 0x30]
mov qword [r8], rax
mov word [r8 + 8], 4
jmp case.0x14003698d.112
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rsi, r14
imul rdi, rax, 0x38
movzx ecx, word [rsi + 8]
add rbx, r14
movzx eax, cl
add rdi, r14
or al, byte [rbx + 8]
test al, 1
je 0x1400370a1
mov rcx, rdi
call fcn.14002b370
jmp 0x140036bb1
mov r14d, 0x4000
test r14w, cx
je 0x1400370bd
mov rcx, rsi
call fcn.14002a9f0
test eax, eax
jne 0x14003829d
test word [rbx + 8], r14w
je 0x1400370d4
mov rcx, rbx
call fcn.14002a9f0
test eax, eax
jne 0x14003829d
test byte [rsi + 8], 0x12
movzx r14d, byte [rsp + 0x48]
jne 0x1400370f7
xor r8d, r8d
movzx edx, r14b
mov rcx, rsi
call fcn.14002aab0
test eax, eax
jne 0x14003829d
test byte [rbx + 8], 0x12
jne 0x140037114
xor r8d, r8d
movzx edx, r14b
mov rcx, rbx
call fcn.14002aab0
test eax, eax
jne 0x14003829d
mov r14d, dword [rsi + 0xc]
add r14d, dword [rbx + 0xc]
movsxd rax, dword [r12 + 0x70]
movsxd r15, r14d
cmp r15, rax
jg 0x14003ba71
xor r8d, r8d
lea edx, [r14 + 2]
cmp rdi, rbx
mov rcx, rdi
sete r8b
call fcn.14002a580
test eax, eax
jne 0x14003829d
movzx eax, word [rdi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 2
mov word [rdi + 8], ax
cmp rdi, rbx
je 0x140037175
movsxd r8, dword [rbx + 0xc]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rdi + 0x10]
call fcn.1400d83a0
movsxd rcx, dword [rbx + 0xc]
add rcx, qword [rdi + 0x10]
movsxd r8, dword [rsi + 0xc]
mov rdx, qword [rsi + 0x10]
call fcn.1400d83a0
mov rax, qword [rdi + 0x10]
mov byte [r15 + rax], 0
mov rax, qword [rdi + 0x10]
mov byte [rax + r15 + 1], 0
mov eax, 0x200
or word [rdi + 8], ax
movzx eax, byte [rsp + 0x48]
mov byte [rdi + 0xa], al
mov dword [rdi + 0xc], r14d
mov r14, qword [rsp + 0x60]
xor r15d, r15d
jmp 0x140036bb1
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.1400367b0
movzx r12d, ax
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
add rsi, r14
mov rcx, rsi
call fcn.1400367b0
movzx r14d, ax
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
movzx eax, byte [rsi + 8]
add rbx, qword [rsp + 0x60]
or al, byte [rdi + 8]
test al, 1
jne 0x1400373ff
movzx eax, r14b
and al, r12b
test al, 4
je 0x140037309
mov rax, qword [rsp + 0x30]
mov r15b, 1
mov r8, qword [rsi]
mov rcx, qword [rdi]
mov qword [rbp + 0x170], r8
movzx edx, byte [rax]
sub edx, 0x2f
je 0x1400372c6
sub edx, 1
je 0x1400372b5
sub edx, 1
je 0x1400372a4
cmp edx, 1
je 0x140037275
test rcx, rcx
je 0x1400373fc
cmp rcx, 0xffffffffffffffff
mov r9d, 1
mov rax, r8
cmove rcx, r9
cqo
idiv rcx
mov qword [rbp + 0x170], rdx
jmp 0x1400372d9
test rcx, rcx
je 0x1400373fc
cmp rcx, 0xffffffffffffffff
jne 0x140037293
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x14003730c
mov rax, r8
cqo
idiv rcx
mov qword [rbp + 0x170], rax
jmp 0x1400372d9
mov rdx, rcx
lea rcx, [rbp + 0x170]
call fcn.14000af50
jmp 0x1400372d5
mov rdx, rcx
lea rcx, [rbp + 0x170]
call fcn.14000aee0
jmp 0x1400372d5
mov rdx, rcx
lea rcx, [rbp + 0x170]
call fcn.14000ae90
test eax, eax
jne 0x14003730c
mov rax, qword [rbp + 0x170]
mov ecx, 0x3e00
mov qword [rbx], rax
movzx eax, word [rbx + 8]
and ax, cx
or ax, 4
mov word [rbx + 8], ax
mov r12, qword [rsp + 0x58]
xor r15d, r15d
mov r14, qword [rsp + 0x60]
jmp 0x140036bb1
xor r15b, r15b
mov rcx, rdi
call fcn.14002afb0
mov rcx, rsi
movaps xmm6, xmm0
call fcn.14002afb0
mov rax, qword [rsp + 0x30]
movaps xmm3, xmm0
movzx ecx, byte [rax]
sub ecx, 0x2f
je 0x14003738f
sub ecx, 1
je 0x140037389
sub ecx, 1
je 0x140037383
cmp ecx, 1
je 0x140037375
cvttsd2si rcx, xmm6
cvttsd2si rax, xmm0
mov qword [rbp + 0x170], rax
test rcx, rcx
je 0x1400373fc
cmp rcx, 0xffffffffffffffff
mov r9d, 1
cqo
xorps xmm3, xmm3
cmove rcx, r9
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x140037393
ucomisd xmm6, xmm7
jp 0x14003737d
je 0x1400373fc
divsd xmm3, xmm6
jmp 0x140037393
mulsd xmm3, xmm6
jmp 0x140037393
subsd xmm3, xmm6
jmp 0x140037393
addsd xmm3, xmm6
movsd qword [rbp - 0x80], xmm3
movsd xmm0, qword [rbp - 0x80]
movsd qword [rbp - 0x68], xmm0
movsd xmm2, qword [rbp - 0x80]
movsd xmm1, qword [rbp - 0x68]
ucomisd xmm2, xmm1
jp 0x1400373fc
jne 0x1400373fc
movzx eax, word [rbx + 8]
mov ecx, 0x3e00
and ax, cx
movsd qword [rbx], xmm3
or ax, 8
or r14b, r12b
mov word [rbx + 8], ax
test r14b, 8
jne 0x1400372f7
test r15b, r15b
jne 0x1400372f7
mov rcx, rbx
call fcn.14002b010
mov r12, qword [rsp + 0x58]
xor r15d, r15d
mov r14, qword [rsp + 0x60]
jmp 0x140036bb1
xor r15d, r15d
mov edx, 0x2460
test word [rbx + 8], dx
je 0x140037421
mov rcx, rbx
call fcn.14002ad50
mov r12, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
jmp 0x140036bb1
mov rsi, qword [rsp + 0x30]
mov r10d, 1
mov r12, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov word [rbx + 8], r10w
jmp 0x140036df5
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x140036e45
imul rcx, rax, 0x38
xor edx, edx
add rcx, r14
call fcn.14002b3d0
jmp 0x140036bb1
mov rdi, qword [rsp + 0x30]
mov rcx, r12
movzx ebx, byte [rdi + 3]
lea rdx, [rbx*8 + 0x30]
call fcn.140007000
mov r8, rax
test rax, rax
je 0x14003829d
mov qword [rax], r15
mov rcx, rdi
mov rax, qword [rdi + 0x10]
sub rcx, qword [rsp + 0x50]
mov qword [r8 + 8], rax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r13
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov rax, rdi
mov dword [r8 + 0x20], edx
mov word [rdi], 0xeb5a
mov qword [rdi + 0x10], r8
jmp 0x1400374d6
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r14
mov qword [rbp - 0x68], rdi
cmp qword [rbx], rdi
je 0x140037534
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx], rdi
sub rdx, 1
lea r9d, [rax - 1]
js 0x140037534
mov rdi, qword [rsp + 0x30]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop
mov eax, dword [rdi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x140037510
mov rdi, qword [rbp - 0x68]
mov rcx, qword [rbx]
lea r8, [rbx + 0x30]
mov edx, 0x3e00
movzx eax, word [rcx + 8]
and ax, dx
or ax, 1
mov word [rcx + 8], ax
mov rcx, qword [rsp + 0x40]
mov byte [rbx + 0x29], 0
mov qword [r12 + 0x30], rcx
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
call qword [rax + 0x18]
cmp byte [rbx + 0x29], 0
mov rax, qword [r12 + 0x30]
mov qword [rsp + 0x40], rax
je 0x1400375cc
cmp dword [rbx + 0x24], 0
je 0x1400375a4
mov rcx, qword [rbx]
mov dl, 1
call fcn.14002bb10
mov r8, rax
lea rdx, [0x14010a9cc]
mov rcx, r13
call fcn.14002c2e0
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x30]
lea rdx, [r13 + 0x110]
mov r8d, dword [rbx + 0x20]
mov rcx, r12
mov r9d, dword [rax + 4]
call fcn.140030220
mov esi, dword [rsp + 0x3c]
test esi, esi
jne 0x140038b6b
test byte [rdi + 8], 0x12
je 0x140036bb1
mov rcx, qword [rbx]
test byte [rcx + 8], 2
je 0x1400375f3
movzx edi, byte [rsp + 0x48]
cmp byte [rcx + 0xa], dil
je 0x1400375f3
movzx edx, dil
call fcn.140009600
mov rcx, qword [rbx]
call fcn.14002b4e0
test eax, eax
jne 0x14003ba71
jmp 0x140036bb1
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rdi, r14
add rcx, r14
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
movzx eax, byte [rcx + 8]
or al, byte [rdi + 8]
add rsi, r14
test al, 1
je 0x140037660
test word [rsi + 8], dx
je 0x140037651
mov rcx, rsi
call fcn.14002ad50
jmp 0x140036bb1
mov word [rsi + 8], r10w
mov rsi, qword [rsp + 0x30]
jmp case.0x14003698d.112
call fcn.14002af20
mov rcx, rdi
mov rbx, rax
call fcn.14002af20
mov rdx, rax
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
cmp cl, 0x2b
jne 0x140037685
and rbx, rdx
jmp 0x1400376f9
cmp cl, 0x2c
jne 0x14003768f
or rbx, rdx
jmp 0x1400376f9
test rdx, rdx
je 0x1400376f9
jns 0x1400376a9
mov eax, 0x5b
sub al, cl
movzx ecx, al
cmp rdx, 0xffffffffffffffc0
jle 0x1400376af
neg rdx
cmp rdx, 0x40
jl 0x1400376c7
test rbx, rbx
jns 0x1400376c2
cmp cl, 0x2d
je 0x1400376c2
mov rbx, 0xffffffffffffffff
jmp 0x1400376f9
mov rbx, r15
jmp 0x1400376f9
cmp cl, 0x2d
mov rcx, rdx
jne 0x1400376d7
shl rbx, cl
mov r8, rbx
jmp 0x1400376f6
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1400376f6
mov ecx, 0x40
mov rax, 0xffffffffffffffff
sub cl, dl
shl rax, cl
or r8, rax
mov rbx, r8
movzx eax, word [rsi + 8]
mov ecx, 0x3e00
and ax, cx
mov qword [rsi], rbx
or ax, 4
mov word [rsi + 8], ax
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.14002af20
mov qword [rbx], rax
mov rcx, rax
movzx eax, word [rbx + 8]
mov edx, 0x3e00
and ax, dx
or ax, 4
mov word [rbx + 8], ax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
add rax, rcx
mov qword [rbx], rax
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx eax, word [rbx + 8]
test al, 4
jne 0x1400377b9
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
mov rcx, rbx
call fcn.1400365d0
movzx eax, word [rbx + 8]
test al, 4
jne 0x1400377a4
mov rsi, qword [rsp + 0x30]
cmp dword [rsi + 8], 0
jne 0x14003b74b
mov esi, 0x14
jmp 0x140038b6b
mov r9, qword [rsp + 0x50]
mov r10d, 1
mov r11d, dword [rsp + 0x38]
mov edx, 0x2460
mov rsi, qword [rsp + 0x30]
mov ecx, 0x3e00
and ax, cx
or ax, 4
mov word [rbx + 8], ax
jmp case.0x14003698d.112
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 4
je 0x140036e45
call fcn.14002b0b0
jmp 0x140036bb1
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r14
test word [rbx + 8], ax
je 0x140037846
mov rcx, rbx
call fcn.14002a9f0
movzx r8d, byte [rsp + 0x48]
mov rcx, rbx
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax + 8]
call fcn.14002b240
mov esi, dword [rsp + 0x3c]
test esi, esi
jne 0x140038b6b
jmp 0x140036bb1
movzx edx, byte [rcx + 8]
mov rcx, rbx
movzx r8d, byte [rsp + 0x48]
mov dword [rsp + 0x3c], r15d
call fcn.14002b240
jmp 0x140036bb1
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
add rsi, r14
add rdi, r14
movzx r14d, word [rsi + 8]
movzx ebx, word [rdi + 8]
movzx ecx, bx
or cx, r14w
test cl, 1
je 0x1400378f8
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 3]
test al, al
jns 0x1400378c4
movzx eax, bx
and ax, r14w
bt ax, r15w
jae 0x140037960
bt bx, 8
jb 0x140037960
mov ecx, r15d
jmp 0x1400379f9
mov r14, qword [rsp + 0x60]
test al, 0x20
je 0x1400378e6
mov rax, qword [rsp + 0x30]
mov r8d, 0x3e00
mov dword [rsp + 0x78], r10d
movsxd rax, dword [rax + 8]
jmp 0x140036e2d
mov rsi, qword [rsp + 0x30]
test al, 0x10
jne 0x14003b750
jmp case.0x14003698d.112
mov r15, qword [rsp + 0x30]
movzx eax, byte [r15 + 3]
and al, 0x47
cmp al, 0x43
jb 0x140037978
test cl, 2
je 0x140037938
movzx eax, r14b
and al, 0xe
cmp al, 2
jne 0x140037925
xor edx, edx
mov rcx, rsi
call fcn.1400364d0
movzx ebx, word [rdi + 8]
movzx eax, bl
and al, 0xe
cmp al, 2
jne 0x140037938
xor edx, edx
mov rcx, rdi
call fcn.1400364d0
movzx eax, byte [rdi + 8]
and al, byte [rsi + 8]
test al, 4
je 0x1400379dc
mov rax, qword [rdi]
xor r15d, r15d
mov rdx, qword [rsi]
mov r10d, 1
mov r11d, dword [rsp + 0x38]
cmp rax, rdx
jle 0x140037968
mov ecx, r10d
jmp 0x1400379f9
cmp rax, rdx
mov ecx, r15d
setge cl
dec ecx
jmp 0x1400379f9
cmp al, 0x42
jne 0x1400379dc
movzx r13d, byte [rsp + 0x48]
test r14b, 2
jne 0x1400379b1
test r14b, 0xc
je 0x1400379b1
mov r8b, 1
movzx edx, r13b
mov rcx, rsi
call fcn.14002aab0
movzx eax, r14w
mov ecx, 0x7e00
xor ax, word [rsi + 8]
and ax, cx
xor r14w, ax
test bl, 2
jne 0x1400379dc
test bl, 0xc
je 0x1400379dc
mov r8b, 1
movzx edx, r13b
mov rcx, rdi
call fcn.14002aab0
movzx eax, bx
mov ecx, 0x7e00
xor ax, word [rdi + 8]
and ax, cx
xor bx, ax
mov r8, qword [r15 + 0x10]
mov rdx, rsi
mov rcx, rdi
call fcn.140031400
mov r11d, dword [rsp + 0x38]
xor r15d, r15d
mov ecx, eax
lea r10d, [r15 + 1]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax]
sub edx, 0x24
je 0x140037a41
sub edx, 1
je 0x140037a37
sub edx, 1
je 0x140037a2d
sub edx, 1
je 0x140037a23
cmp edx, 1
mov edx, ecx
je 0x140037a1e
not edx
shr edx, 0x1f
jmp 0x140037a43
test ecx, ecx
mov edx, r15d
setle dl
jmp 0x140037a43
test ecx, ecx
mov edx, r15d
setg dl
jmp 0x140037a43
test ecx, ecx
mov edx, r15d
sete dl
jmp 0x140037a43
mov edx, ecx
mov word [rsi + 8], r14w
mov r14, qword [rsp + 0x60]
mov word [rdi + 8], bx
movzx r9d, byte [rax + 3]
test r9b, 0x20
je 0x140037ac0
movsxd rax, dword [rax + 8]
imul r8, rax, 0x38
mov dword [rsp + 0x78], ecx
test r9b, 8
je 0x140037a88
mov rax, qword [rsp + 0x30]
mov ecx, r15d
cmp byte [rax], 0x25
mov eax, r15d
sete cl
test edx, edx
setne al
cmp ecx, eax
je 0x140037aac
movzx eax, word [r8 + r14 + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 4
mov word [r8 + r14 + 8], ax
test edx, edx
mov rax, r15
setne al
mov qword [r8 + r14], rax
mov rsi, qword [rsp + 0x30]
mov edx, 0x2460
mov r9, qword [rsp + 0x50]
jmp case.0x14003698d.112
mov r9, qword [rsp + 0x50]
mov rsi, rax
test edx, edx
jne 0x14003b750
mov edx, 0x2460
jmp case.0x14003698d.112
cmp dword [rsp + 0x78], 0
jne 0x14003b750
jmp case.0x14003698d.112
mov rax, qword [rsi + 0x10]
add rax, 4
mov qword [rbp - 0x60], rax
jmp case.0x14003698d.112
mov rcx, qword [rsp + 0x30]
mov edi, r15d
mov rax, qword [rbp - 0x60]
mov rbx, r15
test byte [rcx + 3], 1
mov r13, qword [rcx + 0x10]
mov r12d, dword [rcx + 4]
cmove rax, r15
mov r15, qword [rsp + 0x30]
mov ecx, dword [rcx + 8]
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x78], ecx
movsxd r15, dword [r15 + 0xc]
test r15, r15
jle 0x140037bc8
lea rsi, [r13 + 0x20]
nop word [rax + rax]
test rax, rax
je 0x140037b4b
mov r8d, dword [rax + rbx*4]
jmp 0x140037b4e
mov r8d, edi
mov rax, qword [r13 + 0x18]
movzx r14d, byte [rbx + rax]
lea eax, [r8 + rcx]
movsxd rcx, eax
lea eax, [r8 + r12]
mov r8, qword [rsi]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, qword [rsp + 0x60]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x60]
call fcn.140031400
mov dword [rsp + 0x78], eax
mov r11d, eax
test eax, eax
jne 0x140037ba1
mov ecx, dword [rbp - 0x78]
inc edi
mov rax, qword [rbp - 0x60]
inc rbx
add rsi, 8
cmp rbx, r15
jl 0x140037b40
jmp 0x140037bae
test r14b, r14b
je 0x140037bae
neg r11d
mov dword [rsp + 0x78], r11d
mov r14, qword [rsp + 0x60]
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov edx, 0x2460
mov r11d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
xor r15d, r15d
mov r12, qword [rsp + 0x58]
mov qword [rbp - 0x60], r15
jmp case.0x14003698d.112
mov r11d, dword [rsp + 0x78]
test r11d, r11d
mov r11d, dword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
jns 0x140037c06
mov eax, dword [rax + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp case.0x14003698d.112
mov rbx, qword [rsp + 0x40]
jne 0x140037c21
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp 0x140036b7b
mov eax, dword [rax + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
lea rcx, [0x140000000]
mov r13, qword [rsp + 0x70]
add rsi, 0x18
mov qword [rsp + 0x30], rsi
jmp 0x14003695c
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 1
je 0x140037c69
mov edx, 2
mov ebx, edx
jmp 0x140037c7c
call fcn.14002af20
test rax, rax
mov rbx, r15
mov edx, 2
setne bl
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 1
je 0x140037c92
mov rcx, rdx
jmp 0x140037ca0
call fcn.14002af20
test rax, rax
mov rcx, r15
setne cl
lea r8, [rcx + rbx*2]
add r8, rbx
lea rcx, [0x140000000]
cmp byte [rdi], 0x1c
jne 0x140037cbe
movzx r8d, byte [r8 + rcx + 0x1124f8]
jmp 0x140037cc7
movzx r8d, byte [r8 + rcx + 0x1132c8]
movsxd rax, dword [rdi + 0xc]
imul rdx, rax, 0x38
mov eax, 0x3e00
movzx ecx, word [rdx + r14 + 8]
and cx, ax
cmp r8b, 2
jne 0x140037cf5
or cx, 1
mov rsi, rdi
mov word [rdx + r14 + 8], cx
jmp 0x140036bb6
movzx eax, r8b
or cx, 4
mov qword [rdx + r14], rax
mov rsi, rdi
mov word [rdx + r14 + 8], cx
jmp 0x140036bb6
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
test word [rbx + 8], dx
je 0x140037d4f
mov rcx, rbx
call fcn.14002ad50
mov r9, qword [rsp + 0x50]
mov r10d, 1
mov r11d, dword [rsp + 0x38]
mov edx, 0x2460
jmp 0x140037d54
mov word [rbx + 8], r10w
test byte [rdi + 8], 1
jne 0x140036e45
mov rcx, rdi
mov word [rbx + 8], 4
call fcn.14002af20
mov rcx, r15
test rax, rax
sete cl
mov qword [rbx], rcx
jmp 0x140036bb1
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
test word [rbx + 8], dx
je 0x140037dbd
mov rcx, rbx
call fcn.14002ad50
mov r9, qword [rsp + 0x50]
mov r10d, 1
mov r11d, dword [rsp + 0x38]
mov edx, 0x2460
jmp 0x140037dc2
mov word [rbx + 8], r10w
test byte [rdi + 8], 1
jne 0x140036e45
mov rcx, rdi
mov word [rbx + 8], 4
call fcn.14002af20
not rax
mov qword [rbx], rax
jmp 0x140036bb1
mov rax, qword [r13 + 0x68]
mov ecx, dword [rax + 4]
cmp ecx, dword [rsi + 4]
je 0x14003b750
mov dword [rsi + 4], ecx
jmp case.0x14003698d.112
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 1
je 0x140037e22
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
jmp 0x140037e5f
call fcn.14002afb0
ucomisd xmm0, xmm7
jp 0x140037e3a
jne 0x140037e3a
mov eax, r15d
mov r10d, 1
jmp 0x140037e43
mov r10d, 1
mov eax, r10d
mov rsi, qword [rsp + 0x30]
mov edx, 0x2460
mov r9, qword [rsp + 0x50]
mov r11d, dword [rsp + 0x38]
cmp byte [rsi], 0x16
jne 0x140037e5f
xor eax, 1
test eax, eax
jne 0x14003b750
jmp case.0x14003698d.112
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
jne 0x14003b750
jmp case.0x14003698d.112
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
je 0x14003b750
jmp case.0x14003698d.112
mov rax, qword [r13 + 0x98]
lea rdx, [rbp - 0x40]
mov rbx, qword [rsp + 0x30]
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov eax, dword [rbx + 8]
mov qword [rbp - 0x48], rcx
lea rcx, [rbp - 0x48]
mov dword [rbp - 0x40], eax
call fcn.140030aa0
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
movsxd rax, dword [rbx + 0xc]
mov r8, qword [rbp - 0x48]
mov rdi, qword [rsp + 0x70]
imul r13, rax, 0x38
mov rbx, qword [r8 + 0x18]
mov eax, dword [rdi + 0x30]
add r13, r14
mov r12, qword [r8 + 0x70]
mov qword [rbp - 0x78], rbx
cmp dword [r8 + 0x58], eax
je 0x140038047
cmp byte [r8 + 2], sil
je 0x140037f68
cmp byte [r8], 3
jne 0x140037f56
movsxd rax, ebx
imul rdx, rax, 0x38
mov eax, dword [rdx + r14 + 0xc]
mov dword [rbp + 0x14c], eax
mov dword [r8 + 0x60], eax
mov rcx, qword [rbp - 0x48]
mov eax, dword [rbp + 0x14c]
mov dword [rcx + 0x5c], eax
mov rax, qword [rbp - 0x48]
mov rcx, qword [rdx + r14 + 0x10]
mov qword [rax + 0x68], rcx
jmp 0x140037fb6
mov rcx, r13
call fcn.14002b370
mov r12, qword [rsp + 0x58]
jmp 0x140036bb1
mov rcx, rbx
call fcn.140021550
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp + 0x14c]
mov dword [rcx + 0x5c], eax
mov rcx, rbx
call fcn.140021c60
mov rcx, qword [rbp - 0x48]
mov qword [rcx + 0x68], rax
mov rcx, qword [rbp - 0x48]
mov edx, dword [rbp + 0x14c]
mov eax, dword [rcx + 0x5c]
cmp eax, edx
ja 0x140037fa4
mov dword [rcx + 0x60], eax
jmp 0x140037fb6
mov r8, qword [rsp + 0x58]
cmp eax, dword [r8 + 0x70]
ja 0x14003ba6b
mov dword [rcx + 0x60], edx
mov rax, qword [rbp - 0x48]
mov ecx, dword [rdi + 0x30]
mov dword [rax + 0x58], ecx
mov rcx, qword [rbp - 0x48]
mov r8, qword [rcx + 0x68]
movzx eax, byte [r8]
cmp al, 0x80
jae 0x140037fda
mov dword [rbp + 0x148], eax
mov al, 1
jmp 0x140037fed
lea rdx, [rbp + 0x148]
mov rcx, r8
call fcn.14000ad20
mov rcx, qword [rbp - 0x48]
movzx eax, al
mov dword [rcx + 0x64], eax
mov rax, qword [rbp - 0x48]
mov word [rax + 0x12], r15w
mov eax, dword [rbp + 0x148]
mov dword [r12], eax
mov eax, dword [rbp + 0x148]
cmp dword [rbp + 0x14c], eax
jae 0x14003810c
mov rax, qword [rbp - 0x48]
mov qword [rax + 0x68], r15
mov rax, qword [rbp - 0x48]
mov dword [rax + 0x60], r15d
mov eax, dword [rbp + 0x148]
cmp eax, 0x18003
ja 0x14003b859
mov r8, qword [rbp - 0x48]
cmp eax, dword [r8 + 0x5c]
ja 0x14003b859
movzx eax, word [r8 + 0x12]
movsxd r9, dword [rbp - 0x40]
cmp eax, r9d
jg 0x140038201
mov eax, dword [r12]
cmp dword [r8 + 0x64], eax
jae 0x1400381c6
mov rax, qword [r8 + 0x68]
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x1400380d5
xorps xmm0, xmm0
mov qword [rbp + 0xd8], rax
movups xmmword [rbp + 0xa8], xmm0
mov r9d, r15d
mov rcx, rbx
movups xmmword [rbp + 0xb8], xmm0
movups xmmword [rbp + 0xc8], xmm0
cmp byte [r8 + 4], al
lea rax, [rbp + 0xa8]
mov r8d, dword [r12]
sete r9b
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.14002ba00
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x14003b865
mov rax, qword [rbp + 0xb8]
mov r8, qword [rbp - 0x48]
mov qword [rbp - 0x80], rax
movzx esi, word [r8 + 0x12]
mov ebx, dword [r8 + 0x64]
mov r14d, esi
mov r15d, dword [r12]
add rbx, rax
add r15, rax
mov edi, dword [r12 + rsi*4]
nop
movzx ecx, byte [rbx]
mov eax, 0x80
mov dword [rbp - 0x50], ecx
cmp ecx, eax
jae 0x14003811e
inc rbx
call fcn.140030c10
movzx eax, al
jmp 0x14003813a
mov r8, qword [rbp - 0x48]
test eax, eax
je 0x140038047
mov rax, qword [r8 + 0x68]
jmp 0x1400380d1
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.14000ad20
mov ecx, dword [rbp - 0x50]
movzx eax, al
add rbx, rax
call fcn.140030bf0
mov eax, eax
mov rcx, qword [rbp - 0x48]
add rdi, rax
mov eax, dword [rbp - 0x50]
inc esi
mov dword [rcx + r14*4 + 0x78], eax
movsxd r14, esi
mov dword [r12 + r14*4], edi
mov rcx, qword [rbp - 0x48]
cmp esi, dword [rbp - 0x40]
jg 0x140038162
cmp rbx, r15
jb 0x1400380f0
jmp 0x140038167
cmp rbx, r15
jb 0x14003817c
cmp rbx, r15
ja 0x14003b872
mov eax, dword [rcx + 0x5c]
cmp rdi, rax
jne 0x14003b872
mov eax, dword [rcx + 0x5c]
cmp rdi, rax
ja 0x14003b872
sub ebx, dword [rbp - 0x80]
mov word [rcx + 0x12], si
mov rax, qword [rbp - 0x48]
mov dword [rax + 0x64], ebx
mov r8, qword [rbp - 0x48]
cmp qword [r8 + 0x68], 0
jne 0x1400381b1
lea rcx, [rbp + 0xa8]
call fcn.14002af00
mov r8, qword [rbp - 0x48]
mov r9d, dword [rbp - 0x40]
xor r15d, r15d
mov edx, dword [rbp - 0x50]
mov rbx, qword [rbp - 0x78]
mov r14, qword [rsp + 0x60]
jmp 0x1400381cc
mov edx, r15d
mov dword [rbp - 0x50], edx
movzx eax, word [r8 + 0x12]
cmp eax, r9d
jg 0x140038209
mov rax, qword [rsp + 0x30]
mov rcx, r13
cmp byte [rax + 1], 0xf8
jne 0x140037f59
mov rdx, qword [rax + 0x10]
mov r8d, 0x800
call fcn.14002b550
mov r12, qword [rsp + 0x58]
jmp 0x140036bb1
mov edx, dword [r8 + r9*4 + 0x78]
mov dword [rbp - 0x50], edx
mov eax, 0x2460
test word [r13 + 8], ax
je 0x140038228
mov rcx, r13
call fcn.14002b370
mov r8, qword [rbp - 0x48]
mov r9d, dword [rbp - 0x40]
mov edx, dword [rbp - 0x50]
lea eax, [r9 + 1]
movsxd rcx, eax
mov eax, dword [r12 + rcx*4]
cmp dword [r8 + 0x60], eax
jb 0x140038329
movsxd rax, r9d
mov edi, dword [r12 + rax*4]
add rdi, qword [r8 + 0x68]
cmp edx, 0xc
jae 0x140038262
mov r8, r13
mov rcx, rdi
call fcn.140030d60
mov r12, qword [rsp + 0x58]
jmp 0x140036bb1
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 0x1400382c3
xor r8d, r8d
mov word [r13 + 8], 1
mov rcx, r13
call fcn.14002a580
test eax, eax
je 0x1400382cb
mov r12, qword [rsp + 0x58]
mov r13, qword [rsp + 0x70]
mov rcx, r12
call fcn.1400073e0
lea rdx, [0x14010b530]
mov rcx, r13
call fcn.14002c2e0
mov ebx, 7
mov esi, ebx
lea edi, [rbx - 6]
jmp 0x140038b75
mov rax, qword [r13 + 0x18]
mov qword [r13 + 0x10], rax
mov rcx, qword [r13 + 0x10]
mov r8, rbx
mov rdx, rdi
call fcn.1400d83a0
mov rax, qword [r13 + 0x10]
lea rcx, [0x140000000]
mov rsi, qword [rsp + 0x30]
mov r10d, 1
mov r12, qword [rsp + 0x58]
mov edx, 0x2460
mov r9, qword [rsp + 0x50]
mov r11d, dword [rsp + 0x38]
mov byte [rbx + rax], 0
mov rax, qword [r13 + 0x10]
mov byte [rbx + rax + 1], 0
mov eax, dword [rbp - 0x50]
and eax, 1
movzx eax, word [rcx + rax*2 + 0x10f848]
mov word [r13 + 8], ax
jmp case.default.0x14003698d
movzx eax, byte [rsp + 0x48]
mov byte [r13 + 0xa], al
mov rax, qword [rsp + 0x30]
mov edx, dword [rbp - 0x50]
movzx eax, byte [rax + 3]
test al, 0xc0
je 0x140038350
cmp edx, 0xc
jb 0x14003834c
test dl, 1
je 0x140038361
test al, al
js 0x140038361
mov ecx, edx
call fcn.140030bf0
mov r8d, eax
test eax, eax
jne 0x14003837a
mov edx, dword [rbp - 0x50]
mov r8, r13
lea rcx, [0x140137a38]
call fcn.140030d60
mov r12, qword [rsp + 0x58]
jmp 0x140036bb1
mov rax, qword [rbp - 0x48]
mov r9d, r15d
movsxd rdx, dword [rbp - 0x40]
mov rcx, rbx
mov qword [rsp + 0x20], r13
cmp byte [rax + 4], 0
mov edx, dword [r12 + rdx*4]
sete r9b
call fcn.14002ba00
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x14003b891
mov edx, dword [rbp - 0x50]
mov r8, r13
mov rcx, qword [r13 + 0x10]
call fcn.140030d60
mov r12, qword [rsp + 0x58]
mov eax, 0xefff
and word [r13 + 8], ax
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r14
test al, al
je 0x140036e45
movzx r14d, byte [rsp + 0x48]
nop dword [rax]
nop dword [rax + rax]
movzx r8d, r14b
lea rdi, [rdi + 1]
movzx edx, al
mov rcx, rbx
call fcn.1400365d0
movzx eax, byte [rdi]
add rbx, 0x38
test al, al
jne 0x140038400
mov r14, qword [rsp + 0x60]
jmp 0x140036bb1
mov rcx, qword [rsp + 0x30]
mov rsi, r15
mov r12d, r15d
mov qword [rbp - 0x80], r15
mov r13, r15
movsxd rax, dword [rcx + 4]
mov rbx, qword [rcx + 0x10]
imul r15, rax, 0x38
mov eax, dword [rcx + 8]
dec eax
add r15, r14
cdqe
imul rax, rax, 0x38
add rax, r15
mov qword [rbp - 0x78], rax
mov rax, qword [rsp + 0x70]
movzx r14d, byte [rax + 0xbf]
movsxd rax, dword [rcx + 0xc]
imul rax, rax, 0x38
add rax, qword [rsp + 0x60]
mov qword [rbp - 0x68], rax
test rbx, rbx
je 0x1400384b3
movzx eax, byte [rbx]
mov rdi, r15
movzx r13d, byte [rsp + 0x48]
nop word [rax + rax]
movzx r8d, r13b
movzx edx, al
mov rcx, rdi
call fcn.1400365d0
movzx eax, byte [rbx + 1]
lea rbx, [rbx + 1]
add rdi, 0x38
test al, al
jne 0x140038490
mov r13, qword [rbp - 0x80]
mov rbx, qword [rbp - 0x78]
nop word [rax + rax]
lea r8, [rbp + 0x178]
mov edx, r14d
mov rcx, rbx
call fcn.140030af0
mov edi, eax
mov eax, 0x4000
mov dword [rbx + 0x24], edi
test word [rbx + 8], ax
je 0x140038509
test rsi, rsi
je 0x1400384f9
mov rcx, rbx
call fcn.14002a9f0
test eax, eax
jne 0x140038293
jmp 0x140038509
movsxd rcx, dword [rbx]
add r13, rcx
sub dword [rbp + 0x178], ecx
mov qword [rbp - 0x80], r13
mov eax, dword [rbp + 0x178]
mov ecx, 1
add rsi, rax
cmp edi, 0x7f
jbe 0x14003853b
mov rax, rdi
shr rax, 7
test rax, rax
je 0x14003853b
nop dword [rax + rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x140038530
add r12d, ecx
cmp rbx, r15
je 0x14003854c
sub rbx, 0x38
jmp 0x1400384c0
cmp r12d, 0x7e
jle 0x14003856b
movsxd rcx, r12d
call fcn.14000ada0
add r12d, eax
mov ebx, eax
movsxd rcx, r12d
call fcn.14000ada0
cmp ebx, eax
jge 0x14003856e
inc r12d
mov r8, qword [rsp + 0x58]
movsxd rbx, r12d
movsxd rax, dword [r8 + 0x70]
lea r14, [rsi + rbx]
lea rcx, [r14 + r13]
mov qword [rbp - 0x58], r14
cmp rcx, rax
jg 0x14003ba64
mov rsi, qword [rbp - 0x68]
mov edx, r14d
mov rcx, rsi
call fcn.14002a8d0
test eax, eax
jne 0x140038293
mov rsi, qword [rsi + 0x10]
mov edx, 0x80
cmp r12d, edx
jae 0x1400385c2
mov r13d, 1
mov byte [rsi], r12b
mov eax, r13d
jmp 0x1400385d6
mov rdx, rbx
mov rcx, rsi
call fcn.14000aaf0
mov edx, 0x80
lea r13d, [rdx - 0x7f]
mov r14, qword [rbp - 0x78]
movzx edi, al
nop dword [rax]
mov ebx, dword [r15 + 0x24]
movsxd rcx, edi
add rcx, rsi
cmp ebx, edx
jae 0x1400385f5
mov byte [rcx], bl
mov eax, r13d
jmp 0x1400385fd
mov rdx, rbx
call fcn.14000aaf0
movzx eax, al
mov r8d, ebx
movsxd rcx, r12d
mov rdx, r15
add rcx, rsi
add edi, eax
call fcn.140030c20
add r12d, eax
add r15, 0x38
mov edx, 0x80
cmp r15, r14
jbe 0x1400385e0
mov rax, qword [rbp - 0x68]
mov r13, qword [rbp - 0x80]
mov r14, qword [rbp - 0x58]
mov dword [rax + 0xc], r14d
mov word [rax + 8], 0x10
test r13, r13
je 0x140038648
mov dword [rax], r13d
mov word [rax + 8], 0x4010
mov r12, qword [rsp + 0x58]
xor r15d, r15d
mov r14, qword [rsp + 0x60]
mov byte [rax + 0xa], 1
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x1b0]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x18]
mov qword [rbp + 0x1b0], r15
call fcn.140027fb0
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140036800
mov rcx, qword [rbp + 0x1b0]
mov qword [rax], rcx
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov r14d, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rbp - 0x80], r14d
test r14d, r14d
jne 0x140038793
cmp dword [r12 + 0xb4], r14d
jg 0x14003b8a0
mov rcx, rdi
call fcn.140009c20
mov r8d, dword [r12 + 0x280]
xor edx, edx
add r8d, dword [r12 + 0x27c]
mov rcx, r12
movsxd rsi, eax
call fcn.1400904c0
mov r12, qword [rsp + 0x58]
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140038b67
lea rdx, [rsi + 0x21]
mov rcx, r12
call fcn.140007000
mov rbx, rax
test rax, rax
je 0x14003841e
lea r9, [rax + 0x20]
mov rdx, rdi
lea ecx, [rsi + 1]
mov qword [rax], r9
movsxd r8, ecx
mov rcx, r9
call fcn.1400d83a0
cmp byte [r12 + 0x53], r14b
je 0x140038755
mov byte [r12 + 0x53], r14b
mov byte [r12 + 0x5b], 1
jmp 0x14003875d
inc dword [r12 + 0x27c]
mov rax, qword [r12 + 0x270]
mov r14, qword [rsp + 0x60]
mov qword [rbx + 0x18], rax
mov rax, qword [r12 + 0x288]
mov qword [r12 + 0x270], rbx
mov qword [rbx + 8], rax
mov rax, qword [r12 + 0x290]
mov qword [rbx + 0x10], rax
jmp 0x140036bb1
mov rbx, qword [r12 + 0x270]
test rbx, rbx
je 0x1400387bb
mov rcx, qword [rbx]
mov rdx, rdi
call fcn.14000a060
test eax, eax
je 0x1400387d9
mov rbx, qword [rbx + 0x18]
inc r15d
test rbx, rbx
jne 0x1400387a0
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r13
call fcn.14002c2e0
mov edi, 1
mov esi, edi
jmp 0x140038b70
cmp dword [r12 + 0xb4], 0
jle 0x1400387ee
cmp r14d, 1
je 0x14003b8b9
cmp qword [rbx + 0x18], 0
jne 0x140038855
cmp byte [r12 + 0x5b], 0
je 0x140038855
mov edi, 1
mov dword [rbp - 0x78], edi
cmp r14d, edi
jne 0x14003885c
mov edx, edi
mov rcx, r13
call fcn.14002f9e0
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140038c38
mov rcx, r13
mov byte [r12 + 0x53], dil
call fcn.14002fa30
cmp eax, 5
je 0x14003b8d2
mov r8, qword [rsp + 0x58]
mov byte [r12 + 0x5b], 0
add r12, 0x27c
mov ecx, dword [r13 + 0x38]
mov dword [rsp + 0x3c], ecx
jmp 0x14003895a
xor ecx, ecx
mov dword [rbp - 0x78], ecx
jmp 0x14003885e
xor ecx, ecx
add r12, 0x27c
mov eax, dword [r12]
sub eax, r15d
lea r15d, [rax - 1]
cmp r14d, 2
jne 0x1400388da
mov rax, qword [rsp + 0x58]
mov esi, ecx
mov r13d, dword [rax + 0x2c]
shr r13d, 1
and r13d, 1
cmp dword [rax + 0x28], 0
jle 0x1400388dd
mov r14d, r13d
mov rdi, rcx
xor r14d, 1
nop dword [rax + rax]
mov rcx, qword [rax + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rdi + rcx + 8]
call fcn.140020e80
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x14003bd3d
mov rax, qword [rsp + 0x58]
inc esi
add rdi, 0x20
cmp esi, dword [rax + 0x28]
jl 0x1400388a0
mov r14d, dword [rbp - 0x80]
xor ecx, ecx
jmp 0x1400388dd
mov r13d, ecx
mov r8, qword [rsp + 0x58]
mov esi, ecx
cmp dword [r8 + 0x28], 0
jle 0x140038921
mov rdi, rcx
nop
mov rcx, qword [r8 + 0x20]
mov edx, r14d
mov r8d, r15d
mov rcx, qword [rdi + rcx + 8]
call fcn.140021150
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x14003bd3d
mov r8, qword [rsp + 0x58]
inc esi
add rdi, 0x20
cmp esi, dword [r8 + 0x28]
jl 0x1400388f0
test r13d, r13d
je 0x140038952
mov rax, qword [r8 + 8]
test rax, rax
je 0x140038940
nop
or dword [rax + 0xc0], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140038930
mov rcx, r8
call fcn.140055270
mov r8, qword [rsp + 0x58]
or dword [r8 + 0x2c], 2
mov r13, qword [rsp + 0x70]
mov edi, dword [rbp - 0x78]
mov rcx, qword [r8 + 0x270]
cmp rcx, rbx
je 0x140038991
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r8
mov qword [r8 + 0x270], rax
call fcn.140006bf0
dec dword [r12]
mov r8, qword [rsp + 0x58]
mov rcx, qword [r8 + 0x270]
cmp rcx, rbx
jne 0x140038966
cmp r14d, 1
jne 0x1400389d2
mov rax, qword [rbx + 0x18]
mov rdx, rbx
mov rcx, r8
mov qword [r8 + 0x270], rax
call fcn.140006bf0
test edi, edi
jne 0x1400389fb
dec dword [r12]
mov r12, qword [rsp + 0x58]
mov r8d, r15d
mov edx, r14d
mov rcx, r12
call fcn.1400904c0
mov esi, eax
mov dword [rsp + 0x3c], eax
test eax, eax
jmp 0x140038a06
mov rax, qword [rbx + 8]
mov r12, qword [rsp + 0x58]
mov qword [r12 + 0x288], rax
mov rax, qword [rbx + 0x10]
mov qword [r12 + 0x290], rax
test edi, edi
je 0x1400389ba
cmp r14d, 2
je 0x1400389ba
jmp 0x140038a00
mov r12, qword [rsp + 0x58]
mov esi, dword [rsp + 0x3c]
test esi, esi
jne 0x140038b6b
mov r14, qword [rsp + 0x60]
xor r15d, r15d
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov edx, dword [rax + 8]
test edx, edx
je 0x140038a34
test dword [r12 + 0x2c], 0x4000000
jne 0x14003b913
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x140038b33
mov rcx, rbx
call fcn.14001faf0
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x14003b91d
mov rax, qword [rsp + 0x30]
cmp dword [rax + 8], esi
je 0x140038aed
test byte [r13 + 0xc0], 0x40
je 0x140038aed
cmp byte [r12 + 0x53], sil
je 0x140038a8b
cmp dword [r12 + 0xb0], 1
jle 0x140038aed
mov r8d, dword [r13 + 0x40]
test r8d, r8d
jne 0x140038ab0
inc dword [r12 + 0x280]
mov r8d, dword [r12 + 0x280]
add r8d, dword [r12 + 0x27c]
mov dword [r13 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r12
call fcn.1400904c0
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140038ad5
mov edx, dword [r13 + 0x40]
mov rcx, rbx
call fcn.1400210e0
mov dword [rsp + 0x3c], eax
mov rax, qword [r12 + 0x288]
mov qword [r13 + 0x58], rax
mov rax, qword [r12 + 0x290]
mov qword [r13 + 0x60], rax
lea r8, [rbp + 0x168]
mov edx, 1
mov rcx, rbx
call fcn.140027e40
mov rax, qword [rsp + 0x30]
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov r11d, dword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x168]
mov edx, dword [rcx + 4]
jmp 0x140038b3f
mov eax, r15d
mov edx, r15d
mov dword [rbp + 0x168], eax
mov rsi, qword [rsp + 0x30]
cmp byte [rsi + 3], 0
je 0x140038b5c
cmp eax, dword [rsi + 0xc]
jne 0x14003b95b
cmp edx, dword [rsi + 0x10]
jne 0x14003b95b
cmp dword [rsp + 0x3c], 0
je 0x1400369f3
mov esi, dword [rsp + 0x3c]
mov edi, 1
mov ebx, 7
cmp byte [r12 + 0x55], 0
cmovne esi, ebx
cmp qword [r13 + 0x90], 0
mov dword [rsp + 0x3c], esi
jne 0x140038bad
cmp esi, 0xc0a
je 0x140038bad
mov ecx, esi
call fcn.1400aa220
mov r8, rax
lea rdx, [0x14010a9cc]
mov rcx, r13
call fcn.14002c2e0
mov edx, esi
mov dword [r13 + 0x38], esi
mov rcx, r12
call fcn.140009cc0
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
mov r9, qword [r13 + 0xe0]
imul rcx
mov rax, qword [r13 + 0x90]
mov ecx, dword [rsp + 0x3c]
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.140009250
mov rcx, r13
call fcn.14002fa30
cmp dword [rsp + 0x3c], 0xc0a
jne 0x140038c1d
mov rcx, r12
call fcn.1400073e0
movzx edx, byte [rsp + 0x68]
mov eax, edi
mov dword [rsp + 0x3c], eax
test dl, dl
je 0x140038c38
dec edx
mov rcx, r12
call fcn.140055220
mov eax, edi
mov rcx, qword [rsp + 0x40]
mov edx, dword [rsp + 0x38]
movaps xmm7, xmmword [rsp + 0x420]
movaps xmm6, xmmword [rsp + 0x430]
mov r15, qword [rsp + 0x440]
mov r14, qword [rsp + 0x448]
mov rdi, qword [rsp + 0x488]
mov rsi, qword [rsp + 0x480]
mov rbx, qword [rsp + 0x478]
mov qword [r12 + 0x30], rcx
add dword [r13 + 0xdc], edx
cmp dword [r13 + 0xc8], 0
mov r12, qword [rsp + 0x450]
je 0x140038ca3
mov rcx, r13
call fcn.14002dba0
mov eax, dword [rsp + 0x3c]
mov rcx, qword [rbp + 0x310]
xor rcx, rsp
call fcn.1400d6240
add rsp, 0x458
pop r13
pop rbp
ret
mov rbx, qword [rsp + 0x30]
lea r8, [rbp + 0x1ac]
mov rcx, qword [r12 + 0x20]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140027e40
mov rdx, rbx
mov rcx, r13
call fcn.140036800
movsxd rcx, dword [rbp + 0x1ac]
mov qword [rax], rcx
mov rsi, rbx
jmp 0x140036bb6
mov rax, qword [rsp + 0x30]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [r12 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.140027ed0
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x140038d49
mov rcx, qword [rbx + 0x18]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
mov dword [rcx], eax
or dword [r12 + 0x2c], 2
jmp 0x140038d5e
cmp eax, 2
jne 0x140038d5e
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rax + 0xc]
mov byte [rcx + 0x70], al
mov rsi, qword [rsp + 0x30]
cmp dword [rsi + 4], 1
jne 0x140038d79
mov rcx, r12
call fcn.140032590
and dword [r13 + 0xc0], 0xfffffffe
cmp dword [rsp + 0x3c], 0
jne 0x140038b67
jmp 0x140036bb6
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
test rdi, rdi
je 0x140038db9
mov eax, dword [rcx + 8]
cmp dword [rdi + 0xc], eax
jne 0x140038db9
jmp 0x140038ecf
mov rcx, qword [rsp + 0x30]
test byte [r13 + 0xc0], 1
jne 0x14003b9b9
movsxd r12, dword [rcx + 0xc]
mov edi, r15d
mov r8, qword [rsp + 0x58]
mov rax, r12
shl rax, 5
mov r14, r15
movsxd r15, dword [rcx + 8]
add rax, qword [r8 + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x69
jne 0x140038e1a
mov rax, qword [rax + 0x18]
movzx esi, byte [rcx + 3]
and esi, 8
or esi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x70]
cmp cl, byte [rax + 0xbf]
jae 0x140038e13
mov byte [rax + 0xbf], cl
mov rcx, qword [rsp + 0x30]
jmp 0x140038e1c
xor esi, esi
test byte [rcx + 3], 0x10
je 0x140038e3b
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14002b080
mov rcx, qword [rsp + 0x30]
mov r15d, dword [rbx]
movzx eax, byte [rcx + 1]
cmp al, 0xfa
jne 0x140038e55
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
movzx eax, word [r14 + 6]
add edi, eax
jmp 0x140038e5c
cmp al, 0xf2
jne 0x140038e5c
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
mov r9d, r12d
mov rcx, qword [rsp + 0x70]
mov r8d, edi
mov byte [rsp + 0x20], 0
call fcn.140036370
mov rdi, rax
test rax, rax
je 0x140038293
mov rcx, qword [rax + 0x18]
mov r9, r14
or dword [rax + 8], 4
mov r8d, esi
mov qword [rsp + 0x20], rcx
mov edx, r15d
mov rcx, r13
mov byte [rax + 2], 1
mov dword [rax + 0xc], r15d
call fcn.140021210
mov rcx, qword [rsp + 0x30]
mov r13, qword [rsp + 0x70]
mov r12, qword [rsp + 0x58]
mov qword [rdi + 0x28], r14
cmp byte [rcx + 1], 0xfa
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x3c], eax
setne al
mov byte [rdi + 4], al
xor r15d, r15d
movzx edx, byte [rcx + 3]
mov rcx, qword [rdi + 0x18]
and edx, 3
call fcn.14001d1e0
mov esi, dword [rsp + 0x3c]
test esi, esi
jne 0x140038b6b
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 0
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.140036370
mov rbx, rax
test rax, rax
je 0x14003829d
or dword [rax + 8], 1
lea r9, [rbx + 0x20]
mov byte [rax + 2], 1
mov r8, r12
mov rax, qword [rsp + 0x30]
xor edx, edx
mov rcx, qword [r12]
mov dword [rsp + 0x28], 0x41e
movzx eax, byte [rax + 3]
or eax, 5
mov dword [rsp + 0x20], eax
call fcn.14001e540
mov esi, eax
test eax, eax
jne 0x140038b6b
mov rcx, qword [rbx + 0x20]
lea edx, [rax + 1]
call fcn.14001faf0
mov esi, eax
test eax, eax
jne 0x140038b6b
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x20]
mov rsi, qword [rax + 0x10]
test rsi, rsi
je 0x140038fc9
movzx r8d, byte [rax + 3]
lea rdx, [rbp + 0x1a8]
or r8d, 2
call fcn.140027630
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140038fc5
mov rax, qword [rbx + 0x18]
mov r9, rsi
mov edx, dword [rbp + 0x1a8]
mov r8d, 4
mov rcx, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
mov qword [rbx + 0x28], rsi
call fcn.140021210
mov dword [rsp + 0x3c], eax
xor al, al
jmp 0x140038fe8
mov rax, qword [rbx + 0x18]
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea edx, [r9 + 1]
lea r8d, [r9 + 4]
call fcn.140021210
mov dword [rsp + 0x3c], eax
mov al, 1
mov esi, dword [rsp + 0x3c]
mov r8d, 4
mov ecx, r8d
mov byte [rbx + rcx], al
test esi, esi
jne 0x140038b6b
mov rax, qword [rsp + 0x30]
mov ecx, r15d
mov r14, qword [rsp + 0x60]
cmp byte [rax + 3], 8
mov eax, dword [rbx + 8]
cmovne ecx, r8d
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 1
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.140036370
test rax, rax
je 0x14003829d
mov rdx, qword [rsp + 0x30]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x28], rcx
mov rcx, r12
mov edx, dword [rdx + 0xc]
call fcn.14003dde0
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x38]
lea rax, [rcx + 1]
mov qword [rdx + 0x38], rax
test rcx, rcx
je 0x14003b750
mov edx, 0x2460
jmp case.0x14003698d.112
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 3
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.140036370
test rax, rax
je 0x14003829d
mov rcx, qword [rsp + 0x30]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov dword [rax + 0x18], ecx
mov byte [rax + 4], 1
jmp 0x140036bb1
mov rdx, qword [r13 + 0x98]
mov rcx, r13
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.14002e830
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov qword [rax + rcx*8], r15
jmp 0x140036bb1
mov rax, qword [r13 + 0x98]
mov rdi, qword [rsp + 0x30]
movsxd rcx, dword [rdi + 4]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi + 4], 0
mov byte [rsi + 2], 0
je 0x1400391e4
movsxd rax, dword [rdi + 0xc]
imul rdi, rax, 0x38
add rdi, r14
movzx eax, byte [rdi + 8]
and al, 0xe
cmp al, 2
jne 0x140039169
xor edx, edx
mov rcx, rdi
call fcn.1400364d0
mov rcx, rdi
call fcn.14002af20
movzx ecx, word [rdi + 8]
mov r14, rax
test cl, 4
jne 0x1400391ae
test cl, 8
je 0x14003b741
movsd xmm0, qword [rdi]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
comisd xmm1, xmm0
jbe 0x1400391a1
test bl, 1
jne 0x1400391ae
dec ebx
jmp 0x1400391ae
comisd xmm0, xmm1
jbe 0x1400391ae
test bl, 1
je 0x1400391ae
inc ebx
mov rcx, qword [rsi + 0x18]
lea rax, [rbp + 0x138]
lea rdi, [rsi + 0x18]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r14
xor edx, edx
call fcn.140022180
mov dword [rsp + 0x3c], eax
mov qword [rsi + 0x40], r14
test eax, eax
jne 0x140038b67
jmp 0x140039270
mov rax, qword [rsi + 0x18]
lea rdi, [rsi + 0x18]
mov rcx, qword [rsp + 0x30]
mov edx, 0xffffffff
mov r15d, 0
movzx r14d, byte [rax + 0x57]
mov rax, qword [rsi + 0x28]
and r14b, 2
mov qword [rbp - 8], rax
movzx eax, word [rcx + 0x10]
setne r15b
mov word [rbp + 8], ax
lea eax, [rbx - 1]
test al, 1
mov byte [rbp + 0xe], 0
mov eax, r10d
cmovne eax, edx
xor r9d, r9d
mov byte [rbp + 0xa], al
lea rdx, [rbp - 8]
movsxd rax, dword [rcx + 0xc]
xor r8d, r8d
imul rcx, rax, 0x38
lea rax, [rbp + 0x138]
add rcx, qword [rsp + 0x60]
mov qword [rbp], rcx
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.140022180
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140038b67
test r14b, r14b
je 0x140039270
cmp byte [rbp + 0xe], al
je 0x1400392ec
xor ecx, ecx
mov byte [rsi + 3], 0
mov dword [rsi + 0x58], ecx
mov eax, dword [rbp + 0x138]
cmp ebx, 0x19
jl 0x1400392ae
test eax, eax
js 0x140039297
jne 0x14003928f
cmp ebx, 0x1a
je 0x140039297
mov dword [rbp + 0x138], ecx
jmp 0x1400392f9
mov dword [rbp + 0x138], ecx
lea rdx, [rbp + 0x138]
mov rcx, qword [rdi]
call fcn.1400228d0
jmp 0x1400392de
test eax, eax
jg 0x1400392c9
jne 0x1400392b9
cmp ebx, 0x17
je 0x1400392c9
mov rcx, qword [rdi]
call fcn.140022770
mov dword [rbp + 0x138], eax
jmp 0x1400392ec
mov dword [rbp + 0x138], ecx
lea rdx, [rbp + 0x138]
mov rcx, qword [rdi]
call fcn.140022a70
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
cmp dword [rbp + 0x138], 0
jne 0x14003b741
mov rsi, qword [rsp + 0x30]
mov r10d, 1
mov r14, qword [rsp + 0x60]
mov edx, 0x2460
mov r9, qword [rsp + 0x50]
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x40]
mov r11d, dword [rsp + 0x38]
test r15d, r15d
je 0x14003932d
add rsi, 0x18
xor r15d, r15d
mov r13, qword [rsp + 0x70]
add rsi, 0x18
mov qword [rsp + 0x30], rsi
jmp 0x14003695c
mov rdi, qword [rsp + 0x30]
mov rax, qword [r13 + 0x98]
movsxd rcx, dword [rdi + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
mov eax, dword [rdi + 0x10]
add rbx, r14
mov qword [rbp - 0x30], r15
mov rcx, qword [rsi + 0x28]
test eax, eax
jle 0x140039383
mov qword [rbp + 0x58], rcx
lea rdi, [rbp + 0x58]
mov word [rbp + 0x68], ax
mov qword [rbp + 0x60], rbx
jmp 0x1400393d1
lea r9, [rbp - 0x30]
mov r8d, 0xff
lea rdx, [rbp + 0x210]
call fcn.140030ee0
mov rdi, rax
test rax, rax
je 0x14003829d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1400393b8
mov rcx, rbx
call fcn.14002a9f0
mov r8, qword [rbx + 0x10]
mov r9, rdi
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x28]
call fcn.140030f70
mov r10d, 1
mov rax, qword [rsp + 0x30]
mov ebx, r15d
mov byte [rdi + 0x12], 0
cmp byte [rax], 0x1d
jne 0x140039409
movzx edx, word [rdi + 0x10]
mov ecx, r15d
test edx, edx
je 0x140039409
mov rax, qword [rdi + 8]
add rax, 8
test byte [rax], 1
jne 0x140039406
inc ecx
add rax, 0x38
cmp ecx, edx
jl 0x1400393f5
jmp 0x140039409
mov ebx, r10d
mov rcx, qword [rsi + 0x18]
lea rax, [rbp + 0x190]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.140022180
mov rdx, qword [rbp - 0x30]
mov rcx, r12
mov dword [rsp + 0x3c], eax
call fcn.140006bf0
cmp dword [rsp + 0x3c], 0
jne 0x140038b67
mov eax, dword [rbp + 0x190]
mov ecx, r15d
mov dword [rsi + 0x30], eax
mov eax, dword [rbp + 0x190]
test eax, eax
mov byte [rsi + 3], 0
sete cl
mov dword [rsi + 0x58], r15d
test eax, eax
setne al
mov byte [rsi + 2], al
mov rsi, qword [rsp + 0x30]
cmp byte [rsi], 0x1f
jne 0x140039495
test ecx, ecx
mov r9, qword [rsp + 0x50]
jne 0x14003b750
mov r11d, dword [rsp + 0x38]
mov r10d, 1
mov edx, 0x2460
jmp case.0x14003698d.112
test ebx, ebx
jne 0x14003b74b
mov r9, qword [rsp + 0x50]
test ecx, ecx
je 0x14003b750
mov r11d, dword [rsp + 0x38]
lea r10d, [rbx + 1]
mov edx, 0x2460
jmp case.0x14003698d.112
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
test byte [rbx + 8], 4
jne case.0x14003698d.33
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
mov rcx, rbx
call fcn.1400365d0
test byte [rbx + 8], 4
je 0x14003b746
mov rbx, qword [rsp + 0x30]
xor r9d, r9d
mov rax, qword [r13 + 0x98]
xor edx, edx
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
mov r10, qword [rdi + 0x18]
lea rax, [rbp + 0x17c]
mov dword [rbp + 0x17c], r15d
mov qword [rsp + 0x20], rax
mov rbx, qword [rcx + r14]
mov rcx, r10
mov r8, rbx
call fcn.140022180
mov rsi, qword [rsp + 0x30]
mov qword [rdi + 0x40], rbx
mov word [rdi + 2], 0
mov dword [rdi + 0x58], r15d
mov dword [rsp + 0x3c], eax
mov eax, dword [rbp + 0x17c]
mov dword [rdi + 0x30], eax
cmp dword [rbp + 0x17c], 0
je 0x14003957a
cmp dword [rsi + 8], 0
jne 0x14003b74b
mov ecx, 0x14224
call fcn.1400ad230
mov r12d, eax
mov dword [rsp + 0x3c], eax
jmp 0x14003957f
mov r12d, dword [rsp + 0x3c]
test r12d, r12d
mov r12, qword [rsp + 0x58]
jne 0x140038b67
jmp 0x140036bb6
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
mov eax, 0x2460
add rdx, qword [r13 + 0x70]
test word [rdx + 8], ax
je 0x1400395cb
mov rcx, rdx
call fcn.1400367d0
mov r9, qword [rsp + 0x50]
mov rdx, rax
mov r11d, dword [rsp + 0x38]
mov r10d, 1
jmp 0x1400395d1
mov word [rdx + 8], 4
mov rax, qword [r13 + 0x98]
mov rsi, rbx
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
mov qword [rdx], rax
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x98]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x38]
mov edx, 0x2460
jmp case.0x14003698d.112
mov rbx, qword [rsp + 0x30]
mov qword [rbp + 0x158], r15
mov dword [rbp + 0x144], r15d
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
add rsi, qword [r13 + 0x70]
test word [rsi + 8], dx
je 0x140039639
mov rcx, rsi
call fcn.1400367d0
mov rsi, rax
jmp 0x14003963f
mov word [rsi + 8], 4
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x98]
mov rdi, qword [rax + rcx*8]
test byte [rdi + 8], 2
jne 0x1400396b4
mov rcx, qword [rdi + 0x18]
lea rdx, [rbp + 0x144]
call fcn.1400220f0
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140038b67
cmp dword [rbp + 0x144], eax
je 0x140039685
mov qword [rbp + 0x158], 1
jmp 0x1400396b4
mov rcx, qword [rdi + 0x18]
call fcn.140021530
movabs rcx, 0x7fffffffffffffff
mov qword [rbp + 0x158], rax
cmp rax, rcx
jl 0x1400396aa
or dword [rdi + 8], 2
jmp 0x1400396b4
inc rax
mov qword [rbp + 0x158], rax
movsxd rdx, dword [rbx + 0xc]
test edx, edx
je 0x140039756
mov rcx, qword [r13 + 0xf0]
test rcx, rcx
je 0x1400396f6
mov rax, qword [rcx + 8]
test rax, rax
je 0x1400396ec
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1400396e0
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x1400396fd
imul rbx, rdx, 0x38
add rbx, r14
mov rcx, rbx
call fcn.14002af20
movzx ecx, word [rbx + 8]
mov edx, 0x3e00
and cx, dx
mov qword [rbx], rax
or cx, 4
mov word [rbx + 8], cx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14003b9c3
test byte [rdi + 8], 2
jne 0x14003b9c3
lea rcx, [rax + 1]
mov rax, qword [rbp + 0x158]
cmp rax, rcx
jge 0x140039753
mov rax, rcx
mov qword [rbp + 0x158], rcx
mov qword [rbx], rax
test byte [rdi + 8], 2
je 0x1400397d6
mov ebx, r15d
nop
lea rdx, [rbp + 0x158]
mov ecx, 8
call fcn.1400093a0
mov r8, qword [rbp + 0x158]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
inc r8
lea rax, [rbp + 0x144]
mov qword [rbp + 0x158], r8
xor edx, edx
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x20], rax
call fcn.140022180
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x14003bd33
cmp dword [rbp + 0x144], eax
jne 0x1400397d1
inc ebx
cmp ebx, 0x64
jl 0x140039760
mov r12, qword [rsp + 0x58]
lea esi, [rax + 0xd]
jmp 0x140038b6b
mov r12, qword [rsp + 0x58]
mov byte [rdi + 3], 0
mov dword [rdi + 0x58], r15d
mov rax, qword [rbp + 0x158]
mov qword [rsi], rax
jmp 0x140036bb1
mov rcx, qword [rsp + 0x30]
mov esi, r15d
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul r8, rax, 0x38
mov rax, qword [r13 + 0x98]
add r8, r14
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 0xc]
cmp bl, 0x73
jne 0x14003982a
imul rax, rdx, 0x38
mov rdx, qword [rax + r14]
mov rax, qword [rsp + 0x30]
cmp byte [rax + 1], 0xec
mov qword [rbp - 0x20], rdx
jne 0x14003986d
cmp qword [r12 + 0x118], 0
je 0x14003986d
mov rax, qword [r12 + 0x20]
mov esi, 0x12
movsx rcx, byte [rdi + 1]
shl rcx, 5
mov rbx, qword [rcx + rax]
mov ecx, 0x17
mov rax, qword [rsp + 0x30]
test byte [rax + 3], 4
mov r14, qword [rax + 0x10]
cmovne esi, ecx
jmp 0x140039873
mov r14, r15
mov rbx, r15
test byte [rax + 3], 1
je 0x14003987d
inc dword [r13 + 0x3c]
movzx ecx, byte [rax + 3]
test cl, 2
je 0x140039894
mov qword [r12 + 0x30], rdx
movzx ecx, byte [rax + 3]
mov qword [rsp + 0x40], rdx
test byte [r8 + 8], 1
je 0x1400398a5
mov qword [rbp - 0x18], r15
mov dword [rbp - 0x10], r15d
jmp 0x1400398b4
mov rax, qword [r8 + 0x10]
mov qword [rbp - 0x18], rax
mov eax, dword [r8 + 0xc]
mov dword [rbp - 0x10], eax
test cl, 0x10
je 0x1400398bf
mov r9d, dword [rdi + 0x30]
jmp 0x1400398c2
mov r9d, r15d
mov eax, 0x4000
test word [r8 + 8], ax
je 0x1400398d6
mov eax, dword [r8]
mov dword [rbp - 0xc], eax
jmp 0x1400398da
mov dword [rbp - 0xc], r15d
movzx r8d, cl
lea rdx, [rbp - 0x28]
shr r8d, 3
mov qword [rbp - 0x28], r15
and r8d, 1
mov rcx, qword [rdi + 0x18]
call fcn.1400269f0
mov r12, qword [rsp + 0x58]
mov dword [rsp + 0x3c], eax
mov byte [rdi + 3], 0
mov dword [rdi + 0x58], r15d
test eax, eax
jne 0x140038b67
mov r10, qword [r12 + 0x118]
test r10, r10
je 0x14003841e
test esi, esi
je 0x14003841e
mov rax, qword [rbp - 0x20]
mov r8, rbx
mov r9, qword [r14]
mov edx, esi
mov rcx, qword [r12 + 0x110]
mov qword [rsp + 0x20], rax
call r10
mov r14, qword [rsp + 0x60]
jmp 0x140036bb1
mov rdi, qword [rsp + 0x30]
mov rax, qword [r13 + 0x98]
movsxd rcx, dword [rdi + 4]
mov r15d, dword [rdi + 8]
cmp byte [rdi + 1], 0xec
lea rdi, [r12 + 0x118]
mov rbx, qword [rax + rcx*8]
jne 0x1400399b1
cmp qword [rdi], 0
je 0x1400399b1
mov rax, qword [r12 + 0x20]
movsx rcx, byte [rbx + 1]
shl rcx, 5
mov r14, qword [rcx + rax]
mov rax, qword [rsp + 0x30]
test byte [rax + 3], 2
mov rsi, qword [rax + 0x10]
je 0x1400399b8
cmp byte [rbx + 4], 0
je 0x1400399b8
mov rcx, qword [rbx + 0x18]
call fcn.140021530
mov qword [rbx + 0x40], rax
jmp 0x1400399b8
xor eax, eax
mov r14d, eax
mov esi, eax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x18]
movzx edx, byte [rax + 3]
call fcn.140026cc0
mov dword [rsp + 0x3c], eax
mov dword [rbx + 0x58], 0
test eax, eax
jne 0x14003bd33
test r15b, 1
je 0x1400372f7
inc dword [r13 + 0x3c]
mov r10, qword [rdi]
test r10, r10
je 0x1400372f7
test byte [rsi + 0x46], 0x20
mov r12, qword [rsp + 0x58]
jne 0x1400371b2
mov rax, qword [rbx + 0x40]
mov r8, r14
mov r9, qword [rsi]
mov edx, 9
mov rcx, qword [r12 + 0x110]
mov qword [rsp + 0x20], rax
call r10
mov r14, qword [rsp + 0x60]
xor r15d, r15d
jmp 0x140036bb1
mov eax, dword [r13 + 0x3c]
add dword [r12 + 0x6c], eax
mov dword [r12 + 0x68], eax
mov dword [r13 + 0x3c], r15d
jmp case.0x14003698d.112
mov rbx, qword [rsp + 0x30]
lea r9, [rbp + 0x188]
mov rax, qword [r13 + 0x98]
movsxd rcx, dword [rbx + 4]
mov r8d, dword [rbx + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0x188], r15d
add rdx, r14
call fcn.140040b00
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
cmp dword [rbp + 0x188], eax
mov rsi, rbx
jmp 0x140039475
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x98]
add rdx, r14
mov rcx, qword [rax + rcx*8]
call fcn.140040a30
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x58], r15d
jmp 0x140036bb1
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rbx, rax, 0x38
mov rax, qword [r13 + 0x98]
add rbx, r14
mov r14, qword [rax + rcx*8]
mov rsi, qword [r14 + 0x18]
mov rcx, rsi
call fcn.1400214e0
mov edi, dword [rsi + 0x30]
cmp edi, dword [r12 + 0x70]
ja 0x14003ba71
mov edx, 0x20
cmp edi, edx
cmova edx, edi
cmp dword [rbx + 0x20], edx
jge 0x140039b47
xor r8d, r8d
mov rcx, rbx
call fcn.14002a580
test eax, eax
jne 0x14003829d
jmp 0x140039b54
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0xd
mov qword [rbx + 0x10], rax
mov r9, qword [rbx + 0x10]
mov eax, 0x3e00
and word [rbx + 8], ax
xor edx, edx
or word [rbx + 8], 0x10
mov r8d, edi
mov dword [rbx + 0xc], edi
mov rcx, rsi
cmp byte [r14 + 4], dl
jne 0x140039b7e
call fcn.140021bd0
jmp 0x140039b83
call fcn.140021bf0
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
mov r14, qword [rsp + 0x60]
mov byte [rbx + 0xa], 1
jmp 0x140036bb1
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x70]
test word [rdi + 8], dx
je 0x140039bd8
mov rcx, rdi
call fcn.1400367d0
mov r9, qword [rsp + 0x50]
mov rdi, rax
mov r11d, dword [rsp + 0x38]
mov r10d, 1
mov edx, 0x2460
jmp 0x140039bde
mov word [rdi + 8], 4
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x140039c02
mov rsi, qword [rsp + 0x30]
mov word [rdi + 8], r10w
jmp case.0x14003698d.112
cmp byte [rbx + 3], 0
je 0x140039c1b
mov rax, qword [rbx + 0x40]
mov qword [rbp + 0x198], rax
mov qword [rdi], rax
jmp 0x140036bb1
cmp byte [rbx], 2
jne 0x140039c5e
mov rcx, qword [rbx + 0x18]
lea rdx, [rbp + 0x198]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x3c], eax
call fcn.1400325c0
mov esi, dword [rsp + 0x3c]
test esi, esi
jne 0x140038b6b
mov rax, qword [rbp + 0x198]
mov qword [rdi], rax
jmp 0x140036bb1
mov rcx, rbx
call fcn.140030a80
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
cmp byte [rbx + 2], al
je 0x140039c9d
mov rsi, qword [rsp + 0x30]
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov edx, 0x2460
mov r11d, dword [rsp + 0x38]
mov word [rdi + 8], r10w
jmp case.0x14003698d.112
mov rcx, qword [rbx + 0x18]
call fcn.140021530
mov qword [rbp + 0x198], rax
mov qword [rdi], rax
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 0
mov byte [rcx + 2], 1
mov dword [rcx + 0x58], r15d
jne 0x140036e45
mov rcx, qword [rcx + 0x18]
call fcn.14001cd60
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x160]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x18]
mov dword [rbp + 0x160], r15d
call fcn.1400220f0
mov dword [rsp + 0x3c], eax
movzx eax, byte [rbp + 0x160]
mov esi, dword [rsp + 0x3c]
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x30]
mov byte [rbx + 3], 0
mov dword [rbx + 0x58], r15d
mov eax, dword [rax + 0xc]
mov dword [rbx + 0x30], eax
test esi, esi
jne 0x140038b6b
mov rsi, qword [rsp + 0x30]
cmp dword [rsi + 8], 0
jle 0x140036bb6
cmp dword [rbp + 0x160], 0
jmp 0x140039475
inc dword [r13 + 0xd4]
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x13c], r10d
cmp byte [rbx], 1
jne 0x140039d99
lea rdx, [rbp + 0x13c]
mov rcx, rbx
call fcn.1400407f0
mov esi, eax
mov dword [rsp + 0x3c], eax
jmp 0x140039ddd
mov rdi, qword [rbx + 0x18]
mov rcx, rdi
call fcn.140021d20
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140039dd5
cmp byte [rdi + 0x56], al
jne 0x140039dc0
mov dword [rbp + 0x13c], 1
jmp 0x140039dd5
mov rcx, rdi
mov dword [rbp + 0x13c], r15d
call fcn.140021ef0
mov esi, eax
mov dword [rsp + 0x3c], eax
mov byte [rbx + 3], 0
mov dword [rbx + 0x58], r15d
test esi, esi
jne 0x140038b6b
movzx eax, byte [rbp + 0x13c]
mov rsi, qword [rsp + 0x30]
mov byte [rbx + 2], al
cmp dword [rbp + 0x13c], 0
jmp 0x140039475
mov rax, qword [rsp + 0x30]
lea r8, [rbp + 0x140]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
mov rdx, rbx
mov dword [rbp + 0x140], r15d
call fcn.1400408c0
jmp 0x140039e7f
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
cmp qword [rax + rcx*8], 0
je 0x140036e45
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x140]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
mov dword [rbp + 0x140], eax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x18]
call qword [rax + 0x10]
mov dword [rsp + 0x3c], eax
mov esi, eax
mov dword [rbx + 0x58], r15d
test eax, eax
jne 0x140038b6b
mov r9, qword [rsp + 0x50]
cmp dword [rbp + 0x140], eax
jne 0x140039eb7
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 3]
inc dword [r13 + rax*4 + 0xcc]
jmp case.0x14003698d.13
mov byte [rbx + 2], 1
jmp 0x14003a610
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r14
test byte [rcx + 3], 1
je 0x140039eee
inc dword [r13 + 0x3c]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x140039f10
mov rcx, rbx
call fcn.14002a9f0
mov esi, eax
test eax, eax
jne 0x140038b6b
mov rcx, qword [rsp + 0x30]
cmp byte [rcx], 0x7d
jne 0x140039f22
mov rdx, rbx
mov rcx, rdi
call fcn.14003f440
jmp 0x140039f5f
test byte [rcx + 3], 0x10
movsxd rax, dword [rbx + 0xc]
mov qword [rbp + 0x120], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x118], rax
je 0x140039f44
mov r9d, dword [rdi + 0x30]
jmp 0x140039f47
mov r9d, r15d
mov r8d, dword [rcx + 0xc]
lea rdx, [rbp + 0x118]
mov rcx, qword [rdi + 0x18]
call fcn.1400269f0
mov dword [rdi + 0x58], r15d
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x28]
xor r9d, r9d
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rbx + 0x28]
mov rdi, qword [rbx + 0x18]
mov qword [rbp + 0x28], rax
movzx eax, word [rcx + 0xc]
mov word [rbp + 0x38], ax
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x194]
mov byte [rbp + 0x3a], 0
add rcx, r14
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x30], rcx
mov rcx, rdi
call fcn.140022180
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
cmp dword [rbp + 0x194], eax
jne 0x140039ffe
mov dl, 4
mov rcx, rdi
call fcn.140026cc0
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
mov dword [rbx + 0x58], r15d
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x18]
cmp byte [rax + 0x56], 1
je 0x14003a03d
mov rcx, rbx
call fcn.140030a20
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
jmp 0x14003a042
mov dword [rsp + 0x3c], r15d
cmp byte [rbx + 2], 0
jne 0x14003a0d6
mov qword [rbp + 0x1a0], r15
lea r8, [rbp + 0x1a0]
mov rdx, qword [rbx + 0x18]
mov rcx, r12
call fcn.1400321e0
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0x80
jne 0x14003a0b6
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x98]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], sil
mov rax, qword [rbp + 0x1a0]
mov qword [rdx + 0x40], rax
mov rax, qword [rsp + 0x30]
mov byte [rdx + 3], 1
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x50], rax
mov qword [rdx + 0x48], rbx
jmp 0x140036bb1
mov rdx, rax
mov rcx, r13
call fcn.140036800
mov rcx, qword [rbp + 0x1a0]
mov qword [rax], rcx
mov word [rax + 8], 4
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r14
call fcn.14002b370
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
lea r9, [rbp + 0x150]
cmp bl, 0x3c
lea r8, [rbp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x28]
mov qword [rbp + 0x40], rax
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x50], ax
sbb al, al
mov byte [rbp + 0x52], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
mov dword [rbp + 0x150], r15d
add rcx, r14
mov qword [rbp + 0x48], rcx
mov rcx, r12
call fcn.140032440
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x30]
test byte [rax], 1
mov eax, dword [rbp + 0x150]
jne 0x14003a162
neg eax
jmp 0x14003a164
inc eax
mov esi, dword [rsp + 0x3c]
mov dword [rbp + 0x150], eax
test esi, esi
jne 0x140038b6b
mov rsi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x50]
test eax, eax
jg 0x14003b750
jmp 0x140039480
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x70]
test word [rbx + 8], dx
je 0x14003a1ba
mov rcx, rbx
call fcn.1400367d0
mov rcx, qword [rsp + 0x30]
mov rbx, rax
mov r10d, 1
mov word [rbx + 8], r10w
mov eax, dword [r12 + 0xbc]
inc eax
cmp dword [r12 + 0xb0], eax
jg 0x14003b9cd
movsxd rdi, dword [rcx + 0xc]
lea r8, [rbp + 0x164]
mov rcx, qword [r12 + 0x20]
mov rax, rdi
mov rdx, qword [rsp + 0x30]
shl rax, 5
mov dword [rbp + 0x164], r15d
mov edx, dword [rdx + 4]
mov rcx, qword [rax + rcx + 8]
call fcn.140027de0
mov dword [rsp + 0x3c], eax
mov esi, dword [rsp + 0x3c]
mov word [rbx + 8], 4
movsxd rax, dword [rbp + 0x164]
mov qword [rbx], rax
test esi, esi
jne 0x140038b6b
mov r8d, dword [rbp + 0x164]
test r8d, r8d
je 0x140036bb1
mov rax, qword [rsp + 0x30]
mov edx, edi
mov rcx, r12
mov r9d, dword [rax + 4]
call fcn.140059130
lea eax, [rdi + 1]
mov byte [rsp + 0x68], al
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
lea r8, [rbp + 0x184]
mov rcx, qword [r12 + 0x20]
mov rdx, qword [rsp + 0x30]
mov dword [rbp + 0x184], r15d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 8]
mov edx, dword [rdx + 4]
cmove r8, r15
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1400279c0
mov rsi, qword [rsp + 0x30]
mov dword [rsp + 0x3c], eax
cmp dword [rsi + 0xc], 0
je 0x14003a2ba
movsxd rdx, dword [rbp + 0x184]
add dword [r13 + 0x3c], edx
movsxd rax, dword [rsi + 0xc]
test eax, eax
jle 0x14003a2ba
imul rcx, rax, 0x38
add qword [rcx + r14], rdx
cmp dword [rsp + 0x3c], 0
jne 0x140038b67
jmp 0x140036bb6
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x14003a2f4
mov rdx, qword [rcx + 0x18]
mov rcx, r12
call fcn.14003e500
jmp 0x140036bb1
mov rcx, qword [rcx + 0x18]
call fcn.140027aa0
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x70]
test word [rbx + 8], dx
je 0x14003a334
mov rcx, rbx
call fcn.1400367d0
mov rbx, rax
jmp 0x14003a33a
mov word [rbx + 8], 4
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x18c]
mov r8d, r15d
mov dword [rbp + 0x18c], r15d
movsxd rcx, dword [rax + 4]
shl rcx, 5
add rcx, qword [r12 + 0x20]
cmp byte [rax], 0x87
setne r8b
mov rcx, qword [rcx + 8]
inc r8d
call fcn.140027630
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
movsxd rax, dword [rbp + 0x18c]
mov qword [rbx], rax
jmp 0x140036bb1
mov rbx, qword [rsp + 0x30]
lea rax, [r13 + 0x90]
mov r8, qword [r12 + 0x20]
lea r9, str.sqlite_temp_master
mov qword [rbp + 0x18], rax
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
lea rax, str.sqlite_master
mov qword [rbp + 0x10], r12
movsxd rcx, dword [rbx + 4]
cmp ecx, 1
mov dword [rbp + 0x20], ecx
cmovne r9, rax
mov rax, qword [rbx + 0x10]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, r12
call fcn.140008e10
mov rbx, rax
mov rcx, r12
test rax, rax
je 0x14003b9df
lea r9, [rbp + 0x10]
mov byte [r12 + 0xa9], 1
lea r8, [fcn.140077e20]
mov dword [rbp + 0x24], r15d
mov rdx, rax
mov qword [rsp + 0x20], r15
call fcn.140070560
test eax, eax
mov rdx, rbx
mov rcx, r12
cmove eax, dword [rbp + 0x24]
mov dword [rsp + 0x3c], eax
call fcn.140006bf0
mov esi, dword [rsp + 0x3c]
mov byte [r12 + 0xa9], 0
test esi, esi
je 0x140036bb1
mov rcx, r12
call fcn.140055270
cmp esi, 7
je 0x14003829d
jmp 0x140038b6b
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov edx, dword [rax + 4]
call fcn.1400526f0
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140055a40
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140054f10
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14008a2c0
jmp 0x140036bb1
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp + 0x180]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 4]
mov r8d, dword [rdx + 8]
mov rdx, qword [rdx + 0x10]
imul rdi, rax, 0x38
movzx eax, byte [rcx + 3]
mov rcx, qword [r12 + 0x20]
add rdi, r14
mov r9d, dword [rbx + r14]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140028e70
movsxd rcx, dword [rbp + 0x180]
mov rsi, rax
sub qword [rbx + r14], rcx
mov eax, 0x2460
test word [rdi + 8], ax
je 0x14003a533
mov rcx, rdi
call fcn.14002ad50
jmp 0x14003a539
mov word [rdi + 8], 1
cmp dword [rbp + 0x180], 0
je 0x14003a56b
test rsi, rsi
je 0x14003829d
lea rax, [fcn.140006b30]
mov r9b, 1
mov r8d, 0xffffffff
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, rdi
call fcn.14002b630
movzx edx, byte [rsp + 0x48]
mov rcx, rdi
call fcn.14002a560
jmp 0x140036bb1
mov rcx, qword [rsp + 0x30]
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], 0x20
jne 0x14003a5ad
mov rcx, rbx
call fcn.14002b3f0
test byte [rbx + 8], 0x20
je 0x14003829d
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx]
call fcn.140013530
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r14
test byte [rbx + 8], 0x20
je 0x14003a66f
mov rcx, qword [rbx]
lea rdx, [rbp + 0x1c0]
call fcn.140013a00
test eax, eax
je 0x14003a66f
mov rax, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x1c0]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.14002b3d0
mov r9, qword [rsp + 0x50]
mov eax, dword [r12 + 0x150]
test eax, eax
jne 0x14003bcf0
mov r8, qword [r12 + 0x1a0]
mov r11d, dword [rsp + 0x38]
test r8, r8
je 0x14003b767
cmp r11d, dword [rbp - 0x70]
jb 0x14003b767
mov ecx, dword [r12 + 0x1b0]
xor edx, edx
mov eax, r11d
div ecx
sub ecx, edx
add ecx, r11d
mov dword [rbp - 0x70], ecx
mov rcx, qword [r12 + 0x1a8]
call r8
test eax, eax
jne 0x14003bac9
jmp 0x140036bb1
mov rcx, rbx
call fcn.14002b370
jmp 0x14003b429
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r14
imul rdi, rax, 0x38
test byte [rbx + 8], 0x20
jne 0x14003a6af
mov rcx, rbx
call fcn.14002b3f0
test byte [rbx + 8], 0x20
je 0x14003829d
test esi, esi
je 0x14003a6d1
mov r8, qword [rdi + r14]
mov edx, esi
mov rcx, qword [rbx]
call fcn.140013a80
test eax, eax
jne 0x14003b746
test esi, esi
js 0x140036bb1
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx]
call fcn.140013530
jmp 0x140036bb1
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
mov r14, qword [rcx + 0x10]
imul rsi, rax, 0x38
add rsi, qword [rsp + 0x60]
cmp byte [rcx + 3], 0
je 0x14003a723
mov rax, qword [r13 + 0xf0]
mov rcx, qword [r14 + 0x18]
test rax, rax
je 0x14003a723
nop
cmp qword [rax + 0x30], rcx
je 0x14003b77c
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003a710
mov eax, dword [r12 + 0x98]
cmp dword [r13 + 0x100], eax
jge 0x14003b9e9
test byte [rsi + 8], 0x40
jne 0x14003a830
mov edx, dword [r14 + 0x10]
mov ecx, dword [r14 + 0xc]
add ecx, edx
test edx, edx
lea edi, [rcx + 1]
cmovne edi, ecx
mov rcx, r12
imul eax, edi, 7
add eax, edx
lea eax, [rax*8 + 0x68]
movsxd rdx, eax
call fcn.140006f60
mov rbx, rax
test rax, rax
je 0x14003829d
mov rcx, rsi
call fcn.14002af00
mov word [rsi + 8], 0x40
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [rsi], rbx
mov qword [rbx], r13
mov dword [rbx + 0x58], edi
mov ecx, dword [r14 + 0x10]
mov dword [rbx + 0x5c], ecx
mov rcx, qword [rsp + 0x30]
sub rcx, qword [rsp + 0x50]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x4c], edx
mov rax, qword [r13 + 0x70]
mov qword [rbx + 0x20], rax
mov eax, dword [r13 + 0x28]
mov dword [rbx + 0x54], eax
mov rax, qword [r13 + 0x98]
mov qword [rbx + 0x28], rax
mov eax, dword [r13 + 0x2c]
mov dword [rbx + 0x48], eax
mov rax, qword [r13 + 0x68]
mov qword [rbx + 0x10], rax
mov eax, dword [r13 + 0xb8]
mov dword [rbx + 0x50], eax
mov rax, qword [r14 + 0x18]
mov qword [rbx + 0x30], rax
movsxd rax, edi
imul rdx, rax, 0x38
lea rax, [rbx + 0x68]
add rdx, 0x68
add rdx, rbx
cmp rax, rdx
je 0x14003a823
nop
mov word [rax + 8], 0x80
mov qword [rax + 0x28], r12
add rax, 0x38
cmp rax, rdx
jne 0x14003a810
mov r11d, dword [rsp + 0x38]
mov r10d, 1
jmp 0x14003a833
mov rbx, qword [rsi]
inc dword [r13 + 0x100]
lea rdx, [rbx + 0x68]
mov rax, qword [r13 + 0xf0]
mov rcx, qword [rsp + 0x40]
mov qword [rbx + 0x38], rcx
mov qword [rbx + 8], rax
mov eax, dword [r13 + 0x3c]
mov dword [rbx + 0x60], eax
mov rax, qword [r13]
mov qword [rsp + 0x60], rdx
mov ecx, dword [rax + 0x68]
mov dword [rbx + 0x64], ecx
mov rax, qword [r13 + 0x110]
mov qword [rbx + 0x40], rax
mov qword [r13 + 0x70], rdx
mov qword [r13 + 0x110], r15
mov dword [r13 + 0x3c], r15d
mov qword [r13 + 0xf0], rbx
movsxd rcx, dword [rbx + 0x58]
mov dword [r13 + 0x28], ecx
movzx eax, word [rbx + 0x5c]
mov dword [r13 + 0x2c], eax
imul rcx, rcx, 0x38
add rcx, rdx
mov qword [r13 + 0x98], rcx
mov r9, qword [r14]
mov qword [r13 + 0x68], r9
mov eax, dword [r14 + 8]
mov r14, rdx
mov edx, 0x2460
mov qword [rsp + 0x50], r9
lea rsi, [r9 - 0x18]
mov dword [r13 + 0xb8], eax
jmp case.0x14003698d.112
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
add r9, qword [r13 + 0x70]
test word [r9 + 8], dx
je 0x14003a8f4
mov rcx, r9
call fcn.1400367d0
mov r9, rax
jmp 0x14003a8fb
mov word [r9 + 8], 4
mov r8, qword [r13 + 0xf0]
movsxd rax, dword [r8 + 0x4c]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rcx, r9
mov rax, qword [rsp + 0x30]
add edx, dword [rax + 4]
movsxd rax, edx
imul rdx, rax, 0x38
add rdx, qword [r8 + 0x20]
mov r8d, 0x1000
call fcn.14002b550
jmp 0x140036bb1
test dword [r12 + 0x2c], 0x2000000
mov rax, qword [rsp + 0x30]
je 0x14003a95e
movsxd rax, dword [rax + 8]
add qword [r12 + 0x290], rax
mov rsi, qword [rsp + 0x30]
jmp case.0x14003698d.112
cmp dword [rax + 4], 0
lea rcx, [0x140000000]
movsxd rax, dword [rax + 8]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
je 0x14003a994
add qword [r12 + 0x288], rax
mov r13, qword [rsp + 0x70]
add rsi, 0x18
mov qword [rsp + 0x30], rsi
jmp 0x14003695c
add qword [r13 + 0x50], rax
mov r13, qword [rsp + 0x70]
add rsi, 0x18
mov qword [rsp + 0x30], rsi
jmp 0x14003695c
cmp dword [rsi + 4], 0
je 0x14003a9d4
cmp qword [r12 + 0x288], 0
jne case.0x14003698d.112
cmp qword [r12 + 0x290], 0
je 0x14003b750
jmp case.0x14003698d.112
cmp qword [r13 + 0x50], 0
jmp 0x14003a9ba
mov rcx, qword [r13 + 0xf0]
test rcx, rcx
je 0x14003aa0f
mov rax, qword [rcx + 8]
test rax, rax
je 0x14003a9fc
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003a9f0
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14003aa1f
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.14002af20
mov qword [rdi], rax
mov esi, 0x3e00
movzx eax, word [rdi + 8]
and ax, si
or ax, 4
mov word [rdi + 8], ax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.14002af20
movzx ecx, word [rbx + 8]
mov r10d, 1
mov r9, qword [rsp + 0x50]
and cx, si
mov rsi, qword [rsp + 0x30]
or cx, 4
mov r11d, dword [rsp + 0x38]
mov edx, 0x2460
mov word [rbx + 8], cx
lea rcx, [0x140000000]
mov qword [rbx], rax
mov rbx, qword [rsp + 0x40]
cmp qword [rdi], rax
jge 0x140036e0b
mov qword [rdi], rax
mov r13, qword [rsp + 0x70]
add rsi, 0x18
mov qword [rsp + 0x30], rsi
jmp 0x14003695c
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r14]
test rdx, rdx
jle 0x1400369f3
mov rax, rsi
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x14003b750
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
mov rcx, r13
imul rdi, rax, 0x38
call fcn.140036800
mov rdx, qword [rbx + r14]
test rdx, rdx
jg 0x14003ab17
mov rcx, 0xffffffffffffffff
mov qword [rax], rcx
jmp 0x140036bb1
mov rcx, qword [rdi + r14]
test rcx, rcx
cmovle rcx, r15
add rcx, rdx
mov qword [rax], rcx
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r14]
test rdx, rdx
je 0x1400369f3
mov rax, rsi
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x14003b750
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
sub qword [rcx + r14], 1
je 0x14003b750
jmp case.0x14003698d.112
mov rdi, qword [rsp + 0x30]
mov rcx, r12
movzx ebx, byte [rdi + 3]
lea rdx, [rbx*8 + 0x30]
call fcn.140007000
mov r8, rax
test rax, rax
je 0x14003829d
mov qword [rax + 0x10], r15
mov rcx, qword [rdi + 0x10]
mov qword [rax + 8], rcx
mov rcx, rdi
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r13
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov rax, rdi
mov dword [r8 + 0x20], edx
mov word [rdi], 0xeb94
mov qword [rdi + 0x10], r8
jmp 0x14003abf4
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, r14
mov qword [rbp - 0x58], r10
cmp qword [rbx + 0x10], r10
je 0x14003ac55
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x14003ac55
mov r10, qword [rsp + 0x30]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop
mov eax, dword [r10 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14003ac30
mov r10, qword [rbp - 0x58]
inc dword [r10 + 0xc]
lea rax, [rbp + 0x1c8]
mov qword [rbp + 0x1f0], r12
lea r8, [rbx + 0x30]
mov dword [rbp + 0x1e8], r15d
mov edi, 1
mov word [rbp + 0x1d0], di
mov rcx, rbx
movzx edx, byte [rbx + 0x2a]
mov qword [rbx], rax
mov rax, qword [rbx + 8]
mov word [rbx + 0x28], 0
call qword [rax + 0x18]
cmp byte [rbx + 0x29], 0
je 0x14003acf9
cmp dword [rbx + 0x24], 0
je 0x14003acca
movzx edx, dil
lea rcx, [rbp + 0x1c8]
call fcn.14002bb10
mov r8, rax
lea rdx, [0x14010a9cc]
mov rcx, r13
call fcn.14002c2e0
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x3c], eax
mov eax, 0x2460
test word [rbp + 0x1d0], ax
jne 0x14003ace1
cmp dword [rbp + 0x1e8], 0
je 0x14003aced
lea rcx, [rbp + 0x1c8]
call fcn.14002add0
mov esi, dword [rsp + 0x3c]
test esi, esi
jne 0x140038b70
cmp byte [rbx + 0x28], 0
je 0x14003ad1b
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x14003ad1b
imul rcx, rax, 0x38
mov rdx, rdi
add rcx, r14
call fcn.14002b3d0
mov rsi, qword [rsp + 0x30]
mov r10, rdi
mov r9, qword [rsp + 0x50]
mov edx, 0x2460
mov r11d, dword [rsp + 0x38]
jmp case.0x14003698d.112
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov rdx, qword [rcx + 0x10]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.14002abb0
mov dword [rsp + 0x3c], eax
mov rcx, rbx
test eax, eax
jne 0x14003ba02
movzx edx, byte [rsp + 0x48]
call fcn.14002a560
mov rcx, rbx
call fcn.14002b4e0
test eax, eax
jne 0x14003ba71
jmp 0x140036bb1
mov rbx, qword [rsp + 0x30]
lea rax, [rbp + 0x208]
lea r9, [rbp + 0x204]
mov dword [rbp + 0x200], r15d
mov rcx, r12
mov qword [rbp + 0x204], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 4]
call fcn.1400ab2a0
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
je 0x14003addf
cmp eax, 5
jne 0x140038b6b
mov ecx, 1
mov dword [rsp + 0x3c], r15d
mov dword [rbp + 0x200], ecx
jmp 0x14003ade5
mov ecx, dword [rbp + 0x200]
movsxd rax, dword [rbx + 0xc]
mov edx, 0x2460
imul rbx, rax, 0x38
movsxd rax, ecx
add rbx, r14
test word [rbx + 8], dx
je 0x14003ae16
mov rdx, rax
mov rcx, rbx
call fcn.14002b390
mov edx, 0x2460
mov r8d, 4
jmp 0x14003ae24
mov r8d, 4
mov qword [rbx], rax
mov word [rbx + 8], r8w
lea rcx, [rbx + 0x38]
movsxd rax, dword [rbp + 0x204]
test word [rbx + 0x40], dx
je 0x14003ae4a
mov rdx, rax
call fcn.14002b390
mov edx, 0x2460
mov r8d, 4
jmp 0x14003ae52
mov qword [rcx], rax
mov word [rbx + 0x40], r8w
lea rcx, [rbx + 0x70]
movsxd rax, dword [rbp + 0x208]
test word [rbx + 0x78], dx
je 0x14003ae70
mov rdx, rax
call fcn.14002b390
jmp 0x140036bb1
mov qword [rcx], rax
mov word [rbx + 0x78], r8w
jmp 0x140036dea
mov rdi, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rdi
call fcn.140036800
mov rcx, qword [r12 + 0x20]
mov r14, rax
movsxd rdx, dword [rdi + 4]
mov ebx, dword [rdi + 0xc]
shl rdx, 5
mov r15, qword [rdx + rcx + 8]
mov rcx, r15
call fcn.1400280f0
mov rcx, rax
mov rsi, rax
call fcn.140019730
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.140019740
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.1400192a0
cmp ebx, 5
jne 0x14003af42
mov rcx, rax
call fcn.140009c20
test eax, eax
je 0x14003aef7
mov rcx, rsi
call fcn.140019770
test eax, eax
jne 0x14003af42
mov ebx, edi
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x14003af03
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.1400195b0
mov ecx, eax
mov word [r14 + 8], 0xa02
call fcn.140071c20
mov rcx, rax
mov qword [r14 + 0x10], rax
call fcn.140009c20
movzx edx, byte [rsp + 0x48]
mov rcx, r14
mov dword [r14 + 0xc], eax
mov byte [r14 + 0xa], 1
call fcn.14002a560
jmp 0x140038a00
cmp ebx, edi
je 0x14003aef9
cmp edi, 5
je 0x14003af50
cmp ebx, 5
jne 0x14003aef9
cmp byte [r12 + 0x53], 0
je 0x14003ba1e
cmp dword [r12 + 0xb0], 1
jg 0x14003ba1e
cmp edi, 5
jne 0x14003af8c
mov rcx, rsi
call fcn.140019970
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x14003af01
mov edx, ebx
mov rcx, rsi
call fcn.1400195b0
jmp 0x14003afa7
cmp edi, 4
jne 0x14003af9c
lea edx, [rdi - 2]
mov rcx, rsi
call fcn.1400195b0
cmp dword [rsp + 0x3c], 0
jne 0x14003af01
xor edx, edx
mov rcx, r15
cmp ebx, 5
sete dl
inc edx
call fcn.140029640
mov dword [rsp + 0x3c], eax
jmp 0x14003aefd
mov rax, qword [rsp + 0x30]
lea rcx, [r13 + 0x90]
mov rdx, r12
mov r8d, dword [rax + 4]
call fcn.14008dfb0
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
jne 0x140038b6b
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140020790
mov dword [rsp + 0x3c], eax
mov esi, eax
test eax, eax
je 0x140036bb1
cmp eax, 0x65
jne 0x140038b6b
mov dword [rsp + 0x3c], r15d
jmp 0x14003b746
cmp dword [rsi + 4], 0
jne 0x14003b03d
mov rcx, r12
call fcn.140032590
jmp 0x140036bb6
or dword [r13 + 0xc0], 1
jmp case.0x14003698d.112
movzx r8d, byte [rsi + 0xc]
test r8b, r8b
jne 0x14003b064
mov eax, 0x4000
test dword [r12 + 0x2c], eax
jne case.0x14003698d.112
movsxd rax, dword [rsi + 4]
mov rcx, qword [r12 + 0x20]
mov edx, dword [rsi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140029450
mov dword [rsp + 0x3c], eax
test eax, eax
je 0x140036bb6
mov esi, eax
cmp sil, 6
jne 0x140038b6b
mov rax, qword [rsp + 0x30]
lea rdx, str.database_table_is_locked:__s
mov rcx, r13
mov r8, qword [rax + 0x10]
call fcn.14002c2e0
jmp 0x140038b6b
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.1400903c0
mov dword [rsp + 0x3c], eax
mov esi, eax
test rbx, rbx
je 0x14003b0de
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.1400325c0
test esi, esi
jne 0x140038b6b
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
lea rcx, [rbp + 0x70]
xorps xmm0, xmm0
mov qword [rbp + 0x70], r15
xorps xmm1, xmm1
mov qword [rbp + 0xa0], r15
movdqu xmmword [rbp + 0x78], xmm0
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
movdqu xmmword [rbp + 0x88], xmm1
mov qword [rbp + 0x98], r12
add rdx, r14
call fcn.14002b590
lea rcx, [rbp + 0x70]
mov dword [rsp + 0x3c], eax
call fcn.140032d40
test rax, rax
je 0x14003b159
mov r8, rax
lea r9, [r13 + 0x90]
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov edx, dword [rax + 4]
call fcn.14008fc50
mov dword [rsp + 0x3c], eax
lea rcx, [rbp + 0x70]
call fcn.14002af00
mov esi, dword [rsp + 0x3c]
test esi, esi
jne 0x140038b6b
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov rcx, r12
inc dword [r12 + 0xbc]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140090170
dec dword [r12 + 0xbc]
mov esi, eax
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140038b6b
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x38], r15
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003ba5a
mov rdi, qword [rbx]
test rdi, rdi
je 0x14003ba5a
lea rdx, [rbp - 0x38]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x3c], eax
call fcn.1400325c0
mov esi, dword [rsp + 0x3c]
test esi, esi
jne 0x140038b6b
mov rax, qword [rbp - 0x38]
lea r9d, [rsi - 1]
xor r8d, r8d
mov byte [rsp + 0x20], 2
mov rcx, r13
mov qword [rax], rbx
mov rax, qword [rsp + 0x30]
mov edx, dword [rax + 4]
call fcn.140036370
mov rcx, qword [rbp - 0x38]
test rax, rax
je 0x14003ba52
mov qword [rax + 0x18], rcx
inc dword [rbx + 8]
jmp 0x140036bb1
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
mov r12, qword [rsp + 0x70]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
mov rdi, qword [r12 + 0x78]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x98]
add rdx, r14
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
mov edx, dword [rdx]
mov rsi, qword [r13 + 0x18]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x14003b299
nop word [rax + rax]
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x14003b280
mov rax, qword [rsp + 0x30]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x3c], eax
call fcn.1400325c0
cmp dword [rsp + 0x3c], 0
jne 0x14003bd30
mov rcx, rsi
call qword [r14 + 0x50]
mov rsi, qword [rsp + 0x30]
mov r12, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
mov byte [r13 + 2], 0
test eax, eax
jne 0x14003b750
xor r15d, r15d
jmp 0x140039480
mov rdi, qword [rsp + 0x30]
mov rax, qword [r13 + 0x98]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rdi, rax, 0x38
add rdi, r14
cmp byte [rcx + 2], 0
je 0x14003b32a
mov rcx, rdi
call fcn.14002b370
jmp 0x140036bb1
mov rax, qword [rcx + 0x18]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov edx, 0x3e00
mov rbx, qword [rax]
mov r9, qword [rbx]
movdqu xmmword [rbp + 0xe8], xmm0
mov qword [rbp + 0xe0], rdi
movdqu xmmword [rbp + 0xf8], xmm1
movdqu xmmword [rbp + 0x108], xmm0
movzx eax, word [rdi + 8]
and ax, dx
lea rdx, [rbp + 0xe0]
or ax, 1
mov word [rdi + 8], ax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rcx + 0x18]
mov r8d, dword [rax + 8]
call qword [r9 + 0x58]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x3c], eax
call fcn.1400325c0
mov eax, dword [rbp + 0x104]
test eax, eax
mov ecx, dword [rsp + 0x3c]
movzx edx, byte [rsp + 0x48]
cmovne ecx, eax
mov dword [rsp + 0x3c], ecx
mov rcx, rdi
call fcn.14002a560
mov rcx, rdi
call fcn.14002b4e0
test eax, eax
jne 0x14003ba71
mov esi, dword [rsp + 0x3c]
test esi, esi
jne 0x140038b6b
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x140036e45
mov rcx, qword [rdi + 0x18]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x3c], eax
call fcn.1400325c0
cmp dword [rsp + 0x3c], 0
jne 0x140038b67
mov rcx, qword [rdi + 0x18]
call qword [rsi + 0x50]
test eax, eax
jne 0x14003a60b
mov r9, qword [rsp + 0x50]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [r9 + rcx*8]
mov qword [rsp + 0x30], rax
jmp 0x14003a610
mov rcx, qword [rsp + 0x30]
mov edx, r10d
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.14002a560
mov esi, eax
test eax, eax
jne 0x140038b6b
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov rdx, rdi
mov rcx, r13
mov dword [rsp + 0x3c], eax
call fcn.1400325c0
and dword [r13 + 0xc0], 0xfffffffe
mov esi, dword [rsp + 0x3c]
test esi, esi
jne 0x140038b6b
jmp 0x140036bb1
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003ba5a
mov r10, qword [rbx]
test r10, r10
je 0x14003ba5a
cmp qword [r10 + 0x68], 0
mov rdx, qword [rsp + 0x30]
movsxd rdx, dword [rdx + 8]
je 0x14003b767
mov rax, qword [rsp + 0x30]
movzx esi, byte [r12 + 0x5a]
mov r8, qword [r13 + 0x78]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rax, r15
add rcx, r14
test edx, edx
jle 0x14003b520
nop dword [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x14003b510
mov rax, qword [rsp + 0x30]
lea r9, [rbp + 0x1b8]
mov rcx, rbx
movzx eax, byte [rax + 3]
mov byte [r12 + 0x5a], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r12 + 0x5a], sil
mov rcx, r13
mov dword [rsp + 0x3c], eax
call fcn.1400325c0
mov esi, dword [rsp + 0x3c]
test esi, esi
jne 0x14003b576
mov rsi, qword [rsp + 0x30]
cmp dword [rsi + 4], 0
je 0x14003b5ca
mov rbx, qword [rbp + 0x1b8]
mov qword [rsp + 0x40], rbx
mov qword [r12 + 0x30], rbx
jmp 0x14003b5cf
mov rbx, rdi
mov qword [rsp + 0x40], rbx
cmp sil, 0x13
jne 0x14003b5c3
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rbx
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], 0
je 0x14003b5c3
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx + 3]
cmp cl, 4
jne 0x14003ba8a
mov rsi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x50]
mov dword [rsp + 0x3c], r15d
mov qword [rsp + 0x40], rbx
jmp 0x140036b6b
mov rsi, qword [rsp + 0x30]
jmp 0x14003b5cf
mov rbx, qword [rsp + 0x40]
inc dword [r13 + 0x3c]
cmp dword [rsp + 0x3c], 0
jne 0x140038b67
mov r9, qword [rsp + 0x50]
jmp 0x140036b6b
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140036800
mov rcx, qword [r12 + 0x20]
mov rbx, rax
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.14001e270
mov ecx, eax
mov qword [rbx], rcx
jmp 0x140036bb1
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140036800
mov r8, qword [rsp + 0x30]
mov rdi, rax
mov rcx, qword [r12 + 0x20]
mov eax, r15d
movsxd rdx, dword [r8 + 4]
shl rdx, 5
cmp dword [r8 + 0xc], 0
mov rbx, qword [rdx + rcx + 8]
je 0x14003b663
mov rcx, rbx
call fcn.14001e270
mov rcx, qword [rsp + 0x30]
cmp eax, dword [rcx + 0xc]
cmovb eax, dword [rcx + 0xc]
mov edx, eax
mov rcx, rbx
call fcn.14001f5c0
movsxd rcx, eax
mov qword [rdi], rcx
jmp 0x140036bb1
movzx eax, byte [r12 + 0x5c]
test al, 0x81
je 0x14003b6f2
test byte [r13 + 0xc0], 2
jne 0x14003b6f2
mov rcx, qword [rsp + 0x30]
mov r9, qword [rcx + 0x10]
test r9, r9
jne 0x14003b6a6
mov r9, qword [r13 + 0xe0]
test r9, r9
je 0x14003b6ed
mov rdi, qword [r12 + 0xd0]
test al, al
jns 0x14003b6d7
mov rdx, r9
mov rcx, r13
call fcn.140035df0
mov rcx, qword [r12 + 0xd8]
mov rdx, rax
mov rbx, rax
call rdi
mov rcx, rbx
call fcn.140006b30
jmp 0x14003b6e7
mov rdx, qword [r12 + 0xd8]
mov r8, r13
mov ecx, r10d
call rdi
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 4]
cmp eax, dword [0x140133e4c]
jl 0x14003b735
cmp dword [r13 + 0xb8], 1
mov edx, r10d
jle 0x14003b732
mov eax, 0x18
mov rcx, qword [r13 + 0x68]
cmp byte [rcx + rax], 0x14
jne 0x14003b723
mov dword [rcx + rax + 4], r15d
inc edx
add rax, 0x18
cmp edx, dword [r13 + 0xb8]
jl 0x14003b714
mov eax, r15d
mov rsi, qword [rsp + 0x30]
inc eax
mov dword [rsi + 4], eax
jmp 0x14003b750
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x50]
mov eax, dword [rsi + 8]
dec eax
cdqe
xor r15d, r15d
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp 0x140039480
mov rsi, qword [rsp + 0x30]
mov r10d, 1
mov edx, 0x2460
jmp case.0x14003698d.112
mov rsi, qword [rsp + 0x30]
mov edx, 0x2460
mov r14, qword [rsp + 0x60]
jmp case.0x14003698d.112
mov dword [r13 + 0x38], ecx
movzx eax, byte [rdx + 8]
mov byte [r13 + 0xbe], al
mov dword [r13 + 0x34], ebx
test ecx, ecx
je 0x14003b83b
movzx eax, byte [rdx + 3]
mov rcx, r13
test al, al
je 0x14003b801
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x112d80]
call fcn.14002c2e0
mov rax, qword [rsp + 0x30]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x14003b811
mov r8, qword [r13 + 0x90]
lea rdx, str._z:__s
mov rcx, r12
call fcn.140008e10
mov qword [r13 + 0x90], rax
jmp 0x14003b811
mov r8, qword [rdx + 0x10]
lea rdx, [0x14010a9cc]
call fcn.14002c2e0
mov rax, qword [r13 + 0x90]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r13 + 0xe0]
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 4]
call fcn.140009250
mov rcx, r13
call fcn.14002fa30
mov dword [rsp + 0x3c], eax
cmp eax, 5
jne 0x14003bc9e
mov dword [r13 + 0x38], eax
jmp 0x140038c38
mov ecx, 0x13ba7
call fcn.1400ad230
mov esi, eax
mov r12, qword [rsp + 0x58]
mov r13, rdi
jmp 0x140038b6b
cmp qword [rcx + 0x68], 0
jne 0x14003b885
lea rcx, [rbp + 0xa8]
call fcn.14002af00
mov ecx, 0x13be5
call fcn.1400ad230
mov esi, eax
mov r13, qword [rsp + 0x70]
mov r12, qword [rsp + 0x58]
jmp 0x140038b6b
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.14002c2e0
mov esi, 5
jmp 0x140038b6b
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.14002c2e0
mov esi, 5
jmp 0x140038b6b
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 5
mov dword [r13 + 0x34], edx
mov byte [r12 + 0x53], 0
mov dword [r13 + 0x38], eax
mov dword [rsp + 0x3c], eax
jmp 0x140038c38
mov esi, 8
jmp 0x140038b6b
cmp al, 5
jne 0x140038b6b
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, dword [rsp + 0x3c]
mov dword [r13 + 0x34], edx
mov dword [r13 + 0x38], eax
jmp 0x140038c38
mov rdx, qword [r13 + 0x90]
mov rcx, r12
call fcn.140006bf0
lea rdx, str.database_schema_has_changed
mov rcx, r12
call fcn.140007220
mov qword [r13 + 0x90], rax
mov rax, qword [r12 + 0x20]
movsxd rdx, dword [rsi + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x168]
cmp dword [rcx], eax
je 0x14003b9a7
mov rcx, r12
call fcn.140055220
or dword [r13 + 0xc0], 1
mov esi, 0x11
jmp 0x140038b6b
mov esi, 0x204
jmp 0x140038b6b
mov esi, 0xd
jmp 0x140038b6b
mov esi, 6
mov byte [r13 + 0xbe], 2
jmp 0x140038b6b
call fcn.140055270
jmp 0x14003829d
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x3c], r10d
mov rcx, r13
call fcn.14002c2e0
jmp 0x140038b67
call fcn.140032d40
mov r8, rax
lea rdx, [0x14010a9cc]
mov rcx, r13
call fcn.14002c2e0
jmp 0x140038b67
cmp ebx, 5
lea rax, str.into
lea r8, str.out_of
mov edi, 1
cmove r8, rax
mov dword [rsp + 0x3c], edi
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, r13
call fcn.14002c2e0
mov esi, edi
jmp 0x140038b70
call qword [rdi + 0x38]
jmp 0x14003829d
mov esi, 6
jmp 0x140038b6b
mov r13, qword [rsp + 0x70]
jmp 0x14003ba6e
mov r13, rdi
mov r12, r8
lea rdx, str.string_or_blob_too_big
mov rcx, r13
call fcn.14002c2e0
mov esi, 0x12
jmp 0x140038b6b
mov eax, ecx
mov qword [rsp + 0x40], rdi
cmp cl, 5
mov ecx, 2
cmove eax, ecx
mov byte [r13 + 0xbe], al
jmp 0x140038b6b
mov rax, qword [r12 + 0x1a0]
test rax, rax
je 0x14003bad3
cmp r11d, dword [rbp - 0x70]
jb 0x14003bad3
mov rcx, qword [r12 + 0x1a8]
call rax
test eax, eax
je 0x14003bad3
mov esi, 9
jmp 0x140038b6b
xor edx, edx
mov rcx, r13
call fcn.14002f9e0
mov esi, eax
test eax, eax
jne 0x140038b6b
lea edx, [rax + 1]
mov rcx, r13
call fcn.14002f700
mov eax, dword [r13 + 0x30]
mov rbx, qword [rsp + 0x30]
add eax, 2
or eax, 1
mov dword [r13 + 0x30], eax
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, r14
mov qword [r13 + 0x88], rdi
cmp dword [rbx + 8], esi
jle 0x14003bb70
lea rbx, [rdi + 8]
mov esi, 0x202
mov eax, 0x1000
test word [rbx], ax
je 0x14003bb46
movsxd rax, r15d
imul rcx, rax, 0x38
add rcx, rdi
call fcn.14002a8f0
test eax, eax
jne 0x14003829d
movzx eax, word [rbx]
and ax, si
cmp ax, 2
jne 0x14003bb5b
lea rcx, [rbx - 8]
call fcn.14002aa50
mov rax, qword [rsp + 0x30]
inc r15d
add rbx, 0x38
cmp r15d, dword [rax + 8]
jl 0x14003bb25
mov rbx, rax
cmp byte [r12 + 0x55], 0
jne 0x14003829d
test byte [r12 + 0x5c], 4
je 0x14003bb9e
mov rdx, qword [r12 + 0xd8]
xor r9d, r9d
mov r8, r13
lea ecx, [r9 + 4]
call qword [r12 + 0xd0]
sub rbx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 0x64
inc edx
mov dword [rsp + 0x3c], eax
mov dword [r13 + 0x34], edx
jmp 0x140038c38
mov rdi, qword [rsp + 0x30]
movzx eax, byte [r12 + 0x53]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
cmp ebx, eax
je 0x14003bcbb
test ecx, ecx
je 0x14003bc00
mov edx, 0x204
mov rcx, r12
call fcn.1400aa030
mov al, 1
jmp 0x14003bc42
test ebx, ebx
je 0x14003bc28
cmp dword [r12 + 0xb4], 0
jle 0x14003bc28
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r13
call fcn.14002c2e0
mov esi, 5
jmp 0x140038b6b
mov edx, r10d
mov rcx, r13
call fcn.14002f9e0
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140038c38
movzx eax, bl
mov rcx, r13
mov byte [r12 + 0x53], al
call fcn.14002fa30
cmp eax, 5
jne 0x14003bc96
sub rdi, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
sub al, bl
mov dword [r13 + 0x34], edx
mov byte [r12 + 0x53], al
mov eax, 5
mov dword [rsp + 0x3c], eax
mov dword [r13 + 0x38], eax
jmp 0x140038c38
mov rcx, r12
call fcn.1400a9320
cmp dword [r13 + 0x38], 0
mov eax, 0x65
mov r9d, 1
cmovne eax, r9d
mov dword [rsp + 0x3c], eax
jmp 0x140038c38
test ebx, ebx
jne 0x14003bcc8
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x14003bcdc
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.14002c2e0
mov edi, 1
mov esi, edi
jmp 0x140038b70
cmp byte [r12 + 0x55], 0
mov eax, 9
mov ebx, 7
cmovne eax, ebx
mov ecx, eax
mov dword [rsp + 0x3c], eax
mov dword [r13 + 0x38], eax
call fcn.1400aa220
mov r8, rax
lea rdx, [0x14010a9cc]
mov rcx, r13
call fcn.14002c2e0
mov esi, dword [rsp + 0x3c]
lea edi, [rbx - 6]
jmp 0x140038b75
mov r13, r12
mov r12, qword [rsp + 0x58]
jmp 0x140038b67
mov esi, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x70]
mov r12, qword [rsp + 0x58]
jmp 0x140038b6b