1800500cb:	5f                   	pop    %rdi
1800500cc:	c3                   	ret
1800500cd:	cc                   	int3
1800500ce:	cc                   	int3
1800500cf:	cc                   	int3
1800500d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800500d5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1800500da:	33 db                	xor    %ebx,%ebx
1800500dc:	8b c2                	mov    %edx,%eax
1800500de:	4d 8b d0             	mov    %r8,%r10
1800500e1:	44 0f b7 cb          	movzwl %bx,%r9d
1800500e5:	48 8d 14 40          	lea    (%rax,%rax,2),%rdx
1800500e9:	4c 8d 1c 91          	lea    (%rcx,%rdx,4),%r11
1800500ed:	49 3b cb             	cmp    %r11,%rcx
1800500f0:	0f 83 9f 00 00 00    	jae    0x180050195
1800500f6:	48 8d 51 06          	lea    0x6(%rcx),%rdx
1800500fa:	8d 73 02             	lea    0x2(%rbx),%esi
1800500fd:	8b 4a fa             	mov    -0x6(%rdx),%ecx
180050100:	44 0f b7 42 02       	movzwl 0x2(%rdx),%r8d
180050105:	83 e9 04             	sub    $0x4,%ecx
180050108:	74 65                	je     0x18005016f
18005010a:	2b ce                	sub    %esi,%ecx
18005010c:	74 48                	je     0x180050156
18005010e:	83 e9 01             	sub    $0x1,%ecx
180050111:	74 31                	je     0x180050144
180050113:	83 f9 01             	cmp    $0x1,%ecx
180050116:	74 06                	je     0x18005011e
180050118:	66 44 03 0a          	add    (%rdx),%r9w
18005011c:	eb 66                	jmp    0x180050184
18005011e:	4b 8b 0c 10          	mov    (%r8,%r10,1),%rcx
180050122:	66 44 03 ce          	add    %si,%r9w
180050126:	48 85 c9             	test   %rcx,%rcx
180050129:	74 59                	je     0x180050184
18005012b:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
18005012f:	48 ff c0             	inc    %rax
180050132:	66 39 1c 41          	cmp    %bx,(%rcx,%rax,2)
180050136:	75 f7                	jne    0x18005012f
180050138:	66 03 c0             	add    %ax,%ax
18005013b:	66 03 c6             	add    %si,%ax
18005013e:	66 44 03 c8          	add    %ax,%r9w
180050142:	eb 40                	jmp    0x180050184
180050144:	0f b7 42 fe          	movzwl -0x2(%rdx),%eax
180050148:	42 0f b7 0c 10       	movzwl (%rax,%r10,1),%ecx
18005014d:	66 03 ce             	add    %si,%cx
180050150:	66 44 03 c9          	add    %cx,%r9w
180050154:	eb 2e                	jmp    0x180050184
180050156:	4b 8b 04 10          	mov    (%r8,%r10,1),%rax
18005015a:	66 41 ff c1          	inc    %r9w
18005015e:	eb 08                	jmp    0x180050168
180050160:	66 41 ff c1          	inc    %r9w
180050164:	48 c1 e8 08          	shr    $0x8,%rax
180050168:	48 85 c0             	test   %rax,%rax
18005016b:	75 f3                	jne    0x180050160
18005016d:	eb 15                	jmp    0x180050184
18005016f:	43 8b 04 10          	mov    (%r8,%r10,1),%eax
180050173:	66 41 ff c1          	inc    %r9w
180050177:	eb 07                	jmp    0x180050180
180050179:	66 41 ff c1          	inc    %r9w
18005017d:	c1 e8 08             	shr    $0x8,%eax
180050180:	85 c0                	test   %eax,%eax
180050182:	75 f5                	jne    0x180050179
180050184:	48 83 c2 0c          	add    $0xc,%rdx
180050188:	48 8d 4a fa          	lea    -0x6(%rdx),%rcx
18005018c:	49 3b cb             	cmp    %r11,%rcx
18005018f:	0f 82 68 ff ff ff    	jb     0x1800500fd
180050195:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18005019a:	41 0f b7 c1          	movzwl %r9w,%eax
18005019e:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
1800501a3:	c3                   	ret
1800501a4:	cc                   	int3
1800501a5:	cc                   	int3
1800501a6:	cc                   	int3
1800501a7:	cc                   	int3
1800501a8:	48 8b c4             	mov    %rsp,%rax
1800501ab:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800501af:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800501b3:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800501b7:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800501bb:	41 56                	push   %r14
1800501bd:	44 8b 09             	mov    (%rcx),%r9d
1800501c0:	45 33 c0             	xor    %r8d,%r8d
1800501c3:	40 8a f2             	mov    %dl,%sil
1800501c6:	4c 8b d9             	mov    %rcx,%r11
1800501c9:	41 8d 41 ff          	lea    -0x1(%r9),%eax
1800501cd:	83 f8 02             	cmp    $0x2,%eax
1800501d0:	0f 87 44 01 00 00    	ja     0x18005031a
1800501d6:	44 8b 51 04          	mov    0x4(%rcx),%r10d
1800501da:	41 83 f9 03          	cmp    $0x3,%r9d
1800501de:	41 8b c0             	mov    %r8d,%eax
1800501e1:	0f 94 c0             	sete   %al
1800501e4:	44 3b d0             	cmp    %eax,%r10d
1800501e7:	0f 82 25 01 00 00    	jb     0x180050312
1800501ed:	41 8b c9             	mov    %r9d,%ecx
1800501f0:	41 8b d0             	mov    %r8d,%edx
1800501f3:	83 e9 02             	sub    $0x2,%ecx
1800501f6:	74 0a                	je     0x180050202
1800501f8:	83 f9 01             	cmp    $0x1,%ecx
1800501fb:	75 0a                	jne    0x180050207
1800501fd:	8d 51 01             	lea    0x1(%rcx),%edx
180050200:	eb 05                	jmp    0x180050207
180050202:	ba 07 00 00 00       	mov    $0x7,%edx
180050207:	44 3b d2             	cmp    %edx,%r10d
18005020a:	0f 87 02 01 00 00    	ja     0x180050312
180050210:	41 8b 7b 08          	mov    0x8(%r11),%edi
180050214:	bd 01 00 00 00       	mov    $0x1,%ebp
180050219:	3b fd                	cmp    %ebp,%edi
18005021b:	0f 82 d9 00 00 00    	jb     0x1800502fa
180050221:	41 8d 41 fe          	lea    -0x2(%r9),%eax
180050225:	8b cd                	mov    %ebp,%ecx
180050227:	3b c5                	cmp    %ebp,%eax
180050229:	8d 55 07             	lea    0x7(%rbp),%edx
18005022c:	0f 46 ca             	cmovbe %edx,%ecx
18005022f:	3b f9                	cmp    %ecx,%edi
180050231:	0f 87 c3 00 00 00    	ja     0x1800502fa
180050237:	41 8b 53 0c          	mov    0xc(%r11),%edx
18005023b:	41 83 ce ff          	or     $0xffffffff,%r14d
18005023f:	41 3b d6             	cmp    %r14d,%edx
180050242:	75 0b                	jne    0x18005024f
180050244:	40 84 f6             	test   %sil,%sil
180050247:	74 0e                	je     0x180050257
180050249:	41 83 f9 03          	cmp    $0x3,%r9d
18005024d:	74 23                	je     0x180050272
18005024f:	3b d5                	cmp    %ebp,%edx
180050251:	0f 82 b3 00 00 00    	jb     0x18005030a
180050257:	8b c5                	mov    %ebp,%eax
180050259:	41 83 f9 03          	cmp    $0x3,%r9d
18005025d:	75 0b                	jne    0x18005026a
18005025f:	44 3b d5             	cmp    %ebp,%r10d
180050262:	76 06                	jbe    0x18005026a
180050264:	41 6b c2 07          	imul   $0x7,%r10d,%eax
180050268:	d1 e8                	shr    $1,%eax
18005026a:	3b d0                	cmp    %eax,%edx
18005026c:	0f 87 98 00 00 00    	ja     0x18005030a
180050272:	41 8b 5b 10          	mov    0x10(%r11),%ebx
180050276:	41 3b de             	cmp    %r14d,%ebx
180050279:	75 05                	jne    0x180050280
18005027b:	40 84 f6             	test   %sil,%sil
18005027e:	75 4c                	jne    0x1800502cc
180050280:	8b c5                	mov    %ebp,%eax
180050282:	41 83 f9 03          	cmp    $0x3,%r9d
180050286:	75 11                	jne    0x180050299
180050288:	41 3b d6             	cmp    %r14d,%edx
18005028b:	41 8d 42 ff          	lea    -0x1(%r10),%eax
18005028f:	8b ca                	mov    %edx,%ecx
180050291:	0f 44 cd             	cmove  %ebp,%ecx
180050294:	8d 04 48             	lea    (%rax,%rcx,2),%eax
180050297:	03 c1                	add    %ecx,%eax
180050299:	3b d8                	cmp    %eax,%ebx
18005029b:	72 65                	jb     0x180050302
18005029d:	b8 80 00 00 00       	mov    $0x80,%eax
1800502a2:	41 83 f9 03          	cmp    $0x3,%r9d
1800502a6:	75 1c                	jne    0x1800502c4
1800502a8:	41 3b d6             	cmp    %r14d,%edx
1800502ab:	75 0d                	jne    0x1800502ba
1800502ad:	8b d5                	mov    %ebp,%edx
1800502af:	44 3b d5             	cmp    %ebp,%r10d
1800502b2:	76 06                	jbe    0x1800502ba
1800502b4:	41 6b d2 07          	imul   $0x7,%r10d,%edx
1800502b8:	d1 ea                	shr    $1,%edx
1800502ba:	42 8d 04 d5 ff ff ff 	lea    -0x1(,%r10,8),%eax
1800502c1:	ff
1800502c2:	03 c2                	add    %edx,%eax
1800502c4:	3b d8                	cmp    %eax,%ebx
1800502c6:	77 3a                	ja     0x180050302
1800502c8:	3b dd                	cmp    %ebp,%ebx
1800502ca:	76 20                	jbe    0x1800502ec
1800502cc:	41 8b 4b 14          	mov    0x14(%r11),%ecx
1800502d0:	8d 81 00 c0 ff ff    	lea    -0x4000(%rcx),%eax
1800502d6:	3d 00 c0 ff 00       	cmp    $0xffc000,%eax
1800502db:	77 07                	ja     0x1800502e4
1800502dd:	8d 41 ff             	lea    -0x1(%rcx),%eax
1800502e0:	85 c1                	test   %eax,%ecx
1800502e2:	74 08                	je     0x1800502ec
1800502e4:	41 b8 09 00 e7 c0    	mov    $0xc0e70009,%r8d
1800502ea:	eb 34                	jmp    0x180050320
1800502ec:	41 83 f9 02          	cmp    $0x2,%r9d
1800502f0:	75 2e                	jne    0x180050320
1800502f2:	41 8d 42 01          	lea    0x1(%r10),%eax
1800502f6:	3b f8                	cmp    %eax,%edi
1800502f8:	74 26                	je     0x180050320
1800502fa:	41 b8 07 00 e7 c0    	mov    $0xc0e70007,%r8d
180050300:	eb 1e                	jmp    0x180050320
180050302:	41 b8 0a 00 e7 c0    	mov    $0xc0e7000a,%r8d
180050308:	eb 16                	jmp    0x180050320
18005030a:	41 b8 11 00 e7 c0    	mov    $0xc0e70011,%r8d
180050310:	eb 0e                	jmp    0x180050320
180050312:	41 b8 06 00 e7 c0    	mov    $0xc0e70006,%r8d
180050318:	eb 06                	jmp    0x180050320
18005031a:	41 b8 03 00 e7 c0    	mov    $0xc0e70003,%r8d
180050320:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
180050325:	41 8b c0             	mov    %r8d,%eax
180050328:	48 8b 6c 24 18       	mov    0x18(%rsp),%rbp
18005032d:	48 8b 74 24 20       	mov    0x20(%rsp),%rsi
180050332:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
180050337:	41 5e                	pop    %r14
180050339:	c3                   	ret
18005033a:	cc                   	int3
18005033b:	cc                   	int3
18005033c:	b8 01 00 00 00       	mov    $0x1,%eax
180050341:	44 8d 48 01          	lea    0x1(%rax),%r9d
180050345:	44 39 09             	cmp    %r9d,(%rcx)
180050348:	75 12                	jne    0x18005035c
18005034a:	44 8b 42 18          	mov    0x18(%rdx),%r8d
18005034e:	44 39 42 14          	cmp    %r8d,0x14(%rdx)
180050352:	74 08                	je     0x18005035c
180050354:	83 79 08 04          	cmpl   $0x4,0x8(%rcx)
180050358:	41 0f 44 c1          	cmove  %r9d,%eax
18005035c:	c3                   	ret
18005035d:	cc                   	int3
18005035e:	cc                   	int3
18005035f:	cc                   	int3
180050360:	8b 01                	mov    (%rcx),%eax
180050362:	45 33 c9             	xor    %r9d,%r9d
180050365:	ff c8                	dec    %eax
180050367:	45 8a d8             	mov    %r8b,%r11b
18005036a:	4c 8b d2             	mov    %rdx,%r10
18005036d:	83 f8 01             	cmp    $0x1,%eax
180050370:	77 6a                	ja     0x1800503dc
180050372:	48 85 d2             	test   %rdx,%rdx
180050375:	74 5d                	je     0x1800503d4
180050377:	48 f7 c2 ff 0f 00 00 	test   $0xfff,%rdx
18005037e:	75 54                	jne    0x1800503d4
180050380:	4c 8b 41 08          	mov    0x8(%rcx),%r8
180050384:	4d 85 c0             	test   %r8,%r8
180050387:	74 0d                	je     0x180050396
180050389:	33 d2                	xor    %edx,%edx
18005038b:	49 8b c0             	mov    %r8,%rax
18005038e:	49 f7 f2             	div    %r10
180050391:	48 85 d2             	test   %rdx,%rdx
180050394:	74 0b                	je     0x1800503a1
180050396:	45 84 db             	test   %r11b,%r11b
180050399:	74 39                	je     0x1800503d4
18005039b:	49 83 f8 ff          	cmp    $0xffffffffffffffff,%r8
18005039f:	75 33                	jne    0x1800503d4
1800503a1:	83 79 10 05          	cmpl   $0x5,0x10(%rcx)
1800503a5:	7e 08                	jle    0x1800503af
1800503a7:	41 b9 0d 00 00 c0    	mov    $0xc000000d,%r9d
1800503ad:	eb 33                	jmp    0x1800503e2
1800503af:	8b 51 14             	mov    0x14(%rcx),%edx
1800503b2:	8d 42 ff             	lea    -0x1(%rdx),%eax
1800503b5:	83 f8 04             	cmp    $0x4,%eax
1800503b8:	77 12                	ja     0x1800503cc
1800503ba:	44 8b 41 18          	mov    0x18(%rcx),%r8d
1800503be:	41 8d 40 ff          	lea    -0x1(%r8),%eax
1800503c2:	83 f8 04             	cmp    $0x4,%eax
1800503c5:	77 05                	ja     0x1800503cc
1800503c7:	41 3b d0             	cmp    %r8d,%edx
1800503ca:	76 16                	jbe    0x1800503e2
1800503cc:	41 b9 01 00 e7 c0    	mov    $0xc0e70001,%r9d
1800503d2:	eb 0e                	jmp    0x1800503e2
1800503d4:	41 b9 0e 00 e7 c0    	mov    $0xc0e7000e,%r9d
1800503da:	eb 06                	jmp    0x1800503e2
1800503dc:	41 b9 0d 00 e7 c0    	mov    $0xc0e7000d,%r9d
1800503e2:	41 8b c1             	mov    %r9d,%eax
1800503e5:	c3                   	ret
1800503e6:	cc                   	int3
1800503e7:	cc                   	int3
1800503e8:	83 3a 03             	cmpl   $0x3,(%rdx)
1800503eb:	44 8b 42 10          	mov    0x10(%rdx),%r8d
1800503ef:	75 0e                	jne    0x1800503ff
1800503f1:	b8 01 00 00 00       	mov    $0x1,%eax
1800503f6:	2b 42 0c             	sub    0xc(%rdx),%eax
1800503f9:	2b 42 04             	sub    0x4(%rdx),%eax
1800503fc:	44 03 c0             	add    %eax,%r8d
1800503ff:	48 8b 41 08          	mov    0x8(%rcx),%rax
180050403:	41 8b d0             	mov    %r8d,%edx
180050406:	48 0f af c2          	imul   %rdx,%rax
18005040a:	c3                   	ret
18005040b:	cc                   	int3
18005040c:	33 d2                	xor    %edx,%edx
18005040e:	8d 42 01             	lea    0x1(%rdx),%eax
180050411:	2b c8                	sub    %eax,%ecx
180050413:	74 18                	je     0x18005042d
180050415:	2b c8                	sub    %eax,%ecx
180050417:	74 12                	je     0x18005042b
180050419:	2b c8                	sub    %eax,%ecx
18005041b:	74 0a                	je     0x180050427
18005041d:	2b c8                	sub    %eax,%ecx
18005041f:	74 08                	je     0x180050429
180050421:	3b c8                	cmp    %eax,%ecx
180050423:	75 0a                	jne    0x18005042f
180050425:	8b d0                	mov    %eax,%edx
180050427:	03 d0                	add    %eax,%edx
180050429:	03 d0                	add    %eax,%edx
18005042b:	03 d0                	add    %eax,%edx
18005042d:	03 d0                	add    %eax,%edx
18005042f:	8b c2                	mov    %edx,%eax
180050431:	c3                   	ret
180050432:	cc                   	int3
180050433:	cc                   	int3
180050434:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
180050439:	55                   	push   %rbp
18005043a:	56                   	push   %rsi
18005043b:	57                   	push   %rdi
18005043c:	41 56                	push   %r14
18005043e:	41 57                	push   %r15
180050440:	48 83 ec 50          	sub    $0x50,%rsp
180050444:	48 8b 05 25 c5 11 00 	mov    0x11c525(%rip),%rax        # 0x18016c970
18005044b:	48 33 c4             	xor    %rsp,%rax
18005044e:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
180050453:	48 8b ea             	mov    %rdx,%rbp
180050456:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
18005045b:	48 8b f9             	mov    %rcx,%rdi
18005045e:	0f 57 c0             	xorps  %xmm0,%xmm0
180050461:	4c 8b ca             	mov    %rdx,%r9
180050464:	48 8d 0d 8d e8 0f 00 	lea    0xfe88d(%rip),%rcx        # 0x18014ecf8
18005046b:	33 db                	xor    %ebx,%ebx
18005046d:	be 00 02 00 00       	mov    $0x200,%esi
180050472:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
180050477:	89 74 24 20          	mov    %esi,0x20(%rsp)
18005047b:	8d 53 04             	lea    0x4(%rbx),%edx
18005047e:	e8 89 f6 ff ff       	call   0x18004fb0c
180050483:	44 8b f8             	mov    %eax,%r15d
180050486:	85 c0                	test   %eax,%eax
180050488:	0f 84 0e 01 00 00    	je     0x18005059c
18005048e:	48 b8 20 42 44 45 43 	movabs $0x5350414345444220,%rax
180050495:	41 50 53
180050498:	48 39 44 24 30       	cmp    %rax,0x30(%rsp)
18005049d:	0f 85 f9 00 00 00    	jne    0x18005059c
1800504a3:	66 39 74 24 3a       	cmp    %si,0x3a(%rsp)
1800504a8:	0f 85 ee 00 00 00    	jne    0x18005059c
1800504ae:	0f b7 44 24 38       	movzwl 0x38(%rsp),%eax
1800504b3:	66 ff c8             	dec    %ax
1800504b6:	66 83 f8 02          	cmp    $0x2,%ax
1800504ba:	0f 87 d5 00 00 00    	ja     0x180050595
1800504c0:	44 8b 74 24 3c       	mov    0x3c(%rsp),%r14d
1800504c5:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1800504ca:	4c 8b cd             	mov    %rbp,%r9
1800504cd:	89 5c 24 3c          	mov    %ebx,0x3c(%rsp)
1800504d1:	8d 53 04             	lea    0x4(%rbx),%edx
1800504d4:	48 8d 0d 1d e8 0f 00 	lea    0xfe81d(%rip),%rcx        # 0x18014ecf8
1800504db:	e8 1c f9 ff ff       	call   0x18004fdfc
1800504e0:	44 8b c6             	mov    %esi,%r8d
1800504e3:	48 8b d5             	mov    %rbp,%rdx
1800504e6:	e8 99 39 fe ff       	call   0x180033e84
1800504eb:	44 3b f0             	cmp    %eax,%r14d
1800504ee:	0f 85 a8 00 00 00    	jne    0x18005059c
1800504f4:	4c 8b cd             	mov    %rbp,%r9
1800504f7:	44 89 74 24 3c       	mov    %r14d,0x3c(%rsp)
1800504fc:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
180050501:	8d 53 04             	lea    0x4(%rbx),%edx
180050504:	48 8d 0d ed e7 0f 00 	lea    0xfe7ed(%rip),%rcx        # 0x18014ecf8
18005050b:	e8 ec f8 ff ff       	call   0x18004fdfc
180050510:	0f b7 44 24 38       	movzwl 0x38(%rsp),%eax
180050515:	4c 8d 35 e4 fa fa ff 	lea    -0x5051c(%rip),%r14        # 0x180000000
18005051c:	66 89 07             	mov    %ax,(%rdi)
18005051f:	4d 8d 0c 2f          	lea    (%r15,%rbp,1),%r9
180050523:	8b c8                	mov    %eax,%ecx
180050525:	41 2b f7             	sub    %r15d,%esi
180050528:	48 03 c9             	add    %rcx,%rcx