140d1ad0b:	4c 8b bc 24 90 01 00 	mov    0x190(%rsp),%r15
140d1ad12:	00
140d1ad13:	41 8b c6             	mov    %r14d,%eax
140d1ad16:	48 8b bc 24 98 01 00 	mov    0x198(%rsp),%rdi
140d1ad1d:	00
140d1ad1e:	48 8b b4 24 a0 01 00 	mov    0x1a0(%rsp),%rsi
140d1ad25:	00
140d1ad26:	48 8b 9c 24 e8 01 00 	mov    0x1e8(%rsp),%rbx
140d1ad2d:	00
140d1ad2e:	48 8b 8c 24 80 01 00 	mov    0x180(%rsp),%rcx
140d1ad35:	00
140d1ad36:	48 33 cc             	xor    %rsp,%rcx
140d1ad39:	e8 c2 07 10 00       	call   0x140e1b500
140d1ad3e:	48 81 c4 a8 01 00 00 	add    $0x1a8,%rsp
140d1ad45:	41 5e                	pop    %r14
140d1ad47:	41 5d                	pop    %r13
140d1ad49:	41 5c                	pop    %r12
140d1ad4b:	5d                   	pop    %rbp
140d1ad4c:	c3                   	ret
140d1ad4d:	e8 02 0b 10 00       	call   0x140e1b854
140d1ad52:	cc                   	int3
140d1ad53:	cc                   	int3
140d1ad54:	cc                   	int3
140d1ad55:	cc                   	int3
140d1ad56:	cc                   	int3
140d1ad57:	cc                   	int3
140d1ad58:	cc                   	int3
140d1ad59:	cc                   	int3
140d1ad5a:	cc                   	int3
140d1ad5b:	cc                   	int3
140d1ad5c:	cc                   	int3
140d1ad5d:	cc                   	int3
140d1ad5e:	cc                   	int3
140d1ad5f:	cc                   	int3
140d1ad60:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140d1ad65:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140d1ad6a:	41 54                	push   %r12
140d1ad6c:	41 56                	push   %r14
140d1ad6e:	41 57                	push   %r15
140d1ad70:	b8 20 00 00 00       	mov    $0x20,%eax
140d1ad75:	e8 26 07 10 00       	call   0x140e1b4a0
140d1ad7a:	48 2b e0             	sub    %rax,%rsp
140d1ad7d:	48 63 44 24 60       	movslq 0x60(%rsp),%rax
140d1ad82:	33 f6                	xor    %esi,%esi
140d1ad84:	4d 8b f9             	mov    %r9,%r15
140d1ad87:	45 8b e0             	mov    %r8d,%r12d
140d1ad8a:	44 8b f2             	mov    %edx,%r14d
140d1ad8d:	48 8b f9             	mov    %rcx,%rdi
140d1ad90:	83 f8 01             	cmp    $0x1,%eax
140d1ad93:	0f 8c b2 00 00 00    	jl     0x140d1ae4b
140d1ad99:	48 89 6c 24 48       	mov    %rbp,0x48(%rsp)
140d1ad9e:	48 8d 68 ff          	lea    -0x1(%rax),%rbp
140d1ada2:	48 85 ed             	test   %rbp,%rbp
140d1ada5:	0f 8e 87 00 00 00    	jle    0x140d1ae32
140d1adab:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140d1adb0:	8b de                	mov    %esi,%ebx
140d1adb2:	48 85 db             	test   %rbx,%rbx
140d1adb5:	74 1d                	je     0x140d1add4
140d1adb7:	85 f6                	test   %esi,%esi
140d1adb9:	75 19                	jne    0x140d1add4
140d1adbb:	4c 8d 0d ca 89 28 00 	lea    0x2889ca(%rip),%r9        # 0x140fa378c
140d1adc2:	45 8b c6             	mov    %r14d,%r8d
140d1adc5:	48 8d 15 00 89 44 00 	lea    0x448900(%rip),%rdx        # 0x1411636cc
140d1adcc:	48 8b cf             	mov    %rdi,%rcx
140d1adcf:	e8 5c de fd ff       	call   0x140cf8c30
140d1add4:	45 0f b6 04 1f       	movzbl (%r15,%rbx,1),%r8d
140d1add9:	48 8d 15 6c a6 45 00 	lea    0x45a66c(%rip),%rdx        # 0x14117544c
140d1ade0:	48 8b cf             	mov    %rdi,%rcx
140d1ade3:	e8 48 de fd ff       	call   0x140cf8c30
140d1ade8:	8d 46 01             	lea    0x1(%rsi),%eax
140d1adeb:	99                   	cltd
140d1adec:	41 f7 fc             	idiv   %r12d
140d1adef:	8b f2                	mov    %edx,%esi
140d1adf1:	85 d2                	test   %edx,%edx
140d1adf3:	75 0f                	jne    0x140d1ae04
140d1adf5:	48 8d 15 70 ba 29 00 	lea    0x29ba70(%rip),%rdx        # 0x140fb686c
140d1adfc:	48 8b cf             	mov    %rdi,%rcx
140d1adff:	e8 2c de fd ff       	call   0x140cf8c30
140d1ae04:	48 ff c3             	inc    %rbx
140d1ae07:	48 3b dd             	cmp    %rbp,%rbx
140d1ae0a:	7c a6                	jl     0x140d1adb2
140d1ae0c:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140d1ae11:	85 ed                	test   %ebp,%ebp
140d1ae13:	74 1d                	je     0x140d1ae32
140d1ae15:	85 f6                	test   %esi,%esi
140d1ae17:	75 19                	jne    0x140d1ae32
140d1ae19:	4c 8d 0d 6c 89 28 00 	lea    0x28896c(%rip),%r9        # 0x140fa378c
140d1ae20:	45 8b c6             	mov    %r14d,%r8d
140d1ae23:	48 8d 15 a2 88 44 00 	lea    0x4488a2(%rip),%rdx        # 0x1411636cc
140d1ae2a:	48 8b cf             	mov    %rdi,%rcx
140d1ae2d:	e8 fe dd fd ff       	call   0x140cf8c30
140d1ae32:	45 0f b6 04 2f       	movzbl (%r15,%rbp,1),%r8d
140d1ae37:	48 8d 15 2a 5b 2c 00 	lea    0x2c5b2a(%rip),%rdx        # 0x140fe0968
140d1ae3e:	48 8b cf             	mov    %rdi,%rcx
140d1ae41:	e8 ea dd fd ff       	call   0x140cf8c30
140d1ae46:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140d1ae4b:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140d1ae50:	b8 01 00 00 00       	mov    $0x1,%eax
140d1ae55:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140d1ae5a:	48 83 c4 20          	add    $0x20,%rsp
140d1ae5e:	41 5f                	pop    %r15
140d1ae60:	41 5e                	pop    %r14
140d1ae62:	41 5c                	pop    %r12
140d1ae64:	c3                   	ret
140d1ae65:	cc                   	int3
140d1ae66:	cc                   	int3
140d1ae67:	cc                   	int3
140d1ae68:	cc                   	int3
140d1ae69:	cc                   	int3
140d1ae6a:	cc                   	int3
140d1ae6b:	cc                   	int3
140d1ae6c:	cc                   	int3
140d1ae6d:	cc                   	int3
140d1ae6e:	cc                   	int3
140d1ae6f:	cc                   	int3
140d1ae70:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d1ae75:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140d1ae7a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140d1ae7f:	57                   	push   %rdi
140d1ae80:	b8 20 00 00 00       	mov    $0x20,%eax
140d1ae85:	e8 16 06 10 00       	call   0x140e1b4a0
140d1ae8a:	48 2b e0             	sub    %rax,%rsp
140d1ae8d:	48 8b fa             	mov    %rdx,%rdi
140d1ae90:	48 8b d9             	mov    %rcx,%rbx
140d1ae93:	48 85 d2             	test   %rdx,%rdx
140d1ae96:	0f 84 69 01 00 00    	je     0x140d1b005
140d1ae9c:	e8 1f b2 fb ff       	call   0x140cd60c0
140d1aea1:	85 c0                	test   %eax,%eax
140d1aea3:	74 10                	je     0x140d1aeb5
140d1aea5:	48 8b d7             	mov    %rdi,%rdx
140d1aea8:	48 8b cb             	mov    %rbx,%rcx
140d1aeab:	e8 80 b6 fb ff       	call   0x140cd6530
140d1aeb0:	e9 55 01 00 00       	jmp    0x140d1b00a
140d1aeb5:	33 ed                	xor    %ebp,%ebp
140d1aeb7:	39 6b 10             	cmp    %ebp,0x10(%rbx)
140d1aeba:	0f 84 e8 00 00 00    	je     0x140d1afa8
140d1aec0:	48 8b cb             	mov    %rbx,%rcx
140d1aec3:	89 6b 10             	mov    %ebp,0x10(%rbx)
140d1aec6:	e8 f5 b1 fb ff       	call   0x140cd60c0
140d1aecb:	85 c0                	test   %eax,%eax
140d1aecd:	74 25                	je     0x140d1aef4
140d1aecf:	48 8b d7             	mov    %rdi,%rdx
140d1aed2:	48 8b cb             	mov    %rbx,%rcx
140d1aed5:	e8 56 b6 fb ff       	call   0x140cd6530
140d1aeda:	8b f8                	mov    %eax,%edi
140d1aedc:	85 c0                	test   %eax,%eax
140d1aede:	0f 84 aa 00 00 00    	je     0x140d1af8e
140d1aee4:	8d 55 01             	lea    0x1(%rbp),%edx
140d1aee7:	48 8b cb             	mov    %rbx,%rcx
140d1aeea:	e8 21 b6 fb ff       	call   0x140cd6510
140d1aeef:	e9 9a 00 00 00       	jmp    0x140d1af8e
140d1aef4:	39 6b 10             	cmp    %ebp,0x10(%rbx)
140d1aef7:	74 19                	je     0x140d1af12
140d1aef9:	48 8b d7             	mov    %rdi,%rdx
140d1aefc:	89 6b 10             	mov    %ebp,0x10(%rbx)
140d1aeff:	48 8b cb             	mov    %rbx,%rcx
140d1af02:	e8 69 ff ff ff       	call   0x140d1ae70
140d1af07:	8b f8                	mov    %eax,%edi
140d1af09:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%rbx)
140d1af10:	eb 7c                	jmp    0x140d1af8e
140d1af12:	83 7b 08 01          	cmpl   $0x1,0x8(%rbx)
140d1af16:	75 1a                	jne    0x140d1af32
140d1af18:	48 8b 03             	mov    (%rbx),%rax
140d1af1b:	48 8b 08             	mov    (%rax),%rcx
140d1af1e:	48 3b cf             	cmp    %rdi,%rcx
140d1af21:	73 0f                	jae    0x140d1af32
140d1af23:	48 2b f9             	sub    %rcx,%rdi
140d1af26:	48 89 38             	mov    %rdi,(%rax)
140d1af29:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%rbx)
140d1af30:	eb 57                	jmp    0x140d1af89
140d1af32:	48 8b 13             	mov    (%rbx),%rdx
140d1af35:	44 8b c5             	mov    %ebp,%r8d
140d1af38:	48 39 3a             	cmp    %rdi,(%rdx)
140d1af3b:	73 27                	jae    0x140d1af64
140d1af3d:	48 8b c5             	mov    %rbp,%rax
140d1af40:	48 8b cd             	mov    %rbp,%rcx
140d1af43:	48 29 3c 11          	sub    %rdi,(%rcx,%rdx,1)
140d1af47:	48 8d 40 01          	lea    0x1(%rax),%rax
140d1af4b:	48 8b 13             	mov    (%rbx),%rdx
140d1af4e:	48 8d 0c c5 00 00 00 	lea    0x0(,%rax,8),%rcx
140d1af55:	00
140d1af56:	41 ff c0             	inc    %r8d
140d1af59:	bf 01 00 00 00       	mov    $0x1,%edi
140d1af5e:	48 39 3c 0a          	cmp    %rdi,(%rdx,%rcx,1)
140d1af62:	72 df                	jb     0x140d1af43
140d1af64:	49 63 c0             	movslq %r8d,%rax
140d1af67:	48 8d 0c c5 00 00 00 	lea    0x0(,%rax,8),%rcx
140d1af6e:	00
140d1af6f:	48 29 3c 11          	sub    %rdi,(%rcx,%rdx,1)
140d1af73:	48 8b 03             	mov    (%rbx),%rax
140d1af76:	48 39 2c 01          	cmp    %rbp,(%rcx,%rax,1)
140d1af7a:	75 0d                	jne    0x140d1af89
140d1af7c:	8b 43 08             	mov    0x8(%rbx),%eax
140d1af7f:	ff c8                	dec    %eax
140d1af81:	44 3b c0             	cmp    %eax,%r8d
140d1af84:	75 03                	jne    0x140d1af89
140d1af86:	89 43 08             	mov    %eax,0x8(%rbx)
140d1af89:	bf 01 00 00 00       	mov    $0x1,%edi
140d1af8e:	48 8b cb             	mov    %rbx,%rcx
140d1af91:	e8 2a b1 fb ff       	call   0x140cd60c0
140d1af96:	85 c0                	test   %eax,%eax
140d1af98:	75 0a                	jne    0x140d1afa4
140d1af9a:	39 6b 10             	cmp    %ebp,0x10(%rbx)
140d1af9d:	40 0f 94 c5          	sete   %bpl
140d1afa1:	89 6b 10             	mov    %ebp,0x10(%rbx)
140d1afa4:	8b c7                	mov    %edi,%eax
140d1afa6:	eb 62                	jmp    0x140d1b00a
140d1afa8:	8b f5                	mov    %ebp,%esi
140d1afaa:	4c 8b cd             	mov    %rbp,%r9
140d1afad:	0f 1f 00             	nopl   (%rax)
140d1afb0:	4c 8b c7             	mov    %rdi,%r8
140d1afb3:	3b 73 08             	cmp    0x8(%rbx),%esi
140d1afb6:	7d 25                	jge    0x140d1afdd
140d1afb8:	48 8b 0b             	mov    (%rbx),%rcx
140d1afbb:	48 8b c5             	mov    %rbp,%rax
140d1afbe:	4a 8b 14 09          	mov    (%rcx,%r9,1),%rdx
140d1afc2:	48 03 d7             	add    %rdi,%rdx
140d1afc5:	48 3b fa             	cmp    %rdx,%rdi
140d1afc8:	4a 89 14 09          	mov    %rdx,(%rcx,%r9,1)
140d1afcc:	0f 97 c0             	seta   %al
140d1afcf:	ff c6                	inc    %esi
140d1afd1:	49 83 c1 08          	add    $0x8,%r9
140d1afd5:	48 8b f8             	mov    %rax,%rdi
140d1afd8:	4c 3b c2             	cmp    %rdx,%r8
140d1afdb:	77 d3                	ja     0x140d1afb0
140d1afdd:	48 85 ff             	test   %rdi,%rdi
140d1afe0:	74 23                	je     0x140d1b005
140d1afe2:	8b 53 08             	mov    0x8(%rbx),%edx
140d1afe5:	3b f2                	cmp    %edx,%esi
140d1afe7:	75 1c                	jne    0x140d1b005
140d1afe9:	ff c2                	inc    %edx
140d1afeb:	48 8b cb             	mov    %rbx,%rcx
140d1afee:	e8 dd ba fb ff       	call   0x140cd6ad0
140d1aff3:	48 85 c0             	test   %rax,%rax
140d1aff6:	74 12                	je     0x140d1b00a
140d1aff8:	48 8b 03             	mov    (%rbx),%rax
140d1affb:	ff 43 08             	incl   0x8(%rbx)
140d1affe:	48 63 ce             	movslq %esi,%rcx
140d1b001:	48 89 3c c8          	mov    %rdi,(%rax,%rcx,8)
140d1b005:	b8 01 00 00 00       	mov    $0x1,%eax
140d1b00a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140d1b00f:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140d1b014:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140d1b019:	48 83 c4 20          	add    $0x20,%rsp
140d1b01d:	5f                   	pop    %rdi
140d1b01e:	c3                   	ret
140d1b01f:	cc                   	int3
140d1b020:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140d1b025:	56                   	push   %rsi
140d1b026:	57                   	push   %rdi
140d1b027:	41 57                	push   %r15
140d1b029:	b8 20 00 00 00       	mov    $0x20,%eax
140d1b02e:	e8 6d 04 10 00       	call   0x140e1b4a0
140d1b033:	48 2b e0             	sub    %rax,%rsp
140d1b036:	33 f6                	xor    %esi,%esi
140d1b038:	48 8b ea             	mov    %rdx,%rbp
140d1b03b:	48 8b f9             	mov    %rcx,%rdi
140d1b03e:	48 85 d2             	test   %rdx,%rdx
140d1b041:	0f 84 d6 00 00 00    	je     0x140d1b11d
140d1b047:	39 71 08             	cmp    %esi,0x8(%rcx)
140d1b04a:	75 10                	jne    0x140d1b05c
140d1b04c:	33 c0                	xor    %eax,%eax
140d1b04e:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140d1b053:	48 83 c4 20          	add    $0x20,%rsp
140d1b057:	41 5f                	pop    %r15
140d1b059:	5f                   	pop    %rdi
140d1b05a:	5e                   	pop    %rsi
140d1b05b:	c3                   	ret
140d1b05c:	48 8b cd             	mov    %rbp,%rcx
140d1b05f:	e8 3c b2 fb ff       	call   0x140cd62a0
140d1b064:	41 b8 40 00 00 00    	mov    $0x40,%r8d
140d1b06a:	48 8b d7             	mov    %rdi,%rdx
140d1b06d:	44 2b c0             	sub    %eax,%r8d
140d1b070:	4d 63 f8             	movslq %r8d,%r15
140d1b073:	49 8b cf             	mov    %r15,%rcx
140d1b076:	48 d3 e5             	shl    %cl,%rbp
140d1b079:	48 8b cf             	mov    %rdi,%rcx
140d1b07c:	e8 ff 03 00 00       	call   0x140d1b480
140d1b081:	85 c0                	test   %eax,%eax
140d1b083:	0f 84 94 00 00 00    	je     0x140d1b11d
140d1b089:	8b 47 08             	mov    0x8(%rdi),%eax
140d1b08c:	83 e8 01             	sub    $0x1,%eax
140d1b08f:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
140d1b094:	4c 63 f0             	movslq %eax,%r14
140d1b097:	78 3b                	js     0x140d1b0d4
140d1b099:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140d1b09e:	66 90                	xchg   %ax,%ax
140d1b0a0:	48 8b 07             	mov    (%rdi),%rax
140d1b0a3:	4c 8b c5             	mov    %rbp,%r8
140d1b0a6:	48 8b ce             	mov    %rsi,%rcx
140d1b0a9:	4a 8b 1c f0          	mov    (%rax,%r14,8),%rbx
140d1b0ad:	48 8b d3             	mov    %rbx,%rdx
140d1b0b0:	e8 6b 3c 04 00       	call   0x140d5ed20
140d1b0b5:	48 8b c8             	mov    %rax,%rcx
140d1b0b8:	48 8b f3             	mov    %rbx,%rsi
140d1b0bb:	48 0f af cd          	imul   %rbp,%rcx
140d1b0bf:	48 2b f1             	sub    %rcx,%rsi
140d1b0c2:	48 8b 0f             	mov    (%rdi),%rcx
140d1b0c5:	4a 89 04 f1          	mov    %rax,(%rcx,%r14,8)
140d1b0c9:	49 83 ee 01          	sub    $0x1,%r14
140d1b0cd:	79 d1                	jns    0x140d1b0a0
140d1b0cf:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140d1b0d4:	48 63 47 08          	movslq 0x8(%rdi),%rax
140d1b0d8:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
140d1b0dd:	44 8b c0             	mov    %eax,%r8d
140d1b0e0:	85 c0                	test   %eax,%eax
140d1b0e2:	7e 19                	jle    0x140d1b0fd
140d1b0e4:	48 8b d0             	mov    %rax,%rdx
140d1b0e7:	44 8d 48 ff          	lea    -0x1(%rax),%r9d
140d1b0eb:	48 8b 07             	mov    (%rdi),%rax
140d1b0ee:	48 83 7c d0 f8 00    	cmpq   $0x0,-0x8(%rax,%rdx,8)
140d1b0f4:	75 07                	jne    0x140d1b0fd
140d1b0f6:	44 89 4f 08          	mov    %r9d,0x8(%rdi)
140d1b0fa:	45 8b c1             	mov    %r9d,%r8d
140d1b0fd:	49 8b cf             	mov    %r15,%rcx
140d1b100:	48 d3 ee             	shr    %cl,%rsi
140d1b103:	45 85 c0             	test   %r8d,%r8d
140d1b106:	75 04                	jne    0x140d1b10c
140d1b108:	44 89 47 10          	mov    %r8d,0x10(%rdi)
140d1b10c:	48 8b c6             	mov    %rsi,%rax
140d1b10f:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140d1b114:	48 83 c4 20          	add    $0x20,%rsp
140d1b118:	41 5f                	pop    %r15
140d1b11a:	5f                   	pop    %rdi
140d1b11b:	5e                   	pop    %rsi
140d1b11c:	c3                   	ret
140d1b11d:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140d1b122:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140d1b129:	48 83 c4 20          	add    $0x20,%rsp
140d1b12d:	41 5f                	pop    %r15
140d1b12f:	5f                   	pop    %rdi
140d1b130:	5e                   	pop    %rsi
140d1b131:	c3                   	ret
140d1b132:	cc                   	int3
140d1b133:	cc                   	int3
140d1b134:	cc                   	int3
140d1b135:	cc                   	int3
140d1b136:	cc                   	int3
140d1b137:	cc                   	int3
140d1b138:	cc                   	int3
140d1b139:	cc                   	int3
140d1b13a:	cc                   	int3
140d1b13b:	cc                   	int3
140d1b13c:	cc                   	int3
140d1b13d:	cc                   	int3
140d1b13e:	cc                   	int3
140d1b13f:	cc                   	int3
140d1b140:	40 55                	rex push %rbp
140d1b142:	56                   	push   %rsi
140d1b143:	57                   	push   %rdi