18004d720:	49 8b cf             	mov    %r15,%rcx
18004d723:	44 8b f6             	mov    %esi,%r14d
18004d726:	e8 f9 00 00 00       	call   0x18004d824
18004d72b:	48 8d 48 18          	lea    0x18(%rax),%rcx
18004d72f:	48 f7 d8             	neg    %rax
18004d732:	4d 1b c0             	sbb    %r8,%r8
18004d735:	4c 23 c1             	and    %rcx,%r8
18004d738:	75 07                	jne    0x18004d741
18004d73a:	4c 8b d3             	mov    %rbx,%r10
18004d73d:	8b d6                	mov    %esi,%edx
18004d73f:	eb 3f                	jmp    0x18004d780
18004d741:	41 8b 10             	mov    (%r8),%edx
18004d744:	8b c2                	mov    %edx,%eax
18004d746:	48 c1 e0 0c          	shl    $0xc,%rax
18004d74a:	48 3b d8             	cmp    %rax,%rbx
18004d74d:	73 0a                	jae    0x18004d759
18004d74f:	c1 e2 0c             	shl    $0xc,%edx
18004d752:	4c 8b d3             	mov    %rbx,%r10
18004d755:	2b d3                	sub    %ebx,%edx
18004d757:	eb 27                	jmp    0x18004d780
18004d759:	45 8b 50 08          	mov    0x8(%r8),%r10d
18004d75d:	49 8d 0c 1e          	lea    (%r14,%rbx,1),%rcx
18004d761:	41 8b 40 04          	mov    0x4(%r8),%eax
18004d765:	4c 2b d2             	sub    %rdx,%r10
18004d768:	48 03 c2             	add    %rdx,%rax
18004d76b:	49 c1 e2 0c          	shl    $0xc,%r10
18004d76f:	48 c1 e0 0c          	shl    $0xc,%rax
18004d773:	4c 03 d3             	add    %rbx,%r10
18004d776:	48 3b c8             	cmp    %rax,%rcx
18004d779:	0f 43 c8             	cmovae %eax,%ecx
18004d77c:	2b cb                	sub    %ebx,%ecx
18004d77e:	8b d1                	mov    %ecx,%edx
18004d780:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
18004d785:	48 8d 44 24 78       	lea    0x78(%rsp),%rax
18004d78a:	44 8b c2             	mov    %edx,%r8d
18004d78d:	44 8b cd             	mov    %ebp,%r9d
18004d790:	4c 03 8c 24 80 00 00 	add    0x80(%rsp),%r9
18004d797:	00
18004d798:	49 8b d2             	mov    %r10,%rdx
18004d79b:	41 8b cc             	mov    %r12d,%ecx
18004d79e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18004d7a3:	e8 74 97 fd ff       	call   0x180026f1c
18004d7a8:	85 c0                	test   %eax,%eax
18004d7aa:	78 11                	js     0x18004d7bd
18004d7ac:	8b 54 24 78          	mov    0x78(%rsp),%edx
18004d7b0:	03 ea                	add    %edx,%ebp
18004d7b2:	48 03 da             	add    %rdx,%rbx
18004d7b5:	2b f2                	sub    %edx,%esi
18004d7b7:	0f 85 5d ff ff ff    	jne    0x18004d71a
18004d7bd:	48 85 ff             	test   %rdi,%rdi
18004d7c0:	74 02                	je     0x18004d7c4
18004d7c2:	89 2f                	mov    %ebp,(%rdi)
18004d7c4:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18004d7c9:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
18004d7ce:	48 83 c4 30          	add    $0x30,%rsp
18004d7d2:	41 5f                	pop    %r15
18004d7d4:	41 5e                	pop    %r14
18004d7d6:	41 5c                	pop    %r12
18004d7d8:	5f                   	pop    %rdi
18004d7d9:	5e                   	pop    %rsi
18004d7da:	c3                   	ret
18004d7db:	cc                   	int3
18004d7dc:	48 8d 42 18          	lea    0x18(%rdx),%rax
18004d7e0:	48 f7 da             	neg    %rdx
18004d7e3:	8b 11                	mov    (%rcx),%edx
18004d7e5:	8b 49 04             	mov    0x4(%rcx),%ecx
18004d7e8:	4d 1b c0             	sbb    %r8,%r8
18004d7eb:	4c 23 c0             	and    %rax,%r8
18004d7ee:	48 03 ca             	add    %rdx,%rcx
18004d7f1:	48 c1 e1 0c          	shl    $0xc,%rcx
18004d7f5:	45 8b 08             	mov    (%r8),%r9d
18004d7f8:	41 8b c1             	mov    %r9d,%eax
18004d7fb:	48 c1 e0 0c          	shl    $0xc,%rax
18004d7ff:	48 3b c8             	cmp    %rax,%rcx
18004d802:	77 05                	ja     0x18004d809
18004d804:	83 c8 ff             	or     $0xffffffff,%eax
18004d807:	c3                   	ret
18004d808:	cc                   	int3
18004d809:	41 8b 48 04          	mov    0x4(%r8),%ecx
18004d80d:	33 c0                	xor    %eax,%eax
18004d80f:	49 03 c9             	add    %r9,%rcx
18004d812:	48 c1 e2 0c          	shl    $0xc,%rdx
18004d816:	48 c1 e1 0c          	shl    $0xc,%rcx
18004d81a:	48 3b ca             	cmp    %rdx,%rcx
18004d81d:	0f 96 c0             	setbe  %al
18004d820:	c3                   	ret
18004d821:	cc                   	int3
18004d822:	cc                   	int3
18004d823:	cc                   	int3
18004d824:	4e 8d 1c 02          	lea    (%rdx,%r8,1),%r11
18004d828:	4c 8b d2             	mov    %rdx,%r10
18004d82b:	4c 8b 01             	mov    (%rcx),%r8
18004d82e:	45 33 c9             	xor    %r9d,%r9d
18004d831:	eb 38                	jmp    0x18004d86b
18004d833:	49 8d 48 18          	lea    0x18(%r8),%rcx
18004d837:	49 8b c0             	mov    %r8,%rax
18004d83a:	48 f7 d8             	neg    %rax
18004d83d:	48 1b d2             	sbb    %rdx,%rdx
18004d840:	48 23 d1             	and    %rcx,%rdx
18004d843:	8b 0a                	mov    (%rdx),%ecx
18004d845:	8b c1                	mov    %ecx,%eax
18004d847:	48 c1 e0 0c          	shl    $0xc,%rax
18004d84b:	4c 3b d8             	cmp    %rax,%r11
18004d84e:	76 18                	jbe    0x18004d868
18004d850:	8b 42 04             	mov    0x4(%rdx),%eax
18004d853:	48 03 c1             	add    %rcx,%rax
18004d856:	48 c1 e0 0c          	shl    $0xc,%rax
18004d85a:	49 3b c2             	cmp    %r10,%rax
18004d85d:	77 06                	ja     0x18004d865
18004d85f:	4d 8b 40 08          	mov    0x8(%r8),%r8
18004d863:	eb 06                	jmp    0x18004d86b
18004d865:	4d 8b c8             	mov    %r8,%r9
18004d868:	4d 8b 00             	mov    (%r8),%r8
18004d86b:	4d 85 c0             	test   %r8,%r8
18004d86e:	75 c3                	jne    0x18004d833
18004d870:	49 8b c1             	mov    %r9,%rax
18004d873:	c3                   	ret
18004d874:	cc                   	int3
18004d875:	cc                   	int3
18004d876:	cc                   	int3
18004d877:	cc                   	int3
18004d878:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004d87d:	57                   	push   %rdi
18004d87e:	48 83 ec 20          	sub    $0x20,%rsp
18004d882:	48 8b d9             	mov    %rcx,%rbx
18004d885:	48 8b 09             	mov    (%rcx),%rcx
18004d888:	48 85 c9             	test   %rcx,%rcx
18004d88b:	74 3e                	je     0x18004d8cb
18004d88d:	48 8b 11             	mov    (%rcx),%rdx
18004d890:	48 85 d2             	test   %rdx,%rdx
18004d893:	74 0c                	je     0x18004d8a1
18004d895:	48 8b c1             	mov    %rcx,%rax
18004d898:	48 8b ca             	mov    %rdx,%rcx
18004d89b:	48 83 20 00          	andq   $0x0,(%rax)
18004d89f:	eb ec                	jmp    0x18004d88d
18004d8a1:	48 8b 51 08          	mov    0x8(%rcx),%rdx
18004d8a5:	48 85 d2             	test   %rdx,%rdx
18004d8a8:	74 0d                	je     0x18004d8b7
18004d8aa:	48 8b c1             	mov    %rcx,%rax
18004d8ad:	48 8b ca             	mov    %rdx,%rcx
18004d8b0:	48 83 60 08 00       	andq   $0x0,0x8(%rax)
18004d8b5:	eb d6                	jmp    0x18004d88d
18004d8b7:	48 8b 79 10          	mov    0x10(%rcx),%rdi
18004d8bb:	e8 3c c7 04 00       	call   0x180099ffc
18004d8c0:	48 83 e7 fc          	and    $0xfffffffffffffffc,%rdi
18004d8c4:	74 05                	je     0x18004d8cb
18004d8c6:	48 8b cf             	mov    %rdi,%rcx
18004d8c9:	eb c2                	jmp    0x18004d88d
18004d8cb:	48 83 23 00          	andq   $0x0,(%rbx)
18004d8cf:	48 8b cb             	mov    %rbx,%rcx
18004d8d2:	e8 25 c7 04 00       	call   0x180099ffc
18004d8d7:	48 8b c3             	mov    %rbx,%rax
18004d8da:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004d8df:	48 83 c4 20          	add    $0x20,%rsp
18004d8e3:	5f                   	pop    %rdi
18004d8e4:	c3                   	ret
18004d8e5:	cc                   	int3
18004d8e6:	cc                   	int3
18004d8e7:	cc                   	int3
18004d8e8:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
18004d8ed:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
18004d8f2:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
18004d8f7:	55                   	push   %rbp
18004d8f8:	53                   	push   %rbx
18004d8f9:	56                   	push   %rsi
18004d8fa:	57                   	push   %rdi
18004d8fb:	48 8b ec             	mov    %rsp,%rbp
18004d8fe:	48 83 ec 58          	sub    $0x58,%rsp
18004d902:	48 8b 0d b7 7a 14 00 	mov    0x147ab7(%rip),%rcx        # 0x1801953c0
18004d909:	4b 8d 04 08          	lea    (%r8,%r9,1),%rax
18004d90d:	48 89 45 28          	mov    %rax,0x28(%rbp)
18004d911:	4c 8d 45 30          	lea    0x30(%rbp),%r8
18004d915:	48 8d 45 28          	lea    0x28(%rbp),%rax
18004d919:	48 89 55 c8          	mov    %rdx,-0x38(%rbp)
18004d91d:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
18004d921:	48 8d 15 d0 12 10 00 	lea    0x1012d0(%rip),%rdx        # 0x18014ebf8
18004d928:	48 8d 45 38          	lea    0x38(%rbp),%rax
18004d92c:	48 83 c1 08          	add    $0x8,%rcx
18004d930:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
18004d934:	48 8d 45 48          	lea    0x48(%rbp),%rax
18004d938:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
18004d93c:	48 8d 45 40          	lea    0x40(%rbp),%rax
18004d940:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
18004d944:	e8 6f fa ff ff       	call   0x18004d3b8
18004d949:	8b c8                	mov    %eax,%ecx
18004d94b:	85 c0                	test   %eax,%eax
18004d94d:	78 74                	js     0x18004d9c3
18004d94f:	48 8b 75 30          	mov    0x30(%rbp),%rsi
18004d953:	b9 25 02 00 c0       	mov    $0xc0000225,%ecx
18004d958:	48 8d 7e 20          	lea    0x20(%rsi),%rdi
18004d95c:	48 8b 1f             	mov    (%rdi),%rbx
18004d95f:	eb 23                	jmp    0x18004d984
18004d961:	48 8b 43 10          	mov    0x10(%rbx),%rax
18004d965:	48 8d 4d c8          	lea    -0x38(%rbp),%rcx
18004d969:	8b 50 28             	mov    0x28(%rax),%edx
18004d96c:	44 8b 40 24          	mov    0x24(%rax),%r8d
18004d970:	48 03 d0             	add    %rax,%rdx
18004d973:	e8 64 00 00 00       	call   0x18004d9dc
18004d978:	8b c8                	mov    %eax,%ecx
18004d97a:	3d 05 01 00 00       	cmp    $0x105,%eax
18004d97f:	75 42                	jne    0x18004d9c3
18004d981:	48 8b 1b             	mov    (%rbx),%rbx
18004d984:	48 3b df             	cmp    %rdi,%rbx
18004d987:	75 d8                	jne    0x18004d961
18004d989:	48 8d 7e 30          	lea    0x30(%rsi),%rdi
18004d98d:	48 8b 1f             	mov    (%rdi),%rbx
18004d990:	48 3b df             	cmp    %rdi,%rbx
18004d993:	74 2e                	je     0x18004d9c3
18004d995:	44 8b 43 10          	mov    0x10(%rbx),%r8d
18004d999:	48 8d 4d c8          	lea    -0x38(%rbp),%rcx
18004d99d:	48 8b 53 18          	mov    0x18(%rbx),%rdx
18004d9a1:	e8 36 00 00 00       	call   0x18004d9dc
18004d9a6:	8b c8                	mov    %eax,%ecx
18004d9a8:	3d 05 01 00 00       	cmp    $0x105,%eax
18004d9ad:	75 14                	jne    0x18004d9c3
18004d9af:	48 8b 1b             	mov    (%rbx),%rbx
18004d9b2:	48 3b df             	cmp    %rdi,%rbx
18004d9b5:	75 de                	jne    0x18004d995
18004d9b7:	33 c0                	xor    %eax,%eax
18004d9b9:	48 83 c4 58          	add    $0x58,%rsp
18004d9bd:	5f                   	pop    %rdi
18004d9be:	5e                   	pop    %rsi
18004d9bf:	5b                   	pop    %rbx
18004d9c0:	5d                   	pop    %rbp
18004d9c1:	c3                   	ret
18004d9c2:	cc                   	int3
18004d9c3:	ba 00 00 00 80       	mov    $0x80000000,%edx
18004d9c8:	8d 04 11             	lea    (%rcx,%rdx,1),%eax
18004d9cb:	85 c2                	test   %eax,%edx
18004d9cd:	75 e8                	jne    0x18004d9b7
18004d9cf:	81 f9 25 02 00 c0    	cmp    $0xc0000225,%ecx
18004d9d5:	74 e0                	je     0x18004d9b7
18004d9d7:	8b c1                	mov    %ecx,%eax
18004d9d9:	eb de                	jmp    0x18004d9b9
18004d9db:	cc                   	int3
18004d9dc:	40 53                	rex push %rbx
18004d9de:	48 83 ec 20          	sub    $0x20,%rsp
18004d9e2:	48 8b 02             	mov    (%rdx),%rax
18004d9e5:	4c 8b d1             	mov    %rcx,%r10
18004d9e8:	48 8b 09             	mov    (%rcx),%rcx
18004d9eb:	45 8b d8             	mov    %r8d,%r11d
18004d9ee:	4c 8b ca             	mov    %rdx,%r9
18004d9f1:	48 3b 01             	cmp    (%rcx),%rax
18004d9f4:	0f 85 87 00 00 00    	jne    0x18004da81
18004d9fa:	48 8b 42 08          	mov    0x8(%rdx),%rax
18004d9fe:	48 3b 41 08          	cmp    0x8(%rcx),%rax
18004da02:	75 7d                	jne    0x18004da81
18004da04:	44 8b 42 18          	mov    0x18(%rdx),%r8d
18004da08:	b9 a0 00 00 00       	mov    $0xa0,%ecx
18004da0d:	49 8d 40 20          	lea    0x20(%r8),%rax
18004da11:	48 3b c1             	cmp    %rcx,%rax
18004da14:	48 0f 43 c8          	cmovae %rax,%rcx
18004da18:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
18004da1d:	48 3b c8             	cmp    %rax,%rcx
18004da20:	73 6b                	jae    0x18004da8d
18004da22:	41 3b cb             	cmp    %r11d,%ecx
18004da25:	77 66                	ja     0x18004da8d
18004da27:	49 8b 42 08          	mov    0x8(%r10),%rax
18004da2b:	48 8b 4a 10          	mov    0x10(%rdx),%rcx
18004da2f:	48 39 08             	cmp    %rcx,(%rax)
18004da32:	76 4d                	jbe    0x18004da81
18004da34:	49 8b 42 10          	mov    0x10(%r10),%rax
18004da38:	48 8b 10             	mov    (%rax),%rdx
18004da3b:	4a 8d 04 01          	lea    (%rcx,%r8,1),%rax
18004da3f:	48 3b c2             	cmp    %rdx,%rax
18004da42:	76 3d                	jbe    0x18004da81
18004da44:	49 8b 42 18          	mov    0x18(%r10),%rax
18004da48:	4d 8d 59 20          	lea    0x20(%r9),%r11
18004da4c:	48 8b 18             	mov    (%rax),%rbx
18004da4f:	49 8b 42 20          	mov    0x20(%r10),%rax
18004da53:	4c 8b 08             	mov    (%rax),%r9
18004da56:	48 3b d1             	cmp    %rcx,%rdx
18004da59:	77 0b                	ja     0x18004da66
18004da5b:	48 2b ca             	sub    %rdx,%rcx
18004da5e:	48 03 d9             	add    %rcx,%rbx
18004da61:	4c 2b c9             	sub    %rcx,%r9
18004da64:	eb 09                	jmp    0x18004da6f
18004da66:	48 2b d1             	sub    %rcx,%rdx
18004da69:	4c 03 da             	add    %rdx,%r11
18004da6c:	4c 2b c2             	sub    %rdx,%r8
18004da6f:	4d 3b c8             	cmp    %r8,%r9
18004da72:	49 8b d3             	mov    %r11,%rdx
18004da75:	48 8b cb             	mov    %rbx,%rcx
18004da78:	4d 0f 42 c1          	cmovb  %r9,%r8
18004da7c:	e8 3f 7f 0e 00       	call   0x1801359c0
18004da81:	b8 05 01 00 00       	mov    $0x105,%eax
18004da86:	48 83 c4 20          	add    $0x20,%rsp
18004da8a:	5b                   	pop    %rbx
18004da8b:	c3                   	ret
18004da8c:	cc                   	int3
18004da8d:	b8 e5 00 00 c0       	mov    $0xc00000e5,%eax
18004da92:	eb f2                	jmp    0x18004da86
18004da94:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004da99:	57                   	push   %rdi
18004da9a:	48 83 ec 20          	sub    $0x20,%rsp
18004da9e:	48 8b f9             	mov    %rcx,%rdi
18004daa1:	48 8b 1f             	mov    (%rdi),%rbx
18004daa4:	48 85 db             	test   %rbx,%rbx
18004daa7:	74 24                	je     0x18004dacd
18004daa9:	48 8b 03             	mov    (%rbx),%rax
18004daac:	48 89 07             	mov    %rax,(%rdi)
18004daaf:	83 6b 08 01          	subl   $0x1,0x8(%rbx)
18004dab3:	75 ec                	jne    0x18004daa1
18004dab5:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
18004dab9:	48 85 c9             	test   %rcx,%rcx
18004dabc:	74 05                	je     0x18004dac3
18004dabe:	e8 b5 fd ff ff       	call   0x18004d878
18004dac3:	48 8b cb             	mov    %rbx,%rcx
18004dac6:	e8 31 c5 04 00       	call   0x180099ffc
18004dacb:	eb d4                	jmp    0x18004daa1
18004dacd:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004dad2:	48 83 c4 20          	add    $0x20,%rsp
18004dad6:	5f                   	pop    %rdi
18004dad7:	c3                   	ret
18004dad8:	cc                   	int3
18004dad9:	cc                   	int3
18004dada:	cc                   	int3
18004dadb:	cc                   	int3
18004dadc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004dae1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18004dae6:	57                   	push   %rdi
18004dae7:	48 83 ec 30          	sub    $0x30,%rsp
18004daeb:	41 83 39 00          	cmpl   $0x0,(%r9)
18004daef:	41 8b f0             	mov    %r8d,%esi
18004daf2:	48 8b da             	mov    %rdx,%rbx
18004daf5:	48 8b f9             	mov    %rcx,%rdi
18004daf8:	74 27                	je     0x18004db21
18004dafa:	41 83 39 06          	cmpl   $0x6,(%r9)
18004dafe:	74 21                	je     0x18004db21
18004db00:	b8 24 00 00 c0       	mov    $0xc0000024,%eax
18004db05:	e9 ef 00 00 00       	jmp    0x18004dbf9
18004db0a:	48 8b 51 10          	mov    0x10(%rcx),%rdx
18004db0e:	48 8b 42 20          	mov    0x20(%rdx),%rax
18004db12:	48 3b 03             	cmp    (%rbx),%rax
18004db15:	75 0a                	jne    0x18004db21
18004db17:	48 8b 42 28          	mov    0x28(%rdx),%rax
18004db1b:	48 3b 43 08          	cmp    0x8(%rbx),%rax
18004db1f:	74 08                	je     0x18004db29
18004db21:	48 8b 09             	mov    (%rcx),%rcx
18004db24:	48 85 c9             	test   %rcx,%rcx
18004db27:	75 e1                	jne    0x18004db0a
18004db29:	48 85 c9             	test   %rcx,%rcx
18004db2c:	74 12                	je     0x18004db40
18004db2e:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
18004db33:	ff 41 08             	incl   0x8(%rcx)
18004db36:	48 89 08             	mov    %rcx,(%rax)
18004db39:	33 c0                	xor    %eax,%eax
18004db3b:	e9 b9 00 00 00       	jmp    0x18004dbf9
18004db40:	4c 8d 44 24 58       	lea    0x58(%rsp),%r8
18004db45:	48 8b d3             	mov    %rbx,%rdx