180117c9a:	48 8b f8             	mov    %rax,%rdi
180117c9d:	48 85 c0             	test   %rax,%rax
180117ca0:	0f 84 68 01 00 00    	je     0x180117e0e
180117ca6:	45 8b c7             	mov    %r15d,%r8d
180117ca9:	33 d2                	xor    %edx,%edx
180117cab:	48 8b c8             	mov    %rax,%rcx
180117cae:	e8 cd df 01 00       	call   0x180135c80
180117cb3:	41 8b cf             	mov    %r15d,%ecx
180117cb6:	e8 95 21 f8 ff       	call   0x180099e50
180117cbb:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
180117cbf:	48 8b f0             	mov    %rax,%rsi
180117cc2:	48 85 c0             	test   %rax,%rax
180117cc5:	0f 84 43 01 00 00    	je     0x180117e0e
180117ccb:	45 8b c7             	mov    %r15d,%r8d
180117cce:	33 d2                	xor    %edx,%edx
180117cd0:	48 8b c8             	mov    %rax,%rcx
180117cd3:	e8 a8 df 01 00       	call   0x180135c80
180117cd8:	48 8b 75 e8          	mov    -0x18(%rbp),%rsi
180117cdc:	33 ff                	xor    %edi,%edi
180117cde:	83 ff 0f             	cmp    $0xf,%edi
180117ce1:	41 bf 01 82 00 00    	mov    $0x8201,%r15d
180117ce7:	77 0c                	ja     0x180117cf5
180117ce9:	41 0f a3 ff          	bt     %edi,%r15d
180117ced:	73 06                	jae    0x180117cf5
180117cef:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
180117cf3:	eb 0e                	jmp    0x180117d03
180117cf5:	83 ff 0a             	cmp    $0xa,%edi
180117cf8:	75 06                	jne    0x180117d00
180117cfa:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
180117cfe:	eb 03                	jmp    0x180117d03
180117d00:	48 8b 0e             	mov    (%rsi),%rcx
180117d03:	48 85 c9             	test   %rcx,%rcx
180117d06:	0f 84 98 00 00 00    	je     0x180117da4
180117d0c:	83 ff 0a             	cmp    $0xa,%edi
180117d0f:	75 17                	jne    0x180117d28
180117d11:	4c 8d 4d c0          	lea    -0x40(%rbp),%r9
180117d15:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
180117d1a:	4c 8d 45 c8          	lea    -0x38(%rbp),%r8
180117d1e:	41 8b d5             	mov    %r13d,%edx
180117d21:	e8 b6 fa ff ff       	call   0x1801177dc
180117d26:	eb 2e                	jmp    0x180117d56
180117d28:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
180117d2d:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
180117d31:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
180117d36:	4c 8d 4d d8          	lea    -0x28(%rbp),%r9
180117d3a:	48 8d 45 c8          	lea    -0x38(%rbp),%rax
180117d3e:	45 8b c5             	mov    %r13d,%r8d
180117d41:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180117d46:	8b d7                	mov    %edi,%edx
180117d48:	48 8d 45 d0          	lea    -0x30(%rbp),%rax
180117d4c:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180117d51:	e8 e2 fb ff ff       	call   0x180117938
180117d56:	8b d8                	mov    %eax,%ebx
180117d58:	85 c0                	test   %eax,%eax
180117d5a:	0f 88 98 00 00 00    	js     0x180117df8
180117d60:	83 ff 0f             	cmp    $0xf,%edi
180117d63:	77 06                	ja     0x180117d6b
180117d65:	41 0f a3 ff          	bt     %edi,%r15d
180117d69:	72 39                	jb     0x180117da4
180117d6b:	48 8b 4e 28          	mov    0x28(%rsi),%rcx
180117d6f:	48 85 c9             	test   %rcx,%rcx
180117d72:	74 30                	je     0x180117da4
180117d74:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
180117d79:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
180117d7d:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
180117d82:	4c 8d 4d d8          	lea    -0x28(%rbp),%r9
180117d86:	48 8d 45 c8          	lea    -0x38(%rbp),%rax
180117d8a:	45 8b c5             	mov    %r13d,%r8d
180117d8d:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180117d92:	8b d7                	mov    %edi,%edx
180117d94:	48 8d 45 d0          	lea    -0x30(%rbp),%rax
180117d98:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180117d9d:	e8 96 fb ff ff       	call   0x180117938
180117da2:	8b d8                	mov    %eax,%ebx
180117da4:	ff c7                	inc    %edi
180117da6:	83 ff 0f             	cmp    $0xf,%edi
180117da9:	0f 8e 38 ff ff ff    	jle    0x180117ce7
180117daf:	41 8b 0e             	mov    (%r14),%ecx
180117db2:	85 c9                	test   %ecx,%ecx
180117db4:	74 42                	je     0x180117df8
180117db6:	b8 0c 00 00 00       	mov    $0xc,%eax
180117dbb:	48 f7 e1             	mul    %rcx
180117dbe:	48 8b c8             	mov    %rax,%rcx
180117dc1:	48 85 d2             	test   %rdx,%rdx
180117dc4:	74 0b                	je     0x180117dd1
180117dc6:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
180117dca:	bb 95 00 00 c0       	mov    $0xc0000095,%ebx
180117dcf:	eb 23                	jmp    0x180117df4
180117dd1:	48 83 c0 04          	add    $0x4,%rax
180117dd5:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
180117ddc:	48 3b c1             	cmp    %rcx,%rax
180117ddf:	48 0f 43 d0          	cmovae %rax,%rdx
180117de3:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
180117de7:	1b db                	sbb    %ebx,%ebx
180117de9:	48 89 10             	mov    %rdx,(%rax)
180117dec:	81 e3 95 00 00 c0    	and    $0xc0000095,%ebx
180117df2:	7d 0e                	jge    0x180117e02
180117df4:	48 83 20 00          	andq   $0x0,(%rax)
180117df8:	48 8b 7d d8          	mov    -0x28(%rbp),%rdi
180117dfc:	48 8b 75 c8          	mov    -0x38(%rbp),%rsi
180117e00:	eb 11                	jmp    0x180117e13
180117e02:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
180117e06:	4c 89 30             	mov    %r14,(%rax)
180117e09:	45 33 f6             	xor    %r14d,%r14d
180117e0c:	eb ea                	jmp    0x180117df8
180117e0e:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
180117e13:	48 85 f6             	test   %rsi,%rsi
180117e16:	74 08                	je     0x180117e20
180117e18:	48 8b ce             	mov    %rsi,%rcx
180117e1b:	e8 dc 21 f8 ff       	call   0x180099ffc
180117e20:	48 85 ff             	test   %rdi,%rdi
180117e23:	74 08                	je     0x180117e2d
180117e25:	48 8b cf             	mov    %rdi,%rcx
180117e28:	e8 cf 21 f8 ff       	call   0x180099ffc
180117e2d:	4d 85 f6             	test   %r14,%r14
180117e30:	0f 84 1c fe ff ff    	je     0x180117c52
180117e36:	49 8b ce             	mov    %r14,%rcx
180117e39:	e8 be 21 f8 ff       	call   0x180099ffc
180117e3e:	e9 0f fe ff ff       	jmp    0x180117c52
180117e43:	33 c0                	xor    %eax,%eax
180117e45:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
180117e4c:	41 5f                	pop    %r15
180117e4e:	41 5e                	pop    %r14
180117e50:	41 5d                	pop    %r13
180117e52:	5f                   	pop    %rdi
180117e53:	5e                   	pop    %rsi
180117e54:	5b                   	pop    %rbx
180117e55:	5d                   	pop    %rbp
180117e56:	c3                   	ret
180117e57:	cc                   	int3
180117e58:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180117e5d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180117e62:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180117e67:	57                   	push   %rdi
180117e68:	41 56                	push   %r14
180117e6a:	41 57                	push   %r15
180117e6c:	48 83 ec 40          	sub    $0x40,%rsp
180117e70:	49 8b f1             	mov    %r9,%rsi
180117e73:	4d 8b f8             	mov    %r8,%r15
180117e76:	48 8b fa             	mov    %rdx,%rdi
180117e79:	48 8b e9             	mov    %rcx,%rbp
180117e7c:	48 85 c9             	test   %rcx,%rcx
180117e7f:	0f 84 04 01 00 00    	je     0x180117f89
180117e85:	48 85 d2             	test   %rdx,%rdx
180117e88:	0f 84 fb 00 00 00    	je     0x180117f89
180117e8e:	48 83 3a 00          	cmpq   $0x0,(%rdx)
180117e92:	0f 84 f1 00 00 00    	je     0x180117f89
180117e98:	4d 85 c9             	test   %r9,%r9
180117e9b:	0f 84 e8 00 00 00    	je     0x180117f89
180117ea1:	45 33 f6             	xor    %r14d,%r14d
180117ea4:	33 d2                	xor    %edx,%edx
180117ea6:	e9 c2 00 00 00       	jmp    0x180117f6d
180117eab:	85 c0                	test   %eax,%eax
180117ead:	0f 88 db 00 00 00    	js     0x180117f8e
180117eb3:	48 8b 1f             	mov    (%rdi),%rbx
180117eb6:	83 64 24 34 00       	andl   $0x0,0x34(%rsp)
180117ebb:	8b 4b 04             	mov    0x4(%rbx),%ecx
180117ebe:	48 8d 43 14          	lea    0x14(%rbx),%rax
180117ec2:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
180117ec7:	0f b7 43 10          	movzwl 0x10(%rbx),%eax
180117ecb:	66 89 44 24 30       	mov    %ax,0x30(%rsp)
180117ed0:	66 89 44 24 32       	mov    %ax,0x32(%rsp)
180117ed5:	83 e9 03             	sub    $0x3,%ecx
180117ed8:	74 61                	je     0x180117f3b
180117eda:	83 f9 01             	cmp    $0x1,%ecx
180117edd:	0f 85 81 00 00 00    	jne    0x180117f64
180117ee3:	83 7b 0c 04          	cmpl   $0x4,0xc(%rbx)
180117ee7:	75 7b                	jne    0x180117f64
180117ee9:	8b 43 08             	mov    0x8(%rbx),%eax
180117eec:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180117ef1:	44 8a c1             	mov    %cl,%r8b
180117ef4:	48 8d 0d ed 56 04 00 	lea    0x456ed(%rip),%rcx        # 0x18015d5e8
180117efb:	8b 1c 18             	mov    (%rax,%rbx,1),%ebx
180117efe:	e8 01 58 f6 ff       	call   0x18007d704
180117f03:	84 c0                	test   %al,%al
180117f05:	74 0e                	je     0x180117f15
180117f07:	81 fb ff ff 00 00    	cmp    $0xffff,%ebx
180117f0d:	77 55                	ja     0x180117f64
180117f0f:	66 89 5e 04          	mov    %bx,0x4(%rsi)
180117f13:	eb 4f                	jmp    0x180117f64
180117f15:	41 b0 01             	mov    $0x1,%r8b
180117f18:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180117f1d:	48 8d 0d 44 57 04 00 	lea    0x45744(%rip),%rcx        # 0x18015d668
180117f24:	e8 db 57 f6 ff       	call   0x18007d704
180117f29:	84 c0                	test   %al,%al
180117f2b:	74 37                	je     0x180117f64
180117f2d:	81 fb ff ff 00 00    	cmp    $0xffff,%ebx
180117f33:	77 2f                	ja     0x180117f64
180117f35:	66 89 5e 06          	mov    %bx,0x6(%rsi)
180117f39:	eb 29                	jmp    0x180117f64
180117f3b:	83 7b 0c 08          	cmpl   $0x8,0xc(%rbx)
180117f3f:	75 23                	jne    0x180117f64
180117f41:	41 b0 01             	mov    $0x1,%r8b
180117f44:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180117f49:	48 8d 0d 68 57 04 00 	lea    0x45768(%rip),%rcx        # 0x18015d6b8
180117f50:	e8 af 57 f6 ff       	call   0x18007d704
180117f55:	84 c0                	test   %al,%al
180117f57:	74 0b                	je     0x180117f64
180117f59:	8b 43 08             	mov    0x8(%rbx),%eax
180117f5c:	48 8b 0c 18          	mov    (%rax,%rbx,1),%rcx
180117f60:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
180117f64:	41 ff c6             	inc    %r14d
180117f67:	48 8b cd             	mov    %rbp,%rcx
180117f6a:	41 8b d6             	mov    %r14d,%edx
180117f6d:	4c 8b cf             	mov    %rdi,%r9
180117f70:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
180117f75:	e8 de f4 ff ff       	call   0x180117458
180117f7a:	3d 1a 00 00 80       	cmp    $0x8000001a,%eax
180117f7f:	0f 85 26 ff ff ff    	jne    0x180117eab
180117f85:	33 c0                	xor    %eax,%eax
180117f87:	eb 05                	jmp    0x180117f8e
180117f89:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180117f8e:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
180117f93:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
180117f98:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
180117f9d:	48 83 c4 40          	add    $0x40,%rsp
180117fa1:	41 5f                	pop    %r15
180117fa3:	41 5e                	pop    %r14
180117fa5:	5f                   	pop    %rdi
180117fa6:	c3                   	ret
180117fa7:	cc                   	int3
180117fa8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180117fad:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
180117fb2:	89 54 24 10          	mov    %edx,0x10(%rsp)
180117fb6:	55                   	push   %rbp
180117fb7:	56                   	push   %rsi
180117fb8:	57                   	push   %rdi
180117fb9:	41 54                	push   %r12
180117fbb:	41 55                	push   %r13
180117fbd:	41 56                	push   %r14
180117fbf:	41 57                	push   %r15
180117fc1:	48 83 ec 40          	sub    $0x40,%rsp
180117fc5:	33 db                	xor    %ebx,%ebx
180117fc7:	49 8b f1             	mov    %r9,%rsi
180117fca:	45 8b f0             	mov    %r8d,%r14d
180117fcd:	44 8b e2             	mov    %edx,%r12d
180117fd0:	4c 8b e9             	mov    %rcx,%r13
180117fd3:	4d 85 c9             	test   %r9,%r9
180117fd6:	0f 84 27 01 00 00    	je     0x180118103
180117fdc:	49 39 19             	cmp    %rbx,(%r9)
180117fdf:	0f 84 1e 01 00 00    	je     0x180118103
180117fe5:	48 8b ac 24 a8 00 00 	mov    0xa8(%rsp),%rbp
180117fec:	00
180117fed:	48 85 ed             	test   %rbp,%rbp
180117ff0:	0f 84 0d 01 00 00    	je     0x180118103
180117ff6:	48 39 5d 00          	cmp    %rbx,0x0(%rbp)
180117ffa:	0f 84 03 01 00 00    	je     0x180118103
180118000:	48 8b bc 24 b8 00 00 	mov    0xb8(%rsp),%rdi
180118007:	00
180118008:	48 85 ff             	test   %rdi,%rdi
18011800b:	0f 84 f2 00 00 00    	je     0x180118103
180118011:	44 8b fb             	mov    %ebx,%r15d
180118014:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
18011801b:	00
18011801c:	4c 8b ce             	mov    %rsi,%r9
18011801f:	45 33 c0             	xor    %r8d,%r8d
180118022:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180118027:	41 8b d7             	mov    %r15d,%edx
18011802a:	49 8b cd             	mov    %r13,%rcx
18011802d:	e8 12 f3 ff ff       	call   0x180117344
180118032:	3d 1a 00 00 80       	cmp    $0x8000001a,%eax
180118037:	0f 84 c2 00 00 00    	je     0x1801180ff
18011803d:	85 c0                	test   %eax,%eax
18011803f:	0f 88 c3 00 00 00    	js     0x180118108
180118045:	44 39 37             	cmp    %r14d,(%rdi)
180118048:	0f 83 ac 00 00 00    	jae    0x1801180fa
18011804e:	48 8b 0e             	mov    (%rsi),%rcx
180118051:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
180118056:	4d 8b c5             	mov    %r13,%r8
180118059:	89 5c 24 34          	mov    %ebx,0x34(%rsp)
18011805d:	48 89 9c 24 98 00 00 	mov    %rbx,0x98(%rsp)
180118064:	00
180118065:	0f b7 41 0c          	movzwl 0xc(%rcx),%eax
180118069:	66 89 44 24 30       	mov    %ax,0x30(%rsp)
18011806e:	66 89 44 24 32       	mov    %ax,0x32(%rsp)
180118073:	48 8d 41 10          	lea    0x10(%rcx),%rax
180118077:	48 8d 8c 24 98 00 00 	lea    0x98(%rsp),%rcx
18011807e:	00
18011807f:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
180118084:	e8 5f 3a f0 ff       	call   0x18001bae8
180118089:	3d 34 00 00 c0       	cmp    $0xc0000034,%eax
18011808e:	74 5d                	je     0x1801180ed
180118090:	3d 7c 01 00 c0       	cmp    $0xc000017c,%eax
180118095:	74 56                	je     0x1801180ed
180118097:	85 c0                	test   %eax,%eax
180118099:	78 6d                	js     0x180118108
18011809b:	8b 07                	mov    (%rdi),%eax
18011809d:	4c 8d 4f 04          	lea    0x4(%rdi),%r9
1801180a1:	4c 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%r8
1801180a8:	00
1801180a9:	48 8b d5             	mov    %rbp,%rdx
1801180ac:	48 c1 e0 04          	shl    $0x4,%rax
1801180b0:	4c 03 c8             	add    %rax,%r9
1801180b3:	45 89 21             	mov    %r12d,(%r9)
1801180b6:	4c 8b a4 24 98 00 00 	mov    0x98(%rsp),%r12
1801180bd:	00
1801180be:	ff 07                	incl   (%rdi)
1801180c0:	49 8b cc             	mov    %r12,%rcx
1801180c3:	e8 90 fd ff ff       	call   0x180117e58
1801180c8:	44 8b f0             	mov    %eax,%r14d
1801180cb:	4d 85 e4             	test   %r12,%r12
1801180ce:	74 08                	je     0x1801180d8
1801180d0:	49 8b cc             	mov    %r12,%rcx
1801180d3:	e8 24 1f f8 ff       	call   0x180099ffc
1801180d8:	45 85 f6             	test   %r14d,%r14d
1801180db:	78 18                	js     0x1801180f5
1801180dd:	44 8b b4 24 90 00 00 	mov    0x90(%rsp),%r14d
1801180e4:	00
1801180e5:	44 8b a4 24 88 00 00 	mov    0x88(%rsp),%r12d
1801180ec:	00
1801180ed:	41 ff c7             	inc    %r15d
1801180f0:	e9 1f ff ff ff       	jmp    0x180118014
1801180f5:	41 8b c6             	mov    %r14d,%eax
1801180f8:	eb 0e                	jmp    0x180118108
1801180fa:	bb 23 00 00 c0       	mov    $0xc0000023,%ebx
1801180ff:	8b c3                	mov    %ebx,%eax
180118101:	eb 05                	jmp    0x180118108
180118103:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180118108:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
18011810f:	00
180118110:	48 83 c4 40          	add    $0x40,%rsp
180118114:	41 5f                	pop    %r15
180118116:	41 5e                	pop    %r14
180118118:	41 5d                	pop    %r13
18011811a:	41 5c                	pop    %r12
18011811c:	5f                   	pop    %rdi
18011811d:	5e                   	pop    %rsi
18011811e:	5d                   	pop    %rbp
18011811f:	c3                   	ret
180118120:	cc                   	int3
180118121:	cc                   	int3
180118122:	cc                   	int3
180118123:	cc                   	int3
180118124:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
180118129:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
18011812e:	89 54 24 10          	mov    %edx,0x10(%rsp)
180118132:	55                   	push   %rbp
180118133:	53                   	push   %rbx
180118134:	56                   	push   %rsi
180118135:	57                   	push   %rdi
180118136:	41 54                	push   %r12
180118138:	41 56                	push   %r14
18011813a:	41 57                	push   %r15
18011813c:	48 8b ec             	mov    %rsp,%rbp
18011813f:	48 83 ec 70          	sub    $0x70,%rsp
180118143:	49 8b c1             	mov    %r9,%rax
180118146:	4c 8b e1             	mov    %rcx,%r12
180118149:	45 33 c9             	xor    %r9d,%r9d
18011814c:	4c 89 4d 40          	mov    %r9,0x40(%rbp)
180118150:	45 8b f1             	mov    %r9d,%r14d