140028bb9:	ff 15 49 b9 00 00    	call   *0xb949(%rip)        # 0x140034508
140028bbf:	8a c3                	mov    %bl,%al
140028bc1:	48 8b 4d 47          	mov    0x47(%rbp),%rcx
140028bc5:	48 33 cc             	xor    %rsp,%rcx
140028bc8:	e8 63 7f 00 00       	call   0x140030b30
140028bcd:	4c 8d 9c 24 c0 00 00 	lea    0xc0(%rsp),%r11
140028bd4:	00
140028bd5:	49 8b 5b 10          	mov    0x10(%r11),%rbx
140028bd9:	49 8b 73 20          	mov    0x20(%r11),%rsi
140028bdd:	49 8b 7b 28          	mov    0x28(%r11),%rdi
140028be1:	49 8b e3             	mov    %r11,%rsp
140028be4:	5d                   	pop    %rbp
140028be5:	c3                   	ret
140028be6:	90                   	nop
140028be7:	90                   	nop
140028be8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140028bed:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140028bf2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140028bf7:	57                   	push   %rdi
140028bf8:	41 56                	push   %r14
140028bfa:	41 57                	push   %r15
140028bfc:	48 83 ec 20          	sub    $0x20,%rsp
140028c00:	48 8b 19             	mov    (%rcx),%rbx
140028c03:	4d 8b f1             	mov    %r9,%r14
140028c06:	4d 8b f8             	mov    %r8,%r15
140028c09:	48 8b ea             	mov    %rdx,%rbp
140028c0c:	48 8b f9             	mov    %rcx,%rdi
140028c0f:	48 85 db             	test   %rbx,%rbx
140028c12:	74 72                	je     0x140028c86
140028c14:	48 8b 71 08          	mov    0x8(%rcx),%rsi
140028c18:	eb 15                	jmp    0x140028c2f
140028c1a:	48 8b 03             	mov    (%rbx),%rax
140028c1d:	33 d2                	xor    %edx,%edx
140028c1f:	48 8b cb             	mov    %rbx,%rcx
140028c22:	48 8b 00             	mov    (%rax),%rax
140028c25:	ff 15 6d b9 00 00    	call   *0xb96d(%rip)        # 0x140034598
140028c2b:	48 83 c3 50          	add    $0x50,%rbx
140028c2f:	48 3b de             	cmp    %rsi,%rbx
140028c32:	75 e6                	jne    0x140028c1a
140028c34:	4c 8b 07             	mov    (%rdi),%r8
140028c37:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140028c3e:	66 66 66
140028c41:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140028c45:	49 2b c8             	sub    %r8,%rcx
140028c48:	48 f7 e9             	imul   %rcx
140028c4b:	48 c1 fa 05          	sar    $0x5,%rdx
140028c4f:	48 8b c2             	mov    %rdx,%rax
140028c52:	48 c1 e8 3f          	shr    $0x3f,%rax
140028c56:	48 03 d0             	add    %rax,%rdx
140028c59:	48 8d 04 92          	lea    (%rdx,%rdx,4),%rax
140028c5d:	48 c1 e0 04          	shl    $0x4,%rax
140028c61:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140028c67:	72 14                	jb     0x140028c7d
140028c69:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140028c6d:	4c 2b c1             	sub    %rcx,%r8
140028c70:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140028c74:	48 83 f8 1f          	cmp    $0x1f,%rax
140028c78:	77 46                	ja     0x140028cc0
140028c7a:	4c 8b c1             	mov    %rcx,%r8
140028c7d:	49 8b c8             	mov    %r8,%rcx
140028c80:	ff 15 82 b8 00 00    	call   *0xb882(%rip)        # 0x140034508
140028c86:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140028c8b:	4b 8d 04 bf          	lea    (%r15,%r15,4),%rax
140028c8f:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140028c94:	48 c1 e0 04          	shl    $0x4,%rax
140028c98:	48 03 c5             	add    %rbp,%rax
140028c9b:	48 89 2f             	mov    %rbp,(%rdi)
140028c9e:	48 89 47 08          	mov    %rax,0x8(%rdi)
140028ca2:	4b 8d 04 b6          	lea    (%r14,%r14,4),%rax
140028ca6:	48 c1 e0 04          	shl    $0x4,%rax
140028caa:	48 03 c5             	add    %rbp,%rax
140028cad:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140028cb2:	48 89 47 10          	mov    %rax,0x10(%rdi)
140028cb6:	48 83 c4 20          	add    $0x20,%rsp
140028cba:	41 5f                	pop    %r15
140028cbc:	41 5e                	pop    %r14
140028cbe:	5f                   	pop    %rdi
140028cbf:	c3                   	ret
140028cc0:	ff 15 da b7 00 00    	call   *0xb7da(%rip)        # 0x1400344a0
140028cc6:	cc                   	int3
140028cc7:	90                   	nop
140028cc8:	90                   	nop
140028cc9:	90                   	nop
140028cca:	90                   	nop
140028ccb:	90                   	nop
140028ccc:	90                   	nop
140028ccd:	90                   	nop
140028cce:	90                   	nop
140028ccf:	90                   	nop
140028cd0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140028cd5:	55                   	push   %rbp
140028cd6:	56                   	push   %rsi
140028cd7:	57                   	push   %rdi
140028cd8:	41 56                	push   %r14
140028cda:	41 57                	push   %r15
140028cdc:	48 8b ec             	mov    %rsp,%rbp
140028cdf:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
140028ce6:	48 8b 05 53 a4 01 00 	mov    0x1a453(%rip),%rax        # 0x140043140
140028ced:	48 33 c4             	xor    %rsp,%rax
140028cf0:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140028cf4:	45 33 ff             	xor    %r15d,%r15d
140028cf7:	48 8b 01             	mov    (%rcx),%rax
140028cfa:	45 33 c9             	xor    %r9d,%r9d
140028cfd:	4c 8b c2             	mov    %rdx,%r8
140028d00:	48 8d 55 b8          	lea    -0x48(%rbp),%rdx
140028d04:	48 8b 80 c0 00 00 00 	mov    0xc0(%rax),%rax
140028d0b:	ff 15 87 b8 00 00    	call   *0xb887(%rip)        # 0x140034598
140028d11:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
140028d15:	48 85 c9             	test   %rcx,%rcx
140028d18:	75 08                	jne    0x140028d22
140028d1a:	41 8b ff             	mov    %r15d,%edi
140028d1d:	e9 28 01 00 00       	jmp    0x140028e4a
140028d22:	0f 57 c0             	xorps  %xmm0,%xmm0
140028d25:	0f 11 45 d0          	movups %xmm0,-0x30(%rbp)
140028d29:	49 8b ff             	mov    %r15,%rdi
140028d2c:	4c 89 7d e0          	mov    %r15,-0x20(%rbp)
140028d30:	be 07 00 00 00       	mov    $0x7,%esi
140028d35:	48 89 75 e8          	mov    %rsi,-0x18(%rbp)
140028d39:	66 44 89 7d d0       	mov    %r15w,-0x30(%rbp)
140028d3e:	c6 45 b0 01          	movb   $0x1,-0x50(%rbp)
140028d42:	8d 4e 11             	lea    0x11(%rsi),%ecx
140028d45:	e8 1e 35 fe ff       	call   0x14000c268
140028d4a:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
140028d4e:	48 85 c0             	test   %rax,%rax
140028d51:	74 1c                	je     0x140028d6f
140028d53:	c7 45 b4 08 00 00 00 	movl   $0x8,-0x4c(%rbp)
140028d5a:	4c 8d 45 b0          	lea    -0x50(%rbp),%r8
140028d5e:	48 8d 55 b4          	lea    -0x4c(%rbp),%rdx
140028d62:	48 8b c8             	mov    %rax,%rcx
140028d65:	e8 fa f4 fe ff       	call   0x140018264
140028d6a:	48 8b d8             	mov    %rax,%rbx
140028d6d:	eb 03                	jmp    0x140028d72
140028d6f:	49 8b df             	mov    %r15,%rbx
140028d72:	48 89 5d c0          	mov    %rbx,-0x40(%rbp)
140028d76:	48 8b d3             	mov    %rbx,%rdx
140028d79:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
140028d7d:	e8 e6 e7 fe ff       	call   0x140017568
140028d82:	84 c0                	test   %al,%al
140028d84:	74 15                	je     0x140028d9b
140028d86:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140028d8a:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
140028d8e:	e8 cd 58 fe ff       	call   0x14000e660
140028d93:	48 8b 75 e8          	mov    -0x18(%rbp),%rsi
140028d97:	48 8b 7d e0          	mov    -0x20(%rbp),%rdi
140028d9b:	e8 00 f9 fe ff       	call   0x1400186a0
140028da0:	4c 8b f0             	mov    %rax,%r14
140028da3:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
140028da7:	48 83 fe 07          	cmp    $0x7,%rsi
140028dab:	48 0f 47 4d d0       	cmova  -0x30(%rbp),%rcx
140028db0:	48 8b d7             	mov    %rdi,%rdx
140028db3:	e8 78 bc fe ff       	call   0x140014a30
140028db8:	4c 8b c8             	mov    %rax,%r9
140028dbb:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
140028dbf:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
140028dc3:	49 8b ce             	mov    %r14,%rcx
140028dc6:	e8 31 f0 fe ff       	call   0x140017dfc
140028dcb:	48 8b 78 08          	mov    0x8(%rax),%rdi
140028dcf:	48 85 ff             	test   %rdi,%rdi
140028dd2:	75 04                	jne    0x140028dd8
140028dd4:	49 8b 7e 08          	mov    0x8(%r14),%rdi
140028dd8:	49 3b 7e 08          	cmp    0x8(%r14),%rdi
140028ddc:	74 05                	je     0x140028de3
140028dde:	8b 7f 30             	mov    0x30(%rdi),%edi
140028de1:	eb 03                	jmp    0x140028de6
140028de3:	41 8b ff             	mov    %r15d,%edi
140028de6:	48 85 db             	test   %rbx,%rbx
140028de9:	74 1c                	je     0x140028e07
140028deb:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140028def:	48 85 c9             	test   %rcx,%rcx
140028df2:	74 0a                	je     0x140028dfe
140028df4:	ba 01 00 00 00       	mov    $0x1,%edx
140028df9:	e8 a6 96 fe ff       	call   0x1400124a4
140028dfe:	48 8b cb             	mov    %rbx,%rcx
140028e01:	e8 82 34 fe ff       	call   0x14000c288
140028e06:	90                   	nop
140028e07:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
140028e0b:	48 83 f8 07          	cmp    $0x7,%rax
140028e0f:	76 35                	jbe    0x140028e46
140028e11:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
140028e18:	00
140028e19:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
140028e1d:	48 8b d1             	mov    %rcx,%rdx
140028e20:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140028e26:	72 18                	jb     0x140028e40
140028e28:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140028e2c:	48 2b d1             	sub    %rcx,%rdx
140028e2f:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
140028e33:	48 83 f8 1f          	cmp    $0x1f,%rax
140028e37:	76 07                	jbe    0x140028e40
140028e39:	ff 15 61 b6 00 00    	call   *0xb661(%rip)        # 0x1400344a0
140028e3f:	cc                   	int3
140028e40:	ff 15 c2 b6 00 00    	call   *0xb6c2(%rip)        # 0x140034508
140028e46:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
140028e4a:	48 85 c9             	test   %rcx,%rcx
140028e4d:	74 12                	je     0x140028e61
140028e4f:	4c 8b 01             	mov    (%rcx),%r8
140028e52:	ba 01 00 00 00       	mov    $0x1,%edx
140028e57:	49 8b 40 28          	mov    0x28(%r8),%rax
140028e5b:	ff 15 37 b7 00 00    	call   *0xb737(%rip)        # 0x140034598
140028e61:	8b c7                	mov    %edi,%eax
140028e63:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
140028e67:	48 33 cc             	xor    %rsp,%rcx
140028e6a:	e8 c1 7c 00 00       	call   0x140030b30
140028e6f:	48 8b 9c 24 c0 00 00 	mov    0xc0(%rsp),%rbx
140028e76:	00
140028e77:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
140028e7e:	41 5f                	pop    %r15
140028e80:	41 5e                	pop    %r14
140028e82:	5f                   	pop    %rdi
140028e83:	5e                   	pop    %rsi
140028e84:	5d                   	pop    %rbp
140028e85:	c3                   	ret
140028e86:	90                   	nop
140028e87:	90                   	nop
140028e88:	90                   	nop
140028e89:	90                   	nop
140028e8a:	90                   	nop
140028e8b:	90                   	nop
140028e8c:	90                   	nop
140028e8d:	90                   	nop
140028e8e:	90                   	nop
140028e8f:	90                   	nop
140028e90:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140028e95:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140028e9a:	55                   	push   %rbp
140028e9b:	56                   	push   %rsi
140028e9c:	57                   	push   %rdi
140028e9d:	48 8b ec             	mov    %rsp,%rbp
140028ea0:	48 83 ec 50          	sub    $0x50,%rsp
140028ea4:	48 8b fa             	mov    %rdx,%rdi
140028ea7:	c7 45 38 01 00 00 00 	movl   $0x1,0x38(%rbp)
140028eae:	48 83 22 00          	andq   $0x0,(%rdx)
140028eb2:	48 83 62 08 00       	andq   $0x0,0x8(%rdx)
140028eb7:	48 83 62 10 00       	andq   $0x0,0x10(%rdx)
140028ebc:	c7 45 38 01 00 00 00 	movl   $0x1,0x38(%rbp)
140028ec3:	48 8b 01             	mov    (%rcx),%rax
140028ec6:	45 33 c9             	xor    %r9d,%r9d
140028ec9:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
140028ecd:	48 8b 80 c0 00 00 00 	mov    0xc0(%rax),%rax
140028ed4:	ff 15 be b6 00 00    	call   *0xb6be(%rip)        # 0x140034598
140028eda:	48 83 7d e8 00       	cmpq   $0x0,-0x18(%rbp)
140028edf:	75 05                	jne    0x140028ee6
140028ee1:	e9 aa 00 00 00       	jmp    0x140028f90
140028ee6:	c6 45 20 01          	movb   $0x1,0x20(%rbp)
140028eea:	c7 45 e0 09 00 00 00 	movl   $0x9,-0x20(%rbp)
140028ef1:	4c 8d 45 20          	lea    0x20(%rbp),%r8
140028ef5:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140028ef9:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140028efd:	e8 e2 f1 fe ff       	call   0x1400180e4
140028f02:	48 8b 5d f0          	mov    -0x10(%rbp),%rbx
140028f06:	48 8b d3             	mov    %rbx,%rdx
140028f09:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
140028f0d:	e8 ae e8 fe ff       	call   0x1400177c0
140028f12:	84 c0                	test   %al,%al
140028f14:	74 37                	je     0x140028f4d
140028f16:	4c 8b 4b 08          	mov    0x8(%rbx),%r9
140028f1a:	49 3b f9             	cmp    %r9,%rdi
140028f1d:	74 2e                	je     0x140028f4d
140028f1f:	49 8b 49 08          	mov    0x8(%r9),%rcx
140028f23:	49 2b 09             	sub    (%r9),%rcx
140028f26:	48 b8 25 49 92 24 49 	movabs $0x4924924924924925,%rax
140028f2d:	92 24 49
140028f30:	48 f7 e9             	imul   %rcx
140028f33:	48 c1 fa 04          	sar    $0x4,%rdx
140028f37:	4c 8b c2             	mov    %rdx,%r8
140028f3a:	49 c1 e8 3f          	shr    $0x3f,%r8
140028f3e:	4c 03 c2             	add    %rdx,%r8
140028f41:	49 8b 11             	mov    (%r9),%rdx
140028f44:	48 8b cf             	mov    %rdi,%rcx
140028f47:	e8 b8 ea fe ff       	call   0x140017a04
140028f4c:	90                   	nop
140028f4d:	48 85 db             	test   %rbx,%rbx
140028f50:	74 22                	je     0x140028f74
140028f52:	48 8b 73 08          	mov    0x8(%rbx),%rsi
140028f56:	48 85 f6             	test   %rsi,%rsi
140028f59:	74 10                	je     0x140028f6b
140028f5b:	48 8b ce             	mov    %rsi,%rcx
140028f5e:	e8 fd d9 fe ff       	call   0x140016960
140028f63:	48 8b ce             	mov    %rsi,%rcx
140028f66:	e8 1d 33 fe ff       	call   0x14000c288
140028f6b:	48 8b cb             	mov    %rbx,%rcx
140028f6e:	e8 15 33 fe ff       	call   0x14000c288
140028f73:	90                   	nop
140028f74:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
140028f78:	48 85 c9             	test   %rcx,%rcx
140028f7b:	74 13                	je     0x140028f90
140028f7d:	48 8b 01             	mov    (%rcx),%rax
140028f80:	ba 01 00 00 00       	mov    $0x1,%edx
140028f85:	48 8b 40 28          	mov    0x28(%rax),%rax
140028f89:	ff 15 09 b6 00 00    	call   *0xb609(%rip)        # 0x140034598
140028f8f:	90                   	nop
140028f90:	48 8b c7             	mov    %rdi,%rax
140028f93:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
140028f9a:	00
140028f9b:	48 83 c4 50          	add    $0x50,%rsp
140028f9f:	5f                   	pop    %rdi
140028fa0:	5e                   	pop    %rsi
140028fa1:	5d                   	pop    %rbp
140028fa2:	c3                   	ret
140028fa3:	90                   	nop
140028fa4:	90                   	nop
140028fa5:	90                   	nop
140028fa6:	90                   	nop
140028fa7:	90                   	nop
140028fa8:	90                   	nop
140028fa9:	90                   	nop
140028faa:	90                   	nop
140028fab:	90                   	nop
140028fac:	90                   	nop
140028fad:	90                   	nop
140028fae:	90                   	nop
140028faf:	90                   	nop
140028fb0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140028fb5:	55                   	push   %rbp
140028fb6:	53                   	push   %rbx
140028fb7:	56                   	push   %rsi
140028fb8:	57                   	push   %rdi
140028fb9:	41 56                	push   %r14
140028fbb:	48 8b ec             	mov    %rsp,%rbp
140028fbe:	48 83 ec 50          	sub    $0x50,%rsp
140028fc2:	48 8b f2             	mov    %rdx,%rsi
140028fc5:	c7 45 48 01 00 00 00 	movl   $0x1,0x48(%rbp)
140028fcc:	0f 57 c0             	xorps  %xmm0,%xmm0
140028fcf:	0f 11 02             	movups %xmm0,(%rdx)
140028fd2:	45 33 f6             	xor    %r14d,%r14d
140028fd5:	4c 89 72 10          	mov    %r14,0x10(%rdx)
140028fd9:	48 c7 42 18 07 00 00 	movq   $0x7,0x18(%rdx)
140028fe0:	00
140028fe1:	66 44 89 32          	mov    %r14w,(%rdx)
140028fe5:	c7 45 48 01 00 00 00 	movl   $0x1,0x48(%rbp)
140028fec:	48 8b 01             	mov    (%rcx),%rax
140028fef:	45 33 c9             	xor    %r9d,%r9d
140028ff2:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
140028ff6:	48 8b 80 c0 00 00 00 	mov    0xc0(%rax),%rax
140028ffd:	ff 15 95 b5 00 00    	call   *0xb595(%rip)        # 0x140034598
140029003:	4c 39 75 e8          	cmp    %r14,-0x18(%rbp)
140029007:	75 05                	jne    0x14002900e
140029009:	e9 98 00 00 00       	jmp    0x1400290a6
14002900e:	c6 45 30 01          	movb   $0x1,0x30(%rbp)
140029012:	b9 18 00 00 00       	mov    $0x18,%ecx
140029017:	e8 4c 32 fe ff       	call   0x14000c268
14002901c:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140029020:	bf 03 00 00 00       	mov    $0x3,%edi
140029025:	48 85 c0             	test   %rax,%rax
140029028:	74 18                	je     0x140029042
14002902a:	89 7d e0             	mov    %edi,-0x20(%rbp)
14002902d:	4c 8d 45 30          	lea    0x30(%rbp),%r8
140029031:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140029035:	48 8b c8             	mov    %rax,%rcx
140029038:	e8 27 f2 fe ff       	call   0x140018264