180032efe:	4c 8b da             	mov    %rdx,%r11
180032f01:	4c 8b c9             	mov    %rcx,%r9
180032f04:	41 23 c7             	and    %r15d,%eax
180032f07:	74 08                	je     0x180032f11
180032f09:	4d 85 d2             	test   %r10,%r10
180032f0c:	74 03                	je     0x180032f11
180032f0e:	4c 33 d2             	xor    %rdx,%r10
180032f11:	48 8b 5a 08          	mov    0x8(%rdx),%rbx
180032f15:	85 c0                	test   %eax,%eax
180032f17:	74 08                	je     0x180032f21
180032f19:	48 85 db             	test   %rbx,%rbx
180032f1c:	74 03                	je     0x180032f21
180032f1e:	49 33 db             	xor    %r11,%rbx
180032f21:	4d 85 d2             	test   %r10,%r10
180032f24:	4c 8b c3             	mov    %rbx,%r8
180032f27:	49 8b c2             	mov    %r10,%rax
180032f2a:	4d 0f 45 c2          	cmovne %r10,%r8
180032f2e:	41 22 ff             	and    %r15b,%dil
180032f31:	48 f7 d8             	neg    %rax
180032f34:	48 1b c9             	sbb    %rcx,%rcx
180032f37:	48 85 cb             	test   %rcx,%rbx
180032f3a:	0f 84 f7 01 00 00    	je     0x180033137
180032f40:	48 8b 03             	mov    (%rbx),%rax
180032f43:	48 8b cb             	mov    %rbx,%rcx
180032f46:	48 8b d3             	mov    %rbx,%rdx
180032f49:	45 8b f7             	mov    %r15d,%r14d
180032f4c:	48 85 c0             	test   %rax,%rax
180032f4f:	74 20                	je     0x180032f71
180032f51:	45 33 f6             	xor    %r14d,%r14d
180032f54:	48 8b d1             	mov    %rcx,%rdx
180032f57:	40 84 ff             	test   %dil,%dil
180032f5a:	74 0a                	je     0x180032f66
180032f5c:	48 85 c0             	test   %rax,%rax
180032f5f:	74 05                	je     0x180032f66
180032f61:	48 33 c8             	xor    %rax,%rcx
180032f64:	eb 03                	jmp    0x180032f69
180032f66:	48 8b c8             	mov    %rax,%rcx
180032f69:	48 8b 01             	mov    (%rcx),%rax
180032f6c:	48 85 c0             	test   %rax,%rax
180032f6f:	75 e3                	jne    0x180032f54
180032f71:	40 84 ff             	test   %dil,%dil
180032f74:	74 0d                	je     0x180032f83
180032f76:	4d 85 d2             	test   %r10,%r10
180032f79:	74 08                	je     0x180032f83
180032f7b:	48 8b c1             	mov    %rcx,%rax
180032f7e:	49 33 c2             	xor    %r10,%rax
180032f81:	eb 03                	jmp    0x180032f86
180032f83:	49 8b c2             	mov    %r10,%rax
180032f86:	48 89 01             	mov    %rax,(%rcx)
180032f89:	49 8d 72 10          	lea    0x10(%r10),%rsi
180032f8d:	48 8b 3e             	mov    (%rsi),%rdi
180032f90:	45 8a 41 08          	mov    0x8(%r9),%r8b
180032f94:	48 8b c7             	mov    %rdi,%rax
180032f97:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180032f9b:	45 22 c7             	and    %r15b,%r8b
180032f9e:	74 08                	je     0x180032fa8
180032fa0:	48 85 c0             	test   %rax,%rax
180032fa3:	74 03                	je     0x180032fa8
180032fa5:	49 33 c2             	xor    %r10,%rax
180032fa8:	49 3b c3             	cmp    %r11,%rax
180032fab:	0f 85 7d 08 00 00    	jne    0x18003382e
180032fb1:	4c 33 d1             	xor    %rcx,%r10
180032fb4:	45 84 c0             	test   %r8b,%r8b
180032fb7:	4c 0f 44 d1          	cmove  %rcx,%r10
180032fbb:	83 e7 03             	and    $0x3,%edi
180032fbe:	4c 0b d7             	or     %rdi,%r10
180032fc1:	4c 89 16             	mov    %r10,(%rsi)
180032fc4:	4c 8b 43 10          	mov    0x10(%rbx),%r8
180032fc8:	41 8a 79 08          	mov    0x8(%r9),%dil
180032fcc:	49 8b c0             	mov    %r8,%rax
180032fcf:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180032fd3:	41 22 ff             	and    %r15b,%dil
180032fd6:	74 08                	je     0x180032fe0
180032fd8:	48 85 c0             	test   %rax,%rax
180032fdb:	74 03                	je     0x180032fe0
180032fdd:	48 33 c3             	xor    %rbx,%rax
180032fe0:	49 3b c3             	cmp    %r11,%rax
180032fe3:	0f 85 45 08 00 00    	jne    0x18003382e
180032fe9:	4c 8b d3             	mov    %rbx,%r10
180032fec:	48 8b c3             	mov    %rbx,%rax
180032fef:	48 33 c1             	xor    %rcx,%rax
180032ff2:	4c 33 d1             	xor    %rcx,%r10
180032ff5:	40 84 ff             	test   %dil,%dil
180032ff8:	48 0f 44 c1          	cmove  %rcx,%rax
180032ffc:	41 83 e0 03          	and    $0x3,%r8d
180033000:	49 0b c0             	or     %r8,%rax
180033003:	48 89 43 10          	mov    %rax,0x10(%rbx)
180033007:	41 8a 41 08          	mov    0x8(%r9),%al
18003300b:	4c 8b 41 08          	mov    0x8(%rcx),%r8
18003300f:	41 22 c7             	and    %r15b,%al
180033012:	74 08                	je     0x18003301c
180033014:	4d 85 c0             	test   %r8,%r8
180033017:	74 03                	je     0x18003301c
180033019:	4c 33 c1             	xor    %rcx,%r8
18003301c:	48 8b 79 10          	mov    0x10(%rcx),%rdi
180033020:	84 c0                	test   %al,%al
180033022:	48 8b c7             	mov    %rdi,%rax
180033025:	4c 0f 44 d3          	cmove  %rbx,%r10
180033029:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
18003302d:	4c 89 51 08          	mov    %r10,0x8(%rcx)
180033031:	41 8a 59 08          	mov    0x8(%r9),%bl
180033035:	41 22 df             	and    %r15b,%bl
180033038:	74 0d                	je     0x180033047
18003303a:	48 85 c0             	test   %rax,%rax
18003303d:	74 08                	je     0x180033047
18003303f:	4c 8b d0             	mov    %rax,%r10
180033042:	4c 33 d1             	xor    %rcx,%r10
180033045:	eb 03                	jmp    0x18003304a
180033047:	4c 8b d0             	mov    %rax,%r10
18003304a:	4c 3b d2             	cmp    %rdx,%r10
18003304d:	74 1e                	je     0x18003306d
18003304f:	84 db                	test   %bl,%bl
180033051:	74 08                	je     0x18003305b
180033053:	48 85 c0             	test   %rax,%rax
180033056:	74 0c                	je     0x180033064
180033058:	48 33 c1             	xor    %rcx,%rax
18003305b:	48 85 c0             	test   %rax,%rax
18003305e:	0f 85 ca 07 00 00    	jne    0x18003382e
180033064:	48 3b ca             	cmp    %rdx,%rcx
180033067:	0f 85 c1 07 00 00    	jne    0x18003382e
18003306d:	49 8b 43 10          	mov    0x10(%r11),%rax
180033071:	40 8a 71 10          	mov    0x10(%rcx),%sil
180033075:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180033079:	84 db                	test   %bl,%bl
18003307b:	74 14                	je     0x180033091
18003307d:	48 85 c0             	test   %rax,%rax
180033080:	74 03                	je     0x180033085
180033082:	49 33 c3             	xor    %r11,%rax
180033085:	84 db                	test   %bl,%bl
180033087:	74 08                	je     0x180033091
180033089:	48 85 c0             	test   %rax,%rax
18003308c:	74 03                	je     0x180033091
18003308e:	48 33 c1             	xor    %rcx,%rax
180033091:	83 e7 03             	and    $0x3,%edi
180033094:	48 0b f8             	or     %rax,%rdi
180033097:	48 89 79 10          	mov    %rdi,0x10(%rcx)
18003309b:	40 8a c7             	mov    %dil,%al
18003309e:	41 32 43 10          	xor    0x10(%r11),%al
1800330a2:	41 22 c7             	and    %r15b,%al
1800330a5:	30 41 10             	xor    %al,0x10(%rcx)
1800330a8:	4d 8b 53 10          	mov    0x10(%r11),%r10
1800330ac:	49 83 e2 fc          	and    $0xfffffffffffffffc,%r10
1800330b0:	75 2e                	jne    0x1800330e0
1800330b2:	49 8b 01             	mov    (%r9),%rax
1800330b5:	45 84 79 08          	test   %r15b,0x8(%r9)
1800330b9:	74 08                	je     0x1800330c3
1800330bb:	48 85 c0             	test   %rax,%rax
1800330be:	74 03                	je     0x1800330c3
1800330c0:	49 33 c1             	xor    %r9,%rax
1800330c3:	49 3b c3             	cmp    %r11,%rax
1800330c6:	0f 85 62 07 00 00    	jne    0x18003382e
1800330cc:	48 8b c1             	mov    %rcx,%rax
1800330cf:	45 84 79 08          	test   %r15b,0x8(%r9)
1800330d3:	74 03                	je     0x1800330d8
1800330d5:	49 33 c1             	xor    %r9,%rax
1800330d8:	49 89 01             	mov    %rax,(%r9)
1800330db:	e9 80 01 00 00       	jmp    0x180033260
1800330e0:	41 8a 79 08          	mov    0x8(%r9),%dil
1800330e4:	41 22 ff             	and    %r15b,%dil
1800330e7:	74 03                	je     0x1800330ec
1800330e9:	4d 33 d3             	xor    %r11,%r10
1800330ec:	49 8b 5a 08          	mov    0x8(%r10),%rbx
1800330f0:	40 84 ff             	test   %dil,%dil
1800330f3:	74 08                	je     0x1800330fd
1800330f5:	48 85 db             	test   %rbx,%rbx
1800330f8:	74 03                	je     0x1800330fd
1800330fa:	49 33 da             	xor    %r10,%rbx
1800330fd:	33 c0                	xor    %eax,%eax
1800330ff:	49 3b db             	cmp    %r11,%rbx
180033102:	8d 68 08             	lea    0x8(%rax),%ebp
180033105:	0f 44 c5             	cmove  %ebp,%eax
180033108:	4a 8d 1c 10          	lea    (%rax,%r10,1),%rbx
18003310c:	48 8b 03             	mov    (%rbx),%rax
18003310f:	40 84 ff             	test   %dil,%dil
180033112:	74 08                	je     0x18003311c
180033114:	48 85 c0             	test   %rax,%rax
180033117:	74 03                	je     0x18003311c
180033119:	49 33 c2             	xor    %r10,%rax
18003311c:	49 3b c3             	cmp    %r11,%rax
18003311f:	0f 85 09 07 00 00    	jne    0x18003382e
180033125:	4c 33 d1             	xor    %rcx,%r10
180033128:	40 84 ff             	test   %dil,%dil
18003312b:	4c 0f 44 d1          	cmove  %rcx,%r10
18003312f:	4c 89 13             	mov    %r10,(%rbx)
180033132:	e9 29 01 00 00       	jmp    0x180033260
180033137:	48 8b 52 10          	mov    0x10(%rdx),%rdx
18003313b:	48 83 e2 fc          	and    $0xfffffffffffffffc,%rdx
18003313f:	40 84 ff             	test   %dil,%dil
180033142:	74 08                	je     0x18003314c
180033144:	48 85 d2             	test   %rdx,%rdx
180033147:	74 03                	je     0x18003314c
180033149:	49 33 d3             	xor    %r11,%rdx
18003314c:	49 8b cb             	mov    %r11,%rcx
18003314f:	48 85 d2             	test   %rdx,%rdx
180033152:	75 7e                	jne    0x1800331d2
180033154:	4d 85 c0             	test   %r8,%r8
180033157:	74 04                	je     0x18003315d
180033159:	49 21 50 10          	and    %rdx,0x10(%r8)
18003315d:	49 8b 01             	mov    (%r9),%rax
180033160:	45 84 79 08          	test   %r15b,0x8(%r9)
180033164:	74 08                	je     0x18003316e
180033166:	48 85 c0             	test   %rax,%rax
180033169:	74 03                	je     0x18003316e
18003316b:	49 33 c1             	xor    %r9,%rax
18003316e:	49 3b c3             	cmp    %r11,%rax
180033171:	0f 85 b7 06 00 00    	jne    0x18003382e
180033177:	45 84 79 08          	test   %r15b,0x8(%r9)
18003317b:	74 1c                	je     0x180033199
18003317d:	49 8b c9             	mov    %r9,%rcx
180033180:	49 8b c0             	mov    %r8,%rax
180033183:	49 33 c8             	xor    %r8,%rcx
180033186:	48 f7 d8             	neg    %rax
180033189:	48 1b c0             	sbb    %rax,%rax
18003318c:	48 23 c1             	and    %rcx,%rax
18003318f:	49 89 41 08          	mov    %rax,0x8(%r9)
180033193:	45 08 79 08          	or     %r15b,0x8(%r9)
180033197:	eb 04                	jmp    0x18003319d
180033199:	4d 89 41 08          	mov    %r8,0x8(%r9)
18003319d:	41 8a 41 08          	mov    0x8(%r9),%al
1800331a1:	41 84 c7             	test   %al,%r15b
1800331a4:	74 0f                	je     0x1800331b5
1800331a6:	49 8b c0             	mov    %r8,%rax
1800331a9:	49 33 c1             	xor    %r9,%rax
1800331ac:	49 f7 d8             	neg    %r8
1800331af:	4d 1b c0             	sbb    %r8,%r8
1800331b2:	4c 23 c0             	and    %rax,%r8
1800331b5:	4d 89 01             	mov    %r8,(%r9)
1800331b8:	48 8b 5c 24 18       	mov    0x18(%rsp),%rbx
1800331bd:	48 8b 6c 24 20       	mov    0x20(%rsp),%rbp
1800331c2:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
1800331c7:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
1800331cc:	41 5f                	pop    %r15
1800331ce:	41 5e                	pop    %r14
1800331d0:	c3                   	ret
1800331d1:	cc                   	int3
1800331d2:	48 8b 42 08          	mov    0x8(%rdx),%rax
1800331d6:	40 84 ff             	test   %dil,%dil
1800331d9:	74 08                	je     0x1800331e3
1800331db:	48 85 c0             	test   %rax,%rax
1800331de:	74 03                	je     0x1800331e3
1800331e0:	48 33 c2             	xor    %rdx,%rax
1800331e3:	49 3b c3             	cmp    %r11,%rax
1800331e6:	75 05                	jne    0x1800331ed
1800331e8:	45 8b f7             	mov    %r15d,%r14d
1800331eb:	eb 6f                	jmp    0x18003325c
1800331ed:	48 8b 02             	mov    (%rdx),%rax
1800331f0:	40 84 ff             	test   %dil,%dil
1800331f3:	74 08                	je     0x1800331fd
1800331f5:	48 85 c0             	test   %rax,%rax
1800331f8:	74 03                	je     0x1800331fd
1800331fa:	48 33 c2             	xor    %rdx,%rax
1800331fd:	49 3b c3             	cmp    %r11,%rax
180033200:	0f 85 28 06 00 00    	jne    0x18003382e
180033206:	4d 8b 51 08          	mov    0x8(%r9),%r10
18003320a:	45 33 f6             	xor    %r14d,%r14d
18003320d:	45 84 d7             	test   %r10b,%r15b
180033210:	74 14                	je     0x180033226
180033212:	4d 3b d7             	cmp    %r15,%r10
180033215:	75 04                	jne    0x18003321b
180033217:	33 c0                	xor    %eax,%eax
180033219:	eb 0e                	jmp    0x180033229
18003321b:	49 8b c1             	mov    %r9,%rax
18003321e:	49 0b c7             	or     %r15,%rax
180033221:	49 33 c2             	xor    %r10,%rax
180033224:	eb 03                	jmp    0x180033229
180033226:	49 8b c2             	mov    %r10,%rax
180033229:	49 3b c3             	cmp    %r11,%rax
18003322c:	75 2e                	jne    0x18003325c
18003322e:	4d 85 c0             	test   %r8,%r8
180033231:	75 10                	jne    0x180033243
180033233:	40 84 ff             	test   %dil,%dil
180033236:	74 05                	je     0x18003323d
180033238:	48 8b c2             	mov    %rdx,%rax
18003323b:	eb 0e                	jmp    0x18003324b
18003323d:	49 89 51 08          	mov    %rdx,0x8(%r9)
180033241:	eb 19                	jmp    0x18003325c
180033243:	40 84 ff             	test   %dil,%dil
180033246:	74 10                	je     0x180033258
180033248:	49 8b c0             	mov    %r8,%rax
18003324b:	49 33 c1             	xor    %r9,%rax
18003324e:	49 89 41 08          	mov    %rax,0x8(%r9)
180033252:	45 08 79 08          	or     %r15b,0x8(%r9)
180033256:	eb 04                	jmp    0x18003325c
180033258:	4d 89 41 08          	mov    %r8,0x8(%r9)
18003325c:	41 8a 73 10          	mov    0x10(%r11),%sil
180033260:	41 22 f7             	and    %r15b,%sil
180033263:	45 84 79 08          	test   %r15b,0x8(%r9)
180033267:	74 0d                	je     0x180033276
180033269:	4d 85 c0             	test   %r8,%r8
18003326c:	74 08                	je     0x180033276
18003326e:	4c 8b d2             	mov    %rdx,%r10
180033271:	4d 33 d0             	xor    %r8,%r10
180033274:	eb 03                	jmp    0x180033279
180033276:	4d 8b d0             	mov    %r8,%r10
180033279:	41 8b c6             	mov    %r14d,%eax
18003327c:	4c 89 14 c2          	mov    %r10,(%rdx,%rax,8)
180033280:	4d 85 c0             	test   %r8,%r8
180033283:	74 38                	je     0x1800332bd
180033285:	49 8b 40 10          	mov    0x10(%r8),%rax
180033289:	45 8a 51 08          	mov    0x8(%r9),%r10b
18003328d:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180033291:	45 22 d7             	and    %r15b,%r10b
180033294:	74 08                	je     0x18003329e
180033296:	48 85 c0             	test   %rax,%rax
180033299:	74 03                	je     0x18003329e
18003329b:	49 33 c0             	xor    %r8,%rax
18003329e:	48 3b c1             	cmp    %rcx,%rax
1800332a1:	0f 85 87 05 00 00    	jne    0x18003382e
1800332a7:	45 84 d2             	test   %r10b,%r10b
1800332aa:	74 08                	je     0x1800332b4
1800332ac:	48 85 d2             	test   %rdx,%rdx
1800332af:	74 03                	je     0x1800332b4
1800332b1:	49 33 d0             	xor    %r8,%rdx
1800332b4:	49 89 50 10          	mov    %rdx,0x10(%r8)
1800332b8:	e9 fb fe ff ff       	jmp    0x1800331b8
1800332bd:	40 84 f6             	test   %sil,%sil
1800332c0:	0f 85 f2 fe ff ff    	jne    0x1800331b8
1800332c6:	41 8a 49 08          	mov    0x8(%r9),%cl
1800332ca:	41 8b ee             	mov    %r14d,%ebp
1800332cd:	49 33 ef             	xor    %r15,%rbp
1800332d0:	41 8b fe             	mov    %r14d,%edi
1800332d3:	48 8b 04 ea          	mov    (%rdx,%rbp,8),%rax
1800332d7:	41 84 cf             	test   %cl,%r15b
1800332da:	74 0d                	je     0x1800332e9
1800332dc:	48 85 c0             	test   %rax,%rax
1800332df:	74 08                	je     0x1800332e9
1800332e1:	4c 8b c0             	mov    %rax,%r8
1800332e4:	4c 33 c2             	xor    %rdx,%r8
1800332e7:	eb 03                	jmp    0x1800332ec
1800332e9:	4c 8b c0             	mov    %rax,%r8
1800332ec:	45 84 78 10          	test   %r15b,0x10(%r8)
1800332f0:	0f 84 92 01 00 00    	je     0x180033488
1800332f6:	4d 8b 11             	mov    (%r9),%r10
1800332f9:	45 84 79 08          	test   %r15b,0x8(%r9)
1800332fd:	74 08                	je     0x180033307
1800332ff:	4d 85 d2             	test   %r10,%r10
180033302:	74 03                	je     0x180033307
180033304:	4d 33 d1             	xor    %r9,%r10
180033307:	44 0f b6 d9          	movzbl %cl,%r11d
18003330b:	49 8b 48 10          	mov    0x10(%r8),%rcx
18003330f:	48 83 e1 fc          	and    $0xfffffffffffffffc,%rcx
180033313:	45 23 df             	and    %r15d,%r11d
180033316:	74 08                	je     0x180033320
180033318:	48 85 c9             	test   %rcx,%rcx
18003331b:	74 03                	je     0x180033320
18003331d:	49 33 c8             	xor    %r8,%rcx
180033320:	48 3b ca             	cmp    %rdx,%rcx
180033323:	0f 85 05 05 00 00    	jne    0x18003382e
180033329:	45 85 db             	test   %r11d,%r11d
18003332c:	74 08                	je     0x180033336