140054eec:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140054ef1:	89 7c 24 28          	mov    %edi,0x28(%rsp)
140054ef5:	48 8d 0d 61 e5 08 00 	lea    0x8e561(%rip),%rcx        # 0x1400e345d
140054efc:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140054f01:	4c 8d 0d d0 e3 08 00 	lea    0x8e3d0(%rip),%r9        # 0x1400e32d8
140054f08:	b9 03 00 00 00       	mov    $0x3,%ecx
140054f0d:	48 89 c2             	mov    %rax,%rdx
140054f10:	41 b8 66 00 00 00    	mov    $0x66,%r8d
140054f16:	e8 a5 e6 04 00       	call   0x1400a35c0
140054f1b:	cc                   	int3
140054f1c:	cc                   	int3
140054f1d:	cc                   	int3
140054f1e:	cc                   	int3
140054f1f:	cc                   	int3
140054f20:	56                   	push   %rsi
140054f21:	53                   	push   %rbx
140054f22:	4c 8b 02             	mov    (%rdx),%r8
140054f25:	49 89 d1             	mov    %rdx,%r9
140054f28:	4d 85 c0             	test   %r8,%r8
140054f2b:	0f 85 3c 01 00 00    	jne    0x14005506d
140054f31:	4d 8b 41 08          	mov    0x8(%r9),%r8
140054f35:	4d 85 c0             	test   %r8,%r8
140054f38:	0f 85 f9 00 00 00    	jne    0x140055037
140054f3e:	49 8b 41 10          	mov    0x10(%r9),%rax
140054f42:	41 b2 01             	mov    $0x1,%r10b
140054f45:	45 31 c0             	xor    %r8d,%r8d
140054f48:	4c 3b 08             	cmp    (%rax),%r9
140054f4b:	0f 85 fa 00 00 00    	jne    0x14005504b
140054f51:	4c 89 00             	mov    %r8,(%rax)
140054f54:	49 39 c9             	cmp    %rcx,%r9
140054f57:	0f 84 06 01 00 00    	je     0x140055063
140054f5d:	49 8b 41 10          	mov    0x10(%r9),%rax
140054f61:	48 8b 40 08          	mov    0x8(%rax),%rax
140054f65:	45 0f b6 59 18       	movzbl 0x18(%r9),%r11d
140054f6a:	49 39 d1             	cmp    %rdx,%r9
140054f6d:	0f 85 17 02 00 00    	jne    0x14005518a
140054f73:	48 85 c9             	test   %rcx,%rcx
140054f76:	0f 84 e4 00 00 00    	je     0x140055060
140054f7c:	45 84 db             	test   %r11b,%r11b
140054f7f:	0f 84 db 00 00 00    	je     0x140055060
140054f85:	45 84 d2             	test   %r10b,%r10b
140054f88:	0f 84 cd 00 00 00    	je     0x14005505b
140054f8e:	48 8b 50 10          	mov    0x10(%rax),%rdx
140054f92:	44 0f b6 40 18       	movzbl 0x18(%rax),%r8d
140054f97:	48 3b 02             	cmp    (%rdx),%rax
140054f9a:	74 48                	je     0x140054fe4
140054f9c:	45 84 c0             	test   %r8b,%r8b
140054f9f:	0f 84 e5 00 00 00    	je     0x14005508a
140054fa5:	48 8b 10             	mov    (%rax),%rdx
140054fa8:	48 85 d2             	test   %rdx,%rdx
140054fab:	74 0a                	je     0x140054fb7
140054fad:	80 7a 18 01          	cmpb   $0x1,0x18(%rdx)
140054fb1:	0f 85 21 01 00 00    	jne    0x1400550d8
140054fb7:	4c 8b 40 08          	mov    0x8(%rax),%r8
140054fbb:	4d 85 c0             	test   %r8,%r8
140054fbe:	74 0b                	je     0x140054fcb
140054fc0:	41 80 78 18 01       	cmpb   $0x1,0x18(%r8)
140054fc5:	0f 85 16 01 00 00    	jne    0x1400550e1
140054fcb:	c6 40 18 00          	movb   $0x0,0x18(%rax)
140054fcf:	48 8b 40 10          	mov    0x10(%rax),%rax
140054fd3:	48 39 c8             	cmp    %rcx,%rax
140054fd6:	74 06                	je     0x140054fde
140054fd8:	80 78 18 00          	cmpb   $0x0,0x18(%rax)
140054fdc:	75 42                	jne    0x140055020
140054fde:	c6 40 18 01          	movb   $0x1,0x18(%rax)
140054fe2:	eb 7c                	jmp    0x140055060
140054fe4:	45 84 c0             	test   %r8b,%r8b
140054fe7:	0f 84 99 02 00 00    	je     0x140055286
140054fed:	48 8b 10             	mov    (%rax),%rdx
140054ff0:	48 85 d2             	test   %rdx,%rdx
140054ff3:	0f 85 27 02 00 00    	jne    0x140055220
140054ff9:	4c 8b 40 08          	mov    0x8(%rax),%r8
140054ffd:	4d 85 c0             	test   %r8,%r8
140055000:	0f 85 cc 01 00 00    	jne    0x1400551d2
140055006:	c6 40 18 00          	movb   $0x0,0x18(%rax)
14005500a:	48 8b 40 10          	mov    0x10(%rax),%rax
14005500e:	80 78 18 01          	cmpb   $0x1,0x18(%rax)
140055012:	75 ca                	jne    0x140054fde
140055014:	48 39 c8             	cmp    %rcx,%rax
140055017:	74 c5                	je     0x140054fde
140055019:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140055020:	48 8b 50 10          	mov    0x10(%rax),%rdx
140055024:	45 31 c0             	xor    %r8d,%r8d
140055027:	48 3b 02             	cmp    (%rdx),%rax
14005502a:	41 0f 94 c0          	sete   %r8b
14005502e:	4a 8b 04 c2          	mov    (%rdx,%r8,8),%rax
140055032:	e9 57 ff ff ff       	jmp    0x140054f8e
140055037:	49 8b 41 10          	mov    0x10(%r9),%rax
14005503b:	49 89 40 10          	mov    %rax,0x10(%r8)
14005503f:	45 31 d2             	xor    %r10d,%r10d
140055042:	4c 3b 08             	cmp    (%rax),%r9
140055045:	0f 84 06 ff ff ff    	je     0x140054f51
14005504b:	4c 89 40 08          	mov    %r8,0x8(%rax)
14005504f:	49 8b 41 10          	mov    0x10(%r9),%rax
140055053:	48 8b 00             	mov    (%rax),%rax
140055056:	e9 0a ff ff ff       	jmp    0x140054f65
14005505b:	41 c6 40 18 01       	movb   $0x1,0x18(%r8)
140055060:	5b                   	pop    %rbx
140055061:	5e                   	pop    %rsi
140055062:	c3                   	ret
140055063:	31 c0                	xor    %eax,%eax
140055065:	4c 89 c1             	mov    %r8,%rcx
140055068:	e9 f8 fe ff ff       	jmp    0x140054f65
14005506d:	48 8b 42 08          	mov    0x8(%rdx),%rax
140055071:	49 89 d1             	mov    %rdx,%r9
140055074:	48 85 c0             	test   %rax,%rax
140055077:	74 be                	je     0x140055037
140055079:	49 89 c1             	mov    %rax,%r9
14005507c:	48 8b 00             	mov    (%rax),%rax
14005507f:	48 85 c0             	test   %rax,%rax
140055082:	0f 84 a9 fe ff ff    	je     0x140054f31
140055088:	eb ef                	jmp    0x140055079
14005508a:	c6 40 18 01          	movb   $0x1,0x18(%rax)
14005508e:	c6 42 18 00          	movb   $0x0,0x18(%rdx)
140055092:	48 8b 50 10          	mov    0x10(%rax),%rdx
140055096:	4c 8b 42 08          	mov    0x8(%rdx),%r8
14005509a:	4d 8b 08             	mov    (%r8),%r9
14005509d:	4c 89 4a 08          	mov    %r9,0x8(%rdx)
1400550a1:	4d 85 c9             	test   %r9,%r9
1400550a4:	74 04                	je     0x1400550aa
1400550a6:	49 89 51 10          	mov    %rdx,0x10(%r9)
1400550aa:	4c 8b 4a 10          	mov    0x10(%rdx),%r9
1400550ae:	4d 89 48 10          	mov    %r9,0x10(%r8)
1400550b2:	49 3b 11             	cmp    (%r9),%rdx
1400550b5:	0f 85 c0 00 00 00    	jne    0x14005517b
1400550bb:	4d 89 01             	mov    %r8,(%r9)
1400550be:	49 89 10             	mov    %rdx,(%r8)
1400550c1:	4c 89 42 10          	mov    %r8,0x10(%rdx)
1400550c5:	48 8b 10             	mov    (%rax),%rdx
1400550c8:	48 39 d1             	cmp    %rdx,%rcx
1400550cb:	48 0f 44 c8          	cmove  %rax,%rcx
1400550cf:	48 8b 42 08          	mov    0x8(%rdx),%rax
1400550d3:	e9 cd fe ff ff       	jmp    0x140054fa5
1400550d8:	4c 8b 40 08          	mov    0x8(%rax),%r8
1400550dc:	4d 85 c0             	test   %r8,%r8
1400550df:	74 5b                	je     0x14005513c
1400550e1:	41 80 78 18 01       	cmpb   $0x1,0x18(%r8)
1400550e6:	74 54                	je     0x14005513c
1400550e8:	48 89 c1             	mov    %rax,%rcx
1400550eb:	48 8b 41 10          	mov    0x10(%rcx),%rax
1400550ef:	0f b6 50 18          	movzbl 0x18(%rax),%edx
1400550f3:	88 51 18             	mov    %dl,0x18(%rcx)
1400550f6:	c6 40 18 01          	movb   $0x1,0x18(%rax)
1400550fa:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400550fe:	c6 40 18 01          	movb   $0x1,0x18(%rax)
140055102:	48 8b 41 10          	mov    0x10(%rcx),%rax
140055106:	48 8b 48 08          	mov    0x8(%rax),%rcx
14005510a:	48 8b 11             	mov    (%rcx),%rdx
14005510d:	48 89 50 08          	mov    %rdx,0x8(%rax)
140055111:	48 85 d2             	test   %rdx,%rdx
140055114:	74 04                	je     0x14005511a
140055116:	48 89 42 10          	mov    %rax,0x10(%rdx)
14005511a:	48 8b 50 10          	mov    0x10(%rax),%rdx
14005511e:	48 89 51 10          	mov    %rdx,0x10(%rcx)
140055122:	48 3b 02             	cmp    (%rdx),%rax
140055125:	75 0f                	jne    0x140055136
140055127:	48 89 0a             	mov    %rcx,(%rdx)
14005512a:	48 89 01             	mov    %rax,(%rcx)
14005512d:	48 89 48 10          	mov    %rcx,0x10(%rax)
140055131:	e9 2a ff ff ff       	jmp    0x140055060
140055136:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
14005513a:	eb ee                	jmp    0x14005512a
14005513c:	c6 42 18 01          	movb   $0x1,0x18(%rdx)
140055140:	c6 40 18 00          	movb   $0x0,0x18(%rax)
140055144:	48 8b 08             	mov    (%rax),%rcx
140055147:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14005514b:	48 89 10             	mov    %rdx,(%rax)
14005514e:	48 85 d2             	test   %rdx,%rdx
140055151:	75 22                	jne    0x140055175
140055153:	48 8b 50 10          	mov    0x10(%rax),%rdx
140055157:	48 89 51 10          	mov    %rdx,0x10(%rcx)
14005515b:	48 3b 02             	cmp    (%rdx),%rax
14005515e:	0f 84 8d 01 00 00    	je     0x1400552f1
140055164:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
140055168:	48 89 41 08          	mov    %rax,0x8(%rcx)
14005516c:	48 89 48 10          	mov    %rcx,0x10(%rax)
140055170:	e9 76 ff ff ff       	jmp    0x1400550eb
140055175:	48 89 42 10          	mov    %rax,0x10(%rdx)
140055179:	eb d8                	jmp    0x140055153
14005517b:	4d 89 41 08          	mov    %r8,0x8(%r9)
14005517f:	e9 3a ff ff ff       	jmp    0x1400550be
140055184:	4c 89 4e 08          	mov    %r9,0x8(%rsi)
140055188:	eb 10                	jmp    0x14005519a
14005518a:	48 8b 72 10          	mov    0x10(%rdx),%rsi
14005518e:	49 89 71 10          	mov    %rsi,0x10(%r9)
140055192:	48 3b 16             	cmp    (%rsi),%rdx
140055195:	75 ed                	jne    0x140055184
140055197:	4c 89 0e             	mov    %r9,(%rsi)
14005519a:	48 8b 32             	mov    (%rdx),%rsi
14005519d:	49 89 31             	mov    %rsi,(%r9)
1400551a0:	4c 89 4e 10          	mov    %r9,0x10(%rsi)
1400551a4:	48 8b 72 08          	mov    0x8(%rdx),%rsi
1400551a8:	49 89 71 08          	mov    %rsi,0x8(%r9)
1400551ac:	48 85 f6             	test   %rsi,%rsi
1400551af:	74 04                	je     0x1400551b5
1400551b1:	4c 89 4e 10          	mov    %r9,0x10(%rsi)
1400551b5:	0f b6 5a 18          	movzbl 0x18(%rdx),%ebx
1400551b9:	41 88 59 18          	mov    %bl,0x18(%r9)
1400551bd:	48 39 d1             	cmp    %rdx,%rcx
1400551c0:	49 0f 44 c9          	cmove  %r9,%rcx
1400551c4:	48 85 c9             	test   %rcx,%rcx
1400551c7:	0f 85 af fd ff ff    	jne    0x140054f7c
1400551cd:	e9 8e fe ff ff       	jmp    0x140055060
1400551d2:	41 80 78 18 01       	cmpb   $0x1,0x18(%r8)
1400551d7:	0f 84 29 fe ff ff    	je     0x140055006
1400551dd:	48 85 d2             	test   %rdx,%rdx
1400551e0:	0f 85 f9 00 00 00    	jne    0x1400552df
1400551e6:	41 c6 40 18 01       	movb   $0x1,0x18(%r8)
1400551eb:	c6 40 18 00          	movb   $0x0,0x18(%rax)
1400551ef:	48 8b 48 08          	mov    0x8(%rax),%rcx
1400551f3:	48 8b 11             	mov    (%rcx),%rdx
1400551f6:	48 89 50 08          	mov    %rdx,0x8(%rax)
1400551fa:	48 85 d2             	test   %rdx,%rdx
1400551fd:	0f 85 d3 00 00 00    	jne    0x1400552d6
140055203:	48 8b 50 10          	mov    0x10(%rax),%rdx
140055207:	48 89 51 10          	mov    %rdx,0x10(%rcx)
14005520b:	48 3b 02             	cmp    (%rdx),%rax
14005520e:	0f 85 e5 00 00 00    	jne    0x1400552f9
140055214:	48 89 0a             	mov    %rcx,(%rdx)
140055217:	48 89 01             	mov    %rax,(%rcx)
14005521a:	48 89 48 10          	mov    %rcx,0x10(%rax)
14005521e:	eb 1b                	jmp    0x14005523b
140055220:	44 8a 42 18          	mov    0x18(%rdx),%r8b
140055224:	41 80 f8 01          	cmp    $0x1,%r8b
140055228:	0f 84 cb fd ff ff    	je     0x140054ff9
14005522e:	41 f6 c0 01          	test   $0x1,%r8b
140055232:	0f 85 b0 00 00 00    	jne    0x1400552e8
140055238:	48 89 c1             	mov    %rax,%rcx
14005523b:	48 8b 41 10          	mov    0x10(%rcx),%rax
14005523f:	8a 50 18             	mov    0x18(%rax),%dl
140055242:	88 51 18             	mov    %dl,0x18(%rcx)
140055245:	b2 01                	mov    $0x1,%dl
140055247:	88 50 18             	mov    %dl,0x18(%rax)
14005524a:	48 8b 01             	mov    (%rcx),%rax
14005524d:	88 50 18             	mov    %dl,0x18(%rax)
140055250:	48 8b 41 10          	mov    0x10(%rcx),%rax
140055254:	48 8b 08             	mov    (%rax),%rcx
140055257:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14005525b:	48 89 10             	mov    %rdx,(%rax)
14005525e:	48 85 d2             	test   %rdx,%rdx
140055261:	74 04                	je     0x140055267
140055263:	48 89 42 10          	mov    %rax,0x10(%rdx)
140055267:	48 8b 50 10          	mov    0x10(%rax),%rdx
14005526b:	48 89 51 10          	mov    %rdx,0x10(%rcx)
14005526f:	48 3b 02             	cmp    (%rdx),%rax
140055272:	75 0c                	jne    0x140055280
140055274:	48 89 0a             	mov    %rcx,(%rdx)
140055277:	48 89 41 08          	mov    %rax,0x8(%rcx)
14005527b:	e9 ad fe ff ff       	jmp    0x14005512d
140055280:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
140055284:	eb f1                	jmp    0x140055277
140055286:	c6 40 18 01          	movb   $0x1,0x18(%rax)
14005528a:	c6 42 18 00          	movb   $0x0,0x18(%rdx)
14005528e:	48 8b 50 10          	mov    0x10(%rax),%rdx
140055292:	4c 8b 02             	mov    (%rdx),%r8
140055295:	4d 8b 48 08          	mov    0x8(%r8),%r9
140055299:	4c 89 0a             	mov    %r9,(%rdx)
14005529c:	4d 85 c9             	test   %r9,%r9
14005529f:	74 04                	je     0x1400552a5
1400552a1:	49 89 51 10          	mov    %rdx,0x10(%r9)
1400552a5:	4c 8b 4a 10          	mov    0x10(%rdx),%r9
1400552a9:	4d 89 48 10          	mov    %r9,0x10(%r8)
1400552ad:	49 3b 11             	cmp    (%r9),%rdx
1400552b0:	75 1e                	jne    0x1400552d0
1400552b2:	4d 89 01             	mov    %r8,(%r9)
1400552b5:	49 89 50 08          	mov    %rdx,0x8(%r8)
1400552b9:	4c 89 42 10          	mov    %r8,0x10(%rdx)
1400552bd:	48 8b 50 08          	mov    0x8(%rax),%rdx
1400552c1:	48 39 d1             	cmp    %rdx,%rcx
1400552c4:	48 0f 44 c8          	cmove  %rax,%rcx
1400552c8:	48 8b 02             	mov    (%rdx),%rax
1400552cb:	e9 1d fd ff ff       	jmp    0x140054fed
1400552d0:	4d 89 41 08          	mov    %r8,0x8(%r9)
1400552d4:	eb df                	jmp    0x1400552b5
1400552d6:	48 89 42 10          	mov    %rax,0x10(%rdx)
1400552da:	e9 24 ff ff ff       	jmp    0x140055203
1400552df:	44 8a 42 18          	mov    0x18(%rdx),%r8b
1400552e3:	e9 46 ff ff ff       	jmp    0x14005522e
1400552e8:	4c 8b 40 08          	mov    0x8(%rax),%r8
1400552ec:	e9 f5 fe ff ff       	jmp    0x1400551e6
1400552f1:	48 89 0a             	mov    %rcx,(%rdx)
1400552f4:	e9 6f fe ff ff       	jmp    0x140055168
1400552f9:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
1400552fd:	e9 15 ff ff ff       	jmp    0x140055217
140055302:	cc                   	int3
140055303:	cc                   	int3
140055304:	cc                   	int3
140055305:	cc                   	int3
140055306:	cc                   	int3
140055307:	cc                   	int3
140055308:	cc                   	int3
140055309:	cc                   	int3
14005530a:	cc                   	int3
14005530b:	cc                   	int3
14005530c:	cc                   	int3
14005530d:	cc                   	int3
14005530e:	cc                   	int3
14005530f:	cc                   	int3
140055310:	48 39 ca             	cmp    %rcx,%rdx
140055313:	0f 94 42 18          	sete   0x18(%rdx)
140055317:	74 7d                	je     0x140055396
140055319:	4c 8b 42 10          	mov    0x10(%rdx),%r8
14005531d:	41 80 78 18 00       	cmpb   $0x0,0x18(%r8)
140055322:	75 72                	jne    0x140055396
140055324:	49 8b 40 10          	mov    0x10(%r8),%rax
140055328:	4c 8b 08             	mov    (%rax),%r9
14005532b:	4d 39 c8             	cmp    %r9,%r8
14005532e:	74 72                	je     0x1400553a2
140055330:	4d 85 c9             	test   %r9,%r9
140055333:	74 22                	je     0x140055357
140055335:	41 80 79 18 00       	cmpb   $0x0,0x18(%r9)
14005533a:	75 1b                	jne    0x140055357
14005533c:	41 c6 40 18 01       	movb   $0x1,0x18(%r8)
140055341:	48 39 c8             	cmp    %rcx,%rax
140055344:	0f 94 40 18          	sete   0x18(%rax)
140055348:	41 c6 41 18 01       	movb   $0x1,0x18(%r9)
14005534d:	48 89 c2             	mov    %rax,%rdx
140055350:	48 39 c8             	cmp    %rcx,%rax
140055353:	75 c4                	jne    0x140055319
140055355:	eb 3f                	jmp    0x140055396
140055357:	49 8b 08             	mov    (%r8),%rcx
14005535a:	48 39 ca             	cmp    %rcx,%rdx
14005535d:	0f 84 94 00 00 00    	je     0x1400553f7
140055363:	4c 89 c1             	mov    %r8,%rcx
140055366:	c6 41 18 01          	movb   $0x1,0x18(%rcx)
14005536a:	c6 40 18 00          	movb   $0x0,0x18(%rax)
14005536e:	48 8b 48 08          	mov    0x8(%rax),%rcx
140055372:	48 8b 11             	mov    (%rcx),%rdx
140055375:	48 89 50 08          	mov    %rdx,0x8(%rax)
140055379:	48 85 d2             	test   %rdx,%rdx
14005537c:	75 19                	jne    0x140055397
14005537e:	48 8b 50 10          	mov    0x10(%rax),%rdx
140055382:	48 89 51 10          	mov    %rdx,0x10(%rcx)
140055386:	48 3b 02             	cmp    (%rdx),%rax
140055389:	74 12                	je     0x14005539d
14005538b:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
14005538f:	48 89 01             	mov    %rax,(%rcx)
140055392:	48 89 48 10          	mov    %rcx,0x10(%rax)
140055396:	c3                   	ret
140055397:	48 89 42 10          	mov    %rax,0x10(%rdx)
14005539b:	eb e1                	jmp    0x14005537e
14005539d:	48 89 0a             	mov    %rcx,(%rdx)
1400553a0:	eb ed                	jmp    0x14005538f
1400553a2:	4c 8b 48 08          	mov    0x8(%rax),%r9
1400553a6:	4d 85 c9             	test   %r9,%r9
1400553a9:	74 07                	je     0x1400553b2
1400553ab:	41 80 79 18 00       	cmpb   $0x0,0x18(%r9)
1400553b0:	74 8a                	je     0x14005533c
1400553b2:	49 3b 10             	cmp    (%r8),%rdx
1400553b5:	75 78                	jne    0x14005542f