180055bcb:	41 8b ff             	mov    %r15d,%edi
180055bce:	84 c0                	test   %al,%al
180055bd0:	74 2a                	je     0x180055bfc
180055bd2:	8b e8                	mov    %eax,%ebp
180055bd4:	45 8b c8             	mov    %r8d,%r9d
180055bd7:	49 8b ca             	mov    %r10,%rcx
180055bda:	44 8b c7             	mov    %edi,%r8d
180055bdd:	e8 6e b7 ff ff       	call   0x180051350
180055be2:	45 8d 41 01          	lea    0x1(%r9),%r8d
180055be6:	8a 48 02             	mov    0x2(%rax),%cl
180055be9:	80 e1 0f             	and    $0xf,%cl
180055bec:	80 e9 05             	sub    $0x5,%cl
180055bef:	80 f9 01             	cmp    $0x1,%cl
180055bf2:	45 0f 47 c1          	cmova  %r9d,%r8d
180055bf6:	ff c7                	inc    %edi
180055bf8:	3b fd                	cmp    %ebp,%edi
180055bfa:	72 d8                	jb     0x180055bd4
180055bfc:	ff c2                	inc    %edx
180055bfe:	eb b2                	jmp    0x180055bb2
180055c00:	41 0f b7 42 28       	movzwl 0x28(%r10),%eax
180055c05:	66 83 e0 40          	and    $0x40,%ax
180055c09:	45 84 f6             	test   %r14b,%r14b
180055c0c:	74 3d                	je     0x180055c4b
180055c0e:	66 85 c0             	test   %ax,%ax
180055c11:	75 77                	jne    0x180055c8a
180055c13:	41 8b c8             	mov    %r8d,%ecx
180055c16:	49 01 8b 38 01 00 00 	add    %rcx,0x138(%r11)
180055c1d:	49 8b 42 20          	mov    0x20(%r10),%rax
180055c21:	48 85 c0             	test   %rax,%rax
180055c24:	74 06                	je     0x180055c2c
180055c26:	48 83 c0 38          	add    $0x38,%rax
180055c2a:	eb 08                	jmp    0x180055c34
180055c2c:	49 8b 42 08          	mov    0x8(%r10),%rax
180055c30:	48 83 c0 30          	add    $0x30,%rax
180055c34:	48 8b 40 08          	mov    0x8(%rax),%rax
180055c38:	48 0f af c1          	imul   %rcx,%rax
180055c3c:	49 01 83 58 01 00 00 	add    %rax,0x158(%r11)
180055c43:	66 41 83 4a 28 40    	orw    $0x40,0x28(%r10)
180055c49:	eb 3f                	jmp    0x180055c8a
180055c4b:	66 85 c0             	test   %ax,%ax
180055c4e:	74 3a                	je     0x180055c8a
180055c50:	41 8b c8             	mov    %r8d,%ecx
180055c53:	49 29 8b 38 01 00 00 	sub    %rcx,0x138(%r11)
180055c5a:	49 8b 42 20          	mov    0x20(%r10),%rax
180055c5e:	48 85 c0             	test   %rax,%rax
180055c61:	74 06                	je     0x180055c69
180055c63:	48 83 c0 38          	add    $0x38,%rax
180055c67:	eb 08                	jmp    0x180055c71
180055c69:	49 8b 42 08          	mov    0x8(%r10),%rax
180055c6d:	48 83 c0 30          	add    $0x30,%rax
180055c71:	48 8b 40 08          	mov    0x8(%rax),%rax
180055c75:	48 0f af c1          	imul   %rcx,%rax
180055c79:	49 29 83 58 01 00 00 	sub    %rax,0x158(%r11)
180055c80:	b8 bf ff 00 00       	mov    $0xffbf,%eax
180055c85:	66 41 21 42 28       	and    %ax,0x28(%r10)
180055c8a:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180055c8f:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180055c94:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180055c99:	48 83 c4 20          	add    $0x20,%rsp
180055c9d:	41 5f                	pop    %r15
180055c9f:	41 5e                	pop    %r14
180055ca1:	5f                   	pop    %rdi
180055ca2:	c3                   	ret
180055ca3:	cc                   	int3
180055ca4:	48 8b c4             	mov    %rsp,%rax
180055ca7:	48 89 58 08          	mov    %rbx,0x8(%rax)
180055cab:	48 89 68 10          	mov    %rbp,0x10(%rax)
180055caf:	48 89 70 18          	mov    %rsi,0x18(%rax)
180055cb3:	48 89 78 20          	mov    %rdi,0x20(%rax)
180055cb7:	41 56                	push   %r14
180055cb9:	48 83 ec 20          	sub    $0x20,%rsp
180055cbd:	33 db                	xor    %ebx,%ebx
180055cbf:	49 8b f1             	mov    %r9,%rsi
180055cc2:	4d 8b d0             	mov    %r8,%r10
180055cc5:	48 8b f9             	mov    %rcx,%rdi
180055cc8:	83 fa 18             	cmp    $0x18,%edx
180055ccb:	0f 8f b5 02 00 00    	jg     0x180055f86
180055cd1:	0f 84 a0 02 00 00    	je     0x180055f77
180055cd7:	83 fa 0f             	cmp    $0xf,%edx
180055cda:	0f 8f 88 01 00 00    	jg     0x180055e68
180055ce0:	83 fa 0e             	cmp    $0xe,%edx
180055ce3:	0f 8d 61 05 00 00    	jge    0x18005624a
180055ce9:	83 fa 01             	cmp    $0x1,%edx
180055cec:	0f 84 69 01 00 00    	je     0x180055e5b
180055cf2:	83 fa 03             	cmp    $0x3,%edx
180055cf5:	0f 84 51 01 00 00    	je     0x180055e4c
180055cfb:	83 fa 04             	cmp    $0x4,%edx
180055cfe:	0f 84 39 01 00 00    	je     0x180055e3d
180055d04:	83 fa 05             	cmp    $0x5,%edx
180055d07:	0f 84 b0 00 00 00    	je     0x180055dbd
180055d0d:	83 fa 06             	cmp    $0x6,%edx
180055d10:	74 5c                	je     0x180055d6e
180055d12:	0f 8e e2 03 00 00    	jle    0x1800560fa
180055d18:	83 fa 0b             	cmp    $0xb,%edx
180055d1b:	0f 8e 29 05 00 00    	jle    0x18005624a
180055d21:	83 fa 0c             	cmp    $0xc,%edx
180055d24:	74 39                	je     0x180055d5f
180055d26:	83 fa 0d             	cmp    $0xd,%edx
180055d29:	0f 85 cb 03 00 00    	jne    0x1800560fa
180055d2f:	48 8b 41 40          	mov    0x40(%rcx),%rax
180055d33:	48 05 f8 00 00 00    	add    $0xf8,%rax
180055d39:	48 8b 08             	mov    (%rax),%rcx
180055d3c:	48 3b c8             	cmp    %rax,%rcx
180055d3f:	0f 84 05 05 00 00    	je     0x18005624a
180055d45:	48 8b 41 e8          	mov    -0x18(%rcx),%rax
180055d49:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
180055d4e:	48 3b 01             	cmp    (%rcx),%rax
180055d51:	0f 83 f3 04 00 00    	jae    0x18005624a
180055d57:	48 89 01             	mov    %rax,(%rcx)
180055d5a:	e9 eb 04 00 00       	jmp    0x18005624a
180055d5f:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180055d64:	e8 13 12 00 00       	call   0x180056f7c
180055d69:	e9 da 04 00 00       	jmp    0x180056248
180055d6e:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
180055d73:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
180055d77:	8b 41 04             	mov    0x4(%rcx),%eax
180055d7a:	83 f8 01             	cmp    $0x1,%eax
180055d7d:	74 22                	je     0x180055da1
180055d7f:	3d 11 00 00 80       	cmp    $0x80000011,%eax
180055d84:	75 06                	jne    0x180055d8c
180055d86:	80 7f 2b 01          	cmpb   $0x1,0x2b(%rdi)
180055d8a:	74 07                	je     0x180055d93
180055d8c:	bb bb 00 00 c0       	mov    $0xc00000bb,%ebx
180055d91:	eb 21                	jmp    0x180055db4
180055d93:	38 5d 58             	cmp    %bl,0x58(%rbp)
180055d96:	74 09                	je     0x180055da1
180055d98:	f7 41 08 00 00 00 10 	testl  $0x10000000,0x8(%rcx)
180055d9f:	75 13                	jne    0x180055db4
180055da1:	4c 8b cd             	mov    %rbp,%r9
180055da4:	4c 8b c6             	mov    %rsi,%r8
180055da7:	49 8b d2             	mov    %r10,%rdx
180055daa:	48 8b cf             	mov    %rdi,%rcx
180055dad:	e8 06 08 00 00       	call   0x1800565b8
180055db2:	8b d8                	mov    %eax,%ebx
180055db4:	48 01 75 50          	add    %rsi,0x50(%rbp)
180055db8:	e9 8d 04 00 00       	jmp    0x18005624a
180055dbd:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
180055dc2:	8b 11                	mov    (%rcx),%edx
180055dc4:	4c 8b 41 08          	mov    0x8(%rcx),%r8
180055dc8:	83 ea 01             	sub    $0x1,%edx
180055dcb:	74 59                	je     0x180055e26
180055dcd:	83 ea 01             	sub    $0x1,%edx
180055dd0:	74 29                	je     0x180055dfb
180055dd2:	83 fa 04             	cmp    $0x4,%edx
180055dd5:	74 0a                	je     0x180055de1
180055dd7:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
180055ddc:	e9 69 04 00 00       	jmp    0x18005624a
180055de1:	48 8b 07             	mov    (%rdi),%rax
180055de4:	49 8b d0             	mov    %r8,%rdx
180055de7:	48 8b cf             	mov    %rdi,%rcx
180055dea:	48 8b 80 00 01 00 00 	mov    0x100(%rax),%rax
180055df1:	ff d0                	call   *%rax
180055df3:	0f 1f 00             	nopl   (%rax)
180055df6:	e9 4f 04 00 00       	jmp    0x18005624a
180055dfb:	48 8b 07             	mov    (%rdi),%rax
180055dfe:	48 8b cf             	mov    %rdi,%rcx
180055e01:	4d 85 c0             	test   %r8,%r8
180055e04:	75 0c                	jne    0x180055e12
180055e06:	48 8b 80 f8 00 00 00 	mov    0xf8(%rax),%rax
180055e0d:	e9 d1 03 00 00       	jmp    0x1800561e3
180055e12:	48 8b 80 f0 00 00 00 	mov    0xf0(%rax),%rax
180055e19:	49 8b d0             	mov    %r8,%rdx
180055e1c:	ff d0                	call   *%rax
180055e1e:	0f 1f 00             	nopl   (%rax)
180055e21:	e9 22 04 00 00       	jmp    0x180056248
180055e26:	48 8b 07             	mov    (%rdi),%rax
180055e29:	48 8b cf             	mov    %rdi,%rcx
180055e2c:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
180055e33:	ff d0                	call   *%rax
180055e35:	0f 1f 00             	nopl   (%rax)
180055e38:	e9 0d 04 00 00       	jmp    0x18005624a
180055e3d:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180055e42:	e8 21 04 00 00       	call   0x180056268
180055e47:	e9 fc 03 00 00       	jmp    0x180056248
180055e4c:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180055e51:	e8 aa 8d 0e 00       	call   0x18013ec00
180055e56:	e9 ed 03 00 00       	jmp    0x180056248
180055e5b:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
180055e60:	48 89 38             	mov    %rdi,(%rax)
180055e63:	e9 e2 03 00 00       	jmp    0x18005624a
180055e68:	83 ea 10             	sub    $0x10,%edx
180055e6b:	0f 84 f7 00 00 00    	je     0x180055f68
180055e71:	83 ea 01             	sub    $0x1,%edx
180055e74:	0f 84 df 00 00 00    	je     0x180055f59
180055e7a:	83 ea 01             	sub    $0x1,%edx
180055e7d:	0f 84 c7 00 00 00    	je     0x180055f4a
180055e83:	83 ea 01             	sub    $0x1,%edx
180055e86:	74 4d                	je     0x180055ed5
180055e88:	83 ea 01             	sub    $0x1,%edx
180055e8b:	74 28                	je     0x180055eb5
180055e8d:	83 ea 01             	sub    $0x1,%edx
180055e90:	74 0e                	je     0x180055ea0
180055e92:	83 fa 02             	cmp    $0x2,%edx
180055e95:	0f 84 af 03 00 00    	je     0x18005624a
180055e9b:	e9 5a 02 00 00       	jmp    0x1800560fa
180055ea0:	4c 8b 4c 24 50       	mov    0x50(%rsp),%r9
180055ea5:	4c 8b c6             	mov    %rsi,%r8
180055ea8:	49 8b d2             	mov    %r10,%rdx
180055eab:	e8 bc 0e 00 00       	call   0x180056d6c
180055eb0:	e9 93 03 00 00       	jmp    0x180056248
180055eb5:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180055eba:	48 8b 42 28          	mov    0x28(%rdx),%rax
180055ebe:	8b 48 1c             	mov    0x1c(%rax),%ecx
180055ec1:	c7 40 20 28 00 00 00 	movl   $0x28,0x20(%rax)
180055ec8:	48 01 72 50          	add    %rsi,0x50(%rdx)
180055ecc:	48 01 34 01          	add    %rsi,(%rcx,%rax,1)
180055ed0:	e9 75 03 00 00       	jmp    0x18005624a
180055ed5:	48 8b 49 40          	mov    0x40(%rcx),%rcx
180055ed9:	48 8d 81 f8 00 00 00 	lea    0xf8(%rcx),%rax
180055ee0:	48 8b 30             	mov    (%rax),%rsi
180055ee3:	48 3b f0             	cmp    %rax,%rsi
180055ee6:	75 07                	jne    0x180055eef
180055ee8:	48 8b b1 08 01 00 00 	mov    0x108(%rcx),%rsi
180055eef:	48 8d 81 08 01 00 00 	lea    0x108(%rcx),%rax
180055ef6:	48 3b f0             	cmp    %rax,%rsi
180055ef9:	0f 84 4b 03 00 00    	je     0x18005624a
180055eff:	4c 8b 74 24 50       	mov    0x50(%rsp),%r14
180055f04:	48 8d 56 d0          	lea    -0x30(%rsi),%rdx
180055f08:	48 8b 36             	mov    (%rsi),%rsi
180055f0b:	48 8d 81 f8 00 00 00 	lea    0xf8(%rcx),%rax
180055f12:	48 3b f0             	cmp    %rax,%rsi
180055f15:	75 07                	jne    0x180055f1e
180055f17:	48 8b b1 08 01 00 00 	mov    0x108(%rcx),%rsi
180055f1e:	49 8b 06             	mov    (%r14),%rax
180055f21:	48 39 42 10          	cmp    %rax,0x10(%rdx)
180055f25:	73 12                	jae    0x180055f39
180055f27:	41 b1 01             	mov    $0x1,%r9b
180055f2a:	4c 8b c0             	mov    %rax,%r8
180055f2d:	48 8b cf             	mov    %rdi,%rcx
180055f30:	e8 73 c9 ff ff       	call   0x1800528a8
180055f35:	48 8b 4f 40          	mov    0x40(%rdi),%rcx
180055f39:	48 8d 81 08 01 00 00 	lea    0x108(%rcx),%rax
180055f40:	48 3b f0             	cmp    %rax,%rsi
180055f43:	75 bf                	jne    0x180055f04
180055f45:	e9 00 03 00 00       	jmp    0x18005624a
180055f4a:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180055f4f:	e8 d8 18 00 00       	call   0x18005782c
180055f54:	e9 ef 02 00 00       	jmp    0x180056248
180055f59:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180055f5e:	e8 f9 15 00 00       	call   0x18005755c
180055f63:	e9 e0 02 00 00       	jmp    0x180056248
180055f68:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180055f6d:	e8 aa 13 00 00       	call   0x18005731c
180055f72:	e9 d1 02 00 00       	jmp    0x180056248
180055f77:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180055f7c:	e8 87 19 00 00       	call   0x180057908
180055f81:	e9 c2 02 00 00       	jmp    0x180056248
180055f86:	83 fa 21             	cmp    $0x21,%edx
180055f89:	0f 8f 34 01 00 00    	jg     0x1800560c3
180055f8f:	0f 84 1f 01 00 00    	je     0x1800560b4
180055f95:	83 ea 19             	sub    $0x19,%edx
180055f98:	0f 84 07 01 00 00    	je     0x1800560a5
180055f9e:	83 ea 01             	sub    $0x1,%edx
180055fa1:	0f 84 f0 00 00 00    	je     0x180056097
180055fa7:	83 ea 01             	sub    $0x1,%edx
180055faa:	0f 84 dd 00 00 00    	je     0x18005608d
180055fb0:	83 ea 01             	sub    $0x1,%edx
180055fb3:	0f 84 ca 00 00 00    	je     0x180056083
180055fb9:	83 ea 01             	sub    $0x1,%edx
180055fbc:	0f 84 b7 00 00 00    	je     0x180056079
180055fc2:	83 ea 01             	sub    $0x1,%edx
180055fc5:	0f 84 a4 00 00 00    	je     0x18005606f
180055fcb:	83 ea 01             	sub    $0x1,%edx
180055fce:	74 18                	je     0x180055fe8
180055fd0:	83 fa 01             	cmp    $0x1,%edx
180055fd3:	0f 85 21 01 00 00    	jne    0x1800560fa
180055fd9:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180055fde:	e8 39 24 00 00       	call   0x18005841c
180055fe3:	e9 60 02 00 00       	jmp    0x180056248
180055fe8:	44 8a cb             	mov    %bl,%r9b
180055feb:	4d 85 d2             	test   %r10,%r10
180055fee:	0f 85 56 02 00 00    	jne    0x18005624a
180055ff4:	4c 8b 51 08          	mov    0x8(%rcx),%r10
180055ff8:	49 3b 72 70          	cmp    0x70(%r10),%rsi
180055ffc:	0f 85 48 02 00 00    	jne    0x18005624a
180056002:	48 8b 71 20          	mov    0x20(%rcx),%rsi
180056006:	8b d3                	mov    %ebx,%edx
180056008:	48 85 f6             	test   %rsi,%rsi
18005600b:	49 8d 42 50          	lea    0x50(%r10),%rax
18005600f:	48 8d 4e 58          	lea    0x58(%rsi),%rcx
180056013:	48 0f 44 c8          	cmove  %rax,%rcx
180056017:	3b 51 10             	cmp    0x10(%rcx),%edx
18005601a:	73 3b                	jae    0x180056057
18005601c:	44 0f b6 5f 2b       	movzbl 0x2b(%rdi),%r11d
180056021:	44 8b c3             	mov    %ebx,%r8d
180056024:	45 85 db             	test   %r11d,%r11d
180056027:	74 2a                	je     0x180056053
180056029:	48 8b cf             	mov    %rdi,%rcx
18005602c:	e8 1f b3 ff ff       	call   0x180051350
180056031:	0f b6 48 02          	movzbl 0x2(%rax),%ecx
180056035:	83 e1 0f             	and    $0xf,%ecx
180056038:	83 e9 05             	sub    $0x5,%ecx
18005603b:	74 0b                	je     0x180056048
18005603d:	83 f9 01             	cmp    $0x1,%ecx
180056040:	0f 84 04 02 00 00    	je     0x18005624a
180056046:	eb 03                	jmp    0x18005604b
180056048:	41 b1 01             	mov    $0x1,%r9b
18005604b:	41 ff c0             	inc    %r8d
18005604e:	45 3b c3             	cmp    %r11d,%r8d
180056051:	72 d6                	jb     0x180056029
180056053:	ff c2                	inc    %edx
180056055:	eb b1                	jmp    0x180056008
180056057:	45 84 c9             	test   %r9b,%r9b
18005605a:	0f 84 ea 01 00 00    	je     0x18005624a
180056060:	b2 01                	mov    $0x1,%dl
180056062:	48 8b cf             	mov    %rdi,%rcx
180056065:	e8 12 fb ff ff       	call   0x180055b7c
18005606a:	e9 db 01 00 00       	jmp    0x18005624a
18005606f:	e8 b0 21 00 00       	call   0x180058224
180056074:	e9 cf 01 00 00       	jmp    0x180056248
180056079:	e8 be 20 00 00       	call   0x18005813c
18005607e:	e9 c5 01 00 00       	jmp    0x180056248
180056083:	e8 24 1e 00 00       	call   0x180057eac
180056088:	e9 bb 01 00 00       	jmp    0x180056248
18005608d:	e8 fa 1c 00 00       	call   0x180057d8c
180056092:	e9 b1 01 00 00       	jmp    0x180056248
180056097:	8a 54 24 50          	mov    0x50(%rsp),%dl
18005609b:	e8 24 1c 00 00       	call   0x180057cc4
1800560a0:	e9 a3 01 00 00       	jmp    0x180056248
1800560a5:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
1800560aa:	e8 91 19 00 00       	call   0x180057a40
1800560af:	e9 94 01 00 00       	jmp    0x180056248
1800560b4:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
1800560b9:	e8 4a 28 00 00       	call   0x180058908
1800560be:	e9 85 01 00 00       	jmp    0x180056248
1800560c3:	83 ea 22             	sub    $0x22,%edx
1800560c6:	0f 84 6c 01 00 00    	je     0x180056238
1800560cc:	83 ea 01             	sub    $0x1,%edx
1800560cf:	0f 84 15 01 00 00    	je     0x1800561ea
1800560d5:	83 ea 01             	sub    $0x1,%edx
1800560d8:	0f 84 ec 00 00 00    	je     0x1800561ca
1800560de:	83 ea 01             	sub    $0x1,%edx
1800560e1:	0f 84 d7 00 00 00    	je     0x1800561be
1800560e7:	83 ea 01             	sub    $0x1,%edx
1800560ea:	0f 84 bf 00 00 00    	je     0x1800561af
1800560f0:	83 ea 01             	sub    $0x1,%edx
1800560f3:	74 58                	je     0x18005614d
1800560f5:	83 fa 01             	cmp    $0x1,%edx
1800560f8:	74 0a                	je     0x180056104
1800560fa:	bb 10 00 00 c0       	mov    $0xc0000010,%ebx
1800560ff:	e9 46 01 00 00       	jmp    0x18005624a
180056104:	8b f3                	mov    %ebx,%esi
180056106:	48 8b 47 20          	mov    0x20(%rdi),%rax
18005610a:	48 85 c0             	test   %rax,%rax
18005610d:	74 06                	je     0x180056115
18005610f:	48 83 c0 58          	add    $0x58,%rax
180056113:	eb 08                	jmp    0x18005611d
180056115:	48 8b 47 08          	mov    0x8(%rdi),%rax
180056119:	48 83 c0 50          	add    $0x50,%rax
18005611d:	3b 70 10             	cmp    0x10(%rax),%esi