14012ae28:	48 f7 e1             	mul    %rcx
14012ae2b:	48 8b f2             	mov    %rdx,%rsi
14012ae2e:	48 d1 ee             	shr    $1,%rsi
14012ae31:	48 c1 e6 02          	shl    $0x2,%rsi
14012ae35:	f6 47 18 01          	testb  $0x1,0x18(%rdi)
14012ae39:	48 8b d6             	mov    %rsi,%rdx
14012ae3c:	74 0a                	je     0x14012ae48
14012ae3e:	48 8b cf             	mov    %rdi,%rcx
14012ae41:	e8 5a 03 00 00       	call   0x14012b1a0
14012ae46:	eb 16                	jmp    0x14012ae5e
14012ae48:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14012ae4c:	4c 8d 05 1d 98 1e 00 	lea    0x1e981d(%rip),%r8        # 0x140314670
14012ae53:	41 b9 61 00 00 00    	mov    $0x61,%r9d
14012ae59:	e8 92 0f fc ff       	call   0x1400ebdf0
14012ae5e:	48 8b c8             	mov    %rax,%rcx
14012ae61:	48 85 c0             	test   %rax,%rax
14012ae64:	75 42                	jne    0x14012aea8
14012ae66:	e8 05 c2 ff ff       	call   0x140127070
14012ae6b:	4c 8d 05 26 98 1e 00 	lea    0x1e9826(%rip),%r8        # 0x140314698
14012ae72:	ba 63 00 00 00       	mov    $0x63,%edx
14012ae77:	48 8d 0d f2 97 1e 00 	lea    0x1e97f2(%rip),%rcx        # 0x140314670
14012ae7e:	e8 0d c3 ff ff       	call   0x140127190
14012ae83:	45 33 c0             	xor    %r8d,%r8d
14012ae86:	ba 00 01 0c 00       	mov    $0xc0100,%edx
14012ae8b:	41 8d 48 07          	lea    0x7(%r8),%ecx
14012ae8f:	e8 fc c3 ff ff       	call   0x140127290
14012ae94:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
14012ae99:	33 db                	xor    %ebx,%ebx
14012ae9b:	8b c3                	mov    %ebx,%eax
14012ae9d:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14012aea2:	48 83 c4 20          	add    $0x20,%rsp
14012aea6:	5f                   	pop    %rdi
14012aea7:	c3                   	ret
14012aea8:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
14012aeac:	4c 8b c3             	mov    %rbx,%r8
14012aeaf:	4c 2b 07             	sub    (%rdi),%r8
14012aeb2:	33 d2                	xor    %edx,%edx
14012aeb4:	48 03 0f             	add    (%rdi),%rcx
14012aeb7:	48 89 77 10          	mov    %rsi,0x10(%rdi)
14012aebb:	e8 40 6b 1b 00       	call   0x1402e1a00
14012aec0:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
14012aec5:	48 8b c3             	mov    %rbx,%rax
14012aec8:	48 89 1f             	mov    %rbx,(%rdi)
14012aecb:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14012aed0:	48 83 c4 20          	add    $0x20,%rsp
14012aed4:	5f                   	pop    %rdi
14012aed5:	c3                   	ret
14012aed6:	cc                   	int3
14012aed7:	cc                   	int3
14012aed8:	cc                   	int3
14012aed9:	cc                   	int3
14012aeda:	cc                   	int3
14012aedb:	cc                   	int3
14012aedc:	cc                   	int3
14012aedd:	cc                   	int3
14012aede:	cc                   	int3
14012aedf:	cc                   	int3
14012aee0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14012aee5:	57                   	push   %rdi
14012aee6:	b8 30 00 00 00       	mov    $0x30,%eax
14012aeeb:	e8 40 5c 18 00       	call   0x1402b0b30
14012aef0:	48 2b e0             	sub    %rax,%rsp
14012aef3:	48 8b da             	mov    %rdx,%rbx
14012aef6:	48 8b f9             	mov    %rcx,%rdi
14012aef9:	48 8b 11             	mov    (%rcx),%rdx
14012aefc:	48 3b d3             	cmp    %rbx,%rdx
14012aeff:	72 2b                	jb     0x14012af2c
14012af01:	48 8b 41 08          	mov    0x8(%rcx),%rax
14012af05:	48 85 c0             	test   %rax,%rax
14012af08:	74 11                	je     0x14012af1b
14012af0a:	48 2b d3             	sub    %rbx,%rdx
14012af0d:	48 8d 0c 18          	lea    (%rax,%rbx,1),%rcx
14012af11:	4c 8b c2             	mov    %rdx,%r8
14012af14:	33 d2                	xor    %edx,%edx
14012af16:	e8 e5 6a 1b 00       	call   0x1402e1a00
14012af1b:	48 89 1f             	mov    %rbx,(%rdi)
14012af1e:	48 8b c3             	mov    %rbx,%rax
14012af21:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14012af26:	48 83 c4 30          	add    $0x30,%rsp
14012af2a:	5f                   	pop    %rdi
14012af2b:	c3                   	ret
14012af2c:	4c 8b 51 10          	mov    0x10(%rcx),%r10
14012af30:	4c 3b d3             	cmp    %rbx,%r10
14012af33:	72 25                	jb     0x14012af5a
14012af35:	48 8b 49 08          	mov    0x8(%rcx),%rcx
14012af39:	4c 8b c3             	mov    %rbx,%r8
14012af3c:	4c 2b c2             	sub    %rdx,%r8
14012af3f:	48 03 ca             	add    %rdx,%rcx
14012af42:	33 d2                	xor    %edx,%edx
14012af44:	e8 b7 6a 1b 00       	call   0x1402e1a00
14012af49:	48 8b c3             	mov    %rbx,%rax
14012af4c:	48 89 1f             	mov    %rbx,(%rdi)
14012af4f:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14012af54:	48 83 c4 30          	add    $0x30,%rsp
14012af58:	5f                   	pop    %rdi
14012af59:	c3                   	ret
14012af5a:	48 81 fb fc ff ff 5f 	cmp    $0x5ffffffc,%rbx
14012af61:	76 3b                	jbe    0x14012af9e
14012af63:	e8 08 c1 ff ff       	call   0x140127070
14012af68:	4c 8d 05 39 97 1e 00 	lea    0x1e9739(%rip),%r8        # 0x1403146a8
14012af6f:	ba 80 00 00 00       	mov    $0x80,%edx
14012af74:	48 8d 0d f5 96 1e 00 	lea    0x1e96f5(%rip),%rcx        # 0x140314670
14012af7b:	e8 10 c2 ff ff       	call   0x140127190
14012af80:	45 33 c0             	xor    %r8d,%r8d
14012af83:	ba 00 01 0c 00       	mov    $0xc0100,%edx
14012af88:	41 8d 48 07          	lea    0x7(%r8),%ecx
14012af8c:	e8 ff c2 ff ff       	call   0x140127290
14012af91:	33 c0                	xor    %eax,%eax
14012af93:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14012af98:	48 83 c4 30          	add    $0x30,%rsp
14012af9c:	5f                   	pop    %rdi
14012af9d:	c3                   	ret
14012af9e:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
14012afa3:	48 8d 4b 03          	lea    0x3(%rbx),%rcx
14012afa7:	48 b8 ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rax
14012afae:	aa aa aa
14012afb1:	48 f7 e1             	mul    %rcx
14012afb4:	48 8b f2             	mov    %rdx,%rsi
14012afb7:	48 d1 ee             	shr    $1,%rsi
14012afba:	48 c1 e6 02          	shl    $0x2,%rsi
14012afbe:	f6 47 18 01          	testb  $0x1,0x18(%rdi)
14012afc2:	74 0d                	je     0x14012afd1
14012afc4:	48 8b d6             	mov    %rsi,%rdx
14012afc7:	48 8b cf             	mov    %rdi,%rcx
14012afca:	e8 d1 01 00 00       	call   0x14012b1a0
14012afcf:	eb 1e                	jmp    0x14012afef
14012afd1:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14012afd5:	4c 8d 0d 94 96 1e 00 	lea    0x1e9694(%rip),%r9        # 0x140314670
14012afdc:	4c 8b c6             	mov    %rsi,%r8
14012afdf:	c7 44 24 20 87 00 00 	movl   $0x87,0x20(%rsp)
14012afe6:	00
14012afe7:	49 8b d2             	mov    %r10,%rdx
14012afea:	e8 41 0f fc ff       	call   0x1400ebf30
14012afef:	48 8b c8             	mov    %rax,%rcx
14012aff2:	48 85 c0             	test   %rax,%rax
14012aff5:	75 42                	jne    0x14012b039
14012aff7:	e8 74 c0 ff ff       	call   0x140127070
14012affc:	4c 8d 05 a5 96 1e 00 	lea    0x1e96a5(%rip),%r8        # 0x1403146a8
14012b003:	ba 89 00 00 00       	mov    $0x89,%edx
14012b008:	48 8d 0d 61 96 1e 00 	lea    0x1e9661(%rip),%rcx        # 0x140314670
14012b00f:	e8 7c c1 ff ff       	call   0x140127190
14012b014:	45 33 c0             	xor    %r8d,%r8d
14012b017:	ba 00 01 0c 00       	mov    $0xc0100,%edx
14012b01c:	41 8d 48 07          	lea    0x7(%r8),%ecx
14012b020:	e8 6b c2 ff ff       	call   0x140127290
14012b025:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14012b02a:	33 db                	xor    %ebx,%ebx
14012b02c:	8b c3                	mov    %ebx,%eax
14012b02e:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14012b033:	48 83 c4 30          	add    $0x30,%rsp
14012b037:	5f                   	pop    %rdi
14012b038:	c3                   	ret
14012b039:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
14012b03d:	4c 8b c3             	mov    %rbx,%r8
14012b040:	4c 2b 07             	sub    (%rdi),%r8
14012b043:	33 d2                	xor    %edx,%edx
14012b045:	48 03 0f             	add    (%rdi),%rcx
14012b048:	48 89 77 10          	mov    %rsi,0x10(%rdi)
14012b04c:	e8 af 69 1b 00       	call   0x1402e1a00
14012b051:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14012b056:	48 8b c3             	mov    %rbx,%rax
14012b059:	48 89 1f             	mov    %rbx,(%rdi)
14012b05c:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14012b061:	48 83 c4 30          	add    $0x30,%rsp
14012b065:	5f                   	pop    %rdi
14012b066:	c3                   	ret
14012b067:	cc                   	int3
14012b068:	cc                   	int3
14012b069:	cc                   	int3
14012b06a:	cc                   	int3
14012b06b:	cc                   	int3
14012b06c:	cc                   	int3
14012b06d:	cc                   	int3
14012b06e:	cc                   	int3
14012b06f:	cc                   	int3
14012b070:	b8 28 00 00 00       	mov    $0x28,%eax
14012b075:	e8 b6 5a 18 00       	call   0x1402b0b30
14012b07a:	48 2b e0             	sub    %rax,%rsp
14012b07d:	44 8d 40 fb          	lea    -0x5(%rax),%r8d
14012b081:	48 8d 15 e8 95 1e 00 	lea    0x1e95e8(%rip),%rdx        # 0x140314670
14012b088:	8d 48 f8             	lea    -0x8(%rax),%ecx
14012b08b:	e8 30 10 fc ff       	call   0x1400ec0c0
14012b090:	48 85 c0             	test   %rax,%rax
14012b093:	75 30                	jne    0x14012b0c5
14012b095:	e8 d6 bf ff ff       	call   0x140127070
14012b09a:	4c 8d 05 e7 95 1e 00 	lea    0x1e95e7(%rip),%r8        # 0x140314688
14012b0a1:	ba 25 00 00 00       	mov    $0x25,%edx
14012b0a6:	48 8d 0d c3 95 1e 00 	lea    0x1e95c3(%rip),%rcx        # 0x140314670
14012b0ad:	e8 de c0 ff ff       	call   0x140127190
14012b0b2:	45 33 c0             	xor    %r8d,%r8d
14012b0b5:	ba 00 01 0c 00       	mov    $0xc0100,%edx
14012b0ba:	41 8d 48 07          	lea    0x7(%r8),%ecx
14012b0be:	e8 cd c1 ff ff       	call   0x140127290
14012b0c3:	33 c0                	xor    %eax,%eax
14012b0c5:	48 83 c4 28          	add    $0x28,%rsp
14012b0c9:	c3                   	ret
14012b0ca:	cc                   	int3
14012b0cb:	cc                   	int3
14012b0cc:	cc                   	int3
14012b0cd:	cc                   	int3
14012b0ce:	cc                   	int3
14012b0cf:	cc                   	int3
14012b0d0:	40 53                	rex push %rbx
14012b0d2:	b8 20 00 00 00       	mov    $0x20,%eax
14012b0d7:	e8 54 5a 18 00       	call   0x1402b0b30
14012b0dc:	48 2b e0             	sub    %rax,%rsp
14012b0df:	8b d9                	mov    %ecx,%ebx
14012b0e1:	44 8d 40 03          	lea    0x3(%rax),%r8d
14012b0e5:	8b c8                	mov    %eax,%ecx
14012b0e7:	48 8d 15 82 95 1e 00 	lea    0x1e9582(%rip),%rdx        # 0x140314670
14012b0ee:	e8 cd 0f fc ff       	call   0x1400ec0c0
14012b0f3:	48 85 c0             	test   %rax,%rax
14012b0f6:	75 36                	jne    0x14012b12e
14012b0f8:	e8 73 bf ff ff       	call   0x140127070
14012b0fd:	4c 8d 05 84 95 1e 00 	lea    0x1e9584(%rip),%r8        # 0x140314688
14012b104:	ba 25 00 00 00       	mov    $0x25,%edx
14012b109:	48 8d 0d 60 95 1e 00 	lea    0x1e9560(%rip),%rcx        # 0x140314670
14012b110:	e8 7b c0 ff ff       	call   0x140127190
14012b115:	45 33 c0             	xor    %r8d,%r8d
14012b118:	ba 00 01 0c 00       	mov    $0xc0100,%edx
14012b11d:	41 8d 48 07          	lea    0x7(%r8),%ecx
14012b121:	e8 6a c1 ff ff       	call   0x140127290
14012b126:	33 c0                	xor    %eax,%eax
14012b128:	48 83 c4 20          	add    $0x20,%rsp
14012b12c:	5b                   	pop    %rbx
14012b12d:	c3                   	ret
14012b12e:	89 58 18             	mov    %ebx,0x18(%rax)
14012b131:	48 83 c4 20          	add    $0x20,%rsp
14012b135:	5b                   	pop    %rbx
14012b136:	c3                   	ret
14012b137:	cc                   	int3
14012b138:	cc                   	int3
14012b139:	cc                   	int3
14012b13a:	cc                   	int3
14012b13b:	cc                   	int3
14012b13c:	cc                   	int3
14012b13d:	cc                   	int3
14012b13e:	cc                   	int3
14012b13f:	cc                   	int3
14012b140:	49 8d 40 ff          	lea    -0x1(%r8),%rax
14012b144:	4c 8b c9             	mov    %rcx,%r9
14012b147:	48 03 c1             	add    %rcx,%rax
14012b14a:	48 85 d2             	test   %rdx,%rdx
14012b14d:	74 25                	je     0x14012b174
14012b14f:	4d 85 c0             	test   %r8,%r8
14012b152:	74 47                	je     0x14012b19b
14012b154:	0f 1f 40 00          	nopl   0x0(%rax)
14012b158:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14012b15f:	00
14012b160:	0f b6 0a             	movzbl (%rdx),%ecx
14012b163:	48 8d 52 01          	lea    0x1(%rdx),%rdx
14012b167:	88 08                	mov    %cl,(%rax)
14012b169:	48 8d 40 ff          	lea    -0x1(%rax),%rax
14012b16d:	49 83 e8 01          	sub    $0x1,%r8
14012b171:	75 ed                	jne    0x14012b160
14012b173:	c3                   	ret
14012b174:	49 d1 e8             	shr    $1,%r8
14012b177:	74 22                	je     0x14012b19b
14012b179:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
14012b180:	41 0f b6 09          	movzbl (%r9),%ecx
14012b184:	4d 8d 49 01          	lea    0x1(%r9),%r9
14012b188:	0f b6 10             	movzbl (%rax),%edx
14012b18b:	88 08                	mov    %cl,(%rax)
14012b18d:	48 8d 40 ff          	lea    -0x1(%rax),%rax
14012b191:	41 88 51 ff          	mov    %dl,-0x1(%r9)
14012b195:	49 83 e8 01          	sub    $0x1,%r8
14012b199:	75 e5                	jne    0x14012b180
14012b19b:	c3                   	ret
14012b19c:	cc                   	int3
14012b19d:	cc                   	int3
14012b19e:	cc                   	int3
14012b19f:	cc                   	int3
14012b1a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14012b1a5:	57                   	push   %rdi
14012b1a6:	b8 20 00 00 00       	mov    $0x20,%eax
14012b1ab:	e8 80 59 18 00       	call   0x1402b0b30
14012b1b0:	48 2b e0             	sub    %rax,%rsp
14012b1b3:	48 8b c2             	mov    %rdx,%rax
14012b1b6:	48 8b f9             	mov    %rcx,%rdi
14012b1b9:	48 8b c8             	mov    %rax,%rcx
14012b1bc:	48 8d 15 ad 94 1e 00 	lea    0x1e94ad(%rip),%rdx        # 0x140314670
14012b1c3:	41 b8 3e 00 00 00    	mov    $0x3e,%r8d
14012b1c9:	e8 52 02 00 00       	call   0x14012b420
14012b1ce:	48 8b 57 08          	mov    0x8(%rdi),%rdx
14012b1d2:	48 8b d8             	mov    %rax,%rbx
14012b1d5:	48 85 d2             	test   %rdx,%rdx
14012b1d8:	74 34                	je     0x14012b20e
14012b1da:	48 85 c0             	test   %rax,%rax
14012b1dd:	74 2f                	je     0x14012b20e
14012b1df:	4c 8b 07             	mov    (%rdi),%r8
14012b1e2:	48 8b c8             	mov    %rax,%rcx
14012b1e5:	e8 76 61 1b 00       	call   0x1402e1360
14012b1ea:	48 8b 17             	mov    (%rdi),%rdx
14012b1ed:	4c 8d 05 7c 94 1e 00 	lea    0x1e947c(%rip),%r8        # 0x140314670
14012b1f4:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14012b1f8:	41 b9 42 00 00 00    	mov    $0x42,%r9d
14012b1fe:	e8 9d 00 00 00       	call   0x14012b2a0
14012b203:	48 8b c3             	mov    %rbx,%rax
14012b206:	48 c7 47 08 00 00 00 	movq   $0x0,0x8(%rdi)
14012b20d:	00
14012b20e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14012b213:	48 83 c4 20          	add    $0x20,%rsp
14012b217:	5f                   	pop    %rdi
14012b218:	c3                   	ret
14012b219:	cc                   	int3
14012b21a:	cc                   	int3
14012b21b:	cc                   	int3
14012b21c:	cc                   	int3
14012b21d:	cc                   	int3
14012b21e:	cc                   	int3
14012b21f:	cc                   	int3
14012b220:	33 c0                	xor    %eax,%eax
14012b222:	83 c1 d0             	add    $0xffffffd0,%ecx
14012b225:	83 f9 09             	cmp    $0x9,%ecx
14012b228:	0f 96 c0             	setbe  %al
14012b22b:	c3                   	ret
14012b22c:	cc                   	int3
14012b22d:	cc                   	int3
14012b22e:	cc                   	int3
14012b22f:	cc                   	int3
14012b230:	83 f9 7f             	cmp    $0x7f,%ecx
14012b233:	77 18                	ja     0x14012b24d
14012b235:	48 63 c1             	movslq %ecx,%rax
14012b238:	48 8d 0d 81 94 1e 00 	lea    0x1e9481(%rip),%rcx        # 0x1403146c0
14012b23f:	0f b7 04 41          	movzwl (%rcx,%rax,2),%eax
14012b243:	85 c2                	test   %eax,%edx
14012b245:	74 06                	je     0x14012b24d
14012b247:	b8 01 00 00 00       	mov    $0x1,%eax
14012b24c:	c3                   	ret
14012b24d:	33 c0                	xor    %eax,%eax
14012b24f:	c3                   	ret
14012b250:	33 c0                	xor    %eax,%eax
14012b252:	83 c1 bf             	add    $0xffffffbf,%ecx
14012b255:	83 f9 19             	cmp    $0x19,%ecx
14012b258:	0f 96 c0             	setbe  %al
14012b25b:	c3                   	ret
14012b25c:	cc                   	int3
14012b25d:	cc                   	int3
14012b25e:	cc                   	int3
14012b25f:	cc                   	int3
14012b260:	8b c1                	mov    %ecx,%eax
14012b262:	8d 51 bf             	lea    -0x41(%rcx),%edx
14012b265:	83 f0 20             	xor    $0x20,%eax
14012b268:	83 fa 19             	cmp    $0x19,%edx
14012b26b:	0f 47 c1             	cmova  %ecx,%eax
14012b26e:	c3                   	ret
14012b26f:	cc                   	int3
14012b270:	83 3d a1 d2 2a 00 00 	cmpl   $0x0,0x2ad2a1(%rip)        # 0x1403d8518
14012b277:	48 8b d1             	mov    %rcx,%rdx
14012b27a:	74 1e                	je     0x14012b29a