18012cce2:	75 09                	jne    0x18012cced
18012cce4:	3b 8c 24 80 00 00 00 	cmp    0x80(%rsp),%ecx
18012cceb:	76 21                	jbe    0x18012cd0e
18012cced:	83 ce 04             	or     $0x4,%esi
18012ccf0:	4d 85 ff             	test   %r15,%r15
18012ccf3:	75 1f                	jne    0x18012cd14
18012ccf5:	4c 8b 64 24 78       	mov    0x78(%rsp),%r12
18012ccfa:	48 ff cb             	dec    %rbx
18012ccfd:	40 f6 c6 08          	test   $0x8,%sil
18012cd01:	75 1c                	jne    0x18012cd1f
18012cd03:	4d 85 ff             	test   %r15,%r15
18012cd06:	49 0f 45 dc          	cmovne %r12,%rbx
18012cd0a:	33 ff                	xor    %edi,%edi
18012cd0c:	eb 62                	jmp    0x18012cd70
18012cd0e:	41 0f af fe          	imul   %r14d,%edi
18012cd12:	03 f9                	add    %ecx,%edi
18012cd14:	40 8a 2b             	mov    (%rbx),%bpl
18012cd17:	48 ff c3             	inc    %rbx
18012cd1a:	e9 6a ff ff ff       	jmp    0x18012cc89
18012cd1f:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
18012cd24:	40 f6 c6 04          	test   $0x4,%sil
18012cd28:	75 1a                	jne    0x18012cd44
18012cd2a:	40 f6 c6 01          	test   $0x1,%sil
18012cd2e:	75 40                	jne    0x18012cd70
18012cd30:	40 f6 c6 02          	test   $0x2,%sil
18012cd34:	74 0a                	je     0x18012cd40
18012cd36:	81 ff 00 00 00 80    	cmp    $0x80000000,%edi
18012cd3c:	77 06                	ja     0x18012cd44
18012cd3e:	eb 30                	jmp    0x18012cd70
18012cd40:	3b f9                	cmp    %ecx,%edi
18012cd42:	76 2c                	jbe    0x18012cd70
18012cd44:	83 bc 24 98 00 00 00 	cmpl   $0x0,0x98(%rsp)
18012cd4b:	00
18012cd4c:	75 22                	jne    0x18012cd70
18012cd4e:	c7 05 e8 88 06 00 22 	movl   $0x22,0x688e8(%rip)        # 0x180195640
18012cd55:	00 00 00
18012cd58:	40 f6 c6 01          	test   $0x1,%sil
18012cd5c:	74 05                	je     0x18012cd63
18012cd5e:	83 cf ff             	or     $0xffffffff,%edi
18012cd61:	eb 0d                	jmp    0x18012cd70
18012cd63:	40 8a c6             	mov    %sil,%al
18012cd66:	24 02                	and    $0x2,%al
18012cd68:	f6 d8                	neg    %al
18012cd6a:	1b ff                	sbb    %edi,%edi
18012cd6c:	f7 df                	neg    %edi
18012cd6e:	03 f9                	add    %ecx,%edi
18012cd70:	4d 85 ff             	test   %r15,%r15
18012cd73:	74 03                	je     0x18012cd78
18012cd75:	49 89 1f             	mov    %rbx,(%r15)
18012cd78:	8b c7                	mov    %edi,%eax
18012cd7a:	f7 d8                	neg    %eax
18012cd7c:	40 80 e6 02          	and    $0x2,%sil
18012cd80:	0f 44 c7             	cmove  %edi,%eax
18012cd83:	eb 17                	jmp    0x18012cd9c
18012cd85:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
18012cd8b:	45 33 c9             	xor    %r9d,%r9d
18012cd8e:	45 33 c0             	xor    %r8d,%r8d
18012cd91:	33 d2                	xor    %edx,%edx
18012cd93:	33 c9                	xor    %ecx,%ecx
18012cd95:	e8 92 8d ee ff       	call   0x180015b2c
18012cd9a:	33 c0                	xor    %eax,%eax
18012cd9c:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
18012cda1:	48 83 c4 30          	add    $0x30,%rsp
18012cda5:	41 5f                	pop    %r15
18012cda7:	41 5e                	pop    %r14
18012cda9:	41 5d                	pop    %r13
18012cdab:	41 5c                	pop    %r12
18012cdad:	5f                   	pop    %rdi
18012cdae:	5e                   	pop    %rsi
18012cdaf:	5d                   	pop    %rbp
18012cdb0:	c3                   	ret
18012cdb1:	cc                   	int3
18012cdb2:	cc                   	int3
18012cdb3:	cc                   	int3
18012cdb4:	48 83 ec 38          	sub    $0x38,%rsp
18012cdb8:	44 89 4c 24 28       	mov    %r9d,0x28(%rsp)
18012cdbd:	45 8b c8             	mov    %r8d,%r9d
18012cdc0:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
18012cdc5:	4c 8b c2             	mov    %rdx,%r8
18012cdc8:	48 8b d1             	mov    %rcx,%rdx
18012cdcb:	48 8d 0d 2e 53 01 00 	lea    0x1532e(%rip),%rcx        # 0x180142100
18012cdd2:	e8 b1 fd ff ff       	call   0x18012cb88
18012cdd7:	48 83 c4 38          	add    $0x38,%rsp
18012cddb:	c3                   	ret
18012cddc:	cc                   	int3
18012cddd:	cc                   	int3
18012cdde:	cc                   	int3
18012cddf:	cc                   	int3
18012cde0:	48 8b 05 11 f4 03 00 	mov    0x3f411(%rip),%rax        # 0x18016c1f8
18012cde7:	c3                   	ret
18012cde8:	cc                   	int3
18012cde9:	cc                   	int3
18012cdea:	cc                   	int3
18012cdeb:	cc                   	int3
18012cdec:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
18012cdf1:	55                   	push   %rbp
18012cdf2:	56                   	push   %rsi
18012cdf3:	57                   	push   %rdi
18012cdf4:	41 54                	push   %r12
18012cdf6:	41 55                	push   %r13
18012cdf8:	41 56                	push   %r14
18012cdfa:	41 57                	push   %r15
18012cdfc:	48 8d ac 24 70 fc ff 	lea    -0x390(%rsp),%rbp
18012ce03:	ff
18012ce04:	48 81 ec 90 04 00 00 	sub    $0x490,%rsp
18012ce0b:	48 8b 05 5e fb 03 00 	mov    0x3fb5e(%rip),%rax        # 0x18016c970
18012ce12:	48 33 c4             	xor    %rsp,%rax
18012ce15:	48 89 85 80 03 00 00 	mov    %rax,0x380(%rbp)
18012ce1c:	33 c0                	xor    %eax,%eax
18012ce1e:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
18012ce23:	4c 8b fa             	mov    %rdx,%r15
18012ce26:	89 44 24 68          	mov    %eax,0x68(%rsp)
18012ce2a:	4c 8b f1             	mov    %rcx,%r14
18012ce2d:	89 44 24 54          	mov    %eax,0x54(%rsp)
18012ce31:	33 d2                	xor    %edx,%edx
18012ce33:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
18012ce37:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
18012ce3b:	89 44 24 38          	mov    %eax,0x38(%rsp)
18012ce3f:	41 b8 00 04 00 00    	mov    $0x400,%r8d
18012ce45:	89 44 24 30          	mov    %eax,0x30(%rsp)
18012ce49:	8b f8                	mov    %eax,%edi
18012ce4b:	4c 89 4c 24 58       	mov    %r9,0x58(%rsp)
18012ce50:	44 8b e0             	mov    %eax,%r12d
18012ce53:	8b d8                	mov    %eax,%ebx
18012ce55:	49 8b f1             	mov    %r9,%rsi
18012ce58:	e8 23 8e 00 00       	call   0x180135c80
18012ce5d:	45 33 d2             	xor    %r10d,%r10d
18012ce60:	66 44 89 54 24 40    	mov    %r10w,0x40(%rsp)
18012ce66:	44 89 54 24 44       	mov    %r10d,0x44(%rsp)
18012ce6b:	4d 85 f6             	test   %r14,%r14
18012ce6e:	0f 84 1a 08 00 00    	je     0x18012d68e
18012ce74:	4d 85 ff             	test   %r15,%r15
18012ce77:	0f 84 11 08 00 00    	je     0x18012d68e
18012ce7d:	45 0f b7 0f          	movzwl (%r15),%r9d
18012ce81:	45 8b f2             	mov    %r10d,%r14d
18012ce84:	44 89 54 24 34       	mov    %r10d,0x34(%rsp)
18012ce89:	45 8b ea             	mov    %r10d,%r13d
18012ce8c:	45 8b c2             	mov    %r10d,%r8d
18012ce8f:	66 45 85 c9          	test   %r9w,%r9w
18012ce93:	0f 84 f0 07 00 00    	je     0x18012d689
18012ce99:	44 8d 5b 20          	lea    0x20(%rbx),%r11d
18012ce9d:	49 83 c7 02          	add    $0x2,%r15
18012cea1:	4c 89 7c 24 70       	mov    %r15,0x70(%rsp)
18012cea6:	45 85 f6             	test   %r14d,%r14d
18012cea9:	0f 88 da 07 00 00    	js     0x18012d689
18012ceaf:	41 0f b7 c1          	movzwl %r9w,%eax
18012ceb3:	66 41 2b c3          	sub    %r11w,%ax
18012ceb7:	66 83 f8 5a          	cmp    $0x5a,%ax
18012cebb:	77 15                	ja     0x18012ced2
18012cebd:	41 0f b7 c1          	movzwl %r9w,%eax
18012cec1:	48 8d 0d d8 51 01 00 	lea    0x151d8(%rip),%rcx        # 0x1801420a0
18012cec8:	0f be 4c 08 e0       	movsbl -0x20(%rax,%rcx,1),%ecx
18012cecd:	83 e1 0f             	and    $0xf,%ecx
18012ced0:	eb 03                	jmp    0x18012ced5
18012ced2:	41 8b ca             	mov    %r10d,%ecx
18012ced5:	41 8d 04 c8          	lea    (%r8,%rcx,8),%eax
18012ced9:	41 0f b7 d1          	movzwl %r9w,%edx
18012cedd:	48 63 c8             	movslq %eax,%rcx
18012cee0:	48 8d 05 b9 51 01 00 	lea    0x151b9(%rip),%rax        # 0x1801420a0
18012cee7:	44 0f be 04 01       	movsbl (%rcx,%rax,1),%r8d
18012ceec:	41 c1 f8 04          	sar    $0x4,%r8d
18012cef0:	44 89 44 24 48       	mov    %r8d,0x48(%rsp)
18012cef5:	41 8b c8             	mov    %r8d,%ecx
18012cef8:	45 85 c0             	test   %r8d,%r8d
18012cefb:	0f 84 5f 06 00 00    	je     0x18012d560
18012cf01:	83 e9 01             	sub    $0x1,%ecx
18012cf04:	0f 84 3a 07 00 00    	je     0x18012d644
18012cf0a:	83 e9 01             	sub    $0x1,%ecx
18012cf0d:	0f 84 f2 06 00 00    	je     0x18012d605
18012cf13:	83 e9 01             	sub    $0x1,%ecx
18012cf16:	0f 84 af 06 00 00    	je     0x18012d5cb
18012cf1c:	83 e9 01             	sub    $0x1,%ecx
18012cf1f:	0f 84 99 06 00 00    	je     0x18012d5be
18012cf25:	83 e9 01             	sub    $0x1,%ecx
18012cf28:	0f 84 52 06 00 00    	je     0x18012d580
18012cf2e:	83 e9 01             	sub    $0x1,%ecx
18012cf31:	0f 84 4d 05 00 00    	je     0x18012d484
18012cf37:	83 f9 01             	cmp    $0x1,%ecx
18012cf3a:	0f 85 36 07 00 00    	jne    0x18012d676
18012cf40:	83 fa 69             	cmp    $0x69,%edx
18012cf43:	0f 87 b6 01 00 00    	ja     0x18012d0ff
18012cf49:	74 31                	je     0x18012cf7c
18012cf4b:	83 ea 43             	sub    $0x43,%edx
18012cf4e:	0f 84 3c 01 00 00    	je     0x18012d090
18012cf54:	83 ea 10             	sub    $0x10,%edx
18012cf57:	0f 84 cb 00 00 00    	je     0x18012d028
18012cf5d:	83 ea 05             	sub    $0x5,%edx
18012cf60:	0f 84 13 02 00 00    	je     0x18012d179
18012cf66:	83 ea 02             	sub    $0x2,%edx
18012cf69:	74 41                	je     0x18012cfac
18012cf6b:	83 ea 09             	sub    $0x9,%edx
18012cf6e:	0f 84 27 01 00 00    	je     0x18012d09b
18012cf74:	3b d1                	cmp    %ecx,%edx
18012cf76:	0f 85 8e 03 00 00    	jne    0x18012d30a
18012cf7c:	83 cf 40             	or     $0x40,%edi
18012cf7f:	41 ba 0a 00 00 00    	mov    $0xa,%r10d
18012cf85:	ba 00 02 00 00       	mov    $0x200,%edx
18012cf8a:	48 83 c6 08          	add    $0x8,%rsi
18012cf8e:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
18012cf93:	0f ba e7 0f          	bt     $0xf,%edi
18012cf97:	72 0a                	jb     0x18012cfa3
18012cf99:	0f ba e7 0c          	bt     $0xc,%edi
18012cf9d:	0f 83 27 02 00 00    	jae    0x18012d1ca
18012cfa3:	48 8b 46 f8          	mov    -0x8(%rsi),%rax
18012cfa7:	e9 4b 02 00 00       	jmp    0x18012d1f7
18012cfac:	48 8b 0e             	mov    (%rsi),%rcx
18012cfaf:	48 83 c6 08          	add    $0x8,%rsi
18012cfb3:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
18012cfb8:	48 85 c9             	test   %rcx,%rcx
18012cfbb:	74 4f                	je     0x18012d00c
18012cfbd:	48 8b 59 08          	mov    0x8(%rcx),%rbx
18012cfc1:	48 85 db             	test   %rbx,%rbx
18012cfc4:	74 46                	je     0x18012d00c
18012cfc6:	0f b7 01             	movzwl (%rcx),%eax
18012cfc9:	66 39 41 02          	cmp    %ax,0x2(%rcx)
18012cfcd:	0f 82 bb 06 00 00    	jb     0x18012d68e
18012cfd3:	44 8b e8             	mov    %eax,%r13d
18012cfd6:	0f ba e7 0b          	bt     $0xb,%edi
18012cfda:	73 26                	jae    0x18012d002
18012cfdc:	f7 d0                	not    %eax
18012cfde:	a8 01                	test   $0x1,%al
18012cfe0:	0f 84 a8 06 00 00    	je     0x18012d68e
18012cfe6:	8b c3                	mov    %ebx,%eax
18012cfe8:	f7 d0                	not    %eax
18012cfea:	a8 01                	test   $0x1,%al
18012cfec:	0f 84 9c 06 00 00    	je     0x18012d68e
18012cff2:	41 d1 ed             	shr    $1,%r13d
18012cff5:	c7 44 24 44 01 00 00 	movl   $0x1,0x44(%rsp)
18012cffc:	00
18012cffd:	e9 08 03 00 00       	jmp    0x18012d30a
18012d002:	44 89 54 24 44       	mov    %r10d,0x44(%rsp)
18012d007:	e9 fe 02 00 00       	jmp    0x18012d30a
18012d00c:	48 8d 15 75 50 01 00 	lea    0x15075(%rip),%rdx        # 0x180142088
18012d013:	49 83 cd ff          	or     $0xffffffffffffffff,%r13
18012d017:	48 8b da             	mov    %rdx,%rbx
18012d01a:	49 ff c5             	inc    %r13
18012d01d:	46 38 14 2a          	cmp    %r10b,(%rdx,%r13,1)
18012d021:	75 f7                	jne    0x18012d01a
18012d023:	e9 e2 02 00 00       	jmp    0x18012d30a
18012d028:	f7 c7 30 08 00 00    	test   $0x830,%edi
18012d02e:	75 03                	jne    0x18012d033
18012d030:	41 0b fb             	or     %r11d,%edi
18012d033:	48 8b 1e             	mov    (%rsi),%rbx
18012d036:	41 83 fc ff          	cmp    $0xffffffff,%r12d
18012d03a:	41 8b cc             	mov    %r12d,%ecx
18012d03d:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
18012d042:	0f 44 c8             	cmove  %eax,%ecx
18012d045:	48 83 c6 08          	add    $0x8,%rsi
18012d049:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
18012d04e:	41 84 fb             	test   %dil,%r11b
18012d051:	0f 84 df 00 00 00    	je     0x18012d136
18012d057:	48 8b c3             	mov    %rbx,%rax
18012d05a:	48 85 db             	test   %rbx,%rbx
18012d05d:	75 0d                	jne    0x18012d06c
18012d05f:	48 8d 15 22 50 01 00 	lea    0x15022(%rip),%rdx        # 0x180142088
18012d066:	48 8b da             	mov    %rdx,%rbx
18012d069:	48 8b c2             	mov    %rdx,%rax
18012d06c:	45 8b ea             	mov    %r10d,%r13d
18012d06f:	85 c9                	test   %ecx,%ecx
18012d071:	0f 8e 93 02 00 00    	jle    0x18012d30a
18012d077:	44 38 10             	cmp    %r10b,(%rax)
18012d07a:	0f 84 8a 02 00 00    	je     0x18012d30a
18012d080:	48 ff c0             	inc    %rax
18012d083:	41 ff c5             	inc    %r13d
18012d086:	44 3b e9             	cmp    %ecx,%r13d
18012d089:	7c ec                	jl     0x18012d077
18012d08b:	e9 7a 02 00 00       	jmp    0x18012d30a
18012d090:	f7 c7 30 08 00 00    	test   $0x830,%edi
18012d096:	75 03                	jne    0x18012d09b
18012d098:	41 0b fb             	or     %r11d,%edi
18012d09b:	0f b7 06             	movzwl (%rsi),%eax
18012d09e:	48 83 c6 08          	add    $0x8,%rsi
18012d0a2:	66 89 44 24 40       	mov    %ax,0x40(%rsp)
18012d0a7:	c7 44 24 44 01 00 00 	movl   $0x1,0x44(%rsp)
18012d0ae:	00
18012d0af:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
18012d0b4:	41 84 fb             	test   %dil,%r11b
18012d0b7:	74 33                	je     0x18012d0ec
18012d0b9:	4c 63 05 48 f1 03 00 	movslq 0x3f148(%rip),%r8        # 0x18016c208
18012d0c0:	48 8d 54 24 4c       	lea    0x4c(%rsp),%rdx
18012d0c5:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
18012d0c9:	88 44 24 4c          	mov    %al,0x4c(%rsp)
18012d0cd:	44 88 54 24 4d       	mov    %r10b,0x4d(%rsp)
18012d0d2:	e8 51 08 00 00       	call   0x18012d928
18012d0d7:	45 33 d2             	xor    %r10d,%r10d
18012d0da:	45 8d 5a 20          	lea    0x20(%r10),%r11d
18012d0de:	85 c0                	test   %eax,%eax
18012d0e0:	79 0e                	jns    0x18012d0f0
18012d0e2:	c7 44 24 30 01 00 00 	movl   $0x1,0x30(%rsp)
18012d0e9:	00
18012d0ea:	eb 04                	jmp    0x18012d0f0
18012d0ec:	66 89 45 80          	mov    %ax,-0x80(%rbp)
18012d0f0:	48 8d 5d 80          	lea    -0x80(%rbp),%rbx
18012d0f4:	41 bd 01 00 00 00    	mov    $0x1,%r13d
18012d0fa:	e9 0b 02 00 00       	jmp    0x18012d30a
18012d0ff:	83 ea 6e             	sub    $0x6e,%edx
18012d102:	0f 84 bf 01 00 00    	je     0x18012d2c7
18012d108:	83 ea 01             	sub    $0x1,%edx
18012d10b:	0f 84 9c 00 00 00    	je     0x18012d1ad
18012d111:	83 ea 01             	sub    $0x1,%edx
18012d114:	74 59                	je     0x18012d16f
18012d116:	83 ea 03             	sub    $0x3,%edx
18012d119:	0f 84 14 ff ff ff    	je     0x18012d033
18012d11f:	83 ea 02             	sub    $0x2,%edx
18012d122:	0f 84 57 fe ff ff    	je     0x18012cf7f
18012d128:	83 fa 03             	cmp    $0x3,%edx
18012d12b:	0f 85 d9 01 00 00    	jne    0x18012d30a
18012d131:	8d 42 24             	lea    0x24(%rdx),%eax
18012d134:	eb 48                	jmp    0x18012d17e
18012d136:	48 85 db             	test   %rbx,%rbx
18012d139:	c7 44 24 44 01 00 00 	movl   $0x1,0x44(%rsp)
18012d140:	00
18012d141:	48 8d 05 48 4f 01 00 	lea    0x14f48(%rip),%rax        # 0x180142090
18012d148:	48 0f 45 c3          	cmovne %rbx,%rax
18012d14c:	48 8b d8             	mov    %rax,%rbx
18012d14f:	eb 0c                	jmp    0x18012d15d
18012d151:	ff c9                	dec    %ecx
18012d153:	66 44 39 10          	cmp    %r10w,(%rax)
18012d157:	74 08                	je     0x18012d161
18012d159:	48 83 c0 02          	add    $0x2,%rax
18012d15d:	85 c9                	test   %ecx,%ecx
18012d15f:	75 f0                	jne    0x18012d151
18012d161:	48 2b c3             	sub    %rbx,%rax
18012d164:	48 d1 f8             	sar    $1,%rax
18012d167:	44 8b e8             	mov    %eax,%r13d
18012d16a:	e9 9b 01 00 00       	jmp    0x18012d30a
18012d16f:	41 bc 10 00 00 00    	mov    $0x10,%r12d
18012d175:	0f ba ef 0f          	bts    $0xf,%edi
18012d179:	b8 07 00 00 00       	mov    $0x7,%eax
18012d17e:	89 44 24 68          	mov    %eax,0x68(%rsp)
18012d182:	40 84 ff             	test   %dil,%dil
18012d185:	79 1b                	jns    0x18012d1a2
18012d187:	b9 30 00 00 00       	mov    $0x30,%ecx
18012d18c:	c7 44 24 38 02 00 00 	movl   $0x2,0x38(%rsp)
18012d193:	00
18012d194:	66 83 c0 51          	add    $0x51,%ax
18012d198:	66 89 4c 24 50       	mov    %cx,0x50(%rsp)
18012d19d:	66 89 44 24 52       	mov    %ax,0x52(%rsp)
18012d1a2:	41 ba 10 00 00 00    	mov    $0x10,%r10d
18012d1a8:	e9 d8 fd ff ff       	jmp    0x18012cf85
18012d1ad:	b8 08 00 00 00       	mov    $0x8,%eax
18012d1b2:	44 8b d0             	mov    %eax,%r10d
18012d1b5:	40 84 ff             	test   %dil,%dil
18012d1b8:	0f 89 c7 fd ff ff    	jns    0x18012cf85
18012d1be:	ba 00 02 00 00       	mov    $0x200,%edx
18012d1c3:	0b fa                	or     %edx,%edi
18012d1c5:	e9 c0 fd ff ff       	jmp    0x18012cf8a
18012d1ca:	8b c7                	mov    %edi,%eax
18012d1cc:	b9 20 00 00 00       	mov    $0x20,%ecx
18012d1d1:	83 e0 40             	and    $0x40,%eax