180037a1c:	48 8b f1             	mov    %rcx,%rsi
180037a1f:	48 85 c0             	test   %rax,%rax
180037a22:	74 5c                	je     0x180037a80
180037a24:	8b 49 28             	mov    0x28(%rcx),%ecx
180037a27:	44 8d 47 01          	lea    0x1(%rdi),%r8d
180037a2b:	49 d3 e0             	shl    %cl,%r8
180037a2e:	49 8d 69 ff          	lea    -0x1(%r9),%rbp
180037a32:	49 8d 04 10          	lea    (%r8,%rdx,1),%rax
180037a36:	33 d2                	xor    %edx,%edx
180037a38:	48 03 e8             	add    %rax,%rbp
180037a3b:	48 8b c5             	mov    %rbp,%rax
180037a3e:	49 f7 f0             	div    %r8
180037a41:	48 8b c3             	mov    %rbx,%rax
180037a44:	48 2b ea             	sub    %rdx,%rbp
180037a47:	33 d2                	xor    %edx,%edx
180037a49:	49 f7 f0             	div    %r8
180037a4c:	48 2b da             	sub    %rdx,%rbx
180037a4f:	eb 25                	jmp    0x180037a76
180037a51:	48 8b 46 30          	mov    0x30(%rsi),%rax
180037a55:	48 8b d3             	mov    %rbx,%rdx
180037a58:	48 d3 ea             	shr    %cl,%rdx
180037a5b:	48 8b c8             	mov    %rax,%rcx
180037a5e:	e8 79 be 00 00       	call   0x1800438dc
180037a63:	83 f8 01             	cmp    $0x1,%eax
180037a66:	74 15                	je     0x180037a7d
180037a68:	8b 4e 28             	mov    0x28(%rsi),%ecx
180037a6b:	b8 01 00 00 00       	mov    $0x1,%eax
180037a70:	48 d3 e0             	shl    %cl,%rax
180037a73:	48 03 d8             	add    %rax,%rbx
180037a76:	48 3b dd             	cmp    %rbp,%rbx
180037a79:	72 d6                	jb     0x180037a51
180037a7b:	eb 03                	jmp    0x180037a80
180037a7d:	40 b7 01             	mov    $0x1,%dil
180037a80:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180037a85:	40 8a c7             	mov    %dil,%al
180037a88:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180037a8d:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
180037a92:	48 83 c4 20          	add    $0x20,%rsp
180037a96:	5f                   	pop    %rdi
180037a97:	c3                   	ret
180037a98:	cc                   	int3
180037a99:	cc                   	int3
180037a9a:	cc                   	int3
180037a9b:	cc                   	int3
180037a9c:	45 33 d2             	xor    %r10d,%r10d
180037a9f:	48 8d 05 7a b2 10 00 	lea    0x10b27a(%rip),%rax        # 0x180142d20
180037aa6:	48 89 01             	mov    %rax,(%rcx)
180037aa9:	4c 8d 81 70 01 00 00 	lea    0x170(%rcx),%r8
180037ab0:	48 8d 81 20 01 00 00 	lea    0x120(%rcx),%rax
180037ab7:	4c 89 91 98 00 00 00 	mov    %r10,0x98(%rcx)
180037abe:	48 89 40 08          	mov    %rax,0x8(%rax)
180037ac2:	48 8b d1             	mov    %rcx,%rdx
180037ac5:	48 89 00             	mov    %rax,(%rax)
180037ac8:	45 8d 4a 0a          	lea    0xa(%r10),%r9d
180037acc:	48 83 c0 10          	add    $0x10,%rax
180037ad0:	44 89 91 a0 00 00 00 	mov    %r10d,0xa0(%rcx)
180037ad7:	4c 89 91 a8 00 00 00 	mov    %r10,0xa8(%rcx)
180037ade:	4c 89 91 b0 00 00 00 	mov    %r10,0xb0(%rcx)
180037ae5:	4c 89 91 b8 00 00 00 	mov    %r10,0xb8(%rcx)
180037aec:	49 8d 48 38          	lea    0x38(%r8),%rcx
180037af0:	48 89 40 08          	mov    %rax,0x8(%rax)
180037af4:	48 89 00             	mov    %rax,(%rax)
180037af7:	44 89 51 d0          	mov    %r10d,-0x30(%rcx)
180037afb:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
180037aff:	48 89 01             	mov    %rax,(%rcx)
180037b02:	4c 89 51 d8          	mov    %r10,-0x28(%rcx)
180037b06:	4c 89 51 08          	mov    %r10,0x8(%rcx)
180037b0a:	4d 89 10             	mov    %r10,(%r8)
180037b0d:	4d 8d 40 48          	lea    0x48(%r8),%r8
180037b11:	4c 89 51 e0          	mov    %r10,-0x20(%rcx)
180037b15:	4c 89 51 e8          	mov    %r10,-0x18(%rcx)
180037b19:	66 44 89 51 f4       	mov    %r10w,-0xc(%rcx)
180037b1e:	48 8d 49 48          	lea    0x48(%rcx),%rcx
180037b22:	48 89 00             	mov    %rax,(%rax)
180037b25:	49 83 e9 01          	sub    $0x1,%r9
180037b29:	75 cc                	jne    0x180037af7
180037b2b:	48 8d 82 f8 00 00 00 	lea    0xf8(%rdx),%rax
180037b32:	48 89 40 08          	mov    %rax,0x8(%rax)
180037b36:	48 89 00             	mov    %rax,(%rax)
180037b39:	48 8d 82 c0 00 00 00 	lea    0xc0(%rdx),%rax
180037b40:	48 89 40 08          	mov    %rax,0x8(%rax)
180037b44:	48 89 00             	mov    %rax,(%rax)
180037b47:	48 8b c2             	mov    %rdx,%rax
180037b4a:	c3                   	ret
180037b4b:	cc                   	int3
180037b4c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180037b51:	57                   	push   %rdi
180037b52:	48 83 ec 20          	sub    $0x20,%rsp
180037b56:	8b da                	mov    %edx,%ebx
180037b58:	48 8b f9             	mov    %rcx,%rdi
180037b5b:	e8 1c 00 00 00       	call   0x180037b7c
180037b60:	f6 c3 01             	test   $0x1,%bl
180037b63:	74 08                	je     0x180037b6d
180037b65:	48 8b cf             	mov    %rdi,%rcx
180037b68:	e8 ef ed 00 00       	call   0x18004695c
180037b6d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180037b72:	48 8b c7             	mov    %rdi,%rax
180037b75:	48 83 c4 20          	add    $0x20,%rsp
180037b79:	5f                   	pop    %rdi
180037b7a:	c3                   	ret
180037b7b:	cc                   	int3
180037b7c:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
180037b81:	55                   	push   %rbp
180037b82:	56                   	push   %rsi
180037b83:	57                   	push   %rdi
180037b84:	48 83 ec 20          	sub    $0x20,%rsp
180037b88:	48 83 64 24 48 00    	andq   $0x0,0x48(%rsp)
180037b8e:	48 8d 05 8b b1 10 00 	lea    0x10b18b(%rip),%rax        # 0x180142d20
180037b95:	48 8b 99 58 01 00 00 	mov    0x158(%rcx),%rbx
180037b9c:	48 8b f9             	mov    %rcx,%rdi
180037b9f:	48 89 01             	mov    %rax,(%rcx)
180037ba2:	48 85 db             	test   %rbx,%rbx
180037ba5:	0f 84 82 00 00 00    	je     0x180037c2d
180037bab:	48 8d 73 58          	lea    0x58(%rbx),%rsi
180037baf:	eb 26                	jmp    0x180037bd7
180037bb1:	48 39 70 08          	cmp    %rsi,0x8(%rax)
180037bb5:	0f 85 84 02 00 00    	jne    0x180037e3f
180037bbb:	48 8b 08             	mov    (%rax),%rcx
180037bbe:	48 39 41 08          	cmp    %rax,0x8(%rcx)
180037bc2:	0f 85 77 02 00 00    	jne    0x180037e3f
180037bc8:	48 89 0e             	mov    %rcx,(%rsi)
180037bcb:	48 89 71 08          	mov    %rsi,0x8(%rcx)
180037bcf:	48 8b c8             	mov    %rax,%rcx
180037bd2:	e8 85 ed 00 00       	call   0x18004695c
180037bd7:	48 8b 06             	mov    (%rsi),%rax
180037bda:	48 3b c6             	cmp    %rsi,%rax
180037bdd:	75 d2                	jne    0x180037bb1
180037bdf:	48 8b 4b 50          	mov    0x50(%rbx),%rcx
180037be3:	48 85 c9             	test   %rcx,%rcx
180037be6:	74 05                	je     0x180037bed
180037be8:	e8 6f ed 00 00       	call   0x18004695c
180037bed:	48 8b 4b 48          	mov    0x48(%rbx),%rcx
180037bf1:	48 85 c9             	test   %rcx,%rcx
180037bf4:	74 05                	je     0x180037bfb
180037bf6:	e8 61 ed 00 00       	call   0x18004695c
180037bfb:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
180037bff:	48 85 c9             	test   %rcx,%rcx
180037c02:	74 05                	je     0x180037c09
180037c04:	e8 53 ed 00 00       	call   0x18004695c
180037c09:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
180037c0d:	48 85 c9             	test   %rcx,%rcx
180037c10:	74 05                	je     0x180037c17
180037c12:	e8 45 ed 00 00       	call   0x18004695c
180037c17:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
180037c1b:	48 85 c9             	test   %rcx,%rcx
180037c1e:	74 05                	je     0x180037c25
180037c20:	e8 37 ed 00 00       	call   0x18004695c
180037c25:	48 8b cb             	mov    %rbx,%rcx
180037c28:	e8 2f ed 00 00       	call   0x18004695c
180037c2d:	48 8b 8f 50 01 00 00 	mov    0x150(%rdi),%rcx
180037c34:	bd 01 00 00 00       	mov    $0x1,%ebp
180037c39:	48 85 c9             	test   %rcx,%rcx
180037c3c:	74 0d                	je     0x180037c4b
180037c3e:	48 8b 01             	mov    (%rcx),%rax
180037c41:	8b d5                	mov    %ebp,%edx
180037c43:	48 8b 00             	mov    (%rax),%rax
180037c46:	ff d0                	call   *%rax
180037c48:	0f 1f 00             	nopl   (%rax)
180037c4b:	48 8b 8f 48 01 00 00 	mov    0x148(%rdi),%rcx
180037c52:	48 85 c9             	test   %rcx,%rcx
180037c55:	74 0d                	je     0x180037c64
180037c57:	48 8b 01             	mov    (%rcx),%rax
180037c5a:	8b d5                	mov    %ebp,%edx
180037c5c:	48 8b 00             	mov    (%rax),%rax
180037c5f:	ff d0                	call   *%rax
180037c61:	0f 1f 00             	nopl   (%rax)
180037c64:	48 8b 8f 40 01 00 00 	mov    0x140(%rdi),%rcx
180037c6b:	48 85 c9             	test   %rcx,%rcx
180037c6e:	74 0d                	je     0x180037c7d
180037c70:	48 8b 01             	mov    (%rcx),%rax
180037c73:	8b d5                	mov    %ebp,%edx
180037c75:	48 8b 00             	mov    (%rax),%rax
180037c78:	ff d0                	call   *%rax
180037c7a:	0f 1f 00             	nopl   (%rax)
180037c7d:	48 8b 8f 60 01 00 00 	mov    0x160(%rdi),%rcx
180037c84:	48 85 c9             	test   %rcx,%rcx
180037c87:	74 0d                	je     0x180037c96
180037c89:	48 8b 01             	mov    (%rcx),%rax
180037c8c:	8b d5                	mov    %ebp,%edx
180037c8e:	48 8b 00             	mov    (%rax),%rax
180037c91:	ff d0                	call   *%rax
180037c93:	0f 1f 00             	nopl   (%rax)
180037c96:	48 8b 8f d8 00 00 00 	mov    0xd8(%rdi),%rcx
180037c9d:	48 85 c9             	test   %rcx,%rcx
180037ca0:	74 0d                	je     0x180037caf
180037ca2:	e8 b5 ec 00 00       	call   0x18004695c
180037ca7:	48 83 a7 d8 00 00 00 	andq   $0x0,0xd8(%rdi)
180037cae:	00
180037caf:	48 8b 9f e0 00 00 00 	mov    0xe0(%rdi),%rbx
180037cb6:	48 85 db             	test   %rbx,%rbx
180037cb9:	0f 84 88 00 00 00    	je     0x180037d47
180037cbf:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
180037cc4:	48 8b cb             	mov    %rbx,%rcx
180037cc7:	e8 38 be 00 00       	call   0x180043b04
180037ccc:	eb 5c                	jmp    0x180037d2a
180037cce:	48 85 f6             	test   %rsi,%rsi
180037cd1:	74 43                	je     0x180037d16
180037cd3:	48 8b 4e 30          	mov    0x30(%rsi),%rcx
180037cd7:	48 85 c9             	test   %rcx,%rcx
180037cda:	74 32                	je     0x180037d0e
180037cdc:	48 8b 46 30          	mov    0x30(%rsi),%rax
180037ce0:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
180037ce5:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
180037cea:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
180037cef:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
180037cf4:	48 85 c0             	test   %rax,%rax
180037cf7:	74 15                	je     0x180037d0e
180037cf9:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180037cfe:	48 8b cb             	mov    %rbx,%rcx
180037d01:	e8 16 bb 00 00       	call   0x18004381c
180037d06:	48 8b cb             	mov    %rbx,%rcx
180037d09:	e8 4e ec 00 00       	call   0x18004695c
180037d0e:	48 8b ce             	mov    %rsi,%rcx
180037d11:	e8 46 ec 00 00       	call   0x18004695c
180037d16:	48 8b 9f e0 00 00 00 	mov    0xe0(%rdi),%rbx
180037d1d:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
180037d22:	48 8b cb             	mov    %rbx,%rcx
180037d25:	e8 e2 be 00 00       	call   0x180043c0c
180037d2a:	48 8b f0             	mov    %rax,%rsi
180037d2d:	48 85 c0             	test   %rax,%rax
180037d30:	75 9c                	jne    0x180037cce
180037d32:	48 85 db             	test   %rbx,%rbx
180037d35:	74 10                	je     0x180037d47
180037d37:	48 8b cb             	mov    %rbx,%rcx
180037d3a:	e8 dd ba 00 00       	call   0x18004381c
180037d3f:	48 8b cb             	mov    %rbx,%rcx
180037d42:	e8 15 ec 00 00       	call   0x18004695c
180037d47:	48 8d b7 c0 00 00 00 	lea    0xc0(%rdi),%rsi
180037d4e:	eb 34                	jmp    0x180037d84
180037d50:	48 39 73 08          	cmp    %rsi,0x8(%rbx)
180037d54:	0f 85 e5 00 00 00    	jne    0x180037e3f
180037d5a:	48 8b 03             	mov    (%rbx),%rax
180037d5d:	48 39 58 08          	cmp    %rbx,0x8(%rax)
180037d61:	0f 85 d8 00 00 00    	jne    0x180037e3f
180037d67:	48 89 06             	mov    %rax,(%rsi)
180037d6a:	48 89 70 08          	mov    %rsi,0x8(%rax)
180037d6e:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
180037d72:	48 85 c9             	test   %rcx,%rcx
180037d75:	74 05                	je     0x180037d7c
180037d77:	e8 e0 eb 00 00       	call   0x18004695c
180037d7c:	48 8b cb             	mov    %rbx,%rcx
180037d7f:	e8 d8 eb 00 00       	call   0x18004695c
180037d84:	48 8b 1e             	mov    (%rsi),%rbx
180037d87:	48 3b de             	cmp    %rsi,%rbx
180037d8a:	75 c4                	jne    0x180037d50
180037d8c:	48 8d 9f f8 00 00 00 	lea    0xf8(%rdi),%rbx
180037d93:	eb 37                	jmp    0x180037dcc
180037d95:	48 39 58 08          	cmp    %rbx,0x8(%rax)
180037d99:	0f 85 a0 00 00 00    	jne    0x180037e3f
180037d9f:	48 8b 08             	mov    (%rax),%rcx
180037da2:	48 39 41 08          	cmp    %rax,0x8(%rcx)
180037da6:	0f 85 93 00 00 00    	jne    0x180037e3f
180037dac:	48 89 0b             	mov    %rcx,(%rbx)
180037daf:	48 89 59 08          	mov    %rbx,0x8(%rcx)
180037db3:	48 8d 88 f8 fe ff ff 	lea    -0x108(%rax),%rcx
180037dba:	48 85 c9             	test   %rcx,%rcx
180037dbd:	74 0d                	je     0x180037dcc
180037dbf:	48 8b 01             	mov    (%rcx),%rax
180037dc2:	8b d5                	mov    %ebp,%edx
180037dc4:	48 8b 00             	mov    (%rax),%rax
180037dc7:	ff d0                	call   *%rax
180037dc9:	0f 1f 00             	nopl   (%rax)
180037dcc:	48 8b 03             	mov    (%rbx),%rax
180037dcf:	48 3b c3             	cmp    %rbx,%rax
180037dd2:	75 c1                	jne    0x180037d95
180037dd4:	48 8b 8f 18 01 00 00 	mov    0x118(%rdi),%rcx
180037ddb:	48 85 c9             	test   %rcx,%rcx
180037dde:	74 0d                	je     0x180037ded
180037de0:	48 8b 01             	mov    (%rcx),%rax
180037de3:	8b d5                	mov    %ebp,%edx
180037de5:	48 8b 00             	mov    (%rax),%rax
180037de8:	ff d0                	call   *%rax
180037dea:	0f 1f 00             	nopl   (%rax)
180037ded:	bb 0a 00 00 00       	mov    $0xa,%ebx
180037df2:	48 8d b7 40 04 00 00 	lea    0x440(%rdi),%rsi
180037df9:	48 83 ee 48          	sub    $0x48,%rsi
180037dfd:	48 8b ce             	mov    %rsi,%rcx
180037e00:	e8 ab f6 00 00       	call   0x1800474b0
180037e05:	48 2b dd             	sub    %rbp,%rbx
180037e08:	75 ef                	jne    0x180037df9
180037e0a:	48 8d 8f 20 01 00 00 	lea    0x120(%rdi),%rcx
180037e11:	e8 2a f7 ff ff       	call   0x180037540
180037e16:	48 8b 8f b8 00 00 00 	mov    0xb8(%rdi),%rcx
180037e1d:	48 85 c9             	test   %rcx,%rcx
180037e20:	74 05                	je     0x180037e27
180037e22:	e8 35 eb 00 00       	call   0x18004695c
180037e27:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180037e2c:	48 8d 05 fd b5 10 00 	lea    0x10b5fd(%rip),%rax        # 0x180143430
180037e33:	48 89 07             	mov    %rax,(%rdi)
180037e36:	48 83 c4 20          	add    $0x20,%rsp
180037e3a:	5f                   	pop    %rdi
180037e3b:	5e                   	pop    %rsi
180037e3c:	5d                   	pop    %rbp
180037e3d:	c3                   	ret
180037e3e:	cc                   	int3
180037e3f:	b9 03 00 00 00       	mov    $0x3,%ecx
180037e44:	cd 29                	int    $0x29
180037e46:	cc                   	int3
180037e47:	cc                   	int3
180037e48:	48 83 ec 28          	sub    $0x28,%rsp
180037e4c:	b9 40 04 00 00       	mov    $0x440,%ecx
180037e51:	e8 be ea 00 00       	call   0x180046914
180037e56:	48 8b c8             	mov    %rax,%rcx
180037e59:	33 c0                	xor    %eax,%eax
180037e5b:	48 85 c9             	test   %rcx,%rcx
180037e5e:	74 05                	je     0x180037e65
180037e60:	e8 37 fc ff ff       	call   0x180037a9c
180037e65:	48 83 c4 28          	add    $0x28,%rsp
180037e69:	c3                   	ret
180037e6a:	cc                   	int3
180037e6b:	cc                   	int3
180037e6c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180037e71:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180037e76:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180037e7b:	57                   	push   %rdi
180037e7c:	41 56                	push   %r14
180037e7e:	41 57                	push   %r15
180037e80:	48 83 ec 20          	sub    $0x20,%rsp
180037e84:	48 8b 42 10          	mov    0x10(%rdx),%rax
180037e88:	48 8b d9             	mov    %rcx,%rbx
180037e8b:	48 8b fa             	mov    %rdx,%rdi
180037e8e:	4d 8b f0             	mov    %r8,%r14
180037e91:	48 8b 70 10          	mov    0x10(%rax),%rsi
180037e95:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
180037e99:	8b 91 08 01 00 00    	mov    0x108(%rcx),%edx
180037e9f:	e8 80 6c 10 00       	call   0x18013eb24
180037ea4:	45 33 ff             	xor    %r15d,%r15d
180037ea7:	84 c0                	test   %al,%al
180037ea9:	75 0b                	jne    0x180037eb6
180037eab:	41 ba 35 00 38 c0    	mov    $0xc0380035,%r10d
180037eb1:	e9 3b 03 00 00       	jmp    0x1800381f1
180037eb6:	48 8b 8e d8 00 00 00 	mov    0xd8(%rsi),%rcx
180037ebd:	e8 ae 6a 10 00       	call   0x18013e970
180037ec2:	48 8b e8             	mov    %rax,%rbp
180037ec5:	0f 10 40 20          	movups 0x20(%rax),%xmm0
180037ec9:	f3 0f 7f 43 08       	movdqu %xmm0,0x8(%rbx)
180037ece:	0f 10 4f 20          	movups 0x20(%rdi),%xmm1
180037ed2:	f3 0f 7f 4b 18       	movdqu %xmm1,0x18(%rbx)
180037ed7:	8a 4f 42             	mov    0x42(%rdi),%cl
180037eda:	88 4b 28             	mov    %cl,0x28(%rbx)
180037edd:	0f 10 47 58          	movups 0x58(%rdi),%xmm0
180037ee1:	48 8b 8b e8 00 00 00 	mov    0xe8(%rbx),%rcx
180037ee8:	0f 11 43 30          	movups %xmm0,0x30(%rbx)
180037eec:	0f 10 4f 68          	movups 0x68(%rdi),%xmm1
180037ef0:	0f 11 4b 40          	movups %xmm1,0x40(%rbx)
180037ef4:	0f 10 47 78          	movups 0x78(%rdi),%xmm0
180037ef8:	0f 11 43 50          	movups %xmm0,0x50(%rbx)
180037efc:	f2 0f 10 8f 88 00 00 	movsd  0x88(%rdi),%xmm1
180037f03:	00
180037f04:	f2 0f 11 4b 60       	movsd  %xmm1,0x60(%rbx)