180045b49:	41 56                	push   %r14
180045b4b:	41 57                	push   %r15
180045b4d:	48 83 ec 38          	sub    $0x38,%rsp
180045b51:	4c 8b 4a 78          	mov    0x78(%rdx),%r9
180045b55:	33 db                	xor    %ebx,%ebx
180045b57:	44 8b a2 80 00 00 00 	mov    0x80(%rdx),%r12d
180045b5e:	45 33 f6             	xor    %r14d,%r14d
180045b61:	48 8b aa a8 00 00 00 	mov    0xa8(%rdx),%rbp
180045b68:	4d 03 e1             	add    %r9,%r12
180045b6b:	49 03 e9             	add    %r9,%rbp
180045b6e:	4d 8b e8             	mov    %r8,%r13
180045b71:	48 8b f2             	mov    %rdx,%rsi
180045b74:	4c 8b c1             	mov    %rcx,%r8
180045b77:	49 3b ec             	cmp    %r12,%rbp
180045b7a:	0f 83 a6 01 00 00    	jae    0x180045d26
180045b80:	4c 8d 51 20          	lea    0x20(%rcx),%r10
180045b84:	4c 89 94 24 98 00 00 	mov    %r10,0x98(%rsp)
180045b8b:	00
180045b8c:	49 8b 48 60          	mov    0x60(%r8),%rcx
180045b90:	33 d2                	xor    %edx,%edx
180045b92:	48 8b c5             	mov    %rbp,%rax
180045b95:	44 8b fd             	mov    %ebp,%r15d
180045b98:	48 f7 f1             	div    %rcx
180045b9b:	4c 8b c8             	mov    %rax,%r9
180045b9e:	48 2b ca             	sub    %rdx,%rcx
180045ba1:	49 8b c4             	mov    %r12,%rax
180045ba4:	48 2b c5             	sub    %rbp,%rax
180045ba7:	48 3b c1             	cmp    %rcx,%rax
180045baa:	73 07                	jae    0x180045bb3
180045bac:	41 8b fc             	mov    %r12d,%edi
180045baf:	2b fd                	sub    %ebp,%edi
180045bb1:	eb 06                	jmp    0x180045bb9
180045bb3:	41 8b 78 60          	mov    0x60(%r8),%edi
180045bb7:	2b fa                	sub    %edx,%edi
180045bb9:	44 2b 7e 78          	sub    0x78(%rsi),%r15d
180045bbd:	49 8b d1             	mov    %r9,%rdx
180045bc0:	49 8b ca             	mov    %r10,%rcx
180045bc3:	89 bc 24 88 00 00 00 	mov    %edi,0x88(%rsp)
180045bca:	e8 0d dd ff ff       	call   0x1800438dc
180045bcf:	48 89 84 24 90 00 00 	mov    %rax,0x90(%rsp)
180045bd6:	00
180045bd7:	48 85 c0             	test   %rax,%rax
180045bda:	75 2f                	jne    0x180045c0b
180045bdc:	80 be 98 00 00 00 04 	cmpb   $0x4,0x98(%rsi)
180045be3:	0f 84 35 01 00 00    	je     0x180045d1e
180045be9:	48 8b 46 68          	mov    0x68(%rsi),%rax
180045bed:	48 85 c0             	test   %rax,%rax
180045bf0:	0f 84 09 01 00 00    	je     0x180045cff
180045bf6:	41 8b cf             	mov    %r15d,%ecx
180045bf9:	33 d2                	xor    %edx,%edx
180045bfb:	48 03 c8             	add    %rax,%rcx
180045bfe:	44 8b c7             	mov    %edi,%r8d
180045c01:	e8 7a 00 0f 00       	call   0x180135c80
180045c06:	e9 f4 00 00 00       	jmp    0x180045cff
180045c0b:	4d 85 ed             	test   %r13,%r13
180045c0e:	75 4a                	jne    0x180045c5a
180045c10:	b9 e0 00 00 00       	mov    $0xe0,%ecx
180045c15:	e8 fa 0c 00 00       	call   0x180046914
180045c1a:	48 85 c0             	test   %rax,%rax
180045c1d:	74 0d                	je     0x180045c2c
180045c1f:	48 8b c8             	mov    %rax,%rcx
180045c22:	e8 41 13 00 00       	call   0x180046f68
180045c27:	48 8b d8             	mov    %rax,%rbx
180045c2a:	eb 02                	jmp    0x180045c2e
180045c2c:	33 db                	xor    %ebx,%ebx
180045c2e:	48 85 db             	test   %rbx,%rbx
180045c31:	0f 84 21 01 00 00    	je     0x180045d58
180045c37:	44 8b cf             	mov    %edi,%r9d
180045c3a:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
180045c3f:	45 8b c7             	mov    %r15d,%r8d
180045c42:	48 8b d6             	mov    %rsi,%rdx
180045c45:	48 8b cb             	mov    %rbx,%rcx
180045c48:	e8 ef 14 00 00       	call   0x18004713c
180045c4d:	44 8b f0             	mov    %eax,%r14d
180045c50:	85 c0                	test   %eax,%eax
180045c52:	0f 88 d3 00 00 00    	js     0x180045d2b
180045c58:	eb 47                	jmp    0x180045ca1
180045c5a:	41 8b 7d 28          	mov    0x28(%r13),%edi
180045c5e:	39 bc 24 88 00 00 00 	cmp    %edi,0x88(%rsp)
180045c65:	49 8b 5d 00          	mov    0x0(%r13),%rbx
180045c69:	0f 42 bc 24 88 00 00 	cmovb  0x88(%rsp),%edi
180045c70:	00
180045c71:	3b be 80 00 00 00    	cmp    0x80(%rsi),%edi
180045c77:	75 09                	jne    0x180045c82
180045c79:	8b 46 3c             	mov    0x3c(%rsi),%eax
180045c7c:	83 e0 02             	and    $0x2,%eax
180045c7f:	09 43 3c             	or     %eax,0x3c(%rbx)
180045c82:	41 8b c7             	mov    %r15d,%eax
180045c85:	48 03 46 68          	add    0x68(%rsi),%rax
180045c89:	48 89 43 68          	mov    %rax,0x68(%rbx)
180045c8d:	8b 86 94 00 00 00    	mov    0x94(%rsi),%eax
180045c93:	83 f8 ff             	cmp    $0xffffffff,%eax
180045c96:	74 09                	je     0x180045ca1
180045c98:	41 03 c7             	add    %r15d,%eax
180045c9b:	89 83 94 00 00 00    	mov    %eax,0x94(%rbx)
180045ca1:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
180045ca8:	00
180045ca9:	33 d2                	xor    %edx,%edx
180045cab:	48 8b c5             	mov    %rbp,%rax
180045cae:	48 f7 71 60          	divq   0x60(%rcx)
180045cb2:	89 bb 80 00 00 00    	mov    %edi,0x80(%rbx)
180045cb8:	48 8b ce             	mov    %rsi,%rcx
180045cbb:	48 89 53 78          	mov    %rdx,0x78(%rbx)
180045cbf:	48 8b d3             	mov    %rbx,%rdx
180045cc2:	8b 86 84 00 00 00    	mov    0x84(%rsi),%eax
180045cc8:	89 83 84 00 00 00    	mov    %eax,0x84(%rbx)
180045cce:	8b 86 88 00 00 00    	mov    0x88(%rsi),%eax
180045cd4:	89 83 88 00 00 00    	mov    %eax,0x88(%rbx)
180045cda:	8a 86 98 00 00 00    	mov    0x98(%rsi),%al
180045ce0:	88 83 98 00 00 00    	mov    %al,0x98(%rbx)
180045ce6:	48 8b 84 24 90 00 00 	mov    0x90(%rsp),%rax
180045ced:	00
180045cee:	48 89 83 d8 00 00 00 	mov    %rax,0xd8(%rbx)
180045cf5:	e8 b2 13 00 00       	call   0x1800470ac
180045cfa:	4d 85 ed             	test   %r13,%r13
180045cfd:	75 44                	jne    0x180045d43
180045cff:	8b c7                	mov    %edi,%eax
180045d01:	48 03 e8             	add    %rax,%rbp
180045d04:	49 3b ec             	cmp    %r12,%rbp
180045d07:	73 1b                	jae    0x180045d24
180045d09:	4c 8b 84 24 80 00 00 	mov    0x80(%rsp),%r8
180045d10:	00
180045d11:	4c 8b 94 24 98 00 00 	mov    0x98(%rsp),%r10
180045d18:	00
180045d19:	e9 6e fe ff ff       	jmp    0x180045b8c
180045d1e:	41 be 14 00 e7 c0    	mov    $0xc0e70014,%r14d
180045d24:	33 db                	xor    %ebx,%ebx
180045d26:	4d 85 ed             	test   %r13,%r13
180045d29:	75 18                	jne    0x180045d43
180045d2b:	48 85 db             	test   %rbx,%rbx
180045d2e:	74 13                	je     0x180045d43
180045d30:	48 8b 03             	mov    (%rbx),%rax
180045d33:	ba 01 00 00 00       	mov    $0x1,%edx
180045d38:	48 8b cb             	mov    %rbx,%rcx
180045d3b:	48 8b 00             	mov    (%rax),%rax
180045d3e:	ff d0                	call   *%rax
180045d40:	0f 1f 00             	nopl   (%rax)
180045d43:	41 8b c6             	mov    %r14d,%eax
180045d46:	48 83 c4 38          	add    $0x38,%rsp
180045d4a:	41 5f                	pop    %r15
180045d4c:	41 5e                	pop    %r14
180045d4e:	41 5d                	pop    %r13
180045d50:	41 5c                	pop    %r12
180045d52:	5f                   	pop    %rdi
180045d53:	5e                   	pop    %rsi
180045d54:	5d                   	pop    %rbp
180045d55:	5b                   	pop    %rbx
180045d56:	c3                   	ret
180045d57:	cc                   	int3
180045d58:	41 be 9a 00 00 c0    	mov    $0xc000009a,%r14d
180045d5e:	eb c6                	jmp    0x180045d26
180045d60:	4c 8b dc             	mov    %rsp,%r11
180045d63:	49 89 5b 08          	mov    %rbx,0x8(%r11)
180045d67:	49 89 6b 10          	mov    %rbp,0x10(%r11)
180045d6b:	49 89 73 18          	mov    %rsi,0x18(%r11)
180045d6f:	57                   	push   %rdi
180045d70:	41 54                	push   %r12
180045d72:	41 55                	push   %r13
180045d74:	41 56                	push   %r14
180045d76:	41 57                	push   %r15
180045d78:	48 83 ec 30          	sub    $0x30,%rsp
180045d7c:	4c 8b ac 24 88 00 00 	mov    0x88(%rsp),%r13
180045d83:	00
180045d84:	33 db                	xor    %ebx,%ebx
180045d86:	48 8b f1             	mov    %rcx,%rsi
180045d89:	45 33 e4             	xor    %r12d,%r12d
180045d8c:	8b ca                	mov    %edx,%ecx
180045d8e:	4d 8b d1             	mov    %r9,%r10
180045d91:	49 8b f8             	mov    %r8,%rdi
180045d94:	44 8b f2             	mov    %edx,%r14d
180045d97:	49 21 5d 00          	and    %rbx,0x0(%r13)
180045d9b:	83 e9 01             	sub    $0x1,%ecx
180045d9e:	0f 84 f1 00 00 00    	je     0x180045e95
180045da4:	83 f9 01             	cmp    $0x1,%ecx
180045da7:	0f 84 ce 00 00 00    	je     0x180045e7b
180045dad:	4d 85 c0             	test   %r8,%r8
180045db0:	75 27                	jne    0x180045dd9
180045db2:	48 8b 46 08          	mov    0x8(%rsi),%rax
180045db6:	4c 3b 48 68          	cmp    0x68(%rax),%r9
180045dba:	75 1d                	jne    0x180045dd9
180045dbc:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
180045dc3:	00
180045dc4:	48 8b ce             	mov    %rsi,%rcx
180045dc7:	4d 89 6b d0          	mov    %r13,-0x30(%r11)
180045dcb:	49 89 43 c8          	mov    %rax,-0x38(%r11)
180045dcf:	e8 f4 f9 ff ff       	call   0x1800457c8
180045dd4:	e9 b8 00 00 00       	jmp    0x180045e91
180045dd9:	4d 85 d2             	test   %r10,%r10
180045ddc:	bd 01 00 00 00       	mov    $0x1,%ebp
180045de1:	49 0f 45 ea          	cmovne %r10,%rbp
180045de5:	48 03 ef             	add    %rdi,%rbp
180045de8:	48 3b fd             	cmp    %rbp,%rdi
180045deb:	0f 83 84 00 00 00    	jae    0x180045e75
180045df1:	4c 8d 46 20          	lea    0x20(%rsi),%r8
180045df5:	48 8b 4e 60          	mov    0x60(%rsi),%rcx
180045df9:	33 d2                	xor    %edx,%edx
180045dfb:	48 8b c7             	mov    %rdi,%rax
180045dfe:	4c 8b fd             	mov    %rbp,%r15
180045e01:	48 f7 f1             	div    %rcx
180045e04:	4c 2b ff             	sub    %rdi,%r15
180045e07:	48 2b ca             	sub    %rdx,%rcx
180045e0a:	48 89 94 24 88 00 00 	mov    %rdx,0x88(%rsp)
180045e11:	00
180045e12:	4c 3b f9             	cmp    %rcx,%r15
180045e15:	48 8b d0             	mov    %rax,%rdx
180045e18:	4c 0f 43 f9          	cmovae %rcx,%r15
180045e1c:	49 8b c8             	mov    %r8,%rcx
180045e1f:	e8 b8 da ff ff       	call   0x1800438dc
180045e24:	48 8b c8             	mov    %rax,%rcx
180045e27:	48 85 c0             	test   %rax,%rax
180045e2a:	75 05                	jne    0x180045e31
180045e2c:	4d 03 e7             	add    %r15,%r12
180045e2f:	eb 34                	jmp    0x180045e65
180045e31:	48 8b 94 24 80 00 00 	mov    0x80(%rsp),%rdx
180045e38:	00
180045e39:	4d 8b cf             	mov    %r15,%r9
180045e3c:	48 8b 00             	mov    (%rax),%rax
180045e3f:	4c 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8
180045e46:	00
180045e47:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
180045e4c:	41 8b d6             	mov    %r14d,%edx
180045e4f:	48 8b 40 60          	mov    0x60(%rax),%rax
180045e53:	ff d0                	call   *%rax
180045e55:	0f 1f 00             	nopl   (%rax)
180045e58:	8b d8                	mov    %eax,%ebx
180045e5a:	85 c0                	test   %eax,%eax
180045e5c:	78 17                	js     0x180045e75
180045e5e:	3d 02 00 e7 00       	cmp    $0xe70002,%eax
180045e63:	74 0e                	je     0x180045e73
180045e65:	49 03 ff             	add    %r15,%rdi
180045e68:	4c 8d 46 20          	lea    0x20(%rsi),%r8
180045e6c:	48 3b fd             	cmp    %rbp,%rdi
180045e6f:	72 84                	jb     0x180045df5
180045e71:	eb 02                	jmp    0x180045e75
180045e73:	33 db                	xor    %ebx,%ebx
180045e75:	4d 89 65 00          	mov    %r12,0x0(%r13)
180045e79:	eb 45                	jmp    0x180045ec0
180045e7b:	4c 8b 8c 24 80 00 00 	mov    0x80(%rsp),%r9
180045e82:	00
180045e83:	4d 8b c2             	mov    %r10,%r8
180045e86:	48 8b d7             	mov    %rdi,%rdx
180045e89:	48 8b ce             	mov    %rsi,%rcx
180045e8c:	e8 6f 00 00 00       	call   0x180045f00
180045e91:	8b d8                	mov    %eax,%ebx
180045e93:	eb 2b                	jmp    0x180045ec0
180045e95:	33 d2                	xor    %edx,%edx
180045e97:	48 8d 4e 20          	lea    0x20(%rsi),%rcx
180045e9b:	48 8b c7             	mov    %rdi,%rax
180045e9e:	48 f7 76 60          	divq   0x60(%rsi)
180045ea2:	48 8b d0             	mov    %rax,%rdx
180045ea5:	e8 32 da ff ff       	call   0x1800438dc
180045eaa:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
180045eb1:	00
180045eb2:	48 85 c0             	test   %rax,%rax
180045eb5:	48 89 01             	mov    %rax,(%rcx)
180045eb8:	b9 25 02 00 c0       	mov    $0xc0000225,%ecx
180045ebd:	0f 44 d9             	cmove  %ecx,%ebx
180045ec0:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
180045ec5:	8b c3                	mov    %ebx,%eax
180045ec7:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
180045ecc:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
180045ed1:	48 83 c4 30          	add    $0x30,%rsp
180045ed5:	41 5f                	pop    %r15
180045ed7:	41 5e                	pop    %r14
180045ed9:	41 5d                	pop    %r13
180045edb:	41 5c                	pop    %r12
180045edd:	5f                   	pop    %rdi
180045ede:	c3                   	ret
180045edf:	cc                   	int3
180045ee0:	48 83 ec 28          	sub    $0x28,%rsp
180045ee4:	48 8b c2             	mov    %rdx,%rax
180045ee7:	33 d2                	xor    %edx,%edx
180045ee9:	48 f7 71 60          	divq   0x60(%rcx)
180045eed:	48 83 c1 20          	add    $0x20,%rcx
180045ef1:	48 8b d0             	mov    %rax,%rdx
180045ef4:	e8 e3 d9 ff ff       	call   0x1800438dc
180045ef9:	48 83 c4 28          	add    $0x28,%rsp
180045efd:	c3                   	ret
180045efe:	cc                   	int3
180045eff:	cc                   	int3
180045f00:	48 8b c4             	mov    %rsp,%rax
180045f03:	48 89 58 08          	mov    %rbx,0x8(%rax)
180045f07:	48 89 68 18          	mov    %rbp,0x18(%rax)
180045f0b:	48 89 70 20          	mov    %rsi,0x20(%rax)
180045f0f:	57                   	push   %rdi
180045f10:	41 54                	push   %r12
180045f12:	41 55                	push   %r13
180045f14:	41 56                	push   %r14
180045f16:	41 57                	push   %r15
180045f18:	48 83 ec 20          	sub    $0x20,%rsp
180045f1c:	48 83 60 10 00       	andq   $0x0,0x10(%rax)
180045f21:	4e 8d 34 02          	lea    (%rdx,%r8,1),%r14
180045f25:	33 f6                	xor    %esi,%esi
180045f27:	4d 8b e9             	mov    %r9,%r13
180045f2a:	48 8b fa             	mov    %rdx,%rdi
180045f2d:	48 8b e9             	mov    %rcx,%rbp
180045f30:	49 3b d6             	cmp    %r14,%rdx
180045f33:	0f 83 b4 00 00 00    	jae    0x180045fed
180045f39:	4c 8d 79 20          	lea    0x20(%rcx),%r15
180045f3d:	4c 8b 45 60          	mov    0x60(%rbp),%r8
180045f41:	33 d2                	xor    %edx,%edx
180045f43:	48 8b c7             	mov    %rdi,%rax
180045f46:	4d 8b e6             	mov    %r14,%r12
180045f49:	49 f7 f0             	div    %r8
180045f4c:	49 8b c0             	mov    %r8,%rax
180045f4f:	4c 2b e7             	sub    %rdi,%r12
180045f52:	48 2b c2             	sub    %rdx,%rax
180045f55:	49 8b cf             	mov    %r15,%rcx
180045f58:	4c 3b e0             	cmp    %rax,%r12
180045f5b:	4c 0f 43 e0          	cmovae %rax,%r12
180045f5f:	33 d2                	xor    %edx,%edx
180045f61:	48 8b c7             	mov    %rdi,%rax
180045f64:	49 f7 f0             	div    %r8
180045f67:	48 8b d0             	mov    %rax,%rdx
180045f6a:	48 8b d8             	mov    %rax,%rbx
180045f6d:	e8 6a d9 ff ff       	call   0x1800438dc
180045f72:	48 85 c0             	test   %rax,%rax
180045f75:	75 6a                	jne    0x180045fe1
180045f77:	45 33 c0             	xor    %r8d,%r8d
180045f7a:	48 8b d3             	mov    %rbx,%rdx
180045f7d:	49 8b cf             	mov    %r15,%rcx
180045f80:	e8 9b d9 ff ff       	call   0x180043920
180045f85:	8b f0                	mov    %eax,%esi
180045f87:	85 c0                	test   %eax,%eax
180045f89:	78 62                	js     0x180045fed
180045f8b:	4c 8b 45 08          	mov    0x8(%rbp),%r8
180045f8f:	4c 8d 4c 24 58       	lea    0x58(%rsp),%r9
180045f94:	33 d2                	xor    %edx,%edx
180045f96:	48 8b c7             	mov    %rdi,%rax
180045f99:	48 f7 75 60          	divq   0x60(%rbp)
180045f9d:	48 8b c7             	mov    %rdi,%rax
180045fa0:	49 8b cd             	mov    %r13,%rcx
180045fa3:	48 2b c2             	sub    %rdx,%rax
180045fa6:	48 8b d0             	mov    %rax,%rdx
180045fa9:	e8 36 b6 00 00       	call   0x1800515e4
180045fae:	8b f0                	mov    %eax,%esi
180045fb0:	85 c0                	test   %eax,%eax
180045fb2:	78 39                	js     0x180045fed
180045fb4:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
180045fb9:	33 d2                	xor    %edx,%edx
180045fbb:	48 8b cb             	mov    %rbx,%rcx
180045fbe:	48 8b 03             	mov    (%rbx),%rax
180045fc1:	48 8b 40 70          	mov    0x70(%rax),%rax
180045fc5:	ff d0                	call   *%rax
180045fc7:	0f 1f 00             	nopl   (%rax)
180045fca:	33 d2                	xor    %edx,%edx
180045fcc:	48 8b c7             	mov    %rdi,%rax
180045fcf:	48 f7 75 60          	divq   0x60(%rbp)
180045fd3:	4c 8b c3             	mov    %rbx,%r8
180045fd6:	49 8b cf             	mov    %r15,%rcx