18005ac35:	5d                   	pop    %rbp
18005ac36:	c3                   	ret
18005ac37:	cc                   	int3
18005ac38:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005ac3d:	57                   	push   %rdi
18005ac3e:	48 83 ec 20          	sub    $0x20,%rsp
18005ac42:	8b da                	mov    %edx,%ebx
18005ac44:	48 8b f9             	mov    %rcx,%rdi
18005ac47:	e8 1c 00 00 00       	call   0x18005ac68
18005ac4c:	f6 c3 01             	test   $0x1,%bl
18005ac4f:	74 08                	je     0x18005ac59
18005ac51:	48 8b cf             	mov    %rdi,%rcx
18005ac54:	e8 03 bd fe ff       	call   0x18004695c
18005ac59:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18005ac5e:	48 8b c7             	mov    %rdi,%rax
18005ac61:	48 83 c4 20          	add    $0x20,%rsp
18005ac65:	5f                   	pop    %rdi
18005ac66:	c3                   	ret
18005ac67:	cc                   	int3
18005ac68:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18005ac6d:	57                   	push   %rdi
18005ac6e:	48 83 ec 20          	sub    $0x20,%rsp
18005ac72:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
18005ac78:	48 8d 05 79 8b 0e 00 	lea    0xe8b79(%rip),%rax        # 0x1801437f8
18005ac7f:	48 8d 79 10          	lea    0x10(%rcx),%rdi
18005ac83:	48 89 01             	mov    %rax,(%rcx)
18005ac86:	48 8b d9             	mov    %rcx,%rbx
18005ac89:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
18005ac8e:	48 8b cf             	mov    %rdi,%rcx
18005ac91:	e8 6e 8e fe ff       	call   0x180043b04
18005ac96:	eb 18                	jmp    0x18005acb0
18005ac98:	48 8b d0             	mov    %rax,%rdx
18005ac9b:	48 8b cb             	mov    %rbx,%rcx
18005ac9e:	e8 1d 01 00 00       	call   0x18005adc0
18005aca3:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
18005aca8:	48 8b cf             	mov    %rdi,%rcx
18005acab:	e8 5c 8f fe ff       	call   0x180043c0c
18005acb0:	48 85 c0             	test   %rax,%rax
18005acb3:	75 e3                	jne    0x18005ac98
18005acb5:	48 8d 8b 88 00 00 00 	lea    0x88(%rbx),%rcx
18005acbc:	e8 e7 68 00 00       	call   0x1800615a8
18005acc1:	48 8d 4b 50          	lea    0x50(%rbx),%rcx
18005acc5:	e8 de 68 00 00       	call   0x1800615a8
18005acca:	48 8b cf             	mov    %rdi,%rcx
18005accd:	e8 4a 8b fe ff       	call   0x18004381c
18005acd2:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
18005acd7:	48 83 c4 20          	add    $0x20,%rsp
18005acdb:	5f                   	pop    %rdi
18005acdc:	c3                   	ret
18005acdd:	cc                   	int3
18005acde:	cc                   	int3
18005acdf:	cc                   	int3
18005ace0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005ace5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18005acea:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18005acef:	57                   	push   %rdi
18005acf0:	41 56                	push   %r14
18005acf2:	41 57                	push   %r15
18005acf4:	48 83 ec 20          	sub    $0x20,%rsp
18005acf8:	48 8b f9             	mov    %rcx,%rdi
18005acfb:	4c 8b f2             	mov    %rdx,%r14
18005acfe:	48 83 c1 10          	add    $0x10,%rcx
18005ad02:	33 f6                	xor    %esi,%esi
18005ad04:	e8 d3 8b fe ff       	call   0x1800438dc
18005ad09:	48 85 c0             	test   %rax,%rax
18005ad0c:	0f 85 8f 00 00 00    	jne    0x18005ada1
18005ad12:	48 8d 4f 50          	lea    0x50(%rdi),%rcx
18005ad16:	e8 0d 69 00 00       	call   0x180061628
18005ad1b:	48 8b d8             	mov    %rax,%rbx
18005ad1e:	48 85 c0             	test   %rax,%rax
18005ad21:	74 7e                	je     0x18005ada1
18005ad23:	44 8b 47 50          	mov    0x50(%rdi),%r8d
18005ad27:	33 d2                	xor    %edx,%edx
18005ad29:	48 8b c8             	mov    %rax,%rcx
18005ad2c:	e8 4f af 0d 00       	call   0x180135c80
18005ad31:	48 8d af 88 00 00 00 	lea    0x88(%rdi),%rbp
18005ad38:	4c 89 33             	mov    %r14,(%rbx)
18005ad3b:	48 8b cd             	mov    %rbp,%rcx
18005ad3e:	e8 e5 68 00 00       	call   0x180061628
18005ad43:	48 89 43 08          	mov    %rax,0x8(%rbx)
18005ad47:	48 85 c0             	test   %rax,%rax
18005ad4a:	74 45                	je     0x18005ad91
18005ad4c:	44 8b 45 00          	mov    0x0(%rbp),%r8d
18005ad50:	33 d2                	xor    %edx,%edx
18005ad52:	48 8b c8             	mov    %rax,%rcx
18005ad55:	e8 26 af 0d 00       	call   0x180135c80
18005ad5a:	33 d2                	xor    %edx,%edx
18005ad5c:	39 57 08             	cmp    %edx,0x8(%rdi)
18005ad5f:	76 18                	jbe    0x18005ad79
18005ad61:	8b c2                	mov    %edx,%eax
18005ad63:	ff c2                	inc    %edx
18005ad65:	48 c1 e0 04          	shl    $0x4,%rax
18005ad69:	48 03 43 08          	add    0x8(%rbx),%rax
18005ad6d:	48 89 40 08          	mov    %rax,0x8(%rax)
18005ad71:	48 89 00             	mov    %rax,(%rax)
18005ad74:	3b 57 08             	cmp    0x8(%rdi),%edx
18005ad77:	72 e8                	jb     0x18005ad61
18005ad79:	4c 8b c3             	mov    %rbx,%r8
18005ad7c:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
18005ad80:	49 8b d6             	mov    %r14,%rdx
18005ad83:	e8 98 8b fe ff       	call   0x180043920
18005ad88:	85 c0                	test   %eax,%eax
18005ad8a:	78 05                	js     0x18005ad91
18005ad8c:	48 8b f3             	mov    %rbx,%rsi
18005ad8f:	33 db                	xor    %ebx,%ebx
18005ad91:	48 85 db             	test   %rbx,%rbx
18005ad94:	74 0b                	je     0x18005ada1
18005ad96:	48 8b d3             	mov    %rbx,%rdx
18005ad99:	48 8b cf             	mov    %rdi,%rcx
18005ad9c:	e8 1f 00 00 00       	call   0x18005adc0
18005ada1:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18005ada6:	48 8b c6             	mov    %rsi,%rax
18005ada9:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18005adae:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18005adb3:	48 83 c4 20          	add    $0x20,%rsp
18005adb7:	41 5f                	pop    %r15
18005adb9:	41 5e                	pop    %r14
18005adbb:	5f                   	pop    %rdi
18005adbc:	c3                   	ret
18005adbd:	cc                   	int3
18005adbe:	cc                   	int3
18005adbf:	cc                   	int3
18005adc0:	40 53                	rex push %rbx
18005adc2:	48 83 ec 20          	sub    $0x20,%rsp
18005adc6:	48 8b da             	mov    %rdx,%rbx
18005adc9:	48 83 c1 10          	add    $0x10,%rcx
18005adcd:	48 8b 12             	mov    (%rdx),%rdx
18005add0:	45 33 c0             	xor    %r8d,%r8d
18005add3:	e8 48 8b fe ff       	call   0x180043920
18005add8:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
18005addc:	48 85 c9             	test   %rcx,%rcx
18005addf:	74 05                	je     0x18005ade6
18005ade1:	e8 d2 68 00 00       	call   0x1800616b8
18005ade6:	48 83 c4 20          	add    $0x20,%rsp
18005adea:	5b                   	pop    %rbx
18005adeb:	c3                   	ret
18005adec:	cc                   	int3
18005aded:	cc                   	int3
18005adee:	cc                   	int3
18005adef:	cc                   	int3
18005adf0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005adf5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18005adfa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18005adff:	57                   	push   %rdi
18005ae00:	41 54                	push   %r12
18005ae02:	41 55                	push   %r13
18005ae04:	41 56                	push   %r14
18005ae06:	41 57                	push   %r15
18005ae08:	48 83 ec 30          	sub    $0x30,%rsp
18005ae0c:	33 f6                	xor    %esi,%esi
18005ae0e:	41 8b d9             	mov    %r9d,%ebx
18005ae11:	49 8b f8             	mov    %r8,%rdi
18005ae14:	4c 8b e1             	mov    %rcx,%r12
18005ae17:	48 85 c9             	test   %rcx,%rcx
18005ae1a:	0f 84 fc 00 00 00    	je     0x18005af1c
18005ae20:	44 8b f2             	mov    %edx,%r14d
18005ae23:	49 c1 e6 04          	shl    $0x4,%r14
18005ae27:	4c 03 71 08          	add    0x8(%rcx),%r14
18005ae2b:	4d 8b 3e             	mov    (%r14),%r15
18005ae2e:	e9 e0 00 00 00       	jmp    0x18005af13
18005ae33:	4d 8b ef             	mov    %r15,%r13
18005ae36:	4d 8b 3f             	mov    (%r15),%r15
18005ae39:	49 8b 6d 10          	mov    0x10(%r13),%rbp
18005ae3d:	48 3b ef             	cmp    %rdi,%rbp
18005ae40:	76 54                	jbe    0x18005ae96
18005ae42:	48 2b ef             	sub    %rdi,%rbp
18005ae45:	8b c3                	mov    %ebx,%eax
18005ae47:	48 3b e8             	cmp    %rax,%rbp
18005ae4a:	0f 83 cc 00 00 00    	jae    0x18005af1c
18005ae50:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
18005ae57:	00
18005ae58:	45 33 c0             	xor    %r8d,%r8d
18005ae5b:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
18005ae62:	00
18005ae63:	44 8b cd             	mov    %ebp,%r9d
18005ae66:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
18005ae6b:	49 8b d4             	mov    %r12,%rdx
18005ae6e:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
18005ae73:	41 8d 48 01          	lea    0x1(%r8),%ecx
18005ae77:	ff d0                	call   *%rax
18005ae79:	0f 1f 00             	nopl   (%rax)
18005ae7c:	85 c0                	test   %eax,%eax
18005ae7e:	0f 88 06 01 00 00    	js     0x18005af8a
18005ae84:	3d 02 00 e7 00       	cmp    $0xe70002,%eax
18005ae89:	0f 84 00 01 00 00    	je     0x18005af8f
18005ae8f:	2b dd                	sub    %ebp,%ebx
18005ae91:	8b c5                	mov    %ebp,%eax
18005ae93:	48 03 f8             	add    %rax,%rdi
18005ae96:	85 db                	test   %ebx,%ebx
18005ae98:	0f 84 c0 00 00 00    	je     0x18005af5e
18005ae9e:	49 8b 45 10          	mov    0x10(%r13),%rax
18005aea2:	48 3b c7             	cmp    %rdi,%rax
18005aea5:	77 68                	ja     0x18005af0f
18005aea7:	41 8b 6d 18          	mov    0x18(%r13),%ebp
18005aeab:	48 8b d7             	mov    %rdi,%rdx
18005aeae:	48 2b d0             	sub    %rax,%rdx
18005aeb1:	48 3b d5             	cmp    %rbp,%rdx
18005aeb4:	73 5d                	jae    0x18005af13
18005aeb6:	8b cd                	mov    %ebp,%ecx
18005aeb8:	8b c3                	mov    %ebx,%eax
18005aeba:	48 2b ca             	sub    %rdx,%rcx
18005aebd:	48 3b c8             	cmp    %rax,%rcx
18005aec0:	73 04                	jae    0x18005aec6
18005aec2:	2b ea                	sub    %edx,%ebp
18005aec4:	eb 02                	jmp    0x18005aec8
18005aec6:	8b eb                	mov    %ebx,%ebp
18005aec8:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
18005aecf:	00
18005aed0:	44 8b cd             	mov    %ebp,%r9d
18005aed3:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
18005aeda:	00
18005aedb:	4d 8b c5             	mov    %r13,%r8
18005aede:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
18005aee3:	49 8b d4             	mov    %r12,%rdx
18005aee6:	b9 02 00 00 00       	mov    $0x2,%ecx
18005aeeb:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
18005aef0:	ff d0                	call   *%rax
18005aef2:	0f 1f 00             	nopl   (%rax)
18005aef5:	85 c0                	test   %eax,%eax
18005aef7:	0f 88 8d 00 00 00    	js     0x18005af8a
18005aefd:	3d 02 00 e7 00       	cmp    $0xe70002,%eax
18005af02:	0f 84 87 00 00 00    	je     0x18005af8f
18005af08:	2b dd                	sub    %ebp,%ebx
18005af0a:	8b c5                	mov    %ebp,%eax
18005af0c:	48 03 f8             	add    %rax,%rdi
18005af0f:	85 db                	test   %ebx,%ebx
18005af11:	74 4b                	je     0x18005af5e
18005af13:	4d 3b fe             	cmp    %r14,%r15
18005af16:	0f 85 17 ff ff ff    	jne    0x18005ae33
18005af1c:	85 db                	test   %ebx,%ebx
18005af1e:	74 3e                	je     0x18005af5e
18005af20:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
18005af27:	00
18005af28:	45 33 c0             	xor    %r8d,%r8d
18005af2b:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
18005af32:	00
18005af33:	44 8b cb             	mov    %ebx,%r9d
18005af36:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
18005af3b:	49 8b d4             	mov    %r12,%rdx
18005af3e:	8b eb                	mov    %ebx,%ebp
18005af40:	41 8d 48 03          	lea    0x3(%r8),%ecx
18005af44:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
18005af49:	ff d0                	call   *%rax
18005af4b:	0f 1f 00             	nopl   (%rax)
18005af4e:	85 c0                	test   %eax,%eax
18005af50:	78 38                	js     0x18005af8a
18005af52:	3d 02 00 e7 00       	cmp    $0xe70002,%eax
18005af57:	74 36                	je     0x18005af8f
18005af59:	8b de                	mov    %esi,%ebx
18005af5b:	48 03 fd             	add    %rbp,%rdi
18005af5e:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
18005af65:	00
18005af66:	45 33 c0             	xor    %r8d,%r8d
18005af69:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
18005af70:	00
18005af71:	44 8b cb             	mov    %ebx,%r9d
18005af74:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
18005af79:	49 8b d4             	mov    %r12,%rdx
18005af7c:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
18005af81:	41 8d 48 04          	lea    0x4(%r8),%ecx
18005af85:	ff d0                	call   *%rax
18005af87:	0f 1f 00             	nopl   (%rax)
18005af8a:	3d 02 00 e7 00       	cmp    $0xe70002,%eax
18005af8f:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18005af94:	0f 45 f0             	cmovne %eax,%esi
18005af97:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
18005af9c:	8b c6                	mov    %esi,%eax
18005af9e:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
18005afa3:	48 83 c4 30          	add    $0x30,%rsp
18005afa7:	41 5f                	pop    %r15
18005afa9:	41 5e                	pop    %r14
18005afab:	41 5d                	pop    %r13
18005afad:	41 5c                	pop    %r12
18005afaf:	5f                   	pop    %rdi
18005afb0:	c3                   	ret
18005afb1:	cc                   	int3
18005afb2:	cc                   	int3
18005afb3:	cc                   	int3
18005afb4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005afb9:	57                   	push   %rdi
18005afba:	48 83 ec 20          	sub    $0x20,%rsp
18005afbe:	8b da                	mov    %edx,%ebx
18005afc0:	48 8b f9             	mov    %rcx,%rdi
18005afc3:	e8 1c 00 00 00       	call   0x18005afe4
18005afc8:	f6 c3 01             	test   $0x1,%bl
18005afcb:	74 08                	je     0x18005afd5
18005afcd:	48 8b cf             	mov    %rdi,%rcx
18005afd0:	e8 87 b9 fe ff       	call   0x18004695c
18005afd5:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18005afda:	48 8b c7             	mov    %rdi,%rax
18005afdd:	48 83 c4 20          	add    $0x20,%rsp
18005afe1:	5f                   	pop    %rdi
18005afe2:	c3                   	ret
18005afe3:	cc                   	int3
18005afe4:	40 53                	rex push %rbx
18005afe6:	48 83 ec 20          	sub    $0x20,%rsp
18005afea:	48 8d 05 ef 87 0e 00 	lea    0xe87ef(%rip),%rax        # 0x1801437e0
18005aff1:	48 8b d9             	mov    %rcx,%rbx
18005aff4:	48 89 01             	mov    %rax,(%rcx)
18005aff7:	48 81 c1 c0 00 00 00 	add    $0xc0,%rcx
18005affe:	e8 a5 65 00 00       	call   0x1800615a8
18005b003:	48 8b cb             	mov    %rbx,%rcx
18005b006:	e8 5d fc ff ff       	call   0x18005ac68
18005b00b:	48 83 c4 20          	add    $0x20,%rsp
18005b00f:	5b                   	pop    %rbx
18005b010:	c3                   	ret
18005b011:	cc                   	int3
18005b012:	cc                   	int3
18005b013:	cc                   	int3
18005b014:	48 83 ec 28          	sub    $0x28,%rsp
18005b018:	e8 c3 fc ff ff       	call   0x18005ace0
18005b01d:	48 85 c0             	test   %rax,%rax
18005b020:	74 16                	je     0x18005b038
18005b022:	48 8d 48 30          	lea    0x30(%rax),%rcx
18005b026:	48 89 49 08          	mov    %rcx,0x8(%rcx)
18005b02a:	48 89 09             	mov    %rcx,(%rcx)
18005b02d:	48 8d 48 40          	lea    0x40(%rax),%rcx
18005b031:	48 89 49 08          	mov    %rcx,0x8(%rcx)
18005b035:	48 89 09             	mov    %rcx,(%rcx)
18005b038:	48 83 c4 28          	add    $0x28,%rsp
18005b03c:	c3                   	ret
18005b03d:	cc                   	int3
18005b03e:	cc                   	int3
18005b03f:	cc                   	int3
18005b040:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005b045:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18005b04a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18005b04f:	57                   	push   %rdi
18005b050:	41 54                	push   %r12
18005b052:	41 55                	push   %r13
18005b054:	41 56                	push   %r14
18005b056:	41 57                	push   %r15
18005b058:	48 83 ec 20          	sub    $0x20,%rsp
18005b05c:	44 8b ea             	mov    %edx,%r13d
18005b05f:	48 8b f1             	mov    %rcx,%rsi
18005b062:	48 83 c1 10          	add    $0x10,%rcx
18005b066:	49 8b d1             	mov    %r9,%rdx
18005b069:	49 8b d9             	mov    %r9,%rbx
18005b06c:	49 8b e8             	mov    %r8,%rbp
18005b06f:	33 ff                	xor    %edi,%edi
18005b071:	45 33 e4             	xor    %r12d,%r12d
18005b074:	e8 63 88 fe ff       	call   0x1800438dc
18005b079:	4c 8b f0             	mov    %rax,%r14
18005b07c:	48 85 c0             	test   %rax,%rax
18005b07f:	75 1a                	jne    0x18005b09b
18005b081:	48 8b d3             	mov    %rbx,%rdx
18005b084:	48 8b ce             	mov    %rsi,%rcx
18005b087:	e8 88 ff ff ff       	call   0x18005b014
18005b08c:	48 8b f8             	mov    %rax,%rdi
18005b08f:	48 85 c0             	test   %rax,%rax