18012a89e:	e8 31 c5 fe ff       	call   0x180116dd4
18012a8a3:	f6 44 24 44 02       	testb  $0x2,0x44(%rsp)
18012a8a8:	74 7f                	je     0x18012a929
18012a8aa:	8b 44 24 50          	mov    0x50(%rsp),%eax
18012a8ae:	83 e0 f0             	and    $0xfffffff0,%eax
18012a8b1:	89 44 24 30          	mov    %eax,0x30(%rsp)
18012a8b5:	74 72                	je     0x18012a929
18012a8b7:	89 6c 24 34          	mov    %ebp,0x34(%rsp)
18012a8bb:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
18012a8c0:	e8 6f c5 fe ff       	call   0x180116e34
18012a8c5:	4c 8b d0             	mov    %rax,%r10
18012a8c8:	48 85 c0             	test   %rax,%rax
18012a8cb:	74 5c                	je     0x18012a929
18012a8cd:	8b 48 04             	mov    0x4(%rax),%ecx
18012a8d0:	41 bb 00 01 00 00    	mov    $0x100,%r11d
18012a8d6:	41 85 cb             	test   %ecx,%r11d
18012a8d9:	74 46                	je     0x18012a921
18012a8db:	8b 48 04             	mov    0x4(%rax),%ecx
18012a8de:	41 3b cb             	cmp    %r11d,%ecx
18012a8e1:	75 0c                	jne    0x18012a8ef
18012a8e3:	8b 48 10             	mov    0x10(%rax),%ecx
18012a8e6:	85 c9                	test   %ecx,%ecx
18012a8e8:	75 05                	jne    0x18012a8ef
18012a8ea:	89 68 04             	mov    %ebp,0x4(%rax)
18012a8ed:	eb 32                	jmp    0x18012a921
18012a8ef:	c7 40 14 40 00 00 00 	movl   $0x40,0x14(%rax)
18012a8f6:	c7 40 10 00 00 00 c0 	movl   $0xc0000000,0x10(%rax)
18012a8fd:	c7 40 08 08 00 00 00 	movl   $0x8,0x8(%rax)
18012a904:	b9 e8 03 00 00       	mov    $0x3e8,%ecx
18012a909:	e8 7a 68 f6 ff       	call   0x180091188
18012a90e:	41 8b 4a 04          	mov    0x4(%r10),%ecx
18012a912:	41 85 cb             	test   %ecx,%r11d
18012a915:	74 0a                	je     0x18012a921
18012a917:	ff c5                	inc    %ebp
18012a919:	81 fd f4 01 00 00    	cmp    $0x1f4,%ebp
18012a91f:	72 e3                	jb     0x18012a904
18012a921:	41 c7 42 14 00 00 00 	movl   $0x80000000,0x14(%r10)
18012a928:	80
18012a929:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
18012a930:	00
18012a931:	48 33 cc             	xor    %rsp,%rcx
18012a934:	e8 f3 b1 ee ff       	call   0x180015b2c
18012a939:	48 8b 9c 24 c8 00 00 	mov    0xc8(%rsp),%rbx
18012a940:	00
18012a941:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
18012a948:	5f                   	pop    %rdi
18012a949:	5e                   	pop    %rsi
18012a94a:	5d                   	pop    %rbp
18012a94b:	c3                   	ret
18012a94c:	cc                   	int3
18012a94d:	cc                   	int3
18012a94e:	cc                   	int3
18012a94f:	cc                   	int3
18012a950:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
18012a955:	55                   	push   %rbp
18012a956:	56                   	push   %rsi
18012a957:	57                   	push   %rdi
18012a958:	41 56                	push   %r14
18012a95a:	41 57                	push   %r15
18012a95c:	48 8d 6c 24 c9       	lea    -0x37(%rsp),%rbp
18012a961:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
18012a968:	48 8b 05 01 20 04 00 	mov    0x42001(%rip),%rax        # 0x18016c970
18012a96f:	48 33 c4             	xor    %rsp,%rax
18012a972:	48 89 45 27          	mov    %rax,0x27(%rbp)
18012a976:	44 8b f2             	mov    %edx,%r14d
18012a979:	41 8b d8             	mov    %r8d,%ebx
18012a97c:	33 d2                	xor    %edx,%edx
18012a97e:	8b f1                	mov    %ecx,%esi
18012a980:	48 8d 4d e7          	lea    -0x19(%rbp),%rcx
18012a984:	41 8a f9             	mov    %r9b,%dil
18012a987:	44 8d 42 40          	lea    0x40(%rdx),%r8d
18012a98b:	e8 f0 b2 00 00       	call   0x180135c80
18012a990:	83 65 d7 00          	andl   $0x0,-0x29(%rbp)
18012a994:	44 8b fb             	mov    %ebx,%r15d
18012a997:	41 c1 ef 05          	shr    $0x5,%r15d
18012a99b:	41 80 e7 07          	and    $0x7,%r15b
18012a99f:	40 84 ff             	test   %dil,%dil
18012a9a2:	bf 04 00 00 00       	mov    $0x4,%edi
18012a9a7:	0f 84 89 00 00 00    	je     0x18012aa36
18012a9ad:	8a c3                	mov    %bl,%al
18012a9af:	c6 45 e0 00          	movb   $0x0,-0x20(%rbp)
18012a9b3:	24 1f                	and    $0x1f,%al
18012a9b5:	66 89 75 db          	mov    %si,-0x25(%rbp)
18012a9b9:	44 8b cf             	mov    %edi,%r9d
18012a9bc:	88 45 de             	mov    %al,-0x22(%rbp)
18012a9bf:	41 b8 c0 00 00 00    	mov    $0xc0,%r8d
18012a9c5:	44 88 75 dd          	mov    %r14b,-0x23(%rbp)
18012a9c9:	48 8d 55 d7          	lea    -0x29(%rbp),%rdx
18012a9cd:	44 88 7d df          	mov    %r15b,-0x21(%rbp)
18012a9d1:	48 8d 4d db          	lea    -0x25(%rbp),%rcx
18012a9d5:	e8 be 3f f7 ff       	call   0x18009e998
18012a9da:	4c 8d 4d e7          	lea    -0x19(%rbp),%r9
18012a9de:	c7 44 24 28 40 00 00 	movl   $0x40,0x28(%rsp)
18012a9e5:	00
18012a9e6:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
18012a9eb:	44 8b c3             	mov    %ebx,%r8d
18012a9ee:	41 8b d6             	mov    %r14d,%edx
18012a9f1:	8b ce                	mov    %esi,%ecx
18012a9f3:	e8 dc c3 fe ff       	call   0x180116dd4
18012a9f8:	f6 45 eb 01          	testb  $0x1,-0x15(%rbp)
18012a9fc:	0f 84 84 00 00 00    	je     0x18012aa86
18012aa02:	8b 55 07             	mov    0x7(%rbp),%edx
18012aa05:	83 e2 fc             	and    $0xfffffffc,%edx
18012aa08:	89 55 d7             	mov    %edx,-0x29(%rbp)
18012aa0b:	8d 4a ff             	lea    -0x1(%rdx),%ecx
18012aa0e:	81 f9 fd ff 00 00    	cmp    $0xfffd,%ecx
18012aa14:	77 70                	ja     0x18012aa86
18012aa16:	66 ed                	in     (%dx),%ax
18012aa18:	a8 08                	test   $0x8,%al
18012aa1a:	75 6a                	jne    0x18012aa86
18012aa1c:	8b 55 d7             	mov    -0x29(%rbp),%edx
18012aa1f:	8b c7                	mov    %edi,%eax
18012aa21:	66 ef                	out    %ax,(%dx)
18012aa23:	b9 10 27 00 00       	mov    $0x2710,%ecx
18012aa28:	e8 5b 67 f6 ff       	call   0x180091188
18012aa2d:	8b 55 d7             	mov    -0x29(%rbp),%edx
18012aa30:	33 c0                	xor    %eax,%eax
18012aa32:	66 ef                	out    %ax,(%dx)
18012aa34:	eb 50                	jmp    0x18012aa86
18012aa36:	89 7c 24 28          	mov    %edi,0x28(%rsp)
18012aa3a:	4c 8d 4d d7          	lea    -0x29(%rbp),%r9
18012aa3e:	44 8b c3             	mov    %ebx,%r8d
18012aa41:	c7 44 24 20 c0 00 00 	movl   $0xc0,0x20(%rsp)
18012aa48:	00
18012aa49:	41 8b d6             	mov    %r14d,%edx
18012aa4c:	8b ce                	mov    %esi,%ecx
18012aa4e:	e8 81 c3 fe ff       	call   0x180116dd4
18012aa53:	81 65 d7 ff 40 ff ff 	andl   $0xffff40ff,-0x29(%rbp)
18012aa5a:	48 8d 55 d7          	lea    -0x29(%rbp),%rdx
18012aa5e:	80 e3 1f             	and    $0x1f,%bl
18012aa61:	c6 45 e0 00          	movb   $0x0,-0x20(%rbp)
18012aa65:	44 8b cf             	mov    %edi,%r9d
18012aa68:	88 5d de             	mov    %bl,-0x22(%rbp)
18012aa6b:	41 b8 c0 00 00 00    	mov    $0xc0,%r8d
18012aa71:	66 89 75 db          	mov    %si,-0x25(%rbp)
18012aa75:	48 8d 4d db          	lea    -0x25(%rbp),%rcx
18012aa79:	44 88 75 dd          	mov    %r14b,-0x23(%rbp)
18012aa7d:	44 88 7d df          	mov    %r15b,-0x21(%rbp)
18012aa81:	e8 12 3f f7 ff       	call   0x18009e998
18012aa86:	48 8b 4d 27          	mov    0x27(%rbp),%rcx
18012aa8a:	48 33 cc             	xor    %rsp,%rcx
18012aa8d:	e8 9a b0 ee ff       	call   0x180015b2c
18012aa92:	48 8b 9c 24 d8 00 00 	mov    0xd8(%rsp),%rbx
18012aa99:	00
18012aa9a:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
18012aaa1:	41 5f                	pop    %r15
18012aaa3:	41 5e                	pop    %r14
18012aaa5:	5f                   	pop    %rdi
18012aaa6:	5e                   	pop    %rsi
18012aaa7:	5d                   	pop    %rbp
18012aaa8:	c3                   	ret
18012aaa9:	cc                   	int3
18012aaaa:	cc                   	int3
18012aaab:	cc                   	int3
18012aaac:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
18012aab1:	55                   	push   %rbp
18012aab2:	56                   	push   %rsi
18012aab3:	57                   	push   %rdi
18012aab4:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
18012aabb:	48 8b 05 ae 1e 04 00 	mov    0x41eae(%rip),%rax        # 0x18016c970
18012aac2:	48 33 c4             	xor    %rsp,%rax
18012aac5:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
18012aacc:	00
18012aacd:	8b f2                	mov    %edx,%esi
18012aacf:	41 8b d8             	mov    %r8d,%ebx
18012aad2:	33 d2                	xor    %edx,%edx
18012aad4:	8b f9                	mov    %ecx,%edi
18012aad6:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
18012aadb:	44 8d 42 40          	lea    0x40(%rdx),%r8d
18012aadf:	e8 9c b1 00 00       	call   0x180135c80
18012aae4:	33 ed                	xor    %ebp,%ebp
18012aae6:	c7 44 24 28 40 00 00 	movl   $0x40,0x28(%rsp)
18012aaed:	00
18012aaee:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
18012aaf3:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
18012aaf7:	44 8b c3             	mov    %ebx,%r8d
18012aafa:	8b d6                	mov    %esi,%edx
18012aafc:	8b cf                	mov    %edi,%ecx
18012aafe:	e8 d1 c2 fe ff       	call   0x180116dd4
18012ab03:	f6 44 24 44 02       	testb  $0x2,0x44(%rsp)
18012ab08:	0f 84 c3 00 00 00    	je     0x18012abd1
18012ab0e:	8b 4c 24 50          	mov    0x50(%rsp),%ecx
18012ab12:	8b c5                	mov    %ebp,%eax
18012ab14:	8b d9                	mov    %ecx,%ebx
18012ab16:	80 e1 06             	and    $0x6,%cl
18012ab19:	83 e3 f0             	and    $0xfffffff0,%ebx
18012ab1c:	80 f9 04             	cmp    $0x4,%cl
18012ab1f:	89 5c 24 30          	mov    %ebx,0x30(%rsp)
18012ab23:	0f 44 44 24 54       	cmove  0x54(%rsp),%eax
18012ab28:	89 44 24 34          	mov    %eax,0x34(%rsp)
18012ab2c:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
18012ab31:	48 85 c9             	test   %rcx,%rcx
18012ab34:	0f 84 97 00 00 00    	je     0x18012abd1
18012ab3a:	e8 f5 c2 fe ff       	call   0x180116e34
18012ab3f:	48 8b d0             	mov    %rax,%rdx
18012ab42:	48 85 c0             	test   %rax,%rax
18012ab45:	0f 84 81 00 00 00    	je     0x18012abcc
18012ab4b:	8b cb                	mov    %ebx,%ecx
18012ab4d:	48 81 e1 00 f0 ff ff 	and    $0xfffffffffffff000,%rcx
18012ab54:	8b 40 10             	mov    0x10(%rax),%eax
18012ab57:	c1 e8 10             	shr    $0x10,%eax
18012ab5a:	85 c0                	test   %eax,%eax
18012ab5c:	74 6e                	je     0x18012abcc
18012ab5e:	40 b6 01             	mov    $0x1,%sil
18012ab61:	c1 e0 02             	shl    $0x2,%eax
18012ab64:	03 d8                	add    %eax,%ebx
18012ab66:	8b fb                	mov    %ebx,%edi
18012ab68:	48 81 e7 00 f0 ff ff 	and    $0xfffffffffffff000,%rdi
18012ab6f:	89 5c 24 30          	mov    %ebx,0x30(%rsp)
18012ab73:	48 3b f9             	cmp    %rcx,%rdi
18012ab76:	76 17                	jbe    0x18012ab8f
18012ab78:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
18012ab7d:	e8 b2 c2 fe ff       	call   0x180116e34
18012ab82:	48 8b d0             	mov    %rax,%rdx
18012ab85:	48 85 c0             	test   %rax,%rax
18012ab88:	74 42                	je     0x18012abcc
18012ab8a:	48 8b cf             	mov    %rdi,%rcx
18012ab8d:	eb 03                	jmp    0x18012ab92
18012ab8f:	48 03 d0             	add    %rax,%rdx
18012ab92:	8b 02                	mov    (%rdx),%eax
18012ab94:	40 3a c6             	cmp    %sil,%al
18012ab97:	74 0c                	je     0x18012aba5
18012ab99:	c1 e8 08             	shr    $0x8,%eax
18012ab9c:	0f b6 c0             	movzbl %al,%eax
18012ab9f:	85 c0                	test   %eax,%eax
18012aba1:	74 29                	je     0x18012abcc
18012aba3:	eb bc                	jmp    0x18012ab61
18012aba5:	8b 02                	mov    (%rdx),%eax
18012aba7:	8b c8                	mov    %eax,%ecx
18012aba9:	c1 e9 10             	shr    $0x10,%ecx
18012abac:	89 44 24 30          	mov    %eax,0x30(%rsp)
18012abb0:	40 84 ce             	test   %cl,%sil
18012abb3:	74 17                	je     0x18012abcc
18012abb5:	c1 e8 18             	shr    $0x18,%eax
18012abb8:	40 0a c6             	or     %sil,%al
18012abbb:	88 44 24 33          	mov    %al,0x33(%rsp)
18012abbf:	8b 44 24 30          	mov    0x30(%rsp),%eax
18012abc3:	89 02                	mov    %eax,(%rdx)
18012abc5:	f0 09 2c 24          	lock or %ebp,(%rsp)
18012abc9:	40 8a ee             	mov    %sil,%bpl
18012abcc:	40 8a c5             	mov    %bpl,%al
18012abcf:	eb 02                	jmp    0x18012abd3
18012abd1:	32 c0                	xor    %al,%al
18012abd3:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
18012abda:	00
18012abdb:	48 33 cc             	xor    %rsp,%rcx
18012abde:	e8 49 af ee ff       	call   0x180015b2c
18012abe3:	48 8b 9c 24 c8 00 00 	mov    0xc8(%rsp),%rbx
18012abea:	00
18012abeb:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
18012abf2:	5f                   	pop    %rdi
18012abf3:	5e                   	pop    %rsi
18012abf4:	5d                   	pop    %rbp
18012abf5:	c3                   	ret
18012abf6:	cc                   	int3
18012abf7:	cc                   	int3
18012abf8:	cc                   	int3
18012abf9:	cc                   	int3
18012abfa:	cc                   	int3
18012abfb:	cc                   	int3
18012abfc:	cc                   	int3
18012abfd:	cc                   	int3
18012abfe:	cc                   	int3
18012abff:	cc                   	int3
18012ac00:	48 83 ec 28          	sub    $0x28,%rsp
18012ac04:	4d 8b 41 38          	mov    0x38(%r9),%r8
18012ac08:	48 8b ca             	mov    %rdx,%rcx
18012ac0b:	49 8b d1             	mov    %r9,%rdx
18012ac0e:	e8 0d 00 00 00       	call   0x18012ac20
18012ac13:	b8 01 00 00 00       	mov    $0x1,%eax
18012ac18:	48 83 c4 28          	add    $0x28,%rsp
18012ac1c:	c3                   	ret
18012ac1d:	cc                   	int3
18012ac1e:	cc                   	int3
18012ac1f:	cc                   	int3
18012ac20:	48 83 ec 28          	sub    $0x28,%rsp
18012ac24:	41 8b 00             	mov    (%r8),%eax
18012ac27:	4c 8b c9             	mov    %rcx,%r9
18012ac2a:	44 8b d8             	mov    %eax,%r11d
18012ac2d:	4c 8b d1             	mov    %rcx,%r10
18012ac30:	41 83 e3 f8          	and    $0xfffffff8,%r11d
18012ac34:	a8 04                	test   $0x4,%al
18012ac36:	74 13                	je     0x18012ac4b
18012ac38:	41 8b 40 08          	mov    0x8(%r8),%eax
18012ac3c:	4d 63 50 04          	movslq 0x4(%r8),%r10
18012ac40:	f7 d8                	neg    %eax
18012ac42:	4c 03 d1             	add    %rcx,%r10
18012ac45:	48 63 c8             	movslq %eax,%rcx
18012ac48:	4c 23 d1             	and    %rcx,%r10
18012ac4b:	49 63 c3             	movslq %r11d,%rax
18012ac4e:	4e 8b 04 10          	mov    (%rax,%r10,1),%r8
18012ac52:	48 8b 42 10          	mov    0x10(%rdx),%rax
18012ac56:	8b 48 08             	mov    0x8(%rax),%ecx
18012ac59:	48 8b 42 08          	mov    0x8(%rdx),%rax
18012ac5d:	0f b6 54 01 03       	movzbl 0x3(%rcx,%rax,1),%edx
18012ac62:	f6 c2 0f             	test   $0xf,%dl
18012ac65:	74 08                	je     0x18012ac6f
18012ac67:	8b c2                	mov    %edx,%eax
18012ac69:	83 e0 f0             	and    $0xfffffff0,%eax
18012ac6c:	4c 03 c8             	add    %rax,%r9
18012ac6f:	4d 33 c8             	xor    %r8,%r9
18012ac72:	49 8b c9             	mov    %r9,%rcx
18012ac75:	e8 b2 ae ee ff       	call   0x180015b2c
18012ac7a:	48 83 c4 28          	add    $0x28,%rsp
18012ac7e:	c3                   	ret
18012ac7f:	cc                   	int3
18012ac80:	4c 8b d2             	mov    %rdx,%r10
18012ac83:	4c 8b d9             	mov    %rcx,%r11
18012ac86:	45 0f b6 03          	movzbl (%r11),%r8d
18012ac8a:	49 ff c3             	inc    %r11
18012ac8d:	41 0f b6 12          	movzbl (%r10),%edx
18012ac91:	41 8d 40 bf          	lea    -0x41(%r8),%eax
18012ac95:	83 f8 19             	cmp    $0x19,%eax
18012ac98:	45 8d 48 20          	lea    0x20(%r8),%r9d
18012ac9c:	8d 4a bf             	lea    -0x41(%rdx),%ecx
18012ac9f:	45 0f 47 c8          	cmova  %r8d,%r9d
18012aca3:	8d 42 20             	lea    0x20(%rdx),%eax
18012aca6:	49 ff c2             	inc    %r10
18012aca9:	83 f9 19             	cmp    $0x19,%ecx
18012acac:	0f 47 c2             	cmova  %edx,%eax
18012acaf:	45 85 c9             	test   %r9d,%r9d
18012acb2:	74 05                	je     0x18012acb9
18012acb4:	44 3b c8             	cmp    %eax,%r9d
18012acb7:	74 cd                	je     0x18012ac86
18012acb9:	44 2b c8             	sub    %eax,%r9d
18012acbc:	41 8b c1             	mov    %r9d,%eax
18012acbf:	c3                   	ret
18012acc0:	cc                   	int3
18012acc1:	cc                   	int3
18012acc2:	cc                   	int3
18012acc3:	cc                   	int3
18012acc4:	48 83 ec 28          	sub    $0x28,%rsp
18012acc8:	e8 b3 ff ff ff       	call   0x18012ac80
18012accd:	48 83 c4 28          	add    $0x28,%rsp
18012acd1:	c3                   	ret
18012acd2:	cc                   	int3
18012acd3:	cc                   	int3
18012acd4:	48 83 ec 38          	sub    $0x38,%rsp
18012acd8:	48 8b d1             	mov    %rcx,%rdx
18012acdb:	48 85 c9             	test   %rcx,%rcx
18012acde:	75 14                	jne    0x18012acf4
18012ace0:	48 21 4c 24 20       	and    %rcx,0x20(%rsp)
18012ace5:	45 33 c9             	xor    %r9d,%r9d
18012ace8:	45 33 c0             	xor    %r8d,%r8d
18012aceb:	e8 3c ae ee ff       	call   0x180015b2c
18012acf0:	33 c0                	xor    %eax,%eax
18012acf2:	eb 21                	jmp    0x18012ad15
18012acf4:	8a 09                	mov    (%rcx),%cl
18012acf6:	4c 8b c2             	mov    %rdx,%r8
18012acf9:	eb 13                	jmp    0x18012ad0e