140330df4:	48 8b d5             	mov    %rbp,%rdx
140330df7:	48 8b cf             	mov    %rdi,%rcx
140330dfa:	e8 cd 08 00 00       	call   0x1403316cc
140330dff:	e9 46 02 00 00       	jmp    0x14033104a
140330e04:	44 8b 4d 20          	mov    0x20(%rbp),%r9d
140330e08:	4c 3b 4f 20          	cmp    0x20(%rdi),%r9
140330e0c:	0f 83 a3 02 00 00    	jae    0x1403310b5
140330e12:	45 8b c1             	mov    %r9d,%r8d
140330e15:	49 c1 e8 05          	shr    $0x5,%r8
140330e19:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140330e1d:	41 8a c1             	mov    %r9b,%al
140330e20:	24 1f                	and    $0x1f,%al
140330e22:	0f b6 c8             	movzbl %al,%ecx
140330e25:	42 8b 04 82          	mov    (%rdx,%r8,4),%eax
140330e29:	0f a3 c8             	bt     %ecx,%eax
140330e2c:	0f 83 24 02 00 00    	jae    0x140331056
140330e32:	4c 8b 17             	mov    (%rdi),%r10
140330e35:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
140330e39:	48 8b 47 30          	mov    0x30(%rdi),%rax
140330e3d:	48 2b c1             	sub    %rcx,%rax
140330e40:	48 c1 f8 04          	sar    $0x4,%rax
140330e44:	4c 3b c8             	cmp    %rax,%r9
140330e47:	0f 83 68 02 00 00    	jae    0x1403310b5
140330e4d:	41 8b d1             	mov    %r9d,%edx
140330e50:	48 03 d2             	add    %rdx,%rdx
140330e53:	4c 8b 04 d1          	mov    (%rcx,%rdx,8),%r8
140330e57:	48 8b 47 30          	mov    0x30(%rdi),%rax
140330e5b:	48 2b c1             	sub    %rcx,%rax
140330e5e:	48 c1 f8 04          	sar    $0x4,%rax
140330e62:	4c 3b c8             	cmp    %rax,%r9
140330e65:	0f 83 4a 02 00 00    	jae    0x1403310b5
140330e6b:	4c 8b 4c d1 08       	mov    0x8(%rcx,%rdx,8),%r9
140330e70:	4d 3b c1             	cmp    %r9,%r8
140330e73:	74 31                	je     0x140330ea6
140330e75:	8b 87 b8 00 00 00    	mov    0xb8(%rdi),%eax
140330e7b:	89 44 24 28          	mov    %eax,0x28(%rsp)
140330e7f:	48 8b 87 d0 00 00 00 	mov    0xd0(%rdi),%rax
140330e86:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140330e8b:	48 8b 97 a0 00 00 00 	mov    0xa0(%rdi),%rdx
140330e92:	49 8b ca             	mov    %r10,%rcx
140330e95:	e8 9e 0d 00 00       	call   0x140331c38
140330e9a:	4c 8b d0             	mov    %rax,%r10
140330e9d:	48 3b 07             	cmp    (%rdi),%rax
140330ea0:	0f 84 fe 01 00 00    	je     0x1403310a4
140330ea6:	4c 89 17             	mov    %r10,(%rdi)
140330ea9:	e9 a8 01 00 00       	jmp    0x140331056
140330eae:	4c 8b 45 20          	mov    0x20(%rbp),%r8
140330eb2:	80 bf c1 00 00 00 00 	cmpb   $0x0,0xc1(%rdi)
140330eb9:	75 0b                	jne    0x140330ec6
140330ebb:	41 83 78 20 00       	cmpl   $0x0,0x20(%r8)
140330ec0:	0f 84 90 01 00 00    	je     0x140331056
140330ec6:	45 8b 48 20          	mov    0x20(%r8),%r9d
140330eca:	4c 3b 4f 20          	cmp    0x20(%rdi),%r9
140330ece:	0f 83 e1 01 00 00    	jae    0x1403310b5
140330ed4:	41 8b d1             	mov    %r9d,%edx
140330ed7:	48 c1 ea 05          	shr    $0x5,%rdx
140330edb:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140330edf:	41 83 e1 1f          	and    $0x1f,%r9d
140330ee3:	8b 04 91             	mov    (%rcx,%rdx,4),%eax
140330ee6:	44 0f ab c8          	bts    %r9d,%eax
140330eea:	89 04 91             	mov    %eax,(%rcx,%rdx,4)
140330eed:	4c 8b 0f             	mov    (%rdi),%r9
140330ef0:	41 8b 48 20          	mov    0x20(%r8),%ecx
140330ef4:	48 8b 57 28          	mov    0x28(%rdi),%rdx
140330ef8:	48 8b 47 30          	mov    0x30(%rdi),%rax
140330efc:	48 2b c2             	sub    %rdx,%rax
140330eff:	48 c1 f8 04          	sar    $0x4,%rax
140330f03:	48 3b c8             	cmp    %rax,%rcx
140330f06:	0f 83 a9 01 00 00    	jae    0x1403310b5
140330f0c:	48 03 c9             	add    %rcx,%rcx
140330f0f:	4c 89 4c ca 08       	mov    %r9,0x8(%rdx,%rcx,8)
140330f14:	e9 3d 01 00 00       	jmp    0x140331056
140330f19:	4c 8b 07             	mov    (%rdi),%r8
140330f1c:	8b 4d 20             	mov    0x20(%rbp),%ecx
140330f1f:	48 8b 57 28          	mov    0x28(%rdi),%rdx
140330f23:	48 8b 47 30          	mov    0x30(%rdi),%rax
140330f27:	48 2b c2             	sub    %rdx,%rax
140330f2a:	48 c1 f8 04          	sar    $0x4,%rax
140330f2e:	48 3b c8             	cmp    %rax,%rcx
140330f31:	0f 83 7e 01 00 00    	jae    0x1403310b5
140330f37:	48 03 c9             	add    %rcx,%rcx
140330f3a:	4c 89 04 ca          	mov    %r8,(%rdx,%rcx,8)
140330f3e:	4c 8b 4f 20          	mov    0x20(%rdi),%r9
140330f42:	eb 29                	jmp    0x140330f6d
140330f44:	4d 2b cd             	sub    %r13,%r9
140330f47:	4c 3b 4f 20          	cmp    0x20(%rdi),%r9
140330f4b:	0f 83 64 01 00 00    	jae    0x1403310b5
140330f51:	4d 8b c1             	mov    %r9,%r8
140330f54:	49 c1 e8 05          	shr    $0x5,%r8
140330f58:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140330f5c:	49 8b c9             	mov    %r9,%rcx
140330f5f:	83 e1 1f             	and    $0x1f,%ecx
140330f62:	42 8b 04 82          	mov    (%rdx,%r8,4),%eax
140330f66:	0f b3 c8             	btr    %ecx,%eax
140330f69:	42 89 04 82          	mov    %eax,(%rdx,%r8,4)
140330f6d:	8b 45 20             	mov    0x20(%rbp),%eax
140330f70:	49 3b c1             	cmp    %r9,%rax
140330f73:	72 cf                	jb     0x140330f44
140330f75:	e9 dc 00 00 00       	jmp    0x140331056
140330f7a:	83 e9 12             	sub    $0x12,%ecx
140330f7d:	0f 84 af 00 00 00    	je     0x140331032
140330f83:	83 e9 01             	sub    $0x1,%ecx
140330f86:	74 71                	je     0x140330ff9
140330f88:	83 e9 01             	sub    $0x1,%ecx
140330f8b:	0f 84 c5 00 00 00    	je     0x140331056
140330f91:	83 f9 01             	cmp    $0x1,%ecx
140330f94:	0f 85 0f 01 00 00    	jne    0x1403310a9
140330f9a:	f7 87 bc 00 00 00 20 	testl  $0x2020,0xbc(%rdi)
140330fa1:	20 00 00
140330fa4:	74 0c                	je     0x140330fb2
140330fa6:	48 8b 07             	mov    (%rdi),%rax
140330fa9:	48 39 87 98 00 00 00 	cmp    %rax,0x98(%rdi)
140330fb0:	74 15                	je     0x140330fc7
140330fb2:	80 bf d8 00 00 00 00 	cmpb   $0x0,0xd8(%rdi)
140330fb9:	74 14                	je     0x140330fcf
140330fbb:	48 8b 87 a0 00 00 00 	mov    0xa0(%rdi),%rax
140330fc2:	48 39 07             	cmp    %rax,(%rdi)
140330fc5:	74 08                	je     0x140330fcf
140330fc7:	41 8a f5             	mov    %r13b,%sil
140330fca:	e9 85 00 00 00       	jmp    0x140331054
140330fcf:	80 bf c0 00 00 00 00 	cmpb   $0x0,0xc0(%rdi)
140330fd6:	74 0c                	je     0x140330fe4
140330fd8:	48 8b cf             	mov    %rdi,%rcx
140330fdb:	e8 14 0b 00 00       	call   0x140331af4
140330fe0:	84 c0                	test   %al,%al
140330fe2:	74 70                	je     0x140331054
140330fe4:	48 8d 4f 40          	lea    0x40(%rdi),%rcx
140330fe8:	48 8b d7             	mov    %rdi,%rdx
140330feb:	e8 00 89 ea ff       	call   0x1401d98f0
140330ff0:	44 88 af c0 00 00 00 	mov    %r13b,0xc0(%rdi)
140330ff7:	eb 5b                	jmp    0x140331054
140330ff9:	48 8b 55 20          	mov    0x20(%rbp),%rdx
140330ffd:	44 8b 4a 30          	mov    0x30(%rdx),%r9d
140331001:	48 8b 8f 80 00 00 00 	mov    0x80(%rdi),%rcx
140331008:	48 8b 87 88 00 00 00 	mov    0x88(%rdi),%rax
14033100f:	48 2b c1             	sub    %rcx,%rax
140331012:	48 c1 f8 04          	sar    $0x4,%rax
140331016:	4c 3b c8             	cmp    %rax,%r9
140331019:	0f 83 96 00 00 00    	jae    0x1403310b5
14033101f:	83 7a 34 00          	cmpl   $0x0,0x34(%rdx)
140331023:	75 2f                	jne    0x140331054
140331025:	4d 03 c9             	add    %r9,%r9
140331028:	44 8b 42 0c          	mov    0xc(%rdx),%r8d
14033102c:	46 8b 0c c9          	mov    (%rcx,%r9,8),%r9d
140331030:	eb 0a                	jmp    0x14033103c
140331032:	44 8b 45 0c          	mov    0xc(%rbp),%r8d
140331036:	45 33 c9             	xor    %r9d,%r9d
140331039:	48 8b d5             	mov    %rbp,%rdx
14033103c:	41 d1 e8             	shr    $1,%r8d
14033103f:	45 22 c5             	and    %r13b,%r8b
140331042:	48 8b cf             	mov    %rdi,%rcx
140331045:	e8 a2 07 00 00       	call   0x1403317ec
14033104a:	40 0f b6 f6          	movzbl %sil,%esi
14033104e:	84 c0                	test   %al,%al
140331050:	41 0f 44 f5          	cmove  %r13d,%esi
140331054:	33 ed                	xor    %ebp,%ebp
140331056:	40 84 f6             	test   %sil,%sil
140331059:	75 12                	jne    0x14033106d
14033105b:	48 85 ed             	test   %rbp,%rbp
14033105e:	74 0d                	je     0x14033106d
140331060:	48 8b 6d 10          	mov    0x10(%rbp),%rbp
140331064:	48 85 ed             	test   %rbp,%rbp
140331067:	0f 85 b8 fa ff ff    	jne    0x140330b25
14033106d:	8b 87 e0 00 00 00    	mov    0xe0(%rdi),%eax
140331073:	85 c0                	test   %eax,%eax
140331075:	7e 08                	jle    0x14033107f
140331077:	ff c0                	inc    %eax
140331079:	89 87 e0 00 00 00    	mov    %eax,0xe0(%rdi)
14033107f:	40 84 f6             	test   %sil,%sil
140331082:	0f 94 c0             	sete   %al
140331085:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
14033108a:	49 8b 5b 20          	mov    0x20(%r11),%rbx
14033108e:	49 8b 6b 28          	mov    0x28(%r11),%rbp
140331092:	49 8b 73 30          	mov    0x30(%r11),%rsi
140331096:	49 8b 7b 38          	mov    0x38(%r11),%rdi
14033109a:	49 8b e3             	mov    %r11,%rsp
14033109d:	41 5f                	pop    %r15
14033109f:	41 5e                	pop    %r14
1403310a1:	41 5d                	pop    %r13
1403310a3:	c3                   	ret
1403310a4:	41 8a f5             	mov    %r13b,%sil
1403310a7:	eb c4                	jmp    0x14033106d
1403310a9:	b9 0d 00 00 00       	mov    $0xd,%ecx
1403310ae:	ff 15 fc b5 7d 00    	call   *0x7db5fc(%rip)        # 0x140b0c6b0
1403310b4:	cc                   	int3
1403310b5:	ff 15 dd b8 7d 00    	call   *0x7db8dd(%rip)        # 0x140b0c998
1403310bb:	cc                   	int3
1403310bc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1403310c1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1403310c6:	57                   	push   %rdi
1403310c7:	48 83 ec 20          	sub    $0x20,%rsp
1403310cb:	48 8d 79 40          	lea    0x40(%rcx),%rdi
1403310cf:	48 8b d9             	mov    %rcx,%rbx
1403310d2:	48 8b cf             	mov    %rdi,%rcx
1403310d5:	e8 92 11 00 00       	call   0x14033226c
1403310da:	83 7b 7c 5e          	cmpl   $0x5e,0x7c(%rbx)
1403310de:	75 10                	jne    0x1403310f0
1403310e0:	48 8b 43 48          	mov    0x48(%rbx),%rax
1403310e4:	48 8b cb             	mov    %rbx,%rcx
1403310e7:	83 70 0c 01          	xorl   $0x1,0xc(%rax)
1403310eb:	e8 80 f7 ff ff       	call   0x140330870
1403310f0:	f7 83 80 00 00 00 00 	testl  $0x20000000,0x80(%rbx)
1403310f7:	00 00 20
1403310fa:	0f 84 b2 00 00 00    	je     0x1403311b2
140331100:	83 7b 7c 5d          	cmpl   $0x5d,0x7c(%rbx)
140331104:	0f 85 a8 00 00 00    	jne    0x1403311b2
14033110a:	b2 5d                	mov    $0x5d,%dl
14033110c:	48 8b cf             	mov    %rdi,%rcx
14033110f:	e8 b8 11 00 00       	call   0x1403322cc
140331114:	48 8b cb             	mov    %rbx,%rcx
140331117:	e8 54 f7 ff ff       	call   0x140330870
14033111c:	e9 91 00 00 00       	jmp    0x1403311b2
140331121:	83 f8 02             	cmp    $0x2,%eax
140331124:	0f 84 88 00 00 00    	je     0x1403311b2
14033112a:	83 7b 74 00          	cmpl   $0x0,0x74(%rbx)
14033112e:	75 10                	jne    0x140331140
140331130:	f7 83 80 00 00 00 00 	testl  $0x100000,0x80(%rbx)
140331137:	00 10 00
14033113a:	0f 84 b4 00 00 00    	je     0x1403311f4
140331140:	83 7b 7c 2d          	cmpl   $0x2d,0x7c(%rbx)
140331144:	75 61                	jne    0x1403311a7
140331146:	48 8b cb             	mov    %rbx,%rcx
140331149:	e8 22 f7 ff ff       	call   0x140330870
14033114e:	40 8a 73 74          	mov    0x74(%rbx),%sil
140331152:	48 8b cb             	mov    %rbx,%rcx
140331155:	e8 c2 16 00 00       	call   0x14033281c
14033115a:	85 c0                	test   %eax,%eax
14033115c:	74 66                	je     0x1403311c4
14033115e:	83 f8 02             	cmp    $0x2,%eax
140331161:	0f 84 82 00 00 00    	je     0x1403311e9
140331167:	f7 43 70 00 08 00 00 	testl  $0x800,0x70(%rbx)
14033116e:	74 21                	je     0x140331191
140331170:	8a 53 74             	mov    0x74(%rbx),%dl
140331173:	48 8b 4b 68          	mov    0x68(%rbx),%rcx
140331177:	e8 8c 0c 00 00       	call   0x140331e08
14033117c:	0f be c8             	movsbl %al,%ecx
14033117f:	40 8a d6             	mov    %sil,%dl
140331182:	89 4b 74             	mov    %ecx,0x74(%rbx)
140331185:	48 8b 4b 68          	mov    0x68(%rbx),%rcx
140331189:	e8 7a 0c 00 00       	call   0x140331e08
14033118e:	40 8a f0             	mov    %al,%sil
140331191:	44 8a 43 74          	mov    0x74(%rbx),%r8b
140331195:	44 3a c6             	cmp    %sil,%r8b
140331198:	72 65                	jb     0x1403311ff
14033119a:	40 8a d6             	mov    %sil,%dl
14033119d:	48 8b cf             	mov    %rdi,%rcx
1403311a0:	e8 c3 18 00 00       	call   0x140332a68
1403311a5:	eb 0b                	jmp    0x1403311b2
1403311a7:	8a 53 74             	mov    0x74(%rbx),%dl
1403311aa:	48 8b cf             	mov    %rdi,%rcx
1403311ad:	e8 1a 11 00 00       	call   0x1403322cc
1403311b2:	48 8b cb             	mov    %rbx,%rcx
1403311b5:	e8 62 16 00 00       	call   0x14033281c
1403311ba:	85 c0                	test   %eax,%eax
1403311bc:	0f 85 5f ff ff ff    	jne    0x140331121
1403311c2:	eb 15                	jmp    0x1403311d9
1403311c4:	8a 53 74             	mov    0x74(%rbx),%dl
1403311c7:	48 8b cf             	mov    %rdi,%rcx
1403311ca:	e8 fd 10 00 00       	call   0x1403322cc
1403311cf:	b2 2d                	mov    $0x2d,%dl
1403311d1:	48 8b cf             	mov    %rdi,%rcx
1403311d4:	e8 f3 10 00 00       	call   0x1403322cc
1403311d9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1403311de:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1403311e3:	48 83 c4 20          	add    $0x20,%rsp
1403311e7:	5f                   	pop    %rdi
1403311e8:	c3                   	ret
1403311e9:	ba 08 00 00 00       	mov    $0x8,%edx
1403311ee:	e8 dd 66 ea ff       	call   0x1401d78d0
1403311f3:	cc                   	int3
1403311f4:	ba 02 00 00 00       	mov    $0x2,%edx
1403311f9:	e8 d2 66 ea ff       	call   0x1401d78d0
1403311fe:	cc                   	int3
1403311ff:	ba 08 00 00 00       	mov    $0x8,%edx
140331204:	e8 c7 66 ea ff       	call   0x1401d78d0
140331209:	cc                   	int3
14033120a:	90                   	nop
14033120b:	90                   	nop
14033120c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140331211:	57                   	push   %rdi
140331212:	48 83 ec 20          	sub    $0x20,%rsp
140331216:	f7 81 80 00 00 00 00 	testl  $0x100,0x80(%rcx)
14033121d:	01 00 00
140331220:	48 8b d9             	mov    %rcx,%rbx
140331223:	0f 84 ce 00 00 00    	je     0x1403312f7
140331229:	41 b9 03 00 00 00    	mov    $0x3,%r9d
14033122f:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
140331234:	44 8b c7             	mov    %edi,%r8d
140331237:	41 8d 51 07          	lea    0x7(%r9),%edx
14033123b:	e8 2c 15 00 00       	call   0x14033276c
140331240:	3b c7                	cmp    %edi,%eax
140331242:	0f 84 af 00 00 00    	je     0x1403312f7
140331248:	8b 7b 74             	mov    0x74(%rbx),%edi
14033124b:	8b 83 80 00 00 00    	mov    0x80(%rbx),%eax
140331251:	85 ff                	test   %edi,%edi
140331253:	75 0f                	jne    0x140331264
140331255:	0f ba e0 14          	bt     $0x14,%eax
140331259:	0f 83 dc 00 00 00    	jae    0x14033133b
14033125f:	e9 9f 00 00 00       	jmp    0x140331303
140331264:	0f ba e0 09          	bt     $0x9,%eax
140331268:	73 09                	jae    0x140331273
14033126a:	83 ff 09             	cmp    $0x9,%edi
14033126d:	0f 87 bd 00 00 00    	ja     0x140331330
140331273:	8b c7                	mov    %edi,%eax
140331275:	48 63 c8             	movslq %eax,%rcx
140331278:	8b 43 18             	mov    0x18(%rbx),%eax
14033127b:	48 3b c1             	cmp    %rcx,%rax
14033127e:	0f 82 ac 00 00 00    	jb     0x140331330
140331284:	48 39 4b 38          	cmp    %rcx,0x38(%rbx)
140331288:	0f 86 a2 00 00 00    	jbe    0x140331330
14033128e:	48 8b 53 20          	mov    0x20(%rbx),%rdx
140331292:	48 8b c1             	mov    %rcx,%rax
140331295:	83 e1 1f             	and    $0x1f,%ecx
140331298:	48 c1 e8 05          	shr    $0x5,%rax
14033129c:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1403312a2:	41 d3 e0             	shl    %cl,%r8d
1403312a5:	44 85 04 82          	test   %r8d,(%rdx,%rax,4)
1403312a9:	0f 84 81 00 00 00    	je     0x140331330
1403312af:	b9 28 00 00 00       	mov    $0x28,%ecx
1403312b4:	e8 4b e3 7b 00       	call   0x140aef604
1403312b9:	48 8d 0d 80 e7 7e 00 	lea    0x7ee780(%rip),%rcx        # 0x140b1fa40
1403312c0:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1403312c5:	48 8b d0             	mov    %rax,%rdx
1403312c8:	83 60 0c 00          	andl   $0x0,0xc(%rax)
1403312cc:	48 83 60 10 00       	andq   $0x0,0x10(%rax)
1403312d1:	48 83 60 18 00       	andq   $0x0,0x18(%rax)
1403312d6:	48 89 08             	mov    %rcx,(%rax)
1403312d9:	48 8d 4b 40          	lea    0x40(%rbx),%rcx
1403312dd:	c7 40 08 0f 00 00 00 	movl   $0xf,0x8(%rax)
1403312e4:	89 78 20             	mov    %edi,0x20(%rax)
1403312e7:	e8 dc 77 ea ff       	call   0x1401d8ac8
1403312ec:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1403312f1:	48 83 c4 20          	add    $0x20,%rsp
1403312f5:	5f                   	pop    %rdi
1403312f6:	c3                   	ret
1403312f7:	48 8b cb             	mov    %rbx,%rcx
1403312fa:	e8 7d 0c 00 00       	call   0x140331f7c
1403312ff:	84 c0                	test   %al,%al
140331301:	74 0e                	je     0x140331311
140331303:	8a 53 74             	mov    0x74(%rbx),%dl
140331306:	48 8d 4b 40          	lea    0x40(%rbx),%rcx
14033130a:	e8 c5 02 00 00       	call   0x1403315d4
14033130f:	eb db                	jmp    0x1403312ec
140331311:	f7 83 80 00 00 00 00 	testl  $0x20000,0x80(%rbx)
140331318:	00 02 00
14033131b:	74 29                	je     0x140331346
14033131d:	ba 01 00 00 00       	mov    $0x1,%edx
140331322:	48 8b cb             	mov    %rbx,%rcx
140331325:	e8 b6 0b 00 00       	call   0x140331ee0
14033132a:	84 c0                	test   %al,%al