1401ad83f:	c3                   	ret
1401ad840:	40 53                	rex push %rbx
1401ad842:	55                   	push   %rbp
1401ad843:	41 55                	push   %r13
1401ad845:	41 56                	push   %r14
1401ad847:	41 57                	push   %r15
1401ad849:	48 83 ec 30          	sub    $0x30,%rsp
1401ad84d:	48 8b 69 f8          	mov    -0x8(%rcx),%rbp
1401ad851:	33 db                	xor    %ebx,%ebx
1401ad853:	4d 8b f9             	mov    %r9,%r15
1401ad856:	4d 8b f0             	mov    %r8,%r14
1401ad859:	4c 8b ea             	mov    %rdx,%r13
1401ad85c:	48 81 7d 00 80 01 00 	cmpq   $0x180,0x0(%rbp)
1401ad863:	00
1401ad864:	0f 82 c5 00 00 00    	jb     0x1401ad92f
1401ad86a:	48 39 9d 78 01 00 00 	cmp    %rbx,0x178(%rbp)
1401ad871:	0f 84 b8 00 00 00    	je     0x1401ad92f
1401ad877:	49 8b 48 08          	mov    0x8(%r8),%rcx
1401ad87b:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
1401ad882:	aa aa 2a
1401ad885:	49 2b 08             	sub    (%r8),%rcx
1401ad888:	48 f7 e9             	imul   %rcx
1401ad88b:	48 89 74 24 68       	mov    %rsi,0x68(%rsp)
1401ad890:	48 8b f2             	mov    %rdx,%rsi
1401ad893:	48 89 7c 24 70       	mov    %rdi,0x70(%rsp)
1401ad898:	48 c1 fe 02          	sar    $0x2,%rsi
1401ad89c:	8b fb                	mov    %ebx,%edi
1401ad89e:	48 8b c6             	mov    %rsi,%rax
1401ad8a1:	48 c1 e8 3f          	shr    $0x3f,%rax
1401ad8a5:	48 03 f0             	add    %rax,%rsi
1401ad8a8:	74 49                	je     0x1401ad8f3
1401ad8aa:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
1401ad8b1:	b8 18 00 00 00       	mov    $0x18,%eax
1401ad8b6:	48 f7 e6             	mul    %rsi
1401ad8b9:	48 0f 42 c1          	cmovb  %rcx,%rax
1401ad8bd:	48 8b c8             	mov    %rax,%rcx
1401ad8c0:	e8 c7 cd 14 00       	call   0x1402fa68c
1401ad8c5:	48 8b f8             	mov    %rax,%rdi
1401ad8c8:	48 85 c0             	test   %rax,%rax
1401ad8cb:	74 26                	je     0x1401ad8f3
1401ad8cd:	48 8b c6             	mov    %rsi,%rax
1401ad8d0:	49 8b 0e             	mov    (%r14),%rcx
1401ad8d3:	48 8d 5b 18          	lea    0x18(%rbx),%rbx
1401ad8d7:	0f 10 44 19 e8       	movups -0x18(%rcx,%rbx,1),%xmm0
1401ad8dc:	0f 11 44 3b e8       	movups %xmm0,-0x18(%rbx,%rdi,1)
1401ad8e1:	f2 0f 10 4c 19 f8    	movsd  -0x8(%rcx,%rbx,1),%xmm1
1401ad8e7:	f2 0f 11 4c 3b f8    	movsd  %xmm1,-0x8(%rbx,%rdi,1)
1401ad8ed:	48 83 e8 01          	sub    $0x1,%rax
1401ad8f1:	75 dd                	jne    0x1401ad8d0
1401ad8f3:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
1401ad8fa:	00
1401ad8fb:	4c 8b cf             	mov    %rdi,%r9
1401ad8fe:	49 8b 55 08          	mov    0x8(%r13),%rdx
1401ad902:	4c 8b c6             	mov    %rsi,%r8
1401ad905:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1401ad90a:	48 8b cd             	mov    %rbp,%rcx
1401ad90d:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1401ad912:	ff 95 78 01 00 00    	call   *0x178(%rbp)
1401ad918:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
1401ad91d:	48 85 ff             	test   %rdi,%rdi
1401ad920:	74 08                	je     0x1401ad92a
1401ad922:	48 8b cf             	mov    %rdi,%rcx
1401ad925:	e8 5a c9 14 00       	call   0x1402fa284
1401ad92a:	48 8b 7c 24 70       	mov    0x70(%rsp),%rdi
1401ad92f:	48 83 c4 30          	add    $0x30,%rsp
1401ad933:	41 5f                	pop    %r15
1401ad935:	41 5e                	pop    %r14
1401ad937:	41 5d                	pop    %r13
1401ad939:	5d                   	pop    %rbp
1401ad93a:	5b                   	pop    %rbx
1401ad93b:	c3                   	ret
1401ad93c:	cc                   	int3
1401ad93d:	cc                   	int3
1401ad93e:	cc                   	int3
1401ad93f:	cc                   	int3
1401ad940:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401ad944:	48 83 39 48          	cmpq   $0x48,(%rcx)
1401ad948:	72 11                	jb     0x1401ad95b
1401ad94a:	48 8b 41 40          	mov    0x40(%rcx),%rax
1401ad94e:	48 85 c0             	test   %rax,%rax
1401ad951:	74 08                	je     0x1401ad95b
1401ad953:	4d 85 c0             	test   %r8,%r8
1401ad956:	74 03                	je     0x1401ad95b
1401ad958:	48 ff e0             	rex.W jmp *%rax
1401ad95b:	c3                   	ret
1401ad95c:	cc                   	int3
1401ad95d:	cc                   	int3
1401ad95e:	cc                   	int3
1401ad95f:	cc                   	int3
1401ad960:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401ad964:	48 83 39 50          	cmpq   $0x50,(%rcx)
1401ad968:	72 1c                	jb     0x1401ad986
1401ad96a:	48 8b 41 48          	mov    0x48(%rcx),%rax
1401ad96e:	48 85 c0             	test   %rax,%rax
1401ad971:	74 13                	je     0x1401ad986
1401ad973:	48 8b 52 08          	mov    0x8(%rdx),%rdx
1401ad977:	48 85 d2             	test   %rdx,%rdx
1401ad97a:	74 0a                	je     0x1401ad986
1401ad97c:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
1401ad981:	74 03                	je     0x1401ad986
1401ad983:	48 ff e0             	rex.W jmp *%rax
1401ad986:	c3                   	ret
1401ad987:	cc                   	int3
1401ad988:	cc                   	int3
1401ad989:	cc                   	int3
1401ad98a:	cc                   	int3
1401ad98b:	cc                   	int3
1401ad98c:	cc                   	int3
1401ad98d:	cc                   	int3
1401ad98e:	cc                   	int3
1401ad98f:	cc                   	int3
1401ad990:	48 83 ec 28          	sub    $0x28,%rsp
1401ad994:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401ad998:	48 81 39 80 00 00 00 	cmpq   $0x80,(%rcx)
1401ad99f:	72 25                	jb     0x1401ad9c6
1401ad9a1:	48 8b 41 78          	mov    0x78(%rcx),%rax
1401ad9a5:	48 85 c0             	test   %rax,%rax
1401ad9a8:	74 1c                	je     0x1401ad9c6
1401ad9aa:	4d 8b 49 08          	mov    0x8(%r9),%r9
1401ad9ae:	4d 85 c9             	test   %r9,%r9
1401ad9b1:	74 13                	je     0x1401ad9c6
1401ad9b3:	49 83 79 08 00       	cmpq   $0x0,0x8(%r9)
1401ad9b8:	74 0c                	je     0x1401ad9c6
1401ad9ba:	ff d0                	call   *%rax
1401ad9bc:	85 c0                	test   %eax,%eax
1401ad9be:	0f 95 c0             	setne  %al
1401ad9c1:	48 83 c4 28          	add    $0x28,%rsp
1401ad9c5:	c3                   	ret
1401ad9c6:	32 c0                	xor    %al,%al
1401ad9c8:	48 83 c4 28          	add    $0x28,%rsp
1401ad9cc:	c3                   	ret
1401ad9cd:	cc                   	int3
1401ad9ce:	cc                   	int3
1401ad9cf:	cc                   	int3
1401ad9d0:	48 83 ec 28          	sub    $0x28,%rsp
1401ad9d4:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401ad9d8:	48 83 39 78          	cmpq   $0x78,(%rcx)
1401ad9dc:	72 25                	jb     0x1401ada03
1401ad9de:	48 8b 41 70          	mov    0x70(%rcx),%rax
1401ad9e2:	48 85 c0             	test   %rax,%rax
1401ad9e5:	74 1c                	je     0x1401ada03
1401ad9e7:	4d 8b 49 08          	mov    0x8(%r9),%r9
1401ad9eb:	4d 85 c9             	test   %r9,%r9
1401ad9ee:	74 13                	je     0x1401ada03
1401ad9f0:	49 83 79 08 00       	cmpq   $0x0,0x8(%r9)
1401ad9f5:	74 0c                	je     0x1401ada03
1401ad9f7:	ff d0                	call   *%rax
1401ad9f9:	85 c0                	test   %eax,%eax
1401ad9fb:	0f 95 c0             	setne  %al
1401ad9fe:	48 83 c4 28          	add    $0x28,%rsp
1401ada02:	c3                   	ret
1401ada03:	32 c0                	xor    %al,%al
1401ada05:	48 83 c4 28          	add    $0x28,%rsp
1401ada09:	c3                   	ret
1401ada0a:	cc                   	int3
1401ada0b:	cc                   	int3
1401ada0c:	cc                   	int3
1401ada0d:	cc                   	int3
1401ada0e:	cc                   	int3
1401ada0f:	cc                   	int3
1401ada10:	48 83 ec 38          	sub    $0x38,%rsp
1401ada14:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401ada18:	48 81 39 88 00 00 00 	cmpq   $0x88,(%rcx)
1401ada1f:	72 31                	jb     0x1401ada52
1401ada21:	4c 8b 91 80 00 00 00 	mov    0x80(%rcx),%r10
1401ada28:	4d 85 d2             	test   %r10,%r10
1401ada2b:	74 25                	je     0x1401ada52
1401ada2d:	4d 8b 49 08          	mov    0x8(%r9),%r9
1401ada31:	4d 85 c9             	test   %r9,%r9
1401ada34:	74 1c                	je     0x1401ada52
1401ada36:	49 83 79 08 00       	cmpq   $0x0,0x8(%r9)
1401ada3b:	74 15                	je     0x1401ada52
1401ada3d:	8b 44 24 60          	mov    0x60(%rsp),%eax
1401ada41:	89 44 24 20          	mov    %eax,0x20(%rsp)
1401ada45:	41 ff d2             	call   *%r10
1401ada48:	85 c0                	test   %eax,%eax
1401ada4a:	0f 95 c0             	setne  %al
1401ada4d:	48 83 c4 38          	add    $0x38,%rsp
1401ada51:	c3                   	ret
1401ada52:	32 c0                	xor    %al,%al
1401ada54:	48 83 c4 38          	add    $0x38,%rsp
1401ada58:	c3                   	ret
1401ada59:	cc                   	int3
1401ada5a:	cc                   	int3
1401ada5b:	cc                   	int3
1401ada5c:	cc                   	int3
1401ada5d:	cc                   	int3
1401ada5e:	cc                   	int3
1401ada5f:	cc                   	int3
1401ada60:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401ada65:	57                   	push   %rdi
1401ada66:	48 83 ec 30          	sub    $0x30,%rsp
1401ada6a:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401ada6e:	48 8b da             	mov    %rdx,%rbx
1401ada71:	33 d2                	xor    %edx,%edx
1401ada73:	45 8b d9             	mov    %r9d,%r11d
1401ada76:	49 8b f8             	mov    %r8,%rdi
1401ada79:	48 81 39 90 00 00 00 	cmpq   $0x90,(%rcx)
1401ada80:	72 42                	jb     0x1401adac4
1401ada82:	4c 8b 91 88 00 00 00 	mov    0x88(%rcx),%r10
1401ada89:	4d 85 d2             	test   %r10,%r10
1401ada8c:	74 36                	je     0x1401adac4
1401ada8e:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
1401ada93:	4c 8b 48 08          	mov    0x8(%rax),%r9
1401ada97:	4d 85 c9             	test   %r9,%r9
1401ada9a:	74 28                	je     0x1401adac4
1401ada9c:	49 39 51 08          	cmp    %rdx,0x8(%r9)
1401adaa0:	74 22                	je     0x1401adac4
1401adaa2:	45 8b c3             	mov    %r11d,%r8d
1401adaa5:	48 8b d7             	mov    %rdi,%rdx
1401adaa8:	41 ff d2             	call   *%r10
1401adaab:	48 8b d0             	mov    %rax,%rdx
1401adaae:	48 8b cb             	mov    %rbx,%rcx
1401adab1:	e8 3a a9 00 00       	call   0x1401b83f0
1401adab6:	48 8b c3             	mov    %rbx,%rax
1401adab9:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401adabe:	48 83 c4 30          	add    $0x30,%rsp
1401adac2:	5f                   	pop    %rdi
1401adac3:	c3                   	ret
1401adac4:	48 89 13             	mov    %rdx,(%rbx)
1401adac7:	48 8b c3             	mov    %rbx,%rax
1401adaca:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401adacf:	48 83 c4 30          	add    $0x30,%rsp
1401adad3:	5f                   	pop    %rdi
1401adad4:	c3                   	ret
1401adad5:	cc                   	int3
1401adad6:	cc                   	int3
1401adad7:	cc                   	int3
1401adad8:	cc                   	int3
1401adad9:	cc                   	int3
1401adada:	cc                   	int3
1401adadb:	cc                   	int3
1401adadc:	cc                   	int3
1401adadd:	cc                   	int3
1401adade:	cc                   	int3
1401adadf:	cc                   	int3
1401adae0:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401adae4:	48 81 39 28 01 00 00 	cmpq   $0x128,(%rcx)
1401adaeb:	72 0f                	jb     0x1401adafc
1401adaed:	48 8b 81 20 01 00 00 	mov    0x120(%rcx),%rax
1401adaf4:	48 85 c0             	test   %rax,%rax
1401adaf7:	74 03                	je     0x1401adafc
1401adaf9:	48 ff e0             	rex.W jmp *%rax
1401adafc:	c3                   	ret
1401adafd:	cc                   	int3
1401adafe:	cc                   	int3
1401adaff:	cc                   	int3
1401adb00:	48 83 ec 28          	sub    $0x28,%rsp
1401adb04:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401adb08:	48 81 39 88 00 00 00 	cmpq   $0x88,(%rcx)
1401adb0f:	72 18                	jb     0x1401adb29
1401adb11:	48 8b 81 80 00 00 00 	mov    0x80(%rcx),%rax
1401adb18:	48 85 c0             	test   %rax,%rax
1401adb1b:	74 0c                	je     0x1401adb29
1401adb1d:	ff d0                	call   *%rax
1401adb1f:	85 c0                	test   %eax,%eax
1401adb21:	0f 95 c0             	setne  %al
1401adb24:	48 83 c4 28          	add    $0x28,%rsp
1401adb28:	c3                   	ret
1401adb29:	32 c0                	xor    %al,%al
1401adb2b:	48 83 c4 28          	add    $0x28,%rsp
1401adb2f:	c3                   	ret
1401adb30:	48 83 ec 28          	sub    $0x28,%rsp
1401adb34:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401adb38:	48 81 39 00 02 00 00 	cmpq   $0x200,(%rcx)
1401adb3f:	72 18                	jb     0x1401adb59
1401adb41:	48 8b 81 f8 01 00 00 	mov    0x1f8(%rcx),%rax
1401adb48:	48 85 c0             	test   %rax,%rax
1401adb4b:	74 0c                	je     0x1401adb59
1401adb4d:	ff d0                	call   *%rax
1401adb4f:	85 c0                	test   %eax,%eax
1401adb51:	0f 95 c0             	setne  %al
1401adb54:	48 83 c4 28          	add    $0x28,%rsp
1401adb58:	c3                   	ret
1401adb59:	32 c0                	xor    %al,%al
1401adb5b:	48 83 c4 28          	add    $0x28,%rsp
1401adb5f:	c3                   	ret
1401adb60:	48 83 ec 28          	sub    $0x28,%rsp
1401adb64:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401adb68:	48 81 39 f0 01 00 00 	cmpq   $0x1f0,(%rcx)
1401adb6f:	72 18                	jb     0x1401adb89
1401adb71:	48 8b 81 e8 01 00 00 	mov    0x1e8(%rcx),%rax
1401adb78:	48 85 c0             	test   %rax,%rax
1401adb7b:	74 0c                	je     0x1401adb89
1401adb7d:	ff d0                	call   *%rax
1401adb7f:	85 c0                	test   %eax,%eax
1401adb81:	0f 95 c0             	setne  %al
1401adb84:	48 83 c4 28          	add    $0x28,%rsp
1401adb88:	c3                   	ret
1401adb89:	32 c0                	xor    %al,%al
1401adb8b:	48 83 c4 28          	add    $0x28,%rsp
1401adb8f:	c3                   	ret
1401adb90:	48 83 ec 28          	sub    $0x28,%rsp
1401adb94:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401adb98:	48 81 39 60 01 00 00 	cmpq   $0x160,(%rcx)
1401adb9f:	72 18                	jb     0x1401adbb9
1401adba1:	48 8b 81 58 01 00 00 	mov    0x158(%rcx),%rax
1401adba8:	48 85 c0             	test   %rax,%rax
1401adbab:	74 0c                	je     0x1401adbb9
1401adbad:	ff d0                	call   *%rax
1401adbaf:	85 c0                	test   %eax,%eax
1401adbb1:	0f 95 c0             	setne  %al
1401adbb4:	48 83 c4 28          	add    $0x28,%rsp
1401adbb8:	c3                   	ret
1401adbb9:	32 c0                	xor    %al,%al
1401adbbb:	48 83 c4 28          	add    $0x28,%rsp
1401adbbf:	c3                   	ret
1401adbc0:	48 83 ec 28          	sub    $0x28,%rsp
1401adbc4:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401adbc8:	48 81 39 68 01 00 00 	cmpq   $0x168,(%rcx)
1401adbcf:	72 18                	jb     0x1401adbe9
1401adbd1:	48 8b 81 60 01 00 00 	mov    0x160(%rcx),%rax
1401adbd8:	48 85 c0             	test   %rax,%rax
1401adbdb:	74 0c                	je     0x1401adbe9
1401adbdd:	ff d0                	call   *%rax
1401adbdf:	85 c0                	test   %eax,%eax
1401adbe1:	0f 95 c0             	setne  %al
1401adbe4:	48 83 c4 28          	add    $0x28,%rsp
1401adbe8:	c3                   	ret
1401adbe9:	32 c0                	xor    %al,%al
1401adbeb:	48 83 c4 28          	add    $0x28,%rsp
1401adbef:	c3                   	ret
1401adbf0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1401adbf5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1401adbfa:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1401adbff:	57                   	push   %rdi
1401adc00:	48 83 ec 20          	sub    $0x20,%rsp
1401adc04:	48 8b da             	mov    %rdx,%rbx
1401adc07:	48 8b 79 f8          	mov    -0x8(%rcx),%rdi
1401adc0b:	48 83 3f 68          	cmpq   $0x68,(%rdi)
1401adc0f:	0f 82 86 00 00 00    	jb     0x1401adc9b
1401adc15:	48 8b 77 60          	mov    0x60(%rdi),%rsi
1401adc19:	48 85 f6             	test   %rsi,%rsi
1401adc1c:	74 7d                	je     0x1401adc9b
1401adc1e:	48 8b 0a             	mov    (%rdx),%rcx
1401adc21:	48 85 c9             	test   %rcx,%rcx
1401adc24:	75 12                	jne    0x1401adc38
1401adc26:	32 c0                	xor    %al,%al
1401adc28:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401adc2d:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1401adc32:	48 83 c4 20          	add    $0x20,%rsp
1401adc36:	5f                   	pop    %rdi
1401adc37:	c3                   	ret
1401adc38:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
1401adc3d:	48 8b 41 08          	mov    0x8(%rcx),%rax
1401adc41:	48 63 50 04          	movslq 0x4(%rax),%rdx
1401adc45:	48 83 c1 08          	add    $0x8,%rcx
1401adc49:	48 03 ca             	add    %rdx,%rcx
1401adc4c:	48 8b 01             	mov    (%rcx),%rax
1401adc4f:	ff 10                	call   *(%rax)