18008c820:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
18008c824:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
18008c828:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
18008c82c:	c7 45 e4 85 51 00 40 	movl   $0x40005185,-0x1c(%rbp)
18008c833:	33 d2                	xor    %edx,%edx
18008c835:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
18008c839:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
18008c83d:	c7 45 e8 98 5e 16 46 	movl   $0x46165e98,-0x18(%rbp)
18008c844:	c7 45 ec fd 6e ba 78 	movl   $0x78ba6efd,-0x14(%rbp)
18008c84b:	e8 c8 d8 ff ff       	call   0x18008a118
18008c850:	8b d8                	mov    %eax,%ebx
18008c852:	3d 25 02 00 c0       	cmp    $0xc0000225,%eax
18008c857:	74 2f                	je     0x18008c888
18008c859:	85 c0                	test   %eax,%eax
18008c85b:	78 2d                	js     0x18008c88a
18008c85d:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
18008c861:	eb 1c                	jmp    0x18008c87f
18008c863:	48 8b 51 10          	mov    0x10(%rcx),%rdx
18008c867:	48 8b 09             	mov    (%rcx),%rcx
18008c86a:	83 7a 24 10          	cmpl   $0x10,0x24(%rdx)
18008c86e:	0f 82 e3 00 00 00    	jb     0x18008c957
18008c874:	8b 7a 28             	mov    0x28(%rdx),%edi
18008c877:	48 03 fa             	add    %rdx,%rdi
18008c87a:	83 3f ff             	cmpl   $0xffffffff,(%rdi)
18008c87d:	75 2a                	jne    0x18008c8a9
18008c87f:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
18008c883:	48 3b c8             	cmp    %rax,%rcx
18008c886:	75 db                	jne    0x18008c863
18008c888:	33 db                	xor    %ebx,%ebx
18008c88a:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
18008c88e:	e8 cd d5 ff ff       	call   0x180089e60
18008c893:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
18008c898:	8b c3                	mov    %ebx,%eax
18008c89a:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
18008c89f:	48 83 c4 40          	add    $0x40,%rsp
18008c8a3:	41 5e                	pop    %r14
18008c8a5:	5f                   	pop    %rdi
18008c8a6:	5d                   	pop    %rbp
18008c8a7:	c3                   	ret
18008c8a8:	cc                   	int3
18008c8a9:	8b 47 04             	mov    0x4(%rdi),%eax
18008c8ac:	89 05 76 95 10 00    	mov    %eax,0x109576(%rip)        # 0x180195e28
18008c8b2:	83 7f 0c 00          	cmpl   $0x0,0xc(%rdi)
18008c8b6:	74 d2                	je     0x18008c88a
18008c8b8:	8b 47 08             	mov    0x8(%rdi),%eax
18008c8bb:	48 8d 4f 3c          	lea    0x3c(%rdi),%rcx
18008c8bf:	48 03 c8             	add    %rax,%rcx
18008c8c2:	4c 8d 45 20          	lea    0x20(%rbp),%r8
18008c8c6:	8b 54 38 38          	mov    0x38(%rax,%rdi,1),%edx
18008c8ca:	e8 75 0f 06 00       	call   0x1800ed844
18008c8cf:	8b d8                	mov    %eax,%ebx
18008c8d1:	85 c0                	test   %eax,%eax
18008c8d3:	78 b5                	js     0x18008c88a
18008c8d5:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
18008c8d9:	e8 26 06 06 00       	call   0x1800ecf04
18008c8de:	83 3f 02             	cmpl   $0x2,(%rdi)
18008c8e1:	72 a7                	jb     0x18008c88a
18008c8e3:	8b 77 14             	mov    0x14(%rdi),%esi
18008c8e6:	85 f6                	test   %esi,%esi
18008c8e8:	74 a0                	je     0x18008c88a
18008c8ea:	44 8b 77 10          	mov    0x10(%rdi),%r14d
18008c8ee:	8b ce                	mov    %esi,%ecx
18008c8f0:	4c 03 f7             	add    %rdi,%r14
18008c8f3:	e8 58 d5 00 00       	call   0x180099e50
18008c8f8:	48 8b d8             	mov    %rax,%rbx
18008c8fb:	48 85 c0             	test   %rax,%rax
18008c8fe:	75 07                	jne    0x18008c907
18008c900:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
18008c905:	eb 83                	jmp    0x18008c88a
18008c907:	4c 8b c6             	mov    %rsi,%r8
18008c90a:	49 8b d6             	mov    %r14,%rdx
18008c90d:	48 8b cb             	mov    %rbx,%rcx
18008c910:	e8 ab 90 0a 00       	call   0x1801359c0
18008c915:	8b 03                	mov    (%rbx),%eax
18008c917:	48 8d 53 18          	lea    0x18(%rbx),%rdx
18008c91b:	48 69 c8 14 01 00 00 	imul   $0x114,%rax,%rcx
18008c922:	48 89 53 08          	mov    %rdx,0x8(%rbx)
18008c926:	48 03 ca             	add    %rdx,%rcx
18008c929:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
18008c92d:	48 8b 0d 8c 92 10 00 	mov    0x10928c(%rip),%rcx        # 0x180195bc0
18008c934:	48 85 c9             	test   %rcx,%rcx
18008c937:	74 05                	je     0x18008c93e
18008c939:	e8 be d6 00 00       	call   0x180099ffc
18008c93e:	83 0d e3 94 10 00 20 	orl    $0x20,0x1094e3(%rip)        # 0x180195e28
18008c945:	48 89 1d 74 92 10 00 	mov    %rbx,0x109274(%rip)        # 0x180195bc0
18008c94c:	89 35 66 92 10 00    	mov    %esi,0x109266(%rip)        # 0x180195bb8
18008c952:	e9 31 ff ff ff       	jmp    0x18008c888
18008c957:	bb 03 00 43 c0       	mov    $0xc0430003,%ebx
18008c95c:	e9 29 ff ff ff       	jmp    0x18008c88a
18008c961:	cc                   	int3
18008c962:	cc                   	int3
18008c963:	cc                   	int3
18008c964:	89 0d 9a 3b 0e 00    	mov    %ecx,0xe3b9a(%rip)        # 0x180170504
18008c96a:	c3                   	ret
18008c96b:	cc                   	int3
18008c96c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18008c971:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
18008c976:	8b 05 88 3b 0e 00    	mov    0xe3b88(%rip),%eax        # 0x180170504
18008c97c:	44 8b da             	mov    %edx,%r11d
18008c97f:	4c 8b d1             	mov    %rcx,%r10
18008c982:	85 c0                	test   %eax,%eax
18008c984:	74 08                	je     0x18008c98e
18008c986:	3b d0                	cmp    %eax,%edx
18008c988:	75 04                	jne    0x18008c98e
18008c98a:	33 c0                	xor    %eax,%eax
18008c98c:	eb 75                	jmp    0x18008ca03
18008c98e:	4c 8b 41 48          	mov    0x48(%rcx),%r8
18008c992:	0f b7 41 24          	movzwl 0x24(%rcx),%eax
18008c996:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18008c99a:	49 8d 1c 88          	lea    (%r8,%rcx,4),%rbx
18008c99e:	4c 3b c3             	cmp    %rbx,%r8
18008c9a1:	73 5a                	jae    0x18008c9fd
18008c9a3:	8b 3d 57 3b 0e 00    	mov    0xe3b57(%rip),%edi        # 0x180170500
18008c9a9:	8b 05 79 94 10 00    	mov    0x109479(%rip),%eax        # 0x180195e28
18008c9af:	45 39 58 04          	cmp    %r11d,0x4(%r8)
18008c9b3:	75 3f                	jne    0x18008c9f4
18008c9b5:	41 83 38 00          	cmpl   $0x0,(%r8)
18008c9b9:	74 05                	je     0x18008c9c0
18008c9bb:	41 39 38             	cmp    %edi,(%r8)
18008c9be:	75 34                	jne    0x18008c9f4
18008c9c0:	41 8b 50 08          	mov    0x8(%r8),%edx
18008c9c4:	41 b1 01             	mov    $0x1,%r9b
18008c9c7:	49 8b 4a 58          	mov    0x58(%r10),%rcx
18008c9cb:	f6 04 0a 20          	testb  $0x20,(%rdx,%rcx,1)
18008c9cf:	74 0d                	je     0x18008c9de
18008c9d1:	44 8b c8             	mov    %eax,%r9d
18008c9d4:	41 c1 e9 02          	shr    $0x2,%r9d
18008c9d8:	41 80 e1 01          	and    $0x1,%r9b
18008c9dc:	74 16                	je     0x18008c9f4
18008c9de:	f6 04 0a 40          	testb  $0x40,(%rdx,%rcx,1)
18008c9e2:	74 0b                	je     0x18008c9ef
18008c9e4:	44 8b c8             	mov    %eax,%r9d
18008c9e7:	41 c1 e9 04          	shr    $0x4,%r9d
18008c9eb:	41 80 e1 01          	and    $0x1,%r9b
18008c9ef:	45 84 c9             	test   %r9b,%r9b
18008c9f2:	75 0c                	jne    0x18008ca00
18008c9f4:	49 83 c0 0c          	add    $0xc,%r8
18008c9f8:	4c 3b c3             	cmp    %rbx,%r8
18008c9fb:	72 b2                	jb     0x18008c9af
18008c9fd:	45 33 c0             	xor    %r8d,%r8d
18008ca00:	49 8b c0             	mov    %r8,%rax
18008ca03:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18008ca08:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
18008ca0d:	c3                   	ret
18008ca0e:	cc                   	int3
18008ca0f:	cc                   	int3
18008ca10:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18008ca15:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18008ca1a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18008ca1f:	57                   	push   %rdi
18008ca20:	41 54                	push   %r12
18008ca22:	41 55                	push   %r13
18008ca24:	41 56                	push   %r14
18008ca26:	41 57                	push   %r15
18008ca28:	48 83 ec 40          	sub    $0x40,%rsp
18008ca2c:	44 8b b4 24 90 00 00 	mov    0x90(%rsp),%r14d
18008ca33:	00
18008ca34:	8b da                	mov    %edx,%ebx
18008ca36:	45 33 ed             	xor    %r13d,%r13d
18008ca39:	41 8b d6             	mov    %r14d,%edx
18008ca3c:	41 8a f5             	mov    %r13b,%sil
18008ca3f:	41 8a ed             	mov    %r13b,%bpl
18008ca42:	49 8b f9             	mov    %r9,%rdi
18008ca45:	45 8b e0             	mov    %r8d,%r12d
18008ca48:	4c 8b f9             	mov    %rcx,%r15
18008ca4b:	e8 1c ff ff ff       	call   0x18008c96c
18008ca50:	48 85 c0             	test   %rax,%rax
18008ca53:	0f 84 a4 00 00 00    	je     0x18008cafd
18008ca59:	8b 40 08             	mov    0x8(%rax),%eax
18008ca5c:	49 03 47 58          	add    0x58(%r15),%rax
18008ca60:	0f b7 08             	movzwl (%rax),%ecx
18008ca63:	66 83 e1 1f          	and    $0x1f,%cx
18008ca67:	66 83 f9 01          	cmp    $0x1,%cx
18008ca6b:	75 0b                	jne    0x18008ca78
18008ca6d:	66 44 39 68 02       	cmp    %r13w,0x2(%rax)
18008ca72:	40 0f 95 c5          	setne  %bpl
18008ca76:	eb 16                	jmp    0x18008ca8e
18008ca78:	66 83 f9 08          	cmp    $0x8,%cx
18008ca7c:	75 7a                	jne    0x18008caf8
18008ca7e:	0f b7 40 02          	movzwl 0x2(%rax),%eax
18008ca82:	66 85 c0             	test   %ax,%ax
18008ca85:	40 0f 94 c6          	sete   %sil
18008ca89:	66 85 c0             	test   %ax,%ax
18008ca8c:	75 6f                	jne    0x18008cafd
18008ca8e:	45 85 e4             	test   %r12d,%r12d
18008ca91:	75 6a                	jne    0x18008cafd
18008ca93:	40 84 f6             	test   %sil,%sil
18008ca96:	74 29                	je     0x18008cac1
18008ca98:	85 db                	test   %ebx,%ebx
18008ca9a:	78 1e                	js     0x18008caba
18008ca9c:	48 85 ff             	test   %rdi,%rdi
18008ca9f:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
18008caa4:	0f 57 c0             	xorps  %xmm0,%xmm0
18008caa7:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
18008caac:	4c 0f 45 cf          	cmovne %rdi,%r9
18008cab0:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
18008cab5:	e8 f6 fc ff ff       	call   0x18008c7b0
18008caba:	bb 25 02 00 c0       	mov    $0xc0000225,%ebx
18008cabf:	eb 3c                	jmp    0x18008cafd
18008cac1:	48 8b b4 24 98 00 00 	mov    0x98(%rsp),%rsi
18008cac8:	00
18008cac9:	85 db                	test   %ebx,%ebx
18008cacb:	78 23                	js     0x18008caf0
18008cacd:	40 3a 2e             	cmp    (%rsi),%bpl
18008cad0:	74 1e                	je     0x18008caf0
18008cad2:	48 85 ff             	test   %rdi,%rdi
18008cad5:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
18008cada:	0f 57 c0             	xorps  %xmm0,%xmm0
18008cadd:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
18008cae2:	4c 0f 45 cf          	cmovne %rdi,%r9
18008cae6:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
18008caeb:	e8 c0 fc ff ff       	call   0x18008c7b0
18008caf0:	40 88 2e             	mov    %bpl,(%rsi)
18008caf3:	41 8b dd             	mov    %r13d,%ebx
18008caf6:	eb 05                	jmp    0x18008cafd
18008caf8:	bb 03 00 43 c0       	mov    $0xc0430003,%ebx
18008cafd:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
18008cb02:	8b c3                	mov    %ebx,%eax
18008cb04:	49 8b 5b 30          	mov    0x30(%r11),%rbx
18008cb08:	49 8b 6b 38          	mov    0x38(%r11),%rbp
18008cb0c:	49 8b 73 40          	mov    0x40(%r11),%rsi
18008cb10:	49 8b e3             	mov    %r11,%rsp
18008cb13:	41 5f                	pop    %r15
18008cb15:	41 5e                	pop    %r14
18008cb17:	41 5d                	pop    %r13
18008cb19:	41 5c                	pop    %r12
18008cb1b:	5f                   	pop    %rdi
18008cb1c:	c3                   	ret
18008cb1d:	cc                   	int3
18008cb1e:	cc                   	int3
18008cb1f:	cc                   	int3
18008cb20:	48 8b c4             	mov    %rsp,%rax
18008cb23:	48 89 58 20          	mov    %rbx,0x20(%rax)
18008cb27:	44 89 40 18          	mov    %r8d,0x18(%rax)
18008cb2b:	89 50 10             	mov    %edx,0x10(%rax)
18008cb2e:	48 89 48 08          	mov    %rcx,0x8(%rax)
18008cb32:	55                   	push   %rbp
18008cb33:	56                   	push   %rsi
18008cb34:	57                   	push   %rdi
18008cb35:	41 54                	push   %r12
18008cb37:	41 55                	push   %r13
18008cb39:	41 56                	push   %r14
18008cb3b:	41 57                	push   %r15
18008cb3d:	48 8b ec             	mov    %rsp,%rbp
18008cb40:	48 83 ec 60          	sub    $0x60,%rsp
18008cb44:	48 8b 45 68          	mov    0x68(%rbp),%rax
18008cb48:	45 33 c0             	xor    %r8d,%r8d
18008cb4b:	8b da                	mov    %edx,%ebx
18008cb4d:	4c 89 45 d8          	mov    %r8,-0x28(%rbp)
18008cb51:	8b f2                	mov    %edx,%esi
18008cb53:	4c 89 45 e0          	mov    %r8,-0x20(%rbp)
18008cb57:	8b 55 60             	mov    0x60(%rbp),%edx
18008cb5a:	4d 8b f9             	mov    %r9,%r15
18008cb5d:	48 8b 00             	mov    (%rax),%rax
18008cb60:	41 8b f8             	mov    %r8d,%edi
18008cb63:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
18008cb67:	45 8a e8             	mov    %r8b,%r13b
18008cb6a:	81 fa 01 00 00 11    	cmp    $0x11000001,%edx
18008cb70:	0f 84 8c 01 00 00    	je     0x18008cd02
18008cb76:	4c 8b 75 70          	mov    0x70(%rbp),%r14
18008cb7a:	4d 85 f6             	test   %r14,%r14
18008cb7d:	74 03                	je     0x18008cb82
18008cb7f:	49 8b 3e             	mov    (%r14),%rdi
18008cb82:	49 8b c6             	mov    %r14,%rax
18008cb85:	48 f7 d8             	neg    %rax
18008cb88:	48 8d 45 e0          	lea    -0x20(%rbp),%rax
18008cb8c:	4d 1b e4             	sbb    %r12,%r12
18008cb8f:	4c 23 e0             	and    %rax,%r12
18008cb92:	e8 d5 fd ff ff       	call   0x18008c96c
18008cb97:	48 85 c0             	test   %rax,%rax
18008cb9a:	0f 84 62 01 00 00    	je     0x18008cd02
18008cba0:	8b 48 08             	mov    0x8(%rax),%ecx
18008cba3:	48 8b 45 40          	mov    0x40(%rbp),%rax
18008cba7:	48 03 48 58          	add    0x58(%rax),%rcx
18008cbab:	8a 01                	mov    (%rcx),%al
18008cbad:	24 1f                	and    $0x1f,%al
18008cbaf:	3c 08                	cmp    $0x8,%al
18008cbb1:	74 0a                	je     0x18008cbbd
18008cbb3:	be 03 00 43 c0       	mov    $0xc0430003,%esi
18008cbb8:	e9 45 01 00 00       	jmp    0x18008cd02
18008cbbd:	0f b7 49 02          	movzwl 0x2(%rcx),%ecx
18008cbc1:	85 c9                	test   %ecx,%ecx
18008cbc3:	74 46                	je     0x18008cc0b
18008cbc5:	83 f9 01             	cmp    $0x1,%ecx
18008cbc8:	0f 85 34 01 00 00    	jne    0x18008cd02
18008cbce:	41 8a c5             	mov    %r13b,%al
18008cbd1:	83 7d 50 00          	cmpl   $0x0,0x50(%rbp)
18008cbd5:	0f 85 27 01 00 00    	jne    0x18008cd02
18008cbdb:	84 c0                	test   %al,%al
18008cbdd:	74 30                	je     0x18008cc0f
18008cbdf:	85 db                	test   %ebx,%ebx
18008cbe1:	78 1e                	js     0x18008cc01
18008cbe3:	8b 45 60             	mov    0x60(%rbp),%eax
18008cbe6:	4c 8d 4d e8          	lea    -0x18(%rbp),%r9
18008cbea:	4d 85 ff             	test   %r15,%r15
18008cbed:	89 44 24 20          	mov    %eax,0x20(%rsp)
18008cbf1:	0f 57 c0             	xorps  %xmm0,%xmm0
18008cbf4:	4d 0f 45 cf          	cmovne %r15,%r9
18008cbf8:	0f 11 45 e8          	movups %xmm0,-0x18(%rbp)
18008cbfc:	e8 af fb ff ff       	call   0x18008c7b0
18008cc01:	be 25 02 00 c0       	mov    $0xc0000225,%esi
18008cc06:	e9 f7 00 00 00       	jmp    0x18008cd02
18008cc0b:	b0 01                	mov    $0x1,%al
18008cc0d:	eb c2                	jmp    0x18008cbd1
18008cc0f:	48 8b 0d c2 7d 11 00 	mov    0x117dc2(%rip),%rcx        # 0x1801a49d8
18008cc16:	4c 8d 45 d8          	lea    -0x28(%rbp),%r8
18008cc1a:	4d 8b cc             	mov    %r12,%r9
18008cc1d:	ba 01 00 00 11       	mov    $0x11000001,%edx
18008cc22:	e8 41 fa fe ff       	call   0x18007c668
18008cc27:	48 8b 5d e0          	mov    -0x20(%rbp),%rbx
18008cc2b:	8b f0                	mov    %eax,%esi
18008cc2d:	85 c0                	test   %eax,%eax
18008cc2f:	0f 88 af 00 00 00    	js     0x18008cce4
18008cc35:	4d 85 e4             	test   %r12,%r12
18008cc38:	74 46                	je     0x18008cc80
18008cc3a:	33 d2                	xor    %edx,%edx
18008cc3c:	48 85 ff             	test   %rdi,%rdi
18008cc3f:	0f 95 c2             	setne  %dl
18008cc42:	33 c9                	xor    %ecx,%ecx
18008cc44:	48 85 db             	test   %rbx,%rbx
18008cc47:	0f 95 c1             	setne  %cl
18008cc4a:	3b d1                	cmp    %ecx,%edx
18008cc4c:	75 2f                	jne    0x18008cc7d
18008cc4e:	48 85 ff             	test   %rdi,%rdi
18008cc51:	74 2d                	je     0x18008cc80
18008cc53:	48 8b cb             	mov    %rbx,%rcx
18008cc56:	e8 09 fc fe ff       	call   0x18007c864
18008cc5b:	48 8b cf             	mov    %rdi,%rcx
18008cc5e:	44 8b e0             	mov    %eax,%r12d
18008cc61:	e8 fe fb fe ff       	call   0x18007c864
18008cc66:	44 3b e0             	cmp    %eax,%r12d
18008cc69:	75 12                	jne    0x18008cc7d
18008cc6b:	45 8b c4             	mov    %r12d,%r8d
18008cc6e:	48 8b d7             	mov    %rdi,%rdx
18008cc71:	48 8b cb             	mov    %rbx,%rcx
18008cc74:	e8 07 e5 09 00       	call   0x18012b180
18008cc79:	85 c0                	test   %eax,%eax
18008cc7b:	74 03                	je     0x18008cc80
18008cc7d:	41 b5 01             	mov    $0x1,%r13b
18008cc80:	83 7d 48 00          	cmpl   $0x0,0x48(%rbp)
18008cc84:	48 8b 7d d8          	mov    -0x28(%rbp),%rdi
18008cc88:	7c 25                	jl     0x18008ccaf
18008cc8a:	45 84 ed             	test   %r13b,%r13b
18008cc8d:	75 20                	jne    0x18008ccaf
18008cc8f:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
18008cc93:	48 85 c9             	test   %rcx,%rcx
18008cc96:	74 17                	je     0x18008ccaf
18008cc98:	8b 41 08             	mov    0x8(%rcx),%eax
18008cc9b:	3b 47 08             	cmp    0x8(%rdi),%eax
18008cc9e:	75 0f                	jne    0x18008ccaf