180058d1c:	48 83 ec 30          	sub    $0x30,%rsp
180058d20:	48 8b 41 08          	mov    0x8(%rcx),%rax
180058d24:	45 33 f6             	xor    %r14d,%r14d
180058d27:	45 8a e6             	mov    %r14b,%r12b
180058d2a:	4c 8b c2             	mov    %rdx,%r8
180058d2d:	44 89 64 24 70       	mov    %r12d,0x70(%rsp)
180058d32:	48 8b d9             	mov    %rcx,%rbx
180058d35:	4c 8b a8 a8 00 00 00 	mov    0xa8(%rax),%r13
180058d3c:	4c 89 6c 24 78       	mov    %r13,0x78(%rsp)
180058d41:	48 85 d2             	test   %rdx,%rdx
180058d44:	0f 84 e0 01 00 00    	je     0x180058f2a
180058d4a:	48 8b 02             	mov    (%rdx),%rax
180058d4d:	48 8b 51 10          	mov    0x10(%rcx),%rdx
180058d51:	49 8b c8             	mov    %r8,%rcx
180058d54:	48 8b 40 68          	mov    0x68(%rax),%rax
180058d58:	ff d0                	call   *%rax
180058d5a:	0f 1f 00             	nopl   (%rax)
180058d5d:	4c 8b f8             	mov    %rax,%r15
180058d60:	48 85 c0             	test   %rax,%rax
180058d63:	0f 84 c1 01 00 00    	je     0x180058f2a
180058d69:	41 8b f6             	mov    %r14d,%esi
180058d6c:	45 8d 6e 01          	lea    0x1(%r14),%r13d
180058d70:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
180058d74:	48 85 c9             	test   %rcx,%rcx
180058d77:	74 06                	je     0x180058d7f
180058d79:	48 83 c1 58          	add    $0x58,%rcx
180058d7d:	eb 08                	jmp    0x180058d87
180058d7f:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
180058d83:	48 83 c1 50          	add    $0x50,%rcx
180058d87:	3b 71 10             	cmp    0x10(%rcx),%esi
180058d8a:	0f 83 5b 01 00 00    	jae    0x180058eeb
180058d90:	41 8b ee             	mov    %r14d,%ebp
180058d93:	44 38 73 2b          	cmp    %r14b,0x2b(%rbx)
180058d97:	0f 86 46 01 00 00    	jbe    0x180058ee3
180058d9d:	44 8b c5             	mov    %ebp,%r8d
180058da0:	8b d6                	mov    %esi,%edx
180058da2:	48 8b cb             	mov    %rbx,%rcx
180058da5:	e8 a6 85 ff ff       	call   0x180051350
180058daa:	48 8b f8             	mov    %rax,%rdi
180058dad:	8a 48 02             	mov    0x2(%rax),%cl
180058db0:	80 e1 0f             	and    $0xf,%cl
180058db3:	80 f9 07             	cmp    $0x7,%cl
180058db6:	0f 84 15 01 00 00    	je     0x180058ed1
180058dbc:	44 8b 40 10          	mov    0x10(%rax),%r8d
180058dc0:	49 8b cf             	mov    %r15,%rcx
180058dc3:	e8 b4 85 ff ff       	call   0x18005137c
180058dc8:	83 f8 ff             	cmp    $0xffffffff,%eax
180058dcb:	0f 84 00 01 00 00    	je     0x180058ed1
180058dd1:	44 8b c0             	mov    %eax,%r8d
180058dd4:	e8 77 85 ff ff       	call   0x180051350
180058dd9:	4c 8b f0             	mov    %rax,%r14
180058ddc:	48 85 c0             	test   %rax,%rax
180058ddf:	0f 84 ec 00 00 00    	je     0x180058ed1
180058de5:	0f b7 08             	movzwl (%rax),%ecx
180058de8:	f6 c1 40             	test   $0x40,%cl
180058deb:	74 0a                	je     0x180058df7
180058ded:	0f b7 0f             	movzwl (%rdi),%ecx
180058df0:	66 83 c9 40          	or     $0x40,%cx
180058df4:	66 89 0f             	mov    %cx,(%rdi)
180058df7:	44 8a 67 02          	mov    0x2(%rdi),%r12b
180058dfb:	41 8a cc             	mov    %r12b,%cl
180058dfe:	80 e1 0f             	and    $0xf,%cl
180058e01:	41 3a cd             	cmp    %r13b,%cl
180058e04:	74 49                	je     0x180058e4f
180058e06:	80 e9 03             	sub    $0x3,%cl
180058e09:	41 3a cd             	cmp    %r13b,%cl
180058e0c:	0f 87 96 00 00 00    	ja     0x180058ea8
180058e12:	48 8b d7             	mov    %rdi,%rdx
180058e15:	48 8b cb             	mov    %rbx,%rcx
180058e18:	e8 9f 85 ff ff       	call   0x1800513bc
180058e1d:	48 85 c0             	test   %rax,%rax
180058e20:	0f 84 82 00 00 00    	je     0x180058ea8
180058e26:	45 8a 4e 02          	mov    0x2(%r14),%r9b
180058e2a:	41 80 e1 0f          	and    $0xf,%r9b
180058e2e:	41 8d 41 fb          	lea    -0x5(%r9),%eax
180058e32:	41 3a c5             	cmp    %r13b,%al
180058e35:	77 71                	ja     0x180058ea8
180058e37:	41 c0 ec 04          	shr    $0x4,%r12b
180058e3b:	44 8b c5             	mov    %ebp,%r8d
180058e3e:	8b d6                	mov    %esi,%edx
180058e40:	44 88 64 24 20       	mov    %r12b,0x20(%rsp)
180058e45:	48 8b cb             	mov    %rbx,%rcx
180058e48:	e8 bb ca ff ff       	call   0x180055908
180058e4d:	eb 59                	jmp    0x180058ea8
180058e4f:	8a 40 02             	mov    0x2(%rax),%al
180058e52:	24 0f                	and    $0xf,%al
180058e54:	3c 02                	cmp    $0x2,%al
180058e56:	75 3f                	jne    0x180058e97
180058e58:	49 8b 07             	mov    (%r15),%rax
180058e5b:	49 8b cf             	mov    %r15,%rcx
180058e5e:	48 8b 80 b8 00 00 00 	mov    0xb8(%rax),%rax
180058e65:	ff d0                	call   *%rax
180058e67:	0f 1f 00             	nopl   (%rax)
180058e6a:	84 c0                	test   %al,%al
180058e6c:	74 29                	je     0x180058e97
180058e6e:	41 b1 03             	mov    $0x3,%r9b
180058e71:	44 88 6c 24 20       	mov    %r13b,0x20(%rsp)
180058e76:	44 8b c5             	mov    %ebp,%r8d
180058e79:	8b d6                	mov    %esi,%edx
180058e7b:	48 8b cb             	mov    %rbx,%rcx
180058e7e:	e8 89 cc ff ff       	call   0x180055b0c
180058e83:	44 8b c5             	mov    %ebp,%r8d
180058e86:	8b d6                	mov    %esi,%edx
180058e88:	48 8b cb             	mov    %rbx,%rcx
180058e8b:	e8 4c c9 ff ff       	call   0x1800557dc
180058e90:	44 88 6c 24 70       	mov    %r13b,0x70(%rsp)
180058e95:	eb 11                	jmp    0x180058ea8
180058e97:	41 0f b7 0e          	movzwl (%r14),%ecx
180058e9b:	0f b7 07             	movzwl (%rdi),%eax
180058e9e:	66 41 23 cd          	and    %r13w,%cx
180058ea2:	66 0b c8             	or     %ax,%cx
180058ea5:	66 89 0f             	mov    %cx,(%rdi)
180058ea8:	41 8a 4e 02          	mov    0x2(%r14),%cl
180058eac:	32 4f 02             	xor    0x2(%rdi),%cl
180058eaf:	f6 c1 0f             	test   $0xf,%cl
180058eb2:	75 1d                	jne    0x180058ed1
180058eb4:	8a 4f 03             	mov    0x3(%rdi),%cl
180058eb7:	41 32 4e 03          	xor    0x3(%r14),%cl
180058ebb:	80 e1 0f             	and    $0xf,%cl
180058ebe:	30 4f 03             	xor    %cl,0x3(%rdi)
180058ec1:	8a 47 03             	mov    0x3(%rdi),%al
180058ec4:	41 32 46 03          	xor    0x3(%r14),%al
180058ec8:	24 0f                	and    $0xf,%al
180058eca:	41 32 46 03          	xor    0x3(%r14),%al
180058ece:	88 47 03             	mov    %al,0x3(%rdi)
180058ed1:	0f b6 43 2b          	movzbl 0x2b(%rbx),%eax
180058ed5:	41 03 ed             	add    %r13d,%ebp
180058ed8:	3b e8                	cmp    %eax,%ebp
180058eda:	0f 82 bd fe ff ff    	jb     0x180058d9d
180058ee0:	45 33 f6             	xor    %r14d,%r14d
180058ee3:	41 03 f5             	add    %r13d,%esi
180058ee6:	e9 85 fe ff ff       	jmp    0x180058d70
180058eeb:	41 f6 47 28 40       	testb  $0x40,0x28(%r15)
180058ef0:	4c 8b 6c 24 78       	mov    0x78(%rsp),%r13
180058ef5:	74 0d                	je     0x180058f04
180058ef7:	ba 01 00 00 00       	mov    $0x1,%edx
180058efc:	48 8b cb             	mov    %rbx,%rcx
180058eff:	e8 78 cc ff ff       	call   0x180055b7c
180058f04:	48 8b 43 08          	mov    0x8(%rbx),%rax
180058f08:	44 8b 64 24 70       	mov    0x70(%rsp),%r12d
180058f0d:	4c 39 b0 50 01 00 00 	cmp    %r14,0x150(%rax)
180058f14:	74 39                	je     0x180058f4f
180058f16:	4c 39 73 40          	cmp    %r14,0x40(%rbx)
180058f1a:	75 33                	jne    0x180058f4f
180058f1c:	49 8b 47 40          	mov    0x40(%r15),%rax
180058f20:	48 89 43 40          	mov    %rax,0x40(%rbx)
180058f24:	4d 89 77 40          	mov    %r14,0x40(%r15)
180058f28:	eb 25                	jmp    0x180058f4f
180058f2a:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
180058f2e:	48 8b 81 50 01 00 00 	mov    0x150(%rcx),%rax
180058f35:	48 85 c0             	test   %rax,%rax
180058f38:	74 15                	je     0x180058f4f
180058f3a:	4c 39 70 10          	cmp    %r14,0x10(%rax)
180058f3e:	74 0f                	je     0x180058f4f
180058f40:	48 8b 01             	mov    (%rcx),%rax
180058f43:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
180058f4a:	ff d0                	call   *%rax
180058f4c:	0f 1f 00             	nopl   (%rax)
180058f4f:	41 8b f6             	mov    %r14d,%esi
180058f52:	41 bf 01 00 00 00    	mov    $0x1,%r15d
180058f58:	48 8b 43 20          	mov    0x20(%rbx),%rax
180058f5c:	48 85 c0             	test   %rax,%rax
180058f5f:	74 06                	je     0x180058f67
180058f61:	48 83 c0 58          	add    $0x58,%rax
180058f65:	eb 08                	jmp    0x180058f6f
180058f67:	48 8b 43 08          	mov    0x8(%rbx),%rax
180058f6b:	48 83 c0 50          	add    $0x50,%rax
180058f6f:	3b 70 10             	cmp    0x10(%rax),%esi
180058f72:	0f 83 89 01 00 00    	jae    0x180059101
180058f78:	41 8b ee             	mov    %r14d,%ebp
180058f7b:	44 38 73 2b          	cmp    %r14b,0x2b(%rbx)
180058f7f:	0f 86 74 01 00 00    	jbe    0x1800590f9
180058f85:	44 8b c5             	mov    %ebp,%r8d
180058f88:	8b d6                	mov    %esi,%edx
180058f8a:	48 8b cb             	mov    %rbx,%rcx
180058f8d:	e8 be 83 ff ff       	call   0x180051350
180058f92:	48 8b f8             	mov    %rax,%rdi
180058f95:	8a 48 02             	mov    0x2(%rax),%cl
180058f98:	80 e1 0f             	and    $0xf,%cl
180058f9b:	41 3a cf             	cmp    %r15b,%cl
180058f9e:	75 71                	jne    0x180059011
180058fa0:	48 8b d0             	mov    %rax,%rdx
180058fa3:	48 8b cb             	mov    %rbx,%rcx
180058fa6:	e8 59 84 ff ff       	call   0x180051404
180058fab:	48 8b 57 08          	mov    0x8(%rdi),%rdx
180058faf:	4c 8b 43 20          	mov    0x20(%rbx),%r8
180058fb3:	48 03 50 18          	add    0x18(%rax),%rdx
180058fb7:	4d 85 c0             	test   %r8,%r8
180058fba:	74 06                	je     0x180058fc2
180058fbc:	49 83 c0 38          	add    $0x38,%r8
180058fc0:	eb 08                	jmp    0x180058fca
180058fc2:	4c 8b 43 08          	mov    0x8(%rbx),%r8
180058fc6:	49 83 c0 30          	add    $0x30,%r8
180058fca:	48 8b 48 08          	mov    0x8(%rax),%rcx
180058fce:	4d 8b 40 08          	mov    0x8(%r8),%r8
180058fd2:	48 8b 01             	mov    (%rcx),%rax
180058fd5:	48 8b 40 60          	mov    0x60(%rax),%rax
180058fd9:	ff d0                	call   *%rax
180058fdb:	0f 1f 00             	nopl   (%rax)
180058fde:	84 c0                	test   %al,%al
180058fe0:	74 2f                	je     0x180059011
180058fe2:	41 b1 03             	mov    $0x3,%r9b
180058fe5:	c6 44 24 20 03       	movb   $0x3,0x20(%rsp)
180058fea:	44 8b c5             	mov    %ebp,%r8d
180058fed:	8b d6                	mov    %esi,%edx
180058fef:	48 8b cb             	mov    %rbx,%rcx
180058ff2:	e8 15 cb ff ff       	call   0x180055b0c
180058ff7:	3d 13 00 e7 c0       	cmp    $0xc0e70013,%eax
180058ffc:	45 0f b6 e4          	movzbl %r12b,%r12d
180059000:	44 8b c5             	mov    %ebp,%r8d
180059003:	8b d6                	mov    %esi,%edx
180059005:	48 8b cb             	mov    %rbx,%rcx
180059008:	45 0f 44 e7          	cmove  %r15d,%r12d
18005900c:	e8 cb c7 ff ff       	call   0x1800557dc
180059011:	83 7f 14 ff          	cmpl   $0xffffffff,0x14(%rdi)
180059015:	0f 84 cf 00 00 00    	je     0x1800590ea
18005901b:	0f b7 07             	movzwl (%rdi),%eax
18005901e:	a8 04                	test   $0x4,%al
180059020:	0f 85 c4 00 00 00    	jne    0x1800590ea
180059026:	eb 4e                	jmp    0x180059076
180059028:	89 47 14             	mov    %eax,0x14(%rdi)
18005902b:	ba fb ff 00 00       	mov    $0xfffb,%edx
180059030:	0f b7 01             	movzwl (%rcx),%eax
180059033:	83 49 14 ff          	orl    $0xffffffff,0x14(%rcx)
180059037:	66 23 c2             	and    %dx,%ax
18005903a:	66 89 01             	mov    %ax,(%rcx)
18005903d:	8a 41 02             	mov    0x2(%rcx),%al
180059040:	24 0f                	and    $0xf,%al
180059042:	3c 08                	cmp    $0x8,%al
180059044:	74 07                	je     0x18005904d
180059046:	c6 41 03 78          	movb   $0x78,0x3(%rcx)
18005904a:	45 8a e7             	mov    %r15b,%r12b
18005904d:	4d 01 bd 30 01 00 00 	add    %r15,0x130(%r13)
180059054:	48 8b 43 20          	mov    0x20(%rbx),%rax
180059058:	48 85 c0             	test   %rax,%rax
18005905b:	74 06                	je     0x180059063
18005905d:	48 83 c0 38          	add    $0x38,%rax
180059061:	eb 08                	jmp    0x18005906b
180059063:	48 8b 43 08          	mov    0x8(%rbx),%rax
180059067:	48 83 c0 30          	add    $0x30,%rax
18005906b:	48 8b 40 08          	mov    0x8(%rax),%rax
18005906f:	49 01 85 50 01 00 00 	add    %rax,0x150(%r13)
180059076:	44 8b 47 14          	mov    0x14(%rdi),%r8d
18005907a:	8b d6                	mov    %esi,%edx
18005907c:	48 8b cb             	mov    %rbx,%rcx
18005907f:	e8 cc 82 ff ff       	call   0x180051350
180059084:	48 8b c8             	mov    %rax,%rcx
180059087:	8b 40 14             	mov    0x14(%rax),%eax
18005908a:	83 f8 ff             	cmp    $0xffffffff,%eax
18005908d:	75 99                	jne    0x180059028
18005908f:	0f b7 07             	movzwl (%rdi),%eax
180059092:	a8 10                	test   $0x10,%al
180059094:	74 2b                	je     0x1800590c1
180059096:	4d 01 bd 28 01 00 00 	add    %r15,0x128(%r13)
18005909d:	48 8b 43 20          	mov    0x20(%rbx),%rax
1800590a1:	48 85 c0             	test   %rax,%rax
1800590a4:	74 06                	je     0x1800590ac
1800590a6:	48 83 c0 38          	add    $0x38,%rax
1800590aa:	eb 08                	jmp    0x1800590b4
1800590ac:	48 8b 43 08          	mov    0x8(%rbx),%rax
1800590b0:	48 83 c0 30          	add    $0x30,%rax
1800590b4:	48 8b 40 08          	mov    0x8(%rax),%rax
1800590b8:	49 01 85 48 01 00 00 	add    %rax,0x148(%r13)
1800590bf:	eb 29                	jmp    0x1800590ea
1800590c1:	4d 01 bd 20 01 00 00 	add    %r15,0x120(%r13)
1800590c8:	48 8b 43 20          	mov    0x20(%rbx),%rax
1800590cc:	48 85 c0             	test   %rax,%rax
1800590cf:	74 06                	je     0x1800590d7
1800590d1:	48 83 c0 38          	add    $0x38,%rax
1800590d5:	eb 08                	jmp    0x1800590df
1800590d7:	48 8b 43 08          	mov    0x8(%rbx),%rax
1800590db:	48 83 c0 30          	add    $0x30,%rax
1800590df:	48 8b 40 08          	mov    0x8(%rax),%rax
1800590e3:	49 01 85 40 01 00 00 	add    %rax,0x140(%r13)
1800590ea:	0f b6 43 2b          	movzbl 0x2b(%rbx),%eax
1800590ee:	41 03 ef             	add    %r15d,%ebp
1800590f1:	3b e8                	cmp    %eax,%ebp
1800590f3:	0f 82 8c fe ff ff    	jb     0x180058f85
1800590f9:	41 03 f7             	add    %r15d,%esi
1800590fc:	e9 57 fe ff ff       	jmp    0x180058f58
180059101:	45 84 e4             	test   %r12b,%r12b
180059104:	74 12                	je     0x180059118
180059106:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
18005910a:	33 d2                	xor    %edx,%edx
18005910c:	48 8b 01             	mov    (%rcx),%rax
18005910f:	48 8b 40 60          	mov    0x60(%rax),%rax
180059113:	ff d0                	call   *%rax
180059115:	0f 1f 00             	nopl   (%rax)
180059118:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
18005911f:	00
180059120:	48 83 c4 30          	add    $0x30,%rsp
180059124:	41 5f                	pop    %r15
180059126:	41 5e                	pop    %r14
180059128:	41 5d                	pop    %r13
18005912a:	41 5c                	pop    %r12
18005912c:	5f                   	pop    %rdi
18005912d:	5e                   	pop    %rsi
18005912e:	5d                   	pop    %rbp
18005912f:	c3                   	ret
180059130:	cc                   	int3
180059131:	cc                   	int3
180059132:	cc                   	int3
180059133:	cc                   	int3
180059134:	48 83 ec 38          	sub    $0x38,%rsp
180059138:	44 8b 01             	mov    (%rcx),%r8d
18005913b:	83 ca ff             	or     $0xffffffff,%edx
18005913e:	45 85 c0             	test   %r8d,%r8d
180059141:	74 21                	je     0x180059164
180059143:	41 83 f8 01          	cmp    $0x1,%r8d
180059147:	75 4b                	jne    0x180059194
180059149:	0f 10 05 b8 34 0f 00 	movups 0xf34b8(%rip),%xmm0        # 0x18014c608
180059150:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
180059155:	f3 0f 7f 44 24 20    	movdqu %xmm0,0x20(%rsp)
18005915b:	e8 3c 00 00 00       	call   0x18005919c
180059160:	8b d0                	mov    %eax,%edx
180059162:	eb 30                	jmp    0x180059194
180059164:	44 8b 41 04          	mov    0x4(%rcx),%r8d
180059168:	45 32 c9             	xor    %r9b,%r9b
18005916b:	33 c0                	xor    %eax,%eax
18005916d:	45 85 c0             	test   %r8d,%r8d
180059170:	74 1c                	je     0x18005918e
180059172:	48 83 c1 50          	add    $0x50,%rcx
180059176:	80 39 e7             	cmpb   $0xe7,(%rcx)
180059179:	74 10                	je     0x18005918b
18005917b:	ff c0                	inc    %eax
18005917d:	48 81 c1 90 00 00 00 	add    $0x90,%rcx
180059184:	41 3b c0             	cmp    %r8d,%eax
180059187:	72 ed                	jb     0x180059176
180059189:	eb 03                	jmp    0x18005918e
18005918b:	41 b1 01             	mov    $0x1,%r9b
18005918e:	45 84 c9             	test   %r9b,%r9b
180059191:	0f 45 d0             	cmovne %eax,%edx
180059194:	8b c2                	mov    %edx,%eax
180059196:	48 83 c4 38          	add    $0x38,%rsp
18005919a:	c3                   	ret
18005919b:	cc                   	int3
18005919c:	44 8b 51 04          	mov    0x4(%rcx),%r10d
1800591a0:	45 32 c9             	xor    %r9b,%r9b
1800591a3:	45 33 c0             	xor    %r8d,%r8d
1800591a6:	4c 8b da             	mov    %rdx,%r11
1800591a9:	45 85 d2             	test   %r10d,%r10d
1800591ac:	74 29                	je     0x1800591d7
1800591ae:	4b 8d 14 c0          	lea    (%r8,%r8,8),%rdx
1800591b2:	48 03 d2             	add    %rdx,%rdx
1800591b5:	48 8b 44 d1 50       	mov    0x50(%rcx,%rdx,8),%rax
1800591ba:	49 3b 03             	cmp    (%r11),%rax
1800591bd:	75 0b                	jne    0x1800591ca
1800591bf:	48 8b 44 d1 58       	mov    0x58(%rcx,%rdx,8),%rax
1800591c4:	49 3b 43 08          	cmp    0x8(%r11),%rax
1800591c8:	74 0a                	je     0x1800591d4