1400438f3:	44 23 cb             	and    %ebx,%r9d
1400438f6:	41 8b cb             	mov    %r11d,%ecx
1400438f9:	41 d3 e1             	shl    %cl,%r9d
1400438fc:	41 0b d1             	or     %r9d,%edx
1400438ff:	42 89 54 95 a4       	mov    %edx,-0x5c(%rbp,%r10,4)
140043904:	41 ff ca             	dec    %r10d
140043907:	44 3b d7             	cmp    %edi,%r10d
14004390a:	74 05                	je     0x140043911
14004390c:	8b 55 a0             	mov    -0x60(%rbp),%edx
14004390f:	eb b8                	jmp    0x1400438c9
140043911:	33 c9                	xor    %ecx,%ecx
140043913:	45 85 c0             	test   %r8d,%r8d
140043916:	74 12                	je     0x14004392a
140043918:	83 64 8d a4 00       	andl   $0x0,-0x5c(%rbp,%rcx,4)
14004391d:	41 03 cf             	add    %r15d,%ecx
140043920:	41 3b c8             	cmp    %r8d,%ecx
140043923:	75 f3                	jne    0x140043918
140043925:	eb 03                	jmp    0x14004392a
140043927:	45 33 f6             	xor    %r14d,%r14d
14004392a:	44 89 75 a0          	mov    %r14d,-0x60(%rbp)
14004392e:	45 8b e7             	mov    %r15d,%r12d
140043931:	44 89 bd 70 01 00 00 	mov    %r15d,0x170(%rbp)
140043938:	c7 85 74 01 00 00 04 	movl   $0x4,0x174(%rbp)
14004393f:	00 00 00
140043942:	e9 1f 03 00 00       	jmp    0x140043c66
140043947:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
14004394c:	45 8d 9c 24 cd fb ff 	lea    -0x433(%r12),%r11d
140043953:	ff
140043954:	45 8b c3             	mov    %r11d,%r8d
140043957:	8d 42 ff             	lea    -0x1(%rdx),%eax
14004395a:	41 83 e3 1f          	and    $0x1f,%r11d
14004395e:	41 c1 e8 05          	shr    $0x5,%r8d
140043962:	8b f7                	mov    %edi,%esi
140043964:	49 8b df             	mov    %r15,%rbx
140043967:	41 2b f3             	sub    %r11d,%esi
14004396a:	8b ce                	mov    %esi,%ecx
14004396c:	48 d3 e3             	shl    %cl,%rbx
14004396f:	41 2b df             	sub    %r15d,%ebx
140043972:	0f bd 44 85 a4       	bsr    -0x5c(%rbp,%rax,4),%eax
140043977:	44 8b e3             	mov    %ebx,%r12d
14004397a:	41 f7 d4             	not    %r12d
14004397d:	74 04                	je     0x140043983
14004397f:	ff c0                	inc    %eax
140043981:	eb 02                	jmp    0x140043985
140043983:	33 c0                	xor    %eax,%eax
140043985:	2b f8                	sub    %eax,%edi
140043987:	42 8d 04 02          	lea    (%rdx,%r8,1),%eax
14004398b:	83 f8 73             	cmp    $0x73,%eax
14004398e:	0f 87 81 00 00 00    	ja     0x140043a15
140043994:	45 33 f6             	xor    %r14d,%r14d
140043997:	44 3b df             	cmp    %edi,%r11d
14004399a:	41 0f 97 c6          	seta   %r14b
14004399e:	44 03 f2             	add    %edx,%r14d
1400439a1:	45 03 f0             	add    %r8d,%r14d
1400439a4:	41 83 fe 73          	cmp    $0x73,%r14d
1400439a8:	77 6b                	ja     0x140043a15
1400439aa:	41 8d 78 ff          	lea    -0x1(%r8),%edi
1400439ae:	45 8d 56 ff          	lea    -0x1(%r14),%r10d
1400439b2:	44 3b d7             	cmp    %edi,%r10d
1400439b5:	74 48                	je     0x1400439ff
1400439b7:	41 8b c2             	mov    %r10d,%eax
1400439ba:	41 2b c0             	sub    %r8d,%eax
1400439bd:	8d 48 ff             	lea    -0x1(%rax),%ecx
1400439c0:	3b c2                	cmp    %edx,%eax
1400439c2:	73 07                	jae    0x1400439cb
1400439c4:	44 8b 4c 85 a4       	mov    -0x5c(%rbp,%rax,4),%r9d
1400439c9:	eb 03                	jmp    0x1400439ce
1400439cb:	45 33 c9             	xor    %r9d,%r9d
1400439ce:	3b ca                	cmp    %edx,%ecx
1400439d0:	73 06                	jae    0x1400439d8
1400439d2:	8b 54 8d a4          	mov    -0x5c(%rbp,%rcx,4),%edx
1400439d6:	eb 02                	jmp    0x1400439da
1400439d8:	33 d2                	xor    %edx,%edx
1400439da:	41 23 d4             	and    %r12d,%edx
1400439dd:	8b ce                	mov    %esi,%ecx
1400439df:	d3 ea                	shr    %cl,%edx
1400439e1:	44 23 cb             	and    %ebx,%r9d
1400439e4:	41 8b cb             	mov    %r11d,%ecx
1400439e7:	41 d3 e1             	shl    %cl,%r9d
1400439ea:	41 0b d1             	or     %r9d,%edx
1400439ed:	42 89 54 95 a4       	mov    %edx,-0x5c(%rbp,%r10,4)
1400439f2:	41 ff ca             	dec    %r10d
1400439f5:	44 3b d7             	cmp    %edi,%r10d
1400439f8:	74 05                	je     0x1400439ff
1400439fa:	8b 55 a0             	mov    -0x60(%rbp),%edx
1400439fd:	eb b8                	jmp    0x1400439b7
1400439ff:	33 c9                	xor    %ecx,%ecx
140043a01:	45 85 c0             	test   %r8d,%r8d
140043a04:	74 12                	je     0x140043a18
140043a06:	83 64 8d a4 00       	andl   $0x0,-0x5c(%rbp,%rcx,4)
140043a0b:	41 03 cf             	add    %r15d,%ecx
140043a0e:	41 3b c8             	cmp    %r8d,%ecx
140043a11:	75 f3                	jne    0x140043a06
140043a13:	eb 03                	jmp    0x140043a18
140043a15:	45 33 f6             	xor    %r14d,%r14d
140043a18:	44 89 75 a0          	mov    %r14d,-0x60(%rbp)
140043a1c:	45 8b e7             	mov    %r15d,%r12d
140043a1f:	44 89 bd 70 01 00 00 	mov    %r15d,0x170(%rbp)
140043a26:	c7 85 74 01 00 00 02 	movl   $0x2,0x174(%rbp)
140043a2d:	00 00 00
140043a30:	e9 31 02 00 00       	jmp    0x140043c66
140043a35:	41 83 fc 36          	cmp    $0x36,%r12d
140043a39:	0f 84 44 01 00 00    	je     0x140043b83
140043a3f:	33 c0                	xor    %eax,%eax
140043a41:	c7 85 48 03 00 00 00 	movl   $0x100000,0x348(%rbp)
140043a48:	00 10 00
140043a4b:	89 85 44 03 00 00    	mov    %eax,0x344(%rbp)
140043a51:	89 b5 40 03 00 00    	mov    %esi,0x340(%rbp)
140043a57:	85 db                	test   %ebx,%ebx
140043a59:	0f 84 24 01 00 00    	je     0x140043b83
140043a5f:	45 33 c0             	xor    %r8d,%r8d
140043a62:	42 8b 44 85 a4       	mov    -0x5c(%rbp,%r8,4),%eax
140043a67:	42 39 84 85 44 03 00 	cmp    %eax,0x344(%rbp,%r8,4)
140043a6e:	00
140043a6f:	0f 85 0e 01 00 00    	jne    0x140043b83
140043a75:	45 03 c7             	add    %r15d,%r8d
140043a78:	44 3b c6             	cmp    %esi,%r8d
140043a7b:	75 e5                	jne    0x140043a62
140043a7d:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
140043a82:	0f bd c3             	bsr    %ebx,%eax
140043a85:	74 04                	je     0x140043a8b
140043a87:	ff c0                	inc    %eax
140043a89:	eb 02                	jmp    0x140043a8d
140043a8b:	33 c0                	xor    %eax,%eax
140043a8d:	45 33 f6             	xor    %r14d,%r14d
140043a90:	2b f8                	sub    %eax,%edi
140043a92:	3b fe                	cmp    %esi,%edi
140043a94:	41 0f 92 c6          	setb   %r14b
140043a98:	41 83 cb ff          	or     $0xffffffff,%r11d
140043a9c:	44 03 f2             	add    %edx,%r14d
140043a9f:	41 83 fe 73          	cmp    $0x73,%r14d
140043aa3:	0f 86 87 00 00 00    	jbe    0x140043b30
140043aa9:	45 33 f6             	xor    %r14d,%r14d
140043aac:	be 36 04 00 00       	mov    $0x436,%esi
140043ab1:	44 89 75 a0          	mov    %r14d,-0x60(%rbp)
140043ab5:	41 2b f4             	sub    %r12d,%esi
140043ab8:	48 8d 8d 44 03 00 00 	lea    0x344(%rbp),%rcx
140043abf:	8b fe                	mov    %esi,%edi
140043ac1:	33 d2                	xor    %edx,%edx
140043ac3:	c1 ef 05             	shr    $0x5,%edi
140043ac6:	48 8d 1c bd 00 00 00 	lea    0x0(,%rdi,4),%rbx
140043acd:	00
140043ace:	4c 8b c3             	mov    %rbx,%r8
140043ad1:	e8 ca 3c fe ff       	call   0x1400277a0
140043ad6:	83 e6 1f             	and    $0x1f,%esi
140043ad9:	41 8b c7             	mov    %r15d,%eax
140043adc:	40 8a ce             	mov    %sil,%cl
140043adf:	d3 e0                	shl    %cl,%eax
140043ae1:	89 84 1d 44 03 00 00 	mov    %eax,0x344(%rbp,%rbx,1)
140043ae8:	44 8d 67 01          	lea    0x1(%rdi),%r12d
140043aec:	45 8b c4             	mov    %r12d,%r8d
140043aef:	49 c1 e0 02          	shl    $0x2,%r8
140043af3:	44 89 a5 40 03 00 00 	mov    %r12d,0x340(%rbp)
140043afa:	44 89 a5 70 01 00 00 	mov    %r12d,0x170(%rbp)
140043b01:	4d 85 c0             	test   %r8,%r8
140043b04:	0f 84 5c 01 00 00    	je     0x140043c66
140043b0a:	bb cc 01 00 00       	mov    $0x1cc,%ebx
140043b0f:	48 8d 8d 74 01 00 00 	lea    0x174(%rbp),%rcx
140043b16:	4c 3b c3             	cmp    %rbx,%r8
140043b19:	0f 87 26 01 00 00    	ja     0x140043c45
140043b1f:	48 8d 95 44 03 00 00 	lea    0x344(%rbp),%rdx
140043b26:	e8 a5 35 fe ff       	call   0x1400270d0
140043b2b:	e9 2f 01 00 00       	jmp    0x140043c5f
140043b30:	41 8d 46 ff          	lea    -0x1(%r14),%eax
140043b34:	41 3b c3             	cmp    %r11d,%eax
140043b37:	0f 84 6f ff ff ff    	je     0x140043aac
140043b3d:	44 8b d0             	mov    %eax,%r10d
140043b40:	44 8d 40 ff          	lea    -0x1(%rax),%r8d
140043b44:	3b c2                	cmp    %edx,%eax
140043b46:	73 07                	jae    0x140043b4f
140043b48:	46 8b 4c 95 a4       	mov    -0x5c(%rbp,%r10,4),%r9d
140043b4d:	eb 03                	jmp    0x140043b52
140043b4f:	45 33 c9             	xor    %r9d,%r9d
140043b52:	44 3b c2             	cmp    %edx,%r8d
140043b55:	73 07                	jae    0x140043b5e
140043b57:	42 8b 4c 85 a4       	mov    -0x5c(%rbp,%r8,4),%ecx
140043b5c:	eb 02                	jmp    0x140043b60
140043b5e:	33 c9                	xor    %ecx,%ecx
140043b60:	c1 e9 1e             	shr    $0x1e,%ecx
140043b63:	42 8d 04 8d 00 00 00 	lea    0x0(,%r9,4),%eax
140043b6a:	00
140043b6b:	0b c8                	or     %eax,%ecx
140043b6d:	41 8b c0             	mov    %r8d,%eax
140043b70:	42 89 4c 95 a4       	mov    %ecx,-0x5c(%rbp,%r10,4)
140043b75:	45 3b c3             	cmp    %r11d,%r8d
140043b78:	0f 84 2e ff ff ff    	je     0x140043aac
140043b7e:	8b 55 a0             	mov    -0x60(%rbp),%edx
140043b81:	eb ba                	jmp    0x140043b3d
140043b83:	f7 db                	neg    %ebx
140043b85:	48 1b c0             	sbb    %rax,%rax
140043b88:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
140043b8d:	83 e0 04             	and    $0x4,%eax
140043b90:	0f bd 44 05 a4       	bsr    -0x5c(%rbp,%rax,1),%eax
140043b95:	74 04                	je     0x140043b9b
140043b97:	ff c0                	inc    %eax
140043b99:	eb 02                	jmp    0x140043b9d
140043b9b:	33 c0                	xor    %eax,%eax
140043b9d:	45 33 f6             	xor    %r14d,%r14d
140043ba0:	2b f8                	sub    %eax,%edi
140043ba2:	41 3b ff             	cmp    %r15d,%edi
140043ba5:	41 0f 92 c6          	setb   %r14b
140043ba9:	41 83 cb ff          	or     $0xffffffff,%r11d
140043bad:	44 03 f2             	add    %edx,%r14d
140043bb0:	41 83 fe 73          	cmp    $0x73,%r14d
140043bb4:	76 44                	jbe    0x140043bfa
140043bb6:	45 33 f6             	xor    %r14d,%r14d
140043bb9:	be 35 04 00 00       	mov    $0x435,%esi
140043bbe:	44 89 75 a0          	mov    %r14d,-0x60(%rbp)
140043bc2:	41 2b f4             	sub    %r12d,%esi
140043bc5:	48 8d 8d 44 03 00 00 	lea    0x344(%rbp),%rcx
140043bcc:	8b fe                	mov    %esi,%edi
140043bce:	33 d2                	xor    %edx,%edx
140043bd0:	c1 ef 05             	shr    $0x5,%edi
140043bd3:	48 8d 1c bd 00 00 00 	lea    0x0(,%rdi,4),%rbx
140043bda:	00
140043bdb:	4c 8b c3             	mov    %rbx,%r8
140043bde:	e8 bd 3b fe ff       	call   0x1400277a0
140043be3:	83 e6 1f             	and    $0x1f,%esi
140043be6:	41 8b c7             	mov    %r15d,%eax
140043be9:	40 8a ce             	mov    %sil,%cl
140043bec:	d3 e0                	shl    %cl,%eax
140043bee:	89 84 1d 44 03 00 00 	mov    %eax,0x344(%rbp,%rbx,1)
140043bf5:	e9 ee fe ff ff       	jmp    0x140043ae8
140043bfa:	41 8d 46 ff          	lea    -0x1(%r14),%eax
140043bfe:	41 3b c3             	cmp    %r11d,%eax
140043c01:	74 b6                	je     0x140043bb9
140043c03:	44 8b d0             	mov    %eax,%r10d
140043c06:	44 8d 40 ff          	lea    -0x1(%rax),%r8d
140043c0a:	3b c2                	cmp    %edx,%eax
140043c0c:	73 07                	jae    0x140043c15
140043c0e:	46 8b 4c 95 a4       	mov    -0x5c(%rbp,%r10,4),%r9d
140043c13:	eb 03                	jmp    0x140043c18
140043c15:	45 33 c9             	xor    %r9d,%r9d
140043c18:	44 3b c2             	cmp    %edx,%r8d
140043c1b:	73 07                	jae    0x140043c24
140043c1d:	42 8b 4c 85 a4       	mov    -0x5c(%rbp,%r8,4),%ecx
140043c22:	eb 02                	jmp    0x140043c26
140043c24:	33 c9                	xor    %ecx,%ecx
140043c26:	c1 e9 1f             	shr    $0x1f,%ecx
140043c29:	43 8d 04 09          	lea    (%r9,%r9,1),%eax
140043c2d:	0b c8                	or     %eax,%ecx
140043c2f:	41 8b c0             	mov    %r8d,%eax
140043c32:	42 89 4c 95 a4       	mov    %ecx,-0x5c(%rbp,%r10,4)
140043c37:	45 3b c3             	cmp    %r11d,%r8d
140043c3a:	0f 84 79 ff ff ff    	je     0x140043bb9
140043c40:	8b 55 a0             	mov    -0x60(%rbp),%edx
140043c43:	eb be                	jmp    0x140043c03
140043c45:	4c 8b c3             	mov    %rbx,%r8
140043c48:	33 d2                	xor    %edx,%edx
140043c4a:	e8 51 3b fe ff       	call   0x1400277a0
140043c4f:	e8 e4 7d fe ff       	call   0x14002ba38
140043c54:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
140043c5a:	e8 45 79 fe ff       	call   0x14002b5a4
140043c5f:	44 8b a5 70 01 00 00 	mov    0x170(%rbp),%r12d
140043c66:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
140043c6a:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
140043c6f:	85 c9                	test   %ecx,%ecx
140043c71:	0f 88 e8 04 00 00    	js     0x14004415f
140043c77:	f7 e1                	mul    %ecx
140043c79:	8b c2                	mov    %edx,%eax
140043c7b:	48 8d 15 7e c3 fb ff 	lea    -0x43c82(%rip),%rdx        # 0x140000000
140043c82:	c1 e8 03             	shr    $0x3,%eax
140043c85:	89 44 24 50          	mov    %eax,0x50(%rsp)
140043c89:	8b c8                	mov    %eax,%ecx
140043c8b:	89 44 24 38          	mov    %eax,0x38(%rsp)
140043c8f:	85 c0                	test   %eax,%eax
140043c91:	0f 84 26 04 00 00    	je     0x1400440bd
140043c97:	41 b8 26 00 00 00    	mov    $0x26,%r8d
140043c9d:	41 3b c8             	cmp    %r8d,%ecx
140043ca0:	8b c1                	mov    %ecx,%eax
140043ca2:	41 0f 47 c0          	cmova  %r8d,%eax
140043ca6:	89 44 24 48          	mov    %eax,0x48(%rsp)
140043caa:	ff c8                	dec    %eax
140043cac:	8b f8                	mov    %eax,%edi
140043cae:	0f b6 8c 82 e2 05 05 	movzbl 0x505e2(%rdx,%rax,4),%ecx
140043cb5:	00
140043cb6:	0f b6 b4 82 e3 05 05 	movzbl 0x505e3(%rdx,%rax,4),%esi
140043cbd:	00
140043cbe:	33 d2                	xor    %edx,%edx
140043cc0:	48 8d 1c 8d 00 00 00 	lea    0x0(,%rcx,4),%rbx
140043cc7:	00
140043cc8:	8d 04 0e             	lea    (%rsi,%rcx,1),%eax
140043ccb:	4c 8b c3             	mov    %rbx,%r8
140043cce:	48 8d 8d 44 03 00 00 	lea    0x344(%rbp),%rcx
140043cd5:	89 85 40 03 00 00    	mov    %eax,0x340(%rbp)
140043cdb:	e8 c0 3a fe ff       	call   0x1400277a0
140043ce0:	48 8d 0d 19 c3 fb ff 	lea    -0x43ce7(%rip),%rcx        # 0x140000000
140043ce7:	48 c1 e6 02          	shl    $0x2,%rsi
140043ceb:	0f b7 84 b9 e0 05 05 	movzwl 0x505e0(%rcx,%rdi,4),%eax
140043cf2:	00
140043cf3:	48 8d 91 d0 fc 04 00 	lea    0x4fcd0(%rcx),%rdx
140043cfa:	48 8d 8d 44 03 00 00 	lea    0x344(%rbp),%rcx
140043d01:	4c 8b c6             	mov    %rsi,%r8
140043d04:	48 03 cb             	add    %rbx,%rcx
140043d07:	48 8d 14 82          	lea    (%rdx,%rax,4),%rdx
140043d0b:	e8 c0 33 fe ff       	call   0x1400270d0
140043d10:	44 8b 8d 40 03 00 00 	mov    0x340(%rbp),%r9d
140043d17:	45 3b cf             	cmp    %r15d,%r9d
140043d1a:	77 5b                	ja     0x140043d77
140043d1c:	8b 85 44 03 00 00    	mov    0x344(%rbp),%eax
140043d22:	85 c0                	test   %eax,%eax
140043d24:	75 08                	jne    0x140043d2e
140043d26:	45 33 e4             	xor    %r12d,%r12d
140043d29:	e9 18 01 00 00       	jmp    0x140043e46
140043d2e:	41 3b c7             	cmp    %r15d,%eax
140043d31:	0f 84 2d 01 00 00    	je     0x140043e64
140043d37:	45 85 e4             	test   %r12d,%r12d
140043d3a:	0f 84 24 01 00 00    	je     0x140043e64
140043d40:	45 33 c0             	xor    %r8d,%r8d
140043d43:	4c 8b d0             	mov    %rax,%r10
140043d46:	45 33 c9             	xor    %r9d,%r9d
140043d49:	42 8b 8c 8d 74 01 00 	mov    0x174(%rbp,%r9,4),%ecx
140043d50:	00
140043d51:	41 8b c0             	mov    %r8d,%eax
140043d54:	49 0f af ca          	imul   %r10,%rcx
140043d58:	48 03 c8             	add    %rax,%rcx
140043d5b:	4c 8b c1             	mov    %rcx,%r8
140043d5e:	42 89 8c 8d 74 01 00 	mov    %ecx,0x174(%rbp,%r9,4)
140043d65:	00
140043d66:	49 c1 e8 20          	shr    $0x20,%r8
140043d6a:	45 03 cf             	add    %r15d,%r9d
140043d6d:	45 3b cc             	cmp    %r12d,%r9d
140043d70:	75 d7                	jne    0x140043d49
140043d72:	e9 a9 00 00 00       	jmp    0x140043e20
140043d77:	45 3b e7             	cmp    %r15d,%r12d
140043d7a:	0f 87 54 01 00 00    	ja     0x140043ed4
140043d80:	8b 9d 74 01 00 00    	mov    0x174(%rbp),%ebx
140043d86:	4d 8b c1             	mov    %r9,%r8
140043d89:	49 c1 e0 02          	shl    $0x2,%r8
140043d8d:	45 8b e1             	mov    %r9d,%r12d
140043d90:	44 89 8d 70 01 00 00 	mov    %r9d,0x170(%rbp)
140043d97:	4d 85 c0             	test   %r8,%r8
140043d9a:	74 40                	je     0x140043ddc
140043d9c:	b8 cc 01 00 00       	mov    $0x1cc,%eax
140043da1:	48 8d 8d 74 01 00 00 	lea    0x174(%rbp),%rcx
140043da8:	4c 3b c0             	cmp    %rax,%r8
140043dab:	77 0e                	ja     0x140043dbb
140043dad:	48 8d 95 44 03 00 00 	lea    0x344(%rbp),%rdx
140043db4:	e8 17 33 fe ff       	call   0x1400270d0
140043db9:	eb 1a                	jmp    0x140043dd5
140043dbb:	4c 8b c0             	mov    %rax,%r8
140043dbe:	33 d2                	xor    %edx,%edx
140043dc0:	e8 db 39 fe ff       	call   0x1400277a0
140043dc5:	e8 6e 7c fe ff       	call   0x14002ba38
140043dca:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
140043dd0:	e8 cf 77 fe ff       	call   0x14002b5a4
140043dd5:	44 8b a5 70 01 00 00 	mov    0x170(%rbp),%r12d
140043ddc:	85 db                	test   %ebx,%ebx
140043dde:	0f 84 42 ff ff ff    	je     0x140043d26
140043de4:	41 3b df             	cmp    %r15d,%ebx