180042bcf:	c3                   	ret
180042bd0:	cc                   	int3
180042bd1:	cc                   	int3
180042bd2:	cc                   	int3
180042bd3:	cc                   	int3
180042bd4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180042bd9:	57                   	push   %rdi
180042bda:	48 83 ec 20          	sub    $0x20,%rsp
180042bde:	0f b6 42 11          	movzbl 0x11(%rdx),%eax
180042be2:	48 8d 3d 17 d4 fb ff 	lea    -0x42be9(%rip),%rdi        # 0x180000000
180042be9:	4c 8b d2             	mov    %rdx,%r10
180042bec:	88 41 18             	mov    %al,0x18(%rcx)
180042bef:	8b d0                	mov    %eax,%edx
180042bf1:	48 8b d9             	mov    %rcx,%rbx
180042bf4:	48 03 d2             	add    %rdx,%rdx
180042bf7:	4c 8b c9             	mov    %rcx,%r9
180042bfa:	49 8b ca             	mov    %r10,%rcx
180042bfd:	44 8b 84 d7 f0 e0 14 	mov    0x14e0f0(%rdi,%rdx,8),%r8d
180042c04:	00
180042c05:	48 8b 94 d7 f8 e0 14 	mov    0x14e0f8(%rdi,%rdx,8),%rdx
180042c0c:	00
180042c0d:	e8 96 4b 00 00       	call   0x1800477a8
180042c12:	85 c0                	test   %eax,%eax
180042c14:	78 1b                	js     0x180042c31
180042c16:	0f b6 4b 18          	movzbl 0x18(%rbx),%ecx
180042c1a:	8b 94 8f 40 dc 14 00 	mov    0x14dc40(%rdi,%rcx,4),%edx
180042c21:	0f b7 4b 4c          	movzwl 0x4c(%rbx),%ecx
180042c25:	f7 d2                	not    %edx
180042c27:	85 d1                	test   %edx,%ecx
180042c29:	b9 0d 00 00 c0       	mov    $0xc000000d,%ecx
180042c2e:	0f 45 c1             	cmovne %ecx,%eax
180042c31:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180042c36:	48 83 c4 20          	add    $0x20,%rsp
180042c3a:	5f                   	pop    %rdi
180042c3b:	c3                   	ret
180042c3c:	cc                   	int3
180042c3d:	cc                   	int3
180042c3e:	cc                   	int3
180042c3f:	cc                   	int3
180042c40:	48 8b c4             	mov    %rsp,%rax
180042c43:	48 89 58 08          	mov    %rbx,0x8(%rax)
180042c47:	48 89 68 10          	mov    %rbp,0x10(%rax)
180042c4b:	48 89 70 18          	mov    %rsi,0x18(%rax)
180042c4f:	48 89 78 20          	mov    %rdi,0x20(%rax)
180042c53:	41 54                	push   %r12
180042c55:	41 56                	push   %r14
180042c57:	41 57                	push   %r15
180042c59:	48 83 ec 20          	sub    $0x20,%rsp
180042c5d:	48 8b 41 10          	mov    0x10(%rcx),%rax
180042c61:	48 8b d9             	mov    %rcx,%rbx
180042c64:	4c 8b f2             	mov    %rdx,%r14
180042c67:	48 8b 48 10          	mov    0x10(%rax),%rcx
180042c6b:	48 8b 89 d8 00 00 00 	mov    0xd8(%rcx),%rcx
180042c72:	e8 f9 bc 0f 00       	call   0x18013e970
180042c77:	0f b6 7a 11          	movzbl 0x11(%rdx),%edi
180042c7b:	48 8b cb             	mov    %rbx,%rcx
180042c7e:	4c 8b e0             	mov    %rax,%r12
180042c81:	33 f6                	xor    %esi,%esi
180042c83:	e8 b8 04 00 00       	call   0x180043140
180042c88:	48 8b c8             	mov    %rax,%rcx
180042c8b:	e8 e0 bc 0f 00       	call   0x18013e970
180042c90:	8b a8 80 00 00 00    	mov    0x80(%rax),%ebp
180042c96:	40 80 ff 02          	cmp    $0x2,%dil
180042c9a:	73 0c                	jae    0x180042ca8
180042c9c:	8b c5                	mov    %ebp,%eax
180042c9e:	0f af 43 40          	imul   0x40(%rbx),%eax
180042ca2:	03 43 44             	add    0x44(%rbx),%eax
180042ca5:	89 43 40             	mov    %eax,0x40(%rbx)
180042ca8:	40 80 ff 04          	cmp    $0x4,%dil
180042cac:	73 17                	jae    0x180042cc5
180042cae:	f6 43 4c 04          	testb  $0x4,0x4c(%rbx)
180042cb2:	74 11                	je     0x180042cc5
180042cb4:	8b 73 38             	mov    0x38(%rbx),%esi
180042cb7:	48 8b cb             	mov    %rbx,%rcx
180042cba:	e8 81 04 00 00       	call   0x180043140
180042cbf:	8b 48 18             	mov    0x18(%rax),%ecx
180042cc2:	89 4b 38             	mov    %ecx,0x38(%rbx)
180042cc5:	44 0f b7 7b 4c       	movzwl 0x4c(%rbx),%r15d
180042cca:	4c 8d 15 2f d3 fb ff 	lea    -0x42cd1(%rip),%r10        # 0x180000000
180042cd1:	41 0f b7 84 ba 40 dc 	movzwl 0x14dc40(%r10,%rdi,4),%eax
180042cd8:	14 00
180042cda:	33 d2                	xor    %edx,%edx
180042cdc:	66 41 23 c7          	and    %r15w,%ax
180042ce0:	48 8b cf             	mov    %rdi,%rcx
180042ce3:	66 89 43 4c          	mov    %ax,0x4c(%rbx)
180042ce7:	48 03 c9             	add    %rcx,%rcx
180042cea:	48 8b 43 28          	mov    0x28(%rbx),%rax
180042cee:	4c 8b cb             	mov    %rbx,%r9
180042cf1:	49 f7 74 24 58       	divq   0x58(%r12)
180042cf6:	33 d2                	xor    %edx,%edx
180042cf8:	48 89 43 28          	mov    %rax,0x28(%rbx)
180042cfc:	48 8b 43 30          	mov    0x30(%rbx),%rax
180042d00:	49 f7 74 24 58       	divq   0x58(%r12)
180042d05:	33 d2                	xor    %edx,%edx
180042d07:	48 89 43 30          	mov    %rax,0x30(%rbx)
180042d0b:	48 8b 43 20          	mov    0x20(%rbx),%rax
180042d0f:	49 f7 74 24 58       	divq   0x58(%r12)
180042d14:	48 89 43 20          	mov    %rax,0x20(%rbx)
180042d18:	45 8b 84 ca f0 e0 14 	mov    0x14e0f0(%r10,%rcx,8),%r8d
180042d1f:	00
180042d20:	49 8b 94 ca f8 e0 14 	mov    0x14e0f8(%r10,%rcx,8),%rdx
180042d27:	00
180042d28:	49 8b ce             	mov    %r14,%rcx
180042d2b:	e8 00 4b 00 00       	call   0x180047830
180042d30:	48 8b 43 28          	mov    0x28(%rbx),%rax
180042d34:	49 0f af 44 24 58    	imul   0x58(%r12),%rax
180042d3a:	48 89 43 28          	mov    %rax,0x28(%rbx)
180042d3e:	48 8b 43 30          	mov    0x30(%rbx),%rax
180042d42:	49 0f af 44 24 58    	imul   0x58(%r12),%rax
180042d48:	48 89 43 30          	mov    %rax,0x30(%rbx)
180042d4c:	48 8b 43 20          	mov    0x20(%rbx),%rax
180042d50:	49 0f af 44 24 58    	imul   0x58(%r12),%rax
180042d56:	66 44 89 7b 4c       	mov    %r15w,0x4c(%rbx)
180042d5b:	48 89 43 20          	mov    %rax,0x20(%rbx)
180042d5f:	40 80 ff 04          	cmp    $0x4,%dil
180042d63:	73 09                	jae    0x180042d6e
180042d65:	41 f6 c7 04          	test   $0x4,%r15b
180042d69:	74 03                	je     0x180042d6e
180042d6b:	89 73 38             	mov    %esi,0x38(%rbx)
180042d6e:	40 80 ff 02          	cmp    $0x2,%dil
180042d72:	73 0a                	jae    0x180042d7e
180042d74:	8b 43 40             	mov    0x40(%rbx),%eax
180042d77:	33 d2                	xor    %edx,%edx
180042d79:	f7 f5                	div    %ebp
180042d7b:	89 43 40             	mov    %eax,0x40(%rbx)
180042d7e:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180042d83:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180042d88:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180042d8d:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
180042d92:	48 83 c4 20          	add    $0x20,%rsp
180042d96:	41 5f                	pop    %r15
180042d98:	41 5e                	pop    %r14
180042d9a:	41 5c                	pop    %r12
180042d9c:	c3                   	ret
180042d9d:	cc                   	int3
180042d9e:	cc                   	int3
180042d9f:	cc                   	int3
180042da0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180042da5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180042daa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180042daf:	57                   	push   %rdi
180042db0:	41 54                	push   %r12
180042db2:	41 55                	push   %r13
180042db4:	41 56                	push   %r14
180042db6:	41 57                	push   %r15
180042db8:	48 83 ec 20          	sub    $0x20,%rsp
180042dbc:	48 8b 41 10          	mov    0x10(%rcx),%rax
180042dc0:	48 8b e9             	mov    %rcx,%rbp
180042dc3:	48 8b 48 10          	mov    0x10(%rax),%rcx
180042dc7:	48 8b 89 d8 00 00 00 	mov    0xd8(%rcx),%rcx
180042dce:	e8 9d bb 0f 00       	call   0x18013e970
180042dd3:	48 8b cd             	mov    %rbp,%rcx
180042dd6:	4c 8b e8             	mov    %rax,%r13
180042dd9:	45 33 ff             	xor    %r15d,%r15d
180042ddc:	e8 5f 03 00 00       	call   0x180043140
180042de1:	48 8b c8             	mov    %rax,%rcx
180042de4:	e8 87 bb 0f 00       	call   0x18013e970
180042de9:	44 0f b6 75 18       	movzbl 0x18(%rbp),%r14d
180042dee:	44 8b a0 80 00 00 00 	mov    0x80(%rax),%r12d
180042df5:	41 80 fe 02          	cmp    $0x2,%r14b
180042df9:	73 0d                	jae    0x180042e08
180042dfb:	41 8b c4             	mov    %r12d,%eax
180042dfe:	0f af 45 40          	imul   0x40(%rbp),%eax
180042e02:	03 45 44             	add    0x44(%rbp),%eax
180042e05:	89 45 40             	mov    %eax,0x40(%rbp)
180042e08:	41 80 fe 04          	cmp    $0x4,%r14b
180042e0c:	73 27                	jae    0x180042e35
180042e0e:	0f b7 5d 4c          	movzwl 0x4c(%rbp),%ebx
180042e12:	f6 c3 04             	test   $0x4,%bl
180042e15:	74 1e                	je     0x180042e35
180042e17:	44 8b 7d 38          	mov    0x38(%rbp),%r15d
180042e1b:	48 8b cd             	mov    %rbp,%rcx
180042e1e:	e8 1d 03 00 00       	call   0x180043140
180042e23:	8b 48 18             	mov    0x18(%rax),%ecx
180042e26:	b8 fb ff 00 00       	mov    $0xfffb,%eax
180042e2b:	66 23 d8             	and    %ax,%bx
180042e2e:	89 4d 38             	mov    %ecx,0x38(%rbp)
180042e31:	66 89 5d 4c          	mov    %bx,0x4c(%rbp)
180042e35:	48 8b 45 28          	mov    0x28(%rbp),%rax
180042e39:	33 d2                	xor    %edx,%edx
180042e3b:	49 f7 75 58          	divq   0x58(%r13)
180042e3f:	33 d2                	xor    %edx,%edx
180042e41:	49 8b ce             	mov    %r14,%rcx
180042e44:	48 89 45 28          	mov    %rax,0x28(%rbp)
180042e48:	48 8b f0             	mov    %rax,%rsi
180042e4b:	48 8b 45 30          	mov    0x30(%rbp),%rax
180042e4f:	48 03 c9             	add    %rcx,%rcx
180042e52:	49 f7 75 58          	divq   0x58(%r13)
180042e56:	33 d2                	xor    %edx,%edx
180042e58:	4c 8b c5             	mov    %rbp,%r8
180042e5b:	48 89 45 30          	mov    %rax,0x30(%rbp)
180042e5f:	48 8b f8             	mov    %rax,%rdi
180042e62:	48 8b 45 20          	mov    0x20(%rbp),%rax
180042e66:	49 f7 75 58          	divq   0x58(%r13)
180042e6a:	48 89 45 20          	mov    %rax,0x20(%rbp)
180042e6e:	48 8b d8             	mov    %rax,%rbx
180042e71:	48 8d 05 78 b2 10 00 	lea    0x10b278(%rip),%rax        # 0x18014e0f0
180042e78:	8b 14 c8             	mov    (%rax,%rcx,8),%edx
180042e7b:	48 8b 4c c8 08       	mov    0x8(%rax,%rcx,8),%rcx
180042e80:	e8 4b d2 00 00       	call   0x1800500d0
180042e85:	49 8b 4d 58          	mov    0x58(%r13),%rcx
180042e89:	44 0f b7 c0          	movzwl %ax,%r8d
180042e8d:	48 0f af ce          	imul   %rsi,%rcx
180042e91:	48 89 4d 28          	mov    %rcx,0x28(%rbp)
180042e95:	49 8b 45 58          	mov    0x58(%r13),%rax
180042e99:	48 0f af c7          	imul   %rdi,%rax
180042e9d:	48 89 45 30          	mov    %rax,0x30(%rbp)
180042ea1:	49 8b 45 58          	mov    0x58(%r13),%rax
180042ea5:	48 0f af c3          	imul   %rbx,%rax
180042ea9:	48 89 45 20          	mov    %rax,0x20(%rbp)
180042ead:	41 80 fe 04          	cmp    $0x4,%r14b
180042eb1:	73 0e                	jae    0x180042ec1
180042eb3:	45 85 ff             	test   %r15d,%r15d
180042eb6:	74 09                	je     0x180042ec1
180042eb8:	66 83 4d 4c 04       	orw    $0x4,0x4c(%rbp)
180042ebd:	44 89 7d 38          	mov    %r15d,0x38(%rbp)
180042ec1:	41 80 fe 02          	cmp    $0x2,%r14b
180042ec5:	73 0b                	jae    0x180042ed2
180042ec7:	8b 45 40             	mov    0x40(%rbp),%eax
180042eca:	33 d2                	xor    %edx,%edx
180042ecc:	41 f7 f4             	div    %r12d
180042ecf:	89 45 40             	mov    %eax,0x40(%rbp)
180042ed2:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180042ed7:	41 8b c0             	mov    %r8d,%eax
180042eda:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
180042edf:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
180042ee4:	48 83 c4 20          	add    $0x20,%rsp
180042ee8:	41 5f                	pop    %r15
180042eea:	41 5e                	pop    %r14
180042eec:	41 5d                	pop    %r13
180042eee:	41 5c                	pop    %r12
180042ef0:	5f                   	pop    %rdi
180042ef1:	c3                   	ret
180042ef2:	cc                   	int3
180042ef3:	cc                   	int3
180042ef4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180042ef9:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180042efe:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180042f03:	57                   	push   %rdi
180042f04:	41 54                	push   %r12
180042f06:	41 55                	push   %r13
180042f08:	41 56                	push   %r14
180042f0a:	41 57                	push   %r15
180042f0c:	48 83 ec 20          	sub    $0x20,%rsp
180042f10:	48 8b 69 10          	mov    0x10(%rcx),%rbp
180042f14:	48 8b d9             	mov    %rcx,%rbx
180042f17:	48 8b 75 10          	mov    0x10(%rbp),%rsi
180042f1b:	48 8b 8e d8 00 00 00 	mov    0xd8(%rsi),%rcx
180042f22:	e8 49 ba 0f 00       	call   0x18013e970
180042f27:	48 8b 53 28          	mov    0x28(%rbx),%rdx
180042f2b:	48 8b f8             	mov    %rax,%rdi
180042f2e:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
180042f32:	44 8b 43 3c          	mov    0x3c(%rbx),%r8d
180042f36:	48 0f af 50 58       	imul   0x58(%rax),%rdx
180042f3b:	48 89 53 28          	mov    %rdx,0x28(%rbx)
180042f3f:	48 8b 53 30          	mov    0x30(%rbx),%rdx
180042f43:	48 0f af 50 58       	imul   0x58(%rax),%rdx
180042f48:	48 89 53 30          	mov    %rdx,0x30(%rbx)
180042f4c:	b2 02                	mov    $0x2,%dl
180042f4e:	48 0f af 48 58       	imul   0x58(%rax),%rcx
180042f53:	48 89 4b 20          	mov    %rcx,0x20(%rbx)
180042f57:	48 8b ce             	mov    %rsi,%rcx
180042f5a:	e8 05 a0 0f 00       	call   0x18013cf64
180042f5f:	48 85 c0             	test   %rax,%rax
180042f62:	75 0a                	jne    0x180042f6e
180042f64:	b9 0d 00 00 c0       	mov    $0xc000000d,%ecx
180042f69:	e9 b1 01 00 00       	jmp    0x18004311f
180042f6e:	48 8b c8             	mov    %rax,%rcx
180042f71:	e8 fa b9 0f 00       	call   0x18013e970
180042f76:	48 8b c8             	mov    %rax,%rcx
180042f79:	48 8b d5             	mov    %rbp,%rdx
180042f7c:	4c 8b e8             	mov    %rax,%r13
180042f7f:	e8 88 e0 ff ff       	call   0x18004100c
180042f84:	8b c8                	mov    %eax,%ecx
180042f86:	85 c0                	test   %eax,%eax
180042f88:	0f 88 91 01 00 00    	js     0x18004311f
180042f8e:	0f b7 6b 4c          	movzwl 0x4c(%rbx),%ebp
180042f92:	41 bc 04 00 00 00    	mov    $0x4,%r12d
180042f98:	44 8b 43 38          	mov    0x38(%rbx),%r8d
180042f9c:	48 8b ce             	mov    %rsi,%rcx
180042f9f:	41 84 ec             	test   %bpl,%r12b
180042fa2:	74 3a                	je     0x180042fde
180042fa4:	b2 06                	mov    $0x6,%dl
180042fa6:	e8 b9 9f 0f 00       	call   0x18013cf64
180042fab:	48 85 c0             	test   %rax,%rax
180042fae:	74 b4                	je     0x180042f64
180042fb0:	48 8b c8             	mov    %rax,%rcx
180042fb3:	e8 b8 b9 0f 00       	call   0x18013e970
180042fb8:	b2 03                	mov    $0x3,%dl
180042fba:	48 8b ce             	mov    %rsi,%rcx
180042fbd:	44 8b 80 84 00 00 00 	mov    0x84(%rax),%r8d
180042fc4:	e8 9b 9f 0f 00       	call   0x18013cf64
180042fc9:	48 85 c0             	test   %rax,%rax
180042fcc:	74 96                	je     0x180042f64
180042fce:	48 8b c8             	mov    %rax,%rcx
180042fd1:	e8 9a b9 0f 00       	call   0x18013e970
180042fd6:	4c 8b c8             	mov    %rax,%r9
180042fd9:	e9 96 00 00 00       	jmp    0x180043074
180042fde:	b2 03                	mov    $0x3,%dl
180042fe0:	e8 7f 9f 0f 00       	call   0x18013cf64
180042fe5:	48 85 c0             	test   %rax,%rax
180042fe8:	0f 84 76 ff ff ff    	je     0x180042f64
180042fee:	48 8b c8             	mov    %rax,%rcx
180042ff1:	e8 7a b9 0f 00       	call   0x18013e970
180042ff6:	4c 8b 7b 28          	mov    0x28(%rbx),%r15
180042ffa:	4c 8b c8             	mov    %rax,%r9
180042ffd:	45 32 db             	xor    %r11b,%r11b
180043000:	48 8b 90 d8 00 00 00 	mov    0xd8(%rax),%rdx
180043007:	48 85 d2             	test   %rdx,%rdx
18004300a:	74 4f                	je     0x18004305b
18004300c:	48 8b ca             	mov    %rdx,%rcx
18004300f:	e8 5c b9 0f 00       	call   0x18013e970
180043014:	45 33 c0             	xor    %r8d,%r8d
180043017:	4c 8b d0             	mov    %rax,%r10
18004301a:	8b b0 88 00 00 00    	mov    0x88(%rax),%esi
180043020:	85 f6                	test   %esi,%esi
180043022:	74 2b                	je     0x18004304f
180043024:	4c 8b b0 a0 00 00 00 	mov    0xa0(%rax),%r14
18004302b:	41 8b c0             	mov    %r8d,%eax
18004302e:	48 03 c0             	add    %rax,%rax
180043031:	49 8b 0c c6          	mov    (%r14,%rax,8),%rcx
180043035:	49 3b cf             	cmp    %r15,%rcx
180043038:	77 0d                	ja     0x180043047
18004303a:	49 8b 44 c6 08       	mov    0x8(%r14,%rax,8),%rax
18004303f:	48 03 c8             	add    %rax,%rcx
180043042:	49 3b cf             	cmp    %r15,%rcx
180043045:	77 11                	ja     0x180043058
180043047:	41 ff c0             	inc    %r8d
18004304a:	44 3b c6             	cmp    %esi,%r8d
18004304d:	72 dc                	jb     0x18004302b
18004304f:	49 8b 92 b8 00 00 00 	mov    0xb8(%r10),%rdx
180043056:	eb af                	jmp    0x180043007
180043058:	41 b3 01             	mov    $0x1,%r11b
18004305b:	41 f6 db             	neg    %r11b
18004305e:	48 1b c0             	sbb    %rax,%rax
180043061:	48 23 c2             	and    %rdx,%rax
180043064:	74 0e                	je     0x180043074
180043066:	8b 40 18             	mov    0x18(%rax),%eax
180043069:	66 41 0b ec          	or     %r12w,%bp
18004306d:	66 89 6b 4c          	mov    %bp,0x4c(%rbx)
180043071:	89 43 38             	mov    %eax,0x38(%rbx)
180043074:	44 38 63 18          	cmp    %r12b,0x18(%rbx)
180043078:	73 52                	jae    0x1800430cc
18004307a:	41 83 b9 a8 00 00 00 	cmpl   $0x0,0xa8(%r9)
180043081:	00
180043082:	74 48                	je     0x1800430cc
180043084:	45 39 65 44          	cmp    %r12d,0x44(%r13)
180043088:	75 0a                	jne    0x180043094
18004308a:	41 c7 41 68 03 00 00 	movl   $0x3,0x68(%r9)
180043091:	00