18004f7ef:	8b 46 1c             	mov    0x1c(%rsi),%eax
18004f7f2:	41 8b ce             	mov    %r14d,%ecx
18004f7f5:	48 03 4b 48          	add    0x48(%rbx),%rcx
18004f7f9:	48 3b c8             	cmp    %rax,%rcx
18004f7fc:	7e 07                	jle    0x18004f805
18004f7fe:	bf 06 02 00 c0       	mov    $0xc0000206,%edi
18004f803:	eb 52                	jmp    0x18004f857
18004f805:	8b 73 48             	mov    0x48(%rbx),%esi
18004f808:	48 8b d5             	mov    %rbp,%rdx
18004f80b:	4c 8b 4b 38          	mov    0x38(%rbx),%r9
18004f80f:	44 8b c6             	mov    %esi,%r8d
18004f812:	49 8b cf             	mov    %r15,%rcx
18004f815:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
18004f81a:	e8 f5 fa ff ff       	call   0x18004f314
18004f81f:	8b f8                	mov    %eax,%edi
18004f821:	85 c0                	test   %eax,%eax
18004f823:	78 32                	js     0x18004f857
18004f825:	45 8b 97 48 0e 00 00 	mov    0xe48(%r15),%r10d
18004f82c:	41 8d 4e ff          	lea    -0x1(%r14),%ecx
18004f830:	33 d2                	xor    %edx,%edx
18004f832:	41 03 ca             	add    %r10d,%ecx
18004f835:	8b c1                	mov    %ecx,%eax
18004f837:	44 8b c6             	mov    %esi,%r8d
18004f83a:	41 f7 f2             	div    %r10d
18004f83d:	2b ca                	sub    %edx,%ecx
18004f83f:	33 d2                	xor    %edx,%edx
18004f841:	8b c1                	mov    %ecx,%eax
18004f843:	48 8b 0b             	mov    (%rbx),%rcx
18004f846:	41 f7 f2             	div    %r10d
18004f849:	48 8b d5             	mov    %rbp,%rdx
18004f84c:	89 44 24 20          	mov    %eax,0x20(%rsp)
18004f850:	e8 63 fe ff ff       	call   0x18004f6b8
18004f855:	8b f8                	mov    %eax,%edi
18004f857:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
18004f85c:	8b c7                	mov    %edi,%eax
18004f85e:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
18004f863:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
18004f868:	48 83 c4 30          	add    $0x30,%rsp
18004f86c:	41 5f                	pop    %r15
18004f86e:	41 5e                	pop    %r14
18004f870:	5f                   	pop    %rdi
18004f871:	c3                   	ret
18004f872:	cc                   	int3
18004f873:	cc                   	int3
18004f874:	40 53                	rex push %rbx
18004f876:	48 83 ec 30          	sub    $0x30,%rsp
18004f87a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18004f87f:	41 8b c1             	mov    %r9d,%eax
18004f882:	48 8b 0b             	mov    (%rbx),%rcx
18004f885:	45 85 c9             	test   %r9d,%r9d
18004f888:	78 16                	js     0x18004f8a0
18004f88a:	4c 8b 43 08          	mov    0x8(%rbx),%r8
18004f88e:	44 8b 4b 10          	mov    0x10(%rbx),%r9d
18004f892:	48 8b 53 50          	mov    0x50(%rbx),%rdx
18004f896:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
18004f89b:	e8 d8 f8 ff ff       	call   0x18004f178
18004f8a0:	4c 8b c3             	mov    %rbx,%r8
18004f8a3:	8b d0                	mov    %eax,%edx
18004f8a5:	e8 2a 00 00 00       	call   0x18004f8d4
18004f8aa:	48 83 c4 30          	add    $0x30,%rsp
18004f8ae:	5b                   	pop    %rbx
18004f8af:	c3                   	ret
18004f8b0:	cc                   	int3
18004f8b1:	cc                   	int3
18004f8b2:	cc                   	int3
18004f8b3:	cc                   	int3
18004f8b4:	48 83 ec 28          	sub    $0x28,%rsp
18004f8b8:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
18004f8bd:	45 85 c9             	test   %r9d,%r9d
18004f8c0:	78 04                	js     0x18004f8c6
18004f8c2:	49 89 50 38          	mov    %rdx,0x38(%r8)
18004f8c6:	41 8b d1             	mov    %r9d,%edx
18004f8c9:	e8 06 00 00 00       	call   0x18004f8d4
18004f8ce:	48 83 c4 28          	add    $0x28,%rsp
18004f8d2:	c3                   	ret
18004f8d3:	cc                   	int3
18004f8d4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004f8d9:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
18004f8de:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
18004f8e3:	57                   	push   %rdi
18004f8e4:	48 83 ec 20          	sub    $0x20,%rsp
18004f8e8:	49 8b 28             	mov    (%r8),%rbp
18004f8eb:	49 8b d8             	mov    %r8,%rbx
18004f8ee:	8b fa                	mov    %edx,%edi
18004f8f0:	85 d2                	test   %edx,%edx
18004f8f2:	79 04                	jns    0x18004f8f8
18004f8f4:	41 89 50 5c          	mov    %edx,0x5c(%r8)
18004f8f8:	83 c8 ff             	or     $0xffffffff,%eax
18004f8fb:	f0 41 0f c1 40 58    	lock xadd %eax,0x58(%r8)
18004f901:	83 f8 01             	cmp    $0x1,%eax
18004f904:	75 5b                	jne    0x18004f961
18004f906:	41 8b 78 5c          	mov    0x5c(%r8),%edi
18004f90a:	49 8b 70 08          	mov    0x8(%r8),%rsi
18004f90e:	85 ff                	test   %edi,%edi
18004f910:	78 0e                	js     0x18004f920
18004f912:	48 8b cb             	mov    %rbx,%rcx
18004f915:	e8 5a fe ff ff       	call   0x18004f774
18004f91a:	8b f8                	mov    %eax,%edi
18004f91c:	85 c0                	test   %eax,%eax
18004f91e:	79 2c                	jns    0x18004f94c
18004f920:	41 b8 01 00 00 00    	mov    $0x1,%r8d
18004f926:	f0 44 0f c1 85 d8 2d 	lock xadd %r8d,0x2dd8(%rbp)
18004f92d:	00 00
18004f92f:	41 ff c0             	inc    %r8d
18004f932:	b8 20 00 00 00       	mov    $0x20,%eax
18004f937:	41 8d 50 ff          	lea    -0x1(%r8),%edx
18004f93b:	83 fa 1f             	cmp    $0x1f,%edx
18004f93e:	44 0f 47 c0          	cmova  %eax,%r8d
18004f942:	49 63 c0             	movslq %r8d,%rax
18004f945:	89 bc 85 d8 2d 00 00 	mov    %edi,0x2dd8(%rbp,%rax,4)
18004f94c:	48 8b cb             	mov    %rbx,%rcx
18004f94f:	e8 08 70 ff ff       	call   0x18004695c
18004f954:	48 85 f6             	test   %rsi,%rsi
18004f957:	74 08                	je     0x18004f961
18004f959:	48 8b ce             	mov    %rsi,%rcx
18004f95c:	e8 fb 6f ff ff       	call   0x18004695c
18004f961:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004f966:	8b c7                	mov    %edi,%eax
18004f968:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
18004f96d:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
18004f972:	48 83 c4 20          	add    $0x20,%rsp
18004f976:	5f                   	pop    %rdi
18004f977:	c3                   	ret
18004f978:	cc                   	int3
18004f979:	cc                   	int3
18004f97a:	cc                   	int3
18004f97b:	cc                   	int3
18004f97c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004f981:	57                   	push   %rdi
18004f982:	48 83 ec 20          	sub    $0x20,%rsp
18004f986:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
18004f98b:	41 8b f9             	mov    %r9d,%edi
18004f98e:	4c 8b ca             	mov    %rdx,%r9
18004f991:	4c 8b 13             	mov    (%rbx),%r10
18004f994:	85 ff                	test   %edi,%edi
18004f996:	79 2b                	jns    0x18004f9c3
18004f998:	b9 01 00 00 00       	mov    $0x1,%ecx
18004f99d:	f0 41 0f c1 8a 54 2d 	lock xadd %ecx,0x2d54(%r10)
18004f9a4:	00 00
18004f9a6:	ff c1                	inc    %ecx
18004f9a8:	ba 20 00 00 00       	mov    $0x20,%edx
18004f9ad:	8d 41 ff             	lea    -0x1(%rcx),%eax
18004f9b0:	83 f8 1f             	cmp    $0x1f,%eax
18004f9b3:	0f 47 ca             	cmova  %edx,%ecx
18004f9b6:	48 63 c1             	movslq %ecx,%rax
18004f9b9:	41 89 bc 82 54 2d 00 	mov    %edi,0x2d54(%r10,%rax,4)
18004f9c0:	00
18004f9c1:	eb 25                	jmp    0x18004f9e8
18004f9c3:	49 8b 92 60 2e 00 00 	mov    0x2e60(%r10),%rdx
18004f9ca:	48 85 d2             	test   %rdx,%rdx
18004f9cd:	74 19                	je     0x18004f9e8
18004f9cf:	41 8b 8a 48 0e 00 00 	mov    0xe48(%r10),%ecx
18004f9d6:	0f af 4b 20          	imul   0x20(%rbx),%ecx
18004f9da:	45 8b c0             	mov    %r8d,%r8d
18004f9dd:	48 03 ca             	add    %rdx,%rcx
18004f9e0:	49 8b d1             	mov    %r9,%rdx
18004f9e3:	e8 d8 5f 0e 00       	call   0x1801359c0
18004f9e8:	48 8b cb             	mov    %rbx,%rcx
18004f9eb:	e8 6c 6f ff ff       	call   0x18004695c
18004f9f0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004f9f5:	8b c7                	mov    %edi,%eax
18004f9f7:	48 83 c4 20          	add    $0x20,%rsp
18004f9fb:	5f                   	pop    %rdi
18004f9fc:	c3                   	ret
18004f9fd:	cc                   	int3
18004f9fe:	cc                   	int3
18004f9ff:	cc                   	int3
18004fa00:	48 8b 81 60 0e 00 00 	mov    0xe60(%rcx),%rax
18004fa07:	45 33 c0             	xor    %r8d,%r8d
18004fa0a:	48 39 05 3f f2 0f 00 	cmp    %rax,0xff23f(%rip)        # 0x18014ec50
18004fa11:	4c 8b c9             	mov    %rcx,%r9
18004fa14:	44 8b 59 20          	mov    0x20(%rcx),%r11d
18004fa18:	75 20                	jne    0x18004fa3a
18004fa1a:	8b 51 18             	mov    0x18(%rcx),%edx
18004fa1d:	45 8b d3             	mov    %r11d,%r10d
18004fa20:	8b 89 58 0e 00 00    	mov    0xe58(%rcx),%ecx
18004fa26:	44 2b d2             	sub    %edx,%r10d
18004fa29:	41 2b 91 4c 0e 00 00 	sub    0xe4c(%r9),%edx
18004fa30:	41 2b cb             	sub    %r11d,%ecx
18004fa33:	8b c2                	mov    %edx,%eax
18004fa35:	48 03 c8             	add    %rax,%rcx
18004fa38:	eb 19                	jmp    0x18004fa53
18004fa3a:	8b 49 18             	mov    0x18(%rcx),%ecx
18004fa3d:	44 8b d0             	mov    %eax,%r10d
18004fa40:	41 8b c3             	mov    %r11d,%eax
18004fa43:	44 2b d1             	sub    %ecx,%r10d
18004fa46:	41 2b 81 4c 0e 00 00 	sub    0xe4c(%r9),%eax
18004fa4d:	4c 03 d0             	add    %rax,%r10
18004fa50:	41 2b cb             	sub    %r11d,%ecx
18004fa53:	49 03 ca             	add    %r10,%rcx
18004fa56:	74 1d                	je     0x18004fa75
18004fa58:	49 6b c2 64          	imul   $0x64,%r10,%rax
18004fa5c:	33 d2                	xor    %edx,%edx
18004fa5e:	48 f7 f1             	div    %rcx
18004fa61:	4c 8b c0             	mov    %rax,%r8
18004fa64:	4d 85 d2             	test   %r10,%r10
18004fa67:	74 0c                	je     0x18004fa75
18004fa69:	45 85 c0             	test   %r8d,%r8d
18004fa6c:	b8 01 00 00 00       	mov    $0x1,%eax
18004fa71:	44 0f 44 c0          	cmove  %eax,%r8d
18004fa75:	41 8b c0             	mov    %r8d,%eax
18004fa78:	c3                   	ret
18004fa79:	cc                   	int3
18004fa7a:	cc                   	int3
18004fa7b:	cc                   	int3
18004fa7c:	44 8b da             	mov    %edx,%r11d
18004fa7f:	8b c2                	mov    %edx,%eax
18004fa81:	4d 8d 53 ff          	lea    -0x1(%r11),%r10
18004fa85:	4d 03 10             	add    (%r8),%r10
18004fa88:	83 e8 01             	sub    $0x1,%eax
18004fa8b:	74 70                	je     0x18004fafd
18004fa8d:	83 e8 01             	sub    $0x1,%eax
18004fa90:	74 60                	je     0x18004faf2
18004fa92:	83 e8 01             	sub    $0x1,%eax
18004fa95:	74 50                	je     0x18004fae7
18004fa97:	83 e8 01             	sub    $0x1,%eax
18004fa9a:	74 40                	je     0x18004fadc
18004fa9c:	83 e8 01             	sub    $0x1,%eax
18004fa9f:	74 30                	je     0x18004fad1
18004faa1:	83 e8 01             	sub    $0x1,%eax
18004faa4:	74 20                	je     0x18004fac6
18004faa6:	83 e8 01             	sub    $0x1,%eax
18004faa9:	74 10                	je     0x18004fabb
18004faab:	83 f8 01             	cmp    $0x1,%eax
18004faae:	75 52                	jne    0x18004fb02
18004fab0:	41 8a 02             	mov    (%r10),%al
18004fab3:	88 01                	mov    %al,(%rcx)
18004fab5:	48 ff c1             	inc    %rcx
18004fab8:	49 ff ca             	dec    %r10
18004fabb:	41 8a 02             	mov    (%r10),%al
18004fabe:	88 01                	mov    %al,(%rcx)
18004fac0:	48 ff c1             	inc    %rcx
18004fac3:	49 ff ca             	dec    %r10
18004fac6:	41 8a 02             	mov    (%r10),%al
18004fac9:	88 01                	mov    %al,(%rcx)
18004facb:	48 ff c1             	inc    %rcx
18004face:	49 ff ca             	dec    %r10
18004fad1:	41 8a 02             	mov    (%r10),%al
18004fad4:	88 01                	mov    %al,(%rcx)
18004fad6:	48 ff c1             	inc    %rcx
18004fad9:	49 ff ca             	dec    %r10
18004fadc:	41 8a 02             	mov    (%r10),%al
18004fadf:	88 01                	mov    %al,(%rcx)
18004fae1:	48 ff c1             	inc    %rcx
18004fae4:	49 ff ca             	dec    %r10
18004fae7:	41 8a 02             	mov    (%r10),%al
18004faea:	88 01                	mov    %al,(%rcx)
18004faec:	48 ff c1             	inc    %rcx
18004faef:	49 ff ca             	dec    %r10
18004faf2:	41 8a 02             	mov    (%r10),%al
18004faf5:	88 01                	mov    %al,(%rcx)
18004faf7:	48 ff c1             	inc    %rcx
18004fafa:	49 ff ca             	dec    %r10
18004fafd:	41 8a 02             	mov    (%r10),%al
18004fb00:	88 01                	mov    %al,(%rcx)
18004fb02:	4d 01 18             	add    %r11,(%r8)
18004fb05:	41 29 11             	sub    %edx,(%r9)
18004fb08:	c3                   	ret
18004fb09:	cc                   	int3
18004fb0a:	cc                   	int3
18004fb0b:	cc                   	int3
18004fb0c:	48 8b c4             	mov    %rsp,%rax
18004fb0f:	48 89 58 08          	mov    %rbx,0x8(%rax)
18004fb13:	4c 89 48 20          	mov    %r9,0x20(%rax)
18004fb17:	4c 89 40 18          	mov    %r8,0x18(%rax)
18004fb1b:	89 50 10             	mov    %edx,0x10(%rax)
18004fb1e:	55                   	push   %rbp
18004fb1f:	56                   	push   %rsi
18004fb20:	57                   	push   %rdi
18004fb21:	41 54                	push   %r12
18004fb23:	41 55                	push   %r13
18004fb25:	41 56                	push   %r14
18004fb27:	41 57                	push   %r15
18004fb29:	48 8b ec             	mov    %rsp,%rbp
18004fb2c:	48 83 ec 40          	sub    $0x40,%rsp
18004fb30:	8b 5d 60             	mov    0x60(%rbp),%ebx
18004fb33:	33 f6                	xor    %esi,%esi
18004fb35:	49 8b f9             	mov    %r9,%rdi
18004fb38:	89 5d ec             	mov    %ebx,-0x14(%rbp)
18004fb3b:	4d 8b c8             	mov    %r8,%r9
18004fb3e:	66 89 75 e0          	mov    %si,-0x20(%rbp)
18004fb42:	44 8b c2             	mov    %edx,%r8d
18004fb45:	8b c3                	mov    %ebx,%eax
18004fb47:	8b d6                	mov    %esi,%edx
18004fb49:	89 55 e8             	mov    %edx,-0x18(%rbp)
18004fb4c:	45 85 c0             	test   %r8d,%r8d
18004fb4f:	0f 84 7d 02 00 00    	je     0x18004fdd2
18004fb55:	4c 8d 79 04          	lea    0x4(%rcx),%r15
18004fb59:	44 8d 56 01          	lea    0x1(%rsi),%r10d
18004fb5d:	45 0f b7 67 04       	movzwl 0x4(%r15),%r12d
18004fb62:	4c 8b ee             	mov    %rsi,%r13
18004fb65:	41 8b 4f fc          	mov    -0x4(%r15),%ecx
18004fb69:	4d 03 e1             	add    %r9,%r12
18004fb6c:	45 0f b7 77 02       	movzwl 0x2(%r15),%r14d
18004fb71:	66 44 89 75 e4       	mov    %r14w,-0x1c(%rbp)
18004fb76:	83 e9 04             	sub    $0x4,%ecx
18004fb79:	74 2b                	je     0x18004fba6
18004fb7b:	83 e9 02             	sub    $0x2,%ecx
18004fb7e:	74 26                	je     0x18004fba6
18004fb80:	83 e9 01             	sub    $0x1,%ecx
18004fb83:	74 14                	je     0x18004fb99
18004fb85:	83 e9 01             	sub    $0x1,%ecx
18004fb88:	74 07                	je     0x18004fb91
18004fb8a:	83 f9 03             	cmp    $0x3,%ecx
18004fb8d:	74 40                	je     0x18004fbcf
18004fb8f:	eb 59                	jmp    0x18004fbea
18004fb91:	41 be 02 00 00 00    	mov    $0x2,%r14d
18004fb97:	eb 5b                	jmp    0x18004fbf4
18004fb99:	45 0f b7 2f          	movzwl (%r15),%r13d
18004fb9d:	45 0f b7 f2          	movzwl %r10w,%r14d
18004fba1:	4d 03 e9             	add    %r9,%r13
18004fba4:	eb 4e                	jmp    0x18004fbf4
18004fba6:	41 3b da             	cmp    %r10d,%ebx
18004fba9:	0f 82 19 02 00 00    	jb     0x18004fdc8
18004fbaf:	8a 07                	mov    (%rdi),%al
18004fbb1:	ff cb                	dec    %ebx
18004fbb3:	49 03 fa             	add    %r10,%rdi
18004fbb6:	88 45 e4             	mov    %al,-0x1c(%rbp)
18004fbb9:	44 0f b7 75 e4       	movzwl -0x1c(%rbp),%r14d
18004fbbe:	48 89 7d 58          	mov    %rdi,0x58(%rbp)
18004fbc2:	89 5d 60             	mov    %ebx,0x60(%rbp)
18004fbc5:	66 45 3b 37          	cmp    (%r15),%r14w
18004fbc9:	0f 87 f9 01 00 00    	ja     0x18004fdc8
18004fbcf:	45 0f b7 07          	movzwl (%r15),%r8d
18004fbd3:	33 d2                	xor    %edx,%edx
18004fbd5:	49 8b cc             	mov    %r12,%rcx
18004fbd8:	e8 a3 60 0e 00       	call   0x180135c80
18004fbdd:	8b 55 e8             	mov    -0x18(%rbp),%edx
18004fbe0:	41 ba 01 00 00 00    	mov    $0x1,%r10d
18004fbe6:	44 8b 45 48          	mov    0x48(%rbp),%r8d
18004fbea:	66 45 85 f6          	test   %r14w,%r14w
18004fbee:	0f 84 ae 01 00 00    	je     0x18004fda2
18004fbf4:	41 0f b7 d6          	movzwl %r14w,%edx
18004fbf8:	3b da                	cmp    %edx,%ebx
18004fbfa:	0f 82 c8 01 00 00    	jb     0x18004fdc8
18004fc00:	41 8b 47 fc          	mov    -0x4(%r15),%eax
18004fc04:	85 c0                	test   %eax,%eax
18004fc06:	0f 8e b5 01 00 00    	jle    0x18004fdc1
18004fc0c:	83 f8 06             	cmp    $0x6,%eax
18004fc0f:	0f 8e 69 01 00 00    	jle    0x18004fd7e
18004fc15:	83 f8 08             	cmp    $0x8,%eax
18004fc18:	0f 8e c8 00 00 00    	jle    0x18004fce6
18004fc1e:	83 f8 09             	cmp    $0x9,%eax
18004fc21:	74 4e                	je     0x18004fc71
18004fc23:	83 f8 0a             	cmp    $0xa,%eax
18004fc26:	74 27                	je     0x18004fc4f
18004fc28:	83 f8 0b             	cmp    $0xb,%eax
18004fc2b:	0f 84 4d 01 00 00    	je     0x18004fd7e
18004fc31:	83 f8 0c             	cmp    $0xc,%eax
18004fc34:	0f 85 87 01 00 00    	jne    0x18004fdc1