14000289b:	49 8b d8             	mov    %r8,%rbx
14000289e:	e8 f5 f5 ff ff       	call   0x140001e98
1400028a3:	48 8b 08             	mov    (%rax),%rcx
1400028a6:	48 63 43 1c          	movslq 0x1c(%rbx),%rax
1400028aa:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
1400028af:	8b 44 08 04          	mov    0x4(%rax,%rcx,1),%eax
1400028b3:	48 83 c4 20          	add    $0x20,%rsp
1400028b7:	5b                   	pop    %rbx
1400028b8:	c3                   	ret
1400028b9:	90                   	nop
1400028ba:	90                   	nop
1400028bb:	90                   	nop
1400028bc:	48 63 52 1c          	movslq 0x1c(%rdx),%rdx
1400028c0:	48 8b 01             	mov    (%rcx),%rax
1400028c3:	44 89 04 02          	mov    %r8d,(%rdx,%rax,1)
1400028c7:	c3                   	ret
1400028c8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400028cd:	57                   	push   %rdi
1400028ce:	48 83 ec 20          	sub    $0x20,%rsp
1400028d2:	41 8b f9             	mov    %r9d,%edi
1400028d5:	49 8b d8             	mov    %r8,%rbx
1400028d8:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
1400028dd:	e8 b6 f5 ff ff       	call   0x140001e98
1400028e2:	48 8b 08             	mov    (%rax),%rcx
1400028e5:	48 63 43 1c          	movslq 0x1c(%rbx),%rax
1400028e9:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
1400028ee:	3b 7c 08 04          	cmp    0x4(%rax,%rcx,1),%edi
1400028f2:	7e 04                	jle    0x1400028f8
1400028f4:	89 7c 08 04          	mov    %edi,0x4(%rax,%rcx,1)
1400028f8:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400028fd:	48 83 c4 20          	add    $0x20,%rsp
140002901:	5f                   	pop    %rdi
140002902:	c3                   	ret
140002903:	90                   	nop
140002904:	4c 8b 02             	mov    (%rdx),%r8
140002907:	eb 03                	jmp    0x14000290c
140002909:	90                   	nop
14000290a:	90                   	nop
14000290b:	90                   	nop
14000290c:	40 53                	rex push %rbx
14000290e:	48 83 ec 20          	sub    $0x20,%rsp
140002912:	49 8b d8             	mov    %r8,%rbx
140002915:	48 85 c9             	test   %rcx,%rcx
140002918:	74 52                	je     0x14000296c
14000291a:	4c 63 59 18          	movslq 0x18(%rcx),%r11
14000291e:	4c 8b 52 08          	mov    0x8(%rdx),%r10
140002922:	4b 8d 04 1a          	lea    (%r10,%r11,1),%rax
140002926:	48 85 c0             	test   %rax,%rax
140002929:	74 41                	je     0x14000296c
14000292b:	44 8b 41 14          	mov    0x14(%rcx),%r8d
14000292f:	45 33 c9             	xor    %r9d,%r9d
140002932:	45 85 c0             	test   %r8d,%r8d
140002935:	74 30                	je     0x140002967
140002937:	4b 8d 0c cb          	lea    (%r11,%r9,8),%rcx
14000293b:	4a 63 14 11          	movslq (%rcx,%r10,1),%rdx
14000293f:	49 03 d2             	add    %r10,%rdx
140002942:	48 3b da             	cmp    %rdx,%rbx
140002945:	72 08                	jb     0x14000294f
140002947:	41 ff c1             	inc    %r9d
14000294a:	45 3b c8             	cmp    %r8d,%r9d
14000294d:	72 e8                	jb     0x140002937
14000294f:	45 85 c9             	test   %r9d,%r9d
140002952:	74 13                	je     0x140002967
140002954:	41 8d 49 ff          	lea    -0x1(%r9),%ecx
140002958:	49 8d 04 ca          	lea    (%r10,%rcx,8),%rax
14000295c:	42 8b 44 18 04       	mov    0x4(%rax,%r11,1),%eax
140002961:	48 83 c4 20          	add    $0x20,%rsp
140002965:	5b                   	pop    %rbx
140002966:	c3                   	ret
140002967:	83 c8 ff             	or     $0xffffffff,%eax
14000296a:	eb f5                	jmp    0x140002961
14000296c:	e8 1b 2f 00 00       	call   0x14000588c
140002971:	cc                   	int3
140002972:	90                   	nop
140002973:	90                   	nop
140002974:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140002979:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14000297e:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140002983:	41 55                	push   %r13
140002985:	41 56                	push   %r14
140002987:	41 57                	push   %r15
140002989:	48 83 ec 30          	sub    $0x30,%rsp
14000298d:	4d 8b f1             	mov    %r9,%r14
140002990:	49 8b d8             	mov    %r8,%rbx
140002993:	48 8b f2             	mov    %rdx,%rsi
140002996:	4c 8b e9             	mov    %rcx,%r13
140002999:	33 ff                	xor    %edi,%edi
14000299b:	41 39 78 04          	cmp    %edi,0x4(%r8)
14000299f:	74 0f                	je     0x1400029b0
1400029a1:	4d 63 78 04          	movslq 0x4(%r8),%r15
1400029a5:	e8 86 f8 ff ff       	call   0x140002230
1400029aa:	49 8d 14 07          	lea    (%r15,%rax,1),%rdx
1400029ae:	eb 06                	jmp    0x1400029b6
1400029b0:	48 8b d7             	mov    %rdi,%rdx
1400029b3:	44 8b ff             	mov    %edi,%r15d
1400029b6:	48 85 d2             	test   %rdx,%rdx
1400029b9:	0f 84 77 01 00 00    	je     0x140002b36
1400029bf:	45 85 ff             	test   %r15d,%r15d
1400029c2:	74 11                	je     0x1400029d5
1400029c4:	e8 67 f8 ff ff       	call   0x140002230
1400029c9:	48 8b c8             	mov    %rax,%rcx
1400029cc:	48 63 43 04          	movslq 0x4(%rbx),%rax
1400029d0:	48 03 c8             	add    %rax,%rcx
1400029d3:	eb 03                	jmp    0x1400029d8
1400029d5:	48 8b cf             	mov    %rdi,%rcx
1400029d8:	40 38 79 10          	cmp    %dil,0x10(%rcx)
1400029dc:	0f 84 54 01 00 00    	je     0x140002b36
1400029e2:	39 7b 08             	cmp    %edi,0x8(%rbx)
1400029e5:	75 08                	jne    0x1400029ef
1400029e7:	39 3b                	cmp    %edi,(%rbx)
1400029e9:	0f 8d 47 01 00 00    	jge    0x140002b36
1400029ef:	39 3b                	cmp    %edi,(%rbx)
1400029f1:	7c 0a                	jl     0x1400029fd
1400029f3:	48 63 43 08          	movslq 0x8(%rbx),%rax
1400029f7:	48 03 06             	add    (%rsi),%rax
1400029fa:	48 8b f0             	mov    %rax,%rsi
1400029fd:	f6 03 80             	testb  $0x80,(%rbx)
140002a00:	74 32                	je     0x140002a34
140002a02:	41 f6 06 10          	testb  $0x10,(%r14)
140002a06:	74 2c                	je     0x140002a34
140002a08:	48 8b 05 89 36 01 00 	mov    0x13689(%rip),%rax        # 0x140016098
140002a0f:	48 85 c0             	test   %rax,%rax
140002a12:	74 20                	je     0x140002a34
140002a14:	ff 15 56 b8 00 00    	call   *0xb856(%rip)        # 0x14000e270
140002a1a:	48 85 c0             	test   %rax,%rax
140002a1d:	0f 84 2f 01 00 00    	je     0x140002b52
140002a23:	48 85 f6             	test   %rsi,%rsi
140002a26:	0f 84 26 01 00 00    	je     0x140002b52
140002a2c:	48 89 06             	mov    %rax,(%rsi)
140002a2f:	48 8b c8             	mov    %rax,%rcx
140002a32:	eb 5f                	jmp    0x140002a93
140002a34:	f6 03 08             	testb  $0x8,(%rbx)
140002a37:	74 1b                	je     0x140002a54
140002a39:	49 8b 4d 28          	mov    0x28(%r13),%rcx
140002a3d:	48 85 c9             	test   %rcx,%rcx
140002a40:	0f 84 11 01 00 00    	je     0x140002b57
140002a46:	48 85 f6             	test   %rsi,%rsi
140002a49:	0f 84 08 01 00 00    	je     0x140002b57
140002a4f:	48 89 0e             	mov    %rcx,(%rsi)
140002a52:	eb 3f                	jmp    0x140002a93
140002a54:	41 f6 06 01          	testb  $0x1,(%r14)
140002a58:	74 4a                	je     0x140002aa4
140002a5a:	49 8b 55 28          	mov    0x28(%r13),%rdx
140002a5e:	48 85 d2             	test   %rdx,%rdx
140002a61:	0f 84 f5 00 00 00    	je     0x140002b5c
140002a67:	48 85 f6             	test   %rsi,%rsi
140002a6a:	0f 84 ec 00 00 00    	je     0x140002b5c
140002a70:	4d 63 46 14          	movslq 0x14(%r14),%r8
140002a74:	48 8b ce             	mov    %rsi,%rcx
140002a77:	e8 84 a6 00 00       	call   0x14000d100
140002a7c:	41 83 7e 14 08       	cmpl   $0x8,0x14(%r14)
140002a81:	0f 85 ab 00 00 00    	jne    0x140002b32
140002a87:	48 39 3e             	cmp    %rdi,(%rsi)
140002a8a:	0f 84 a2 00 00 00    	je     0x140002b32
140002a90:	48 8b 0e             	mov    (%rsi),%rcx
140002a93:	49 8d 56 08          	lea    0x8(%r14),%rdx
140002a97:	e8 18 f9 ff ff       	call   0x1400023b4
140002a9c:	48 89 06             	mov    %rax,(%rsi)
140002a9f:	e9 8e 00 00 00       	jmp    0x140002b32
140002aa4:	41 39 7e 18          	cmp    %edi,0x18(%r14)
140002aa8:	74 0f                	je     0x140002ab9
140002aaa:	49 63 5e 18          	movslq 0x18(%r14),%rbx
140002aae:	e8 91 f7 ff ff       	call   0x140002244
140002ab3:	48 8d 0c 03          	lea    (%rbx,%rax,1),%rcx
140002ab7:	eb 05                	jmp    0x140002abe
140002ab9:	48 8b cf             	mov    %rdi,%rcx
140002abc:	8b df                	mov    %edi,%ebx
140002abe:	48 85 c9             	test   %rcx,%rcx
140002ac1:	75 34                	jne    0x140002af7
140002ac3:	49 39 7d 28          	cmp    %rdi,0x28(%r13)
140002ac7:	0f 84 94 00 00 00    	je     0x140002b61
140002acd:	48 85 f6             	test   %rsi,%rsi
140002ad0:	0f 84 8b 00 00 00    	je     0x140002b61
140002ad6:	49 63 5e 14          	movslq 0x14(%r14),%rbx
140002ada:	49 8d 56 08          	lea    0x8(%r14),%rdx
140002ade:	49 8b 4d 28          	mov    0x28(%r13),%rcx
140002ae2:	e8 cd f8 ff ff       	call   0x1400023b4
140002ae7:	48 8b d0             	mov    %rax,%rdx
140002aea:	4c 8b c3             	mov    %rbx,%r8
140002aed:	48 8b ce             	mov    %rsi,%rcx
140002af0:	e8 0b a6 00 00       	call   0x14000d100
140002af5:	eb 3b                	jmp    0x140002b32
140002af7:	49 39 7d 28          	cmp    %rdi,0x28(%r13)
140002afb:	74 69                	je     0x140002b66
140002afd:	48 85 f6             	test   %rsi,%rsi
140002b00:	74 64                	je     0x140002b66
140002b02:	85 db                	test   %ebx,%ebx
140002b04:	74 11                	je     0x140002b17
140002b06:	e8 39 f7 ff ff       	call   0x140002244
140002b0b:	48 8b c8             	mov    %rax,%rcx
140002b0e:	49 63 46 18          	movslq 0x18(%r14),%rax
140002b12:	48 03 c8             	add    %rax,%rcx
140002b15:	eb 03                	jmp    0x140002b1a
140002b17:	48 8b cf             	mov    %rdi,%rcx
140002b1a:	48 85 c9             	test   %rcx,%rcx
140002b1d:	74 47                	je     0x140002b66
140002b1f:	41 8a 06             	mov    (%r14),%al
140002b22:	24 04                	and    $0x4,%al
140002b24:	f6 d8                	neg    %al
140002b26:	1b c9                	sbb    %ecx,%ecx
140002b28:	f7 d9                	neg    %ecx
140002b2a:	ff c1                	inc    %ecx
140002b2c:	8b f9                	mov    %ecx,%edi
140002b2e:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
140002b32:	8b c7                	mov    %edi,%eax
140002b34:	eb 02                	jmp    0x140002b38
140002b36:	33 c0                	xor    %eax,%eax
140002b38:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140002b3d:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140002b42:	48 8b 7c 24 60       	mov    0x60(%rsp),%rdi
140002b47:	48 83 c4 30          	add    $0x30,%rsp
140002b4b:	41 5f                	pop    %r15
140002b4d:	41 5e                	pop    %r14
140002b4f:	41 5d                	pop    %r13
140002b51:	c3                   	ret
140002b52:	e8 35 2d 00 00       	call   0x14000588c
140002b57:	e8 30 2d 00 00       	call   0x14000588c
140002b5c:	e8 2b 2d 00 00       	call   0x14000588c
140002b61:	e8 26 2d 00 00       	call   0x14000588c
140002b66:	e8 21 2d 00 00       	call   0x14000588c
140002b6b:	90                   	nop
140002b6c:	eb 00                	jmp    0x140002b6e
140002b6e:	90                   	nop
140002b6f:	e8 18 2d 00 00       	call   0x14000588c
140002b74:	90                   	nop
140002b75:	eb 00                	jmp    0x140002b77
140002b77:	90                   	nop
140002b78:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140002b7d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140002b82:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140002b87:	41 56                	push   %r14
140002b89:	48 83 ec 20          	sub    $0x20,%rsp
140002b8d:	49 8b f9             	mov    %r9,%rdi
140002b90:	4c 8b f1             	mov    %rcx,%r14
140002b93:	33 db                	xor    %ebx,%ebx
140002b95:	41 39 18             	cmp    %ebx,(%r8)
140002b98:	7d 05                	jge    0x140002b9f
140002b9a:	48 8b f2             	mov    %rdx,%rsi
140002b9d:	eb 07                	jmp    0x140002ba6
140002b9f:	49 63 70 08          	movslq 0x8(%r8),%rsi
140002ba3:	48 03 32             	add    (%rdx),%rsi
140002ba6:	e8 c9 fd ff ff       	call   0x140002974
140002bab:	83 e8 01             	sub    $0x1,%eax
140002bae:	74 3c                	je     0x140002bec
140002bb0:	83 f8 01             	cmp    $0x1,%eax
140002bb3:	75 67                	jne    0x140002c1c
140002bb5:	48 8d 57 08          	lea    0x8(%rdi),%rdx
140002bb9:	49 8b 4e 28          	mov    0x28(%r14),%rcx
140002bbd:	e8 f2 f7 ff ff       	call   0x1400023b4
140002bc2:	4c 8b f0             	mov    %rax,%r14
140002bc5:	39 5f 18             	cmp    %ebx,0x18(%rdi)
140002bc8:	74 0c                	je     0x140002bd6
140002bca:	e8 75 f6 ff ff       	call   0x140002244
140002bcf:	48 63 5f 18          	movslq 0x18(%rdi),%rbx
140002bd3:	48 03 d8             	add    %rax,%rbx
140002bd6:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140002bdc:	4d 8b c6             	mov    %r14,%r8
140002bdf:	48 8b d3             	mov    %rbx,%rdx
140002be2:	48 8b ce             	mov    %rsi,%rcx
140002be5:	e8 06 13 00 00       	call   0x140003ef0
140002bea:	eb 30                	jmp    0x140002c1c
140002bec:	48 8d 57 08          	lea    0x8(%rdi),%rdx
140002bf0:	49 8b 4e 28          	mov    0x28(%r14),%rcx
140002bf4:	e8 bb f7 ff ff       	call   0x1400023b4
140002bf9:	4c 8b f0             	mov    %rax,%r14
140002bfc:	39 5f 18             	cmp    %ebx,0x18(%rdi)
140002bff:	74 0c                	je     0x140002c0d
140002c01:	e8 3e f6 ff ff       	call   0x140002244
140002c06:	48 63 5f 18          	movslq 0x18(%rdi),%rbx
140002c0a:	48 03 d8             	add    %rax,%rbx
140002c0d:	4d 8b c6             	mov    %r14,%r8
140002c10:	48 8b d3             	mov    %rbx,%rdx
140002c13:	48 8b ce             	mov    %rsi,%rcx
140002c16:	e8 c9 12 00 00       	call   0x140003ee4
140002c1b:	90                   	nop
140002c1c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140002c21:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140002c26:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140002c2b:	48 83 c4 20          	add    $0x20,%rsp
140002c2f:	41 5e                	pop    %r14
140002c31:	c3                   	ret
140002c32:	e8 55 2c 00 00       	call   0x14000588c
140002c37:	90                   	nop
140002c38:	eb 00                	jmp    0x140002c3a
140002c3a:	90                   	nop
140002c3b:	90                   	nop
140002c3c:	48 8b c4             	mov    %rsp,%rax
140002c3f:	48 89 58 08          	mov    %rbx,0x8(%rax)
140002c43:	4c 89 40 18          	mov    %r8,0x18(%rax)
140002c47:	55                   	push   %rbp
140002c48:	56                   	push   %rsi
140002c49:	57                   	push   %rdi
140002c4a:	41 54                	push   %r12
140002c4c:	41 55                	push   %r13
140002c4e:	41 56                	push   %r14
140002c50:	41 57                	push   %r15
140002c52:	48 83 ec 60          	sub    $0x60,%rsp
140002c56:	4c 8b ac 24 c0 00 00 	mov    0xc0(%rsp),%r13
140002c5d:	00
140002c5e:	4d 8b f9             	mov    %r9,%r15
140002c61:	4c 8b e2             	mov    %rdx,%r12
140002c64:	4c 8d 48 10          	lea    0x10(%rax),%r9
140002c68:	48 8b e9             	mov    %rcx,%rbp
140002c6b:	4d 8b c5             	mov    %r13,%r8
140002c6e:	49 8b d7             	mov    %r15,%rdx
140002c71:	49 8b cc             	mov    %r12,%rcx
140002c74:	e8 1f f2 ff ff       	call   0x140001e98
140002c79:	4c 8b 8c 24 d0 00 00 	mov    0xd0(%rsp),%r9
140002c80:	00
140002c81:	4c 8b f0             	mov    %rax,%r14
140002c84:	48 8b b4 24 c8 00 00 	mov    0xc8(%rsp),%rsi
140002c8b:	00
140002c8c:	4d 85 c9             	test   %r9,%r9
140002c8f:	74 0e                	je     0x140002c9f
140002c91:	4c 8b c6             	mov    %rsi,%r8
140002c94:	48 8b d0             	mov    %rax,%rdx
140002c97:	48 8b cd             	mov    %rbp,%rcx
140002c9a:	e8 d9 fe ff ff       	call   0x140002b78
140002c9f:	48 8b 8c 24 d8 00 00 	mov    0xd8(%rsp),%rcx
140002ca6:	00
140002ca7:	8b 59 08             	mov    0x8(%rcx),%ebx
140002caa:	8b 39                	mov    (%rcx),%edi
140002cac:	e8 7f f5 ff ff       	call   0x140002230
140002cb1:	48 63 4e 0c          	movslq 0xc(%rsi),%rcx
140002cb5:	4d 8b ce             	mov    %r14,%r9
140002cb8:	4c 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%r8
140002cbf:	00
140002cc0:	48 03 c1             	add    %rcx,%rax
140002cc3:	8a 8c 24 f8 00 00 00 	mov    0xf8(%rsp),%cl
140002cca:	48 8b d5             	mov    %rbp,%rdx
140002ccd:	88 4c 24 50          	mov    %cl,0x50(%rsp)
140002cd1:	49 8b cc             	mov    %r12,%rcx
140002cd4:	4c 89 7c 24 48       	mov    %r15,0x48(%rsp)
140002cd9:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
140002cde:	89 5c 24 38          	mov    %ebx,0x38(%rsp)
140002ce2:	89 7c 24 30          	mov    %edi,0x30(%rsp)
140002ce6:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
140002ceb:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140002cf0:	e8 a7 f3 ff ff       	call   0x14000209c
140002cf5:	48 8b 9c 24 a0 00 00 	mov    0xa0(%rsp),%rbx
140002cfc:	00
140002cfd:	48 83 c4 60          	add    $0x60,%rsp
140002d01:	41 5f                	pop    %r15
140002d03:	41 5e                	pop    %r14
140002d05:	41 5d                	pop    %r13
140002d07:	41 5c                	pop    %r12
140002d09:	5f                   	pop    %rdi
140002d0a:	5e                   	pop    %rsi
140002d0b:	5d                   	pop    %rbp
140002d0c:	c3                   	ret