1401587b4:	74 1a                	je     0x1401587d0
1401587b6:	4d 8b 3f             	mov    (%r15),%r15
1401587b9:	4d 85 ff             	test   %r15,%r15
1401587bc:	0f 84 8e 00 00 00    	je     0x140158850
1401587c2:	41 8b 47 14          	mov    0x14(%r15),%eax
1401587c6:	83 f8 01             	cmp    $0x1,%eax
1401587c9:	74 e5                	je     0x1401587b0
1401587cb:	83 e0 fd             	and    $0xfffffffd,%eax
1401587ce:	75 c5                	jne    0x140158795
1401587d0:	89 6c 24 28          	mov    %ebp,0x28(%rsp)
1401587d4:	41 89 d9             	mov    %ebx,%r9d
1401587d7:	49 89 f8             	mov    %rdi,%r8
1401587da:	48 89 f2             	mov    %rsi,%rdx
1401587dd:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
1401587e2:	4c 89 f9             	mov    %r15,%rcx
1401587e5:	e8 e6 fc ff ff       	call   0x1401584d0
1401587ea:	85 c0                	test   %eax,%eax
1401587ec:	74 a7                	je     0x140158795
1401587ee:	8b 54 24 40          	mov    0x40(%rsp),%edx
1401587f2:	85 d2                	test   %edx,%edx
1401587f4:	78 9f                	js     0x140158795
1401587f6:	44 8b 44 24 44       	mov    0x44(%rsp),%r8d
1401587fb:	4c 8b 54 24 40       	mov    0x40(%rsp),%r10
140158800:	45 85 c0             	test   %r8d,%r8d
140158803:	78 90                	js     0x140158795
140158805:	45 8b 0e             	mov    (%r14),%r9d
140158808:	45 85 c9             	test   %r9d,%r9d
14015880b:	78 23                	js     0x140158830
14015880d:	45 8b 5e 04          	mov    0x4(%r14),%r11d
140158811:	45 85 db             	test   %r11d,%r11d
140158814:	78 1a                	js     0x140158830
140158816:	44 39 ca             	cmp    %r9d,%edx
140158819:	7f 18                	jg     0x140158833
14015881b:	75 13                	jne    0x140158830
14015881d:	45 39 d8             	cmp    %r11d,%r8d
140158820:	7c 11                	jl     0x140158833
140158822:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140158829:	00 00 00 00
14015882d:	0f 1f 00             	nopl   (%rax)
140158830:	4d 89 16             	mov    %r10,(%r14)
140158833:	4d 8b 3f             	mov    (%r15),%r15
140158836:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
14015883a:	4d 85 ff             	test   %r15,%r15
14015883d:	0f 85 5e ff ff ff    	jne    0x1401587a1
140158843:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14015884a:	00 00 00 00
14015884e:	66 90                	xchg   %ax,%ax
140158850:	48 8b 35 99 02 0e 00 	mov    0xe0299(%rip),%rsi        # 0x140238af0
140158857:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
14015885c:	48 2b 06             	sub    (%rsi),%rax
14015885f:	75 27                	jne    0x140158888
140158861:	8b 44 24 3c          	mov    0x3c(%rsp),%eax
140158865:	48 83 c4 58          	add    $0x58,%rsp
140158869:	5b                   	pop    %rbx
14015886a:	5e                   	pop    %rsi
14015886b:	5f                   	pop    %rdi
14015886c:	5d                   	pop    %rbp
14015886d:	41 5c                	pop    %r12
14015886f:	41 5d                	pop    %r13
140158871:	41 5e                	pop    %r14
140158873:	41 5f                	pop    %r15
140158875:	c3                   	ret
140158876:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14015887d:	00 00 00
140158880:	4c 8b 39             	mov    (%rcx),%r15
140158883:	e9 e6 fe ff ff       	jmp    0x14015876e
140158888:	e8 e3 bf 08 00       	call   0x1401e4870
14015888d:	90                   	nop
14015888e:	66 90                	xchg   %ax,%ax
140158890:	41 55                	push   %r13
140158892:	41 54                	push   %r12
140158894:	55                   	push   %rbp
140158895:	57                   	push   %rdi
140158896:	56                   	push   %rsi
140158897:	53                   	push   %rbx
140158898:	48 83 ec 38          	sub    $0x38,%rsp
14015889c:	83 79 14 01          	cmpl   $0x1,0x14(%rcx)
1401588a0:	48 89 ce             	mov    %rcx,%rsi
1401588a3:	48 89 d3             	mov    %rdx,%rbx
1401588a6:	4c 89 c5             	mov    %r8,%rbp
1401588a9:	44 89 cf             	mov    %r9d,%edi
1401588ac:	75 57                	jne    0x140158905
1401588ae:	44 8b 61 28          	mov    0x28(%rcx),%r12d
1401588b2:	41 83 fc 02          	cmp    $0x2,%r12d
1401588b6:	0f 87 89 00 00 00    	ja     0x140158945
1401588bc:	44 89 e2             	mov    %r12d,%edx
1401588bf:	48 8d 05 da a4 0c 00 	lea    0xca4da(%rip),%rax        # 0x140222da0
1401588c6:	48 89 d9             	mov    %rbx,%rcx
1401588c9:	48 c1 e2 04          	shl    $0x4,%rdx
1401588cd:	48 01 d0             	add    %rdx,%rax
1401588d0:	4c 8b 68 08          	mov    0x8(%rax),%r13
1401588d4:	48 8b 10             	mov    (%rax),%rdx
1401588d7:	4d 89 e8             	mov    %r13,%r8
1401588da:	e8 c1 15 09 00       	call   0x1401e9ea0
1401588df:	89 c2                	mov    %eax,%edx
1401588e1:	31 c0                	xor    %eax,%eax
1401588e3:	85 d2                	test   %edx,%edx
1401588e5:	75 44                	jne    0x14015892b
1401588e7:	4c 01 eb             	add    %r13,%rbx
1401588ea:	48 89 e8             	mov    %rbp,%rax
1401588ed:	41 83 fc 02          	cmp    $0x2,%r12d
1401588f1:	74 12                	je     0x140158905
1401588f3:	48 8d 50 ff          	lea    -0x1(%rax),%rdx
1401588f7:	48 39 d3             	cmp    %rdx,%rbx
1401588fa:	73 09                	jae    0x140158905
1401588fc:	80 78 ff 3e          	cmpb   $0x3e,-0x1(%rax)
140158900:	75 3e                	jne    0x140158940
140158902:	48 89 c5             	mov    %rax,%rbp
140158905:	41 89 f9             	mov    %edi,%r9d
140158908:	49 89 e8             	mov    %rbp,%r8
14015890b:	48 89 da             	mov    %rbx,%rdx
14015890e:	48 89 f1             	mov    %rsi,%rcx
140158911:	48 8b 84 24 90 00 00 	mov    0x90(%rsp),%rax
140158918:	00
140158919:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%rsp)
140158920:	00
140158921:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140158926:	e8 a5 fb ff ff       	call   0x1401584d0
14015892b:	48 83 c4 38          	add    $0x38,%rsp
14015892f:	5b                   	pop    %rbx
140158930:	5e                   	pop    %rsi
140158931:	5f                   	pop    %rdi
140158932:	5d                   	pop    %rbp
140158933:	41 5c                	pop    %r12
140158935:	41 5d                	pop    %r13
140158937:	c3                   	ret
140158938:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14015893f:	00
140158940:	48 89 d0             	mov    %rdx,%rax
140158943:	eb ae                	jmp    0x1401588f3
140158945:	41 b8 fb 03 00 00    	mov    $0x3fb,%r8d
14015894b:	48 8d 15 2e a0 0c 00 	lea    0xca02e(%rip),%rdx        # 0x140222980
140158952:	48 8d 0d df a0 0c 00 	lea    0xca0df(%rip),%rcx        # 0x140222a38
140158959:	ff 15 79 6a 15 00    	call   *0x156a79(%rip)        # 0x1402af3d8
14015895f:	90                   	nop
140158960:	41 57                	push   %r15
140158962:	41 56                	push   %r14
140158964:	41 55                	push   %r13
140158966:	41 54                	push   %r12
140158968:	55                   	push   %rbp
140158969:	57                   	push   %rdi
14015896a:	56                   	push   %rsi
14015896b:	53                   	push   %rbx
14015896c:	48 83 ec 58          	sub    $0x58,%rsp
140158970:	4c 8b 25 79 01 0e 00 	mov    0xe0179(%rip),%r12        # 0x140238af0
140158977:	4c 8b bc 24 c8 00 00 	mov    0xc8(%rsp),%r15
14015897e:	00
14015897f:	4c 8b ac 24 d0 00 00 	mov    0xd0(%rsp),%r13
140158986:	00
140158987:	49 8b 04 24          	mov    (%r12),%rax
14015898b:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140158990:	8b 02                	mov    (%rdx),%eax
140158992:	48 89 ce             	mov    %rcx,%rsi
140158995:	48 89 d3             	mov    %rdx,%rbx
140158998:	4c 89 c7             	mov    %r8,%rdi
14015899b:	4c 89 cd             	mov    %r9,%rbp
14015899e:	83 f8 04             	cmp    $0x4,%eax
1401589a1:	0f 87 71 02 00 00    	ja     0x140158c18
1401589a7:	48 8d 15 de a0 0c 00 	lea    0xca0de(%rip),%rdx        # 0x140222a8c
1401589ae:	48 63 04 82          	movslq (%rdx,%rax,4),%rax
1401589b2:	48 01 d0             	add    %rdx,%rax
1401589b5:	ff e0                	jmp    *%rax
1401589b7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1401589be:	00 00
1401589c0:	b8 01 00 00 00       	mov    $0x1,%eax
1401589c5:	8b 94 24 d8 00 00 00 	mov    0xd8(%rsp),%edx
1401589cc:	85 d2                	test   %edx,%edx
1401589ce:	74 03                	je     0x1401589d3
1401589d0:	09 43 04             	or     %eax,0x4(%rbx)
1401589d3:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
1401589d8:	49 2b 14 24          	sub    (%r12),%rdx
1401589dc:	0f 85 44 02 00 00    	jne    0x140158c26
1401589e2:	48 83 c4 58          	add    $0x58,%rsp
1401589e6:	5b                   	pop    %rbx
1401589e7:	5e                   	pop    %rsi
1401589e8:	5f                   	pop    %rdi
1401589e9:	5d                   	pop    %rbp
1401589ea:	41 5c                	pop    %r12
1401589ec:	41 5d                	pop    %r13
1401589ee:	41 5e                	pop    %r14
1401589f0:	41 5f                	pop    %r15
1401589f2:	c3                   	ret
1401589f3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401589f8:	8b 84 24 c0 00 00 00 	mov    0xc0(%rsp),%eax
1401589ff:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140158a03:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
140158a08:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%rsp)
140158a0f:	00
140158a10:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140158a15:	89 44 24 20          	mov    %eax,0x20(%rsp)
140158a19:	e8 42 ff ff ff       	call   0x140158960
140158a1e:	41 89 c6             	mov    %eax,%r14d
140158a21:	85 c0                	test   %eax,%eax
140158a23:	75 07                	jne    0x140158a2c
140158a25:	8b 46 34             	mov    0x34(%rsi),%eax
140158a28:	85 c0                	test   %eax,%eax
140158a2a:	74 99                	je     0x1401589c5
140158a2c:	8b 84 24 c0 00 00 00 	mov    0xc0(%rsp),%eax
140158a33:	49 89 e9             	mov    %rbp,%r9
140158a36:	49 89 f8             	mov    %rdi,%r8
140158a39:	48 89 f1             	mov    %rsi,%rcx
140158a3c:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140158a40:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%rsp)
140158a47:	00
140158a48:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
140158a4d:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140158a52:	89 44 24 20          	mov    %eax,0x20(%rsp)
140158a56:	e8 05 ff ff ff       	call   0x140158960
140158a5b:	44 21 f0             	and    %r14d,%eax
140158a5e:	e9 62 ff ff ff       	jmp    0x1401589c5
140158a63:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140158a68:	44 8b 84 24 d8 00 00 	mov    0xd8(%rsp),%r8d
140158a6f:	00
140158a70:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140158a74:	45 85 c0             	test   %r8d,%r8d
140158a77:	0f 85 13 01 00 00    	jne    0x140158b90
140158a7d:	8b 49 34             	mov    0x34(%rcx),%ecx
140158a80:	8b 84 24 c0 00 00 00 	mov    0xc0(%rsp),%eax
140158a87:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
140158a8c:	49 89 f8             	mov    %rdi,%r8
140158a8f:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%rsp)
140158a96:	00
140158a97:	85 c9                	test   %ecx,%ecx
140158a99:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140158a9e:	48 89 f1             	mov    %rsi,%rcx
140158aa1:	89 44 24 20          	mov    %eax,0x20(%rsp)
140158aa5:	0f 84 1d 01 00 00    	je     0x140158bc8
140158aab:	e8 b0 fe ff ff       	call   0x140158960
140158ab0:	41 89 c6             	mov    %eax,%r14d
140158ab3:	8b 84 24 d8 00 00 00 	mov    0xd8(%rsp),%eax
140158aba:	49 89 e9             	mov    %rbp,%r9
140158abd:	49 89 f8             	mov    %rdi,%r8
140158ac0:	48 89 f1             	mov    %rsi,%rcx
140158ac3:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140158ac7:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
140158acc:	89 44 24 38          	mov    %eax,0x38(%rsp)
140158ad0:	8b 84 24 c0 00 00 00 	mov    0xc0(%rsp),%eax
140158ad7:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140158adc:	89 44 24 20          	mov    %eax,0x20(%rsp)
140158ae0:	e8 7b fe ff ff       	call   0x140158960
140158ae5:	44 09 f0             	or     %r14d,%eax
140158ae8:	e9 d8 fe ff ff       	jmp    0x1401589c5
140158aed:	0f 1f 00             	nopl   (%rax)
140158af0:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
140158af5:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140158af9:	49 89 e8             	mov    %rbp,%r8
140158afc:	48 89 fa             	mov    %rdi,%rdx
140158aff:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140158b04:	44 8b 8c 24 c0 00 00 	mov    0xc0(%rsp),%r9d
140158b0b:	00
140158b0c:	e8 7f fd ff ff       	call   0x140158890
140158b11:	85 c0                	test   %eax,%eax
140158b13:	74 1b                	je     0x140158b30
140158b15:	49 8b 17             	mov    (%r15),%rdx
140158b18:	48 63 4c 24 40       	movslq 0x40(%rsp),%rcx
140158b1d:	48 85 d2             	test   %rdx,%rdx
140158b20:	78 66                	js     0x140158b88
140158b22:	48 39 ca             	cmp    %rcx,%rdx
140158b25:	7f 61                	jg     0x140158b88
140158b27:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140158b2e:	00 00
140158b30:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140158b34:	83 7a 14 02          	cmpl   $0x2,0x14(%rdx)
140158b38:	0f 85 87 fe ff ff    	jne    0x1401589c5
140158b3e:	09 46 5c             	or     %eax,0x5c(%rsi)
140158b41:	e9 7f fe ff ff       	jmp    0x1401589c5
140158b46:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140158b4d:	00 00 00
140158b50:	8b 84 24 c0 00 00 00 	mov    0xc0(%rsp),%eax
140158b57:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140158b5b:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140158b60:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%rsp)
140158b67:	00
140158b68:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
140158b6d:	89 44 24 20          	mov    %eax,0x20(%rsp)
140158b71:	e8 ea fd ff ff       	call   0x140158960
140158b76:	85 c0                	test   %eax,%eax
140158b78:	0f 94 c0             	sete   %al
140158b7b:	0f b6 c0             	movzbl %al,%eax
140158b7e:	e9 42 fe ff ff       	jmp    0x1401589c5
140158b83:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140158b88:	49 89 0f             	mov    %rcx,(%r15)
140158b8b:	eb a3                	jmp    0x140158b30
140158b8d:	0f 1f 00             	nopl   (%rax)
140158b90:	8b 84 24 c0 00 00 00 	mov    0xc0(%rsp),%eax
140158b97:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%rsp)
140158b9e:	00
140158b9f:	49 89 f8             	mov    %rdi,%r8
140158ba2:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
140158ba7:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140158bac:	89 44 24 20          	mov    %eax,0x20(%rsp)
140158bb0:	e8 ab fd ff ff       	call   0x140158960
140158bb5:	41 89 c6             	mov    %eax,%r14d
140158bb8:	48 8b 43 08          	mov    0x8(%rbx),%rax
140158bbc:	44 09 70 04          	or     %r14d,0x4(%rax)
140158bc0:	e9 ee fe ff ff       	jmp    0x140158ab3
140158bc5:	0f 1f 00             	nopl   (%rax)
140158bc8:	e8 93 fd ff ff       	call   0x140158960
140158bcd:	89 c2                	mov    %eax,%edx
140158bcf:	b8 01 00 00 00       	mov    $0x1,%eax
140158bd4:	85 d2                	test   %edx,%edx
140158bd6:	0f 85 f7 fd ff ff    	jne    0x1401589d3
140158bdc:	8b 84 24 c0 00 00 00 	mov    0xc0(%rsp),%eax
140158be3:	49 89 e9             	mov    %rbp,%r9
140158be6:	49 89 f8             	mov    %rdi,%r8
140158be9:	48 89 f1             	mov    %rsi,%rcx
140158bec:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140158bf0:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%rsp)
140158bf7:	00
140158bf8:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
140158bfd:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140158c02:	89 44 24 20          	mov    %eax,0x20(%rsp)
140158c06:	e8 55 fd ff ff       	call   0x140158960
140158c0b:	85 c0                	test   %eax,%eax
140158c0d:	0f 95 c0             	setne  %al
140158c10:	0f b6 c0             	movzbl %al,%eax
140158c13:	e9 bb fd ff ff       	jmp    0x1401589d3
140158c18:	89 c2                	mov    %eax,%edx
140158c1a:	48 8d 0d 3f 9e 0c 00 	lea    0xc9e3f(%rip),%rcx        # 0x140222a60
140158c21:	e8 6a a7 f6 ff       	call   0x1400c3390
140158c26:	e8 45 bc 08 00       	call   0x1401e4870
140158c2b:	90                   	nop
140158c2c:	0f 1f 40 00          	nopl   0x0(%rax)
140158c30:	56                   	push   %rsi
140158c31:	53                   	push   %rbx
140158c32:	48 83 ec 28          	sub    $0x28,%rsp
140158c36:	48 89 d6             	mov    %rdx,%rsi
140158c39:	8b 15 89 17 15 00    	mov    0x151789(%rip),%edx        # 0x1402aa3c8
140158c3f:	48 89 cb             	mov    %rcx,%rbx
140158c42:	85 d2                	test   %edx,%edx
140158c44:	75 6a                	jne    0x140158cb0
140158c46:	48 8b 53 30          	mov    0x30(%rbx),%rdx
140158c4a:	48 85 d2             	test   %rdx,%rdx
140158c4d:	74 29                	je     0x140158c78
140158c4f:	48 89 f1             	mov    %rsi,%rcx
140158c52:	e8 79 98 05 00       	call   0x1401b24d0
140158c57:	48 89 43 38          	mov    %rax,0x38(%rbx)
140158c5b:	48 85 c0             	test   %rax,%rax
140158c5e:	74 21                	je     0x140158c81
140158c60:	8b 05 62 17 15 00    	mov    0x151762(%rip),%eax        # 0x1402aa3c8
140158c66:	85 c0                	test   %eax,%eax
140158c68:	75 31                	jne    0x140158c9b
140158c6a:	48 83 c4 28          	add    $0x28,%rsp
140158c6e:	5b                   	pop    %rbx
140158c6f:	5e                   	pop    %rsi
140158c70:	c3                   	ret
140158c71:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140158c78:	48 8b 43 38          	mov    0x38(%rbx),%rax
140158c7c:	48 85 c0             	test   %rax,%rax
140158c7f:	75 df                	jne    0x140158c60