180040e8a:	e8 cd 5a 00 00       	call   0x18004695c
180040e8f:	bf 40 00 00 00       	mov    $0x40,%edi
180040e94:	8b cf                	mov    %edi,%ecx
180040e96:	e8 79 5a 00 00       	call   0x180046914
180040e9b:	4c 8b c0             	mov    %rax,%r8
180040e9e:	48 85 c0             	test   %rax,%rax
180040ea1:	74 2d                	je     0x180040ed0
180040ea3:	48 8d 48 08          	lea    0x8(%rax),%rcx
180040ea7:	48 89 18             	mov    %rbx,(%rax)
180040eaa:	48 89 58 18          	mov    %rbx,0x18(%rax)
180040eae:	c7 40 20 01 00 00 00 	movl   $0x1,0x20(%rax)
180040eb5:	89 78 24             	mov    %edi,0x24(%rax)
180040eb8:	8d 47 c6             	lea    -0x3a(%rdi),%eax
180040ebb:	41 89 40 28          	mov    %eax,0x28(%r8)
180040ebf:	41 89 40 38          	mov    %eax,0x38(%r8)
180040ec3:	48 89 49 08          	mov    %rcx,0x8(%rcx)
180040ec7:	48 89 09             	mov    %rcx,(%rcx)
180040eca:	49 89 78 30          	mov    %rdi,0x30(%r8)
180040ece:	eb 03                	jmp    0x180040ed3
180040ed0:	4c 8b c3             	mov    %rbx,%r8
180040ed3:	4c 89 86 a8 00 00 00 	mov    %r8,0xa8(%rsi)
180040eda:	4d 85 c0             	test   %r8,%r8
180040edd:	75 0a                	jne    0x180040ee9
180040edf:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180040ee4:	e9 88 00 00 00       	jmp    0x180040f71
180040ee9:	8b 8e c0 00 00 00    	mov    0xc0(%rsi),%ecx
180040eef:	48 8b 96 98 00 00 00 	mov    0x98(%rsi),%rdx
180040ef6:	48 d3 ea             	shr    %cl,%rdx
180040ef9:	49 8b c8             	mov    %r8,%rcx
180040efc:	8b d2                	mov    %edx,%edx
180040efe:	e8 65 28 00 00       	call   0x180043768
180040f03:	8b f8                	mov    %eax,%edi
180040f05:	85 c0                	test   %eax,%eax
180040f07:	78 68                	js     0x180040f71
180040f09:	48 8b 8e b8 00 00 00 	mov    0xb8(%rsi),%rcx
180040f10:	48 85 c9             	test   %rcx,%rcx
180040f13:	74 0c                	je     0x180040f21
180040f15:	e8 42 5a 00 00       	call   0x18004695c
180040f1a:	48 89 9e b8 00 00 00 	mov    %rbx,0xb8(%rsi)
180040f21:	8b 8e c0 00 00 00    	mov    0xc0(%rsi),%ecx
180040f27:	48 8b ae 98 00 00 00 	mov    0x98(%rsi),%rbp
180040f2e:	48 d3 ed             	shr    %cl,%rbp
180040f31:	8d 4d 1f             	lea    0x1f(%rbp),%ecx
180040f34:	48 c1 e9 03          	shr    $0x3,%rcx
180040f38:	81 e1 fc ff ff 1f    	and    $0x1ffffffc,%ecx
180040f3e:	e8 d1 59 00 00       	call   0x180046914
180040f43:	48 85 c0             	test   %rax,%rax
180040f46:	74 97                	je     0x180040edf
180040f48:	40 f6 c5 1f          	test   $0x1f,%bpl
180040f4c:	89 ae b0 00 00 00    	mov    %ebp,0xb0(%rsi)
180040f52:	48 8b c8             	mov    %rax,%rcx
180040f55:	48 89 86 b8 00 00 00 	mov    %rax,0xb8(%rsi)
180040f5c:	0f 95 c3             	setne  %bl
180040f5f:	c1 ed 05             	shr    $0x5,%ebp
180040f62:	33 d2                	xor    %edx,%edx
180040f64:	44 8d 04 2b          	lea    (%rbx,%rbp,1),%r8d
180040f68:	41 c1 e0 02          	shl    $0x2,%r8d
180040f6c:	e8 0f 4d 0f 00       	call   0x180135c80
180040f71:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180040f76:	8b c7                	mov    %edi,%eax
180040f78:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180040f7d:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
180040f82:	48 83 c4 20          	add    $0x20,%rsp
180040f86:	5f                   	pop    %rdi
180040f87:	c3                   	ret
180040f88:	cc                   	int3
180040f89:	cc                   	int3
180040f8a:	cc                   	int3
180040f8b:	cc                   	int3
180040f8c:	40 53                	rex push %rbx
180040f8e:	48 83 ec 20          	sub    $0x20,%rsp
180040f92:	48 8b d9             	mov    %rcx,%rbx
180040f95:	45 33 c9             	xor    %r9d,%r9d
180040f98:	8b 89 c0 00 00 00    	mov    0xc0(%rcx),%ecx
180040f9e:	45 33 c0             	xor    %r8d,%r8d
180040fa1:	48 d3 ea             	shr    %cl,%rdx
180040fa4:	48 8d 8b b0 00 00 00 	lea    0xb0(%rbx),%rcx
180040fab:	e8 1c e8 fe ff       	call   0x18002f7cc
180040fb0:	8b c0                	mov    %eax,%eax
180040fb2:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
180040fb7:	48 3b c1             	cmp    %rcx,%rax
180040fba:	75 06                	jne    0x180040fc2
180040fbc:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
180040fc0:	eb 09                	jmp    0x180040fcb
180040fc2:	8b 8b c0 00 00 00    	mov    0xc0(%rbx),%ecx
180040fc8:	48 d3 e0             	shl    %cl,%rax
180040fcb:	48 83 c4 20          	add    $0x20,%rsp
180040fcf:	5b                   	pop    %rbx
180040fd0:	c3                   	ret
180040fd1:	cc                   	int3
180040fd2:	cc                   	int3
180040fd3:	cc                   	int3
180040fd4:	40 53                	rex push %rbx
180040fd6:	48 83 ec 20          	sub    $0x20,%rsp
180040fda:	48 8b d9             	mov    %rcx,%rbx
180040fdd:	48 81 c1 b0 00 00 00 	add    $0xb0,%rcx
180040fe4:	e8 eb e9 fe ff       	call   0x18002f9d4
180040fe9:	8b c0                	mov    %eax,%eax
180040feb:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
180040ff0:	48 3b c1             	cmp    %rcx,%rax
180040ff3:	75 04                	jne    0x180040ff9
180040ff5:	33 c0                	xor    %eax,%eax
180040ff7:	eb 09                	jmp    0x180041002
180040ff9:	8b 8b c0 00 00 00    	mov    0xc0(%rbx),%ecx
180040fff:	48 d3 e0             	shl    %cl,%rax
180041002:	48 83 c4 20          	add    $0x20,%rsp
180041006:	5b                   	pop    %rbx
180041007:	c3                   	ret
180041008:	cc                   	int3
180041009:	cc                   	int3
18004100a:	cc                   	int3
18004100b:	cc                   	int3
18004100c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180041011:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
180041016:	57                   	push   %rdi
180041017:	48 83 ec 20          	sub    $0x20,%rsp
18004101b:	48 8b f9             	mov    %rcx,%rdi
18004101e:	4c 8b c2             	mov    %rdx,%r8
180041021:	48 8b ca             	mov    %rdx,%rcx
180041024:	e8 47 d9 0f 00       	call   0x18013e970
180041029:	8b 8f c0 00 00 00    	mov    0xc0(%rdi),%ecx
18004102f:	48 8b f0             	mov    %rax,%rsi
180041032:	48 8b 50 30          	mov    0x30(%rax),%rdx
180041036:	48 d3 ea             	shr    %cl,%rdx
180041039:	48 8b 8f a8 00 00 00 	mov    0xa8(%rdi),%rcx
180041040:	e8 db 28 00 00       	call   0x180043920
180041045:	8b d8                	mov    %eax,%ebx
180041047:	85 c0                	test   %eax,%eax
180041049:	78 2f                	js     0x18004107a
18004104b:	8b 8f c0 00 00 00    	mov    0xc0(%rdi),%ecx
180041051:	4c 8b 4e 30          	mov    0x30(%rsi),%r9
180041055:	4c 8b 46 20          	mov    0x20(%rsi),%r8
180041059:	49 8b d1             	mov    %r9,%rdx
18004105c:	48 d3 ea             	shr    %cl,%rdx
18004105f:	49 ff c9             	dec    %r9
180041062:	4d 03 c1             	add    %r9,%r8
180041065:	49 d3 e8             	shr    %cl,%r8
180041068:	48 8d 8f b0 00 00 00 	lea    0xb0(%rdi),%rcx
18004106f:	44 2b c2             	sub    %edx,%r8d
180041072:	41 ff c0             	inc    %r8d
180041075:	e8 ba e8 fe ff       	call   0x18002f934
18004107a:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18004107f:	8b c3                	mov    %ebx,%eax
180041081:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180041086:	48 83 c4 20          	add    $0x20,%rsp
18004108a:	5f                   	pop    %rdi
18004108b:	c3                   	ret
18004108c:	cc                   	int3
18004108d:	cc                   	int3
18004108e:	cc                   	int3
18004108f:	cc                   	int3
180041090:	48 83 ec 28          	sub    $0x28,%rsp
180041094:	48 8b 89 a8 00 00 00 	mov    0xa8(%rcx),%rcx
18004109b:	48 85 d2             	test   %rdx,%rdx
18004109e:	49 8b d0             	mov    %r8,%rdx
1800410a1:	74 07                	je     0x1800410aa
1800410a3:	e8 64 2b 00 00       	call   0x180043c0c
1800410a8:	eb 05                	jmp    0x1800410af
1800410aa:	e8 55 2a 00 00       	call   0x180043b04
1800410af:	48 83 c4 28          	add    $0x28,%rsp
1800410b3:	c3                   	ret
1800410b4:	cc                   	int3
1800410b5:	cc                   	int3
1800410b6:	cc                   	int3
1800410b7:	cc                   	int3
1800410b8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800410bd:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800410c2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800410c7:	57                   	push   %rdi
1800410c8:	41 56                	push   %r14
1800410ca:	41 57                	push   %r15
1800410cc:	48 83 ec 20          	sub    $0x20,%rsp
1800410d0:	4c 8b f1             	mov    %rcx,%r14
1800410d3:	48 8b da             	mov    %rdx,%rbx
1800410d6:	48 8b ca             	mov    %rdx,%rcx
1800410d9:	e8 92 d8 0f 00       	call   0x18013e970
1800410de:	41 8b 8e c0 00 00 00 	mov    0xc0(%r14),%ecx
1800410e5:	4c 8b f8             	mov    %rax,%r15
1800410e8:	49 8b ae a8 00 00 00 	mov    0xa8(%r14),%rbp
1800410ef:	33 ff                	xor    %edi,%edi
1800410f1:	48 8b 70 30          	mov    0x30(%rax),%rsi
1800410f5:	48 d3 ee             	shr    %cl,%rsi
1800410f8:	48 8b cd             	mov    %rbp,%rcx
1800410fb:	48 8b d6             	mov    %rsi,%rdx
1800410fe:	e8 d9 27 00 00       	call   0x1800438dc
180041103:	48 3b c3             	cmp    %rbx,%rax
180041106:	75 44                	jne    0x18004114c
180041108:	45 33 c0             	xor    %r8d,%r8d
18004110b:	48 8b d6             	mov    %rsi,%rdx
18004110e:	48 8b cd             	mov    %rbp,%rcx
180041111:	e8 0a 28 00 00       	call   0x180043920
180041116:	8b f8                	mov    %eax,%edi
180041118:	85 c0                	test   %eax,%eax
18004111a:	78 30                	js     0x18004114c
18004111c:	41 8b 8e c0 00 00 00 	mov    0xc0(%r14),%ecx
180041123:	4d 8b 4f 30          	mov    0x30(%r15),%r9
180041127:	4d 8b 47 20          	mov    0x20(%r15),%r8
18004112b:	49 8b d1             	mov    %r9,%rdx
18004112e:	48 d3 ea             	shr    %cl,%rdx
180041131:	49 ff c9             	dec    %r9
180041134:	4d 03 c1             	add    %r9,%r8
180041137:	49 d3 e8             	shr    %cl,%r8
18004113a:	49 8d 8e b0 00 00 00 	lea    0xb0(%r14),%rcx
180041141:	44 2b c2             	sub    %edx,%r8d
180041144:	41 ff c0             	inc    %r8d
180041147:	e8 48 e7 fe ff       	call   0x18002f894
18004114c:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180041151:	8b c7                	mov    %edi,%eax
180041153:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180041158:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18004115d:	48 83 c4 20          	add    $0x20,%rsp
180041161:	41 5f                	pop    %r15
180041163:	41 5e                	pop    %r14
180041165:	5f                   	pop    %rdi
180041166:	c3                   	ret
180041167:	cc                   	int3
180041168:	48 8b 91 c8 00 00 00 	mov    0xc8(%rcx),%rdx
18004116f:	33 c0                	xor    %eax,%eax
180041171:	48 85 d2             	test   %rdx,%rdx
180041174:	74 12                	je     0x180041188
180041176:	38 82 f8 01 00 00    	cmp    %al,0x1f8(%rdx)
18004117c:	75 0a                	jne    0x180041188
18004117e:	39 82 f0 01 00 00    	cmp    %eax,0x1f0(%rdx)
180041184:	48 0f 44 c2          	cmove  %rdx,%rax
180041188:	c3                   	ret
180041189:	cc                   	int3
18004118a:	cc                   	int3
18004118b:	cc                   	int3
18004118c:	45 33 c0             	xor    %r8d,%r8d
18004118f:	83 fa 01             	cmp    $0x1,%edx
180041192:	75 06                	jne    0x18004119a
180041194:	4c 8d 41 20          	lea    0x20(%rcx),%r8
180041198:	eb 71                	jmp    0x18004120b
18004119a:	4c 8b 15 8f b4 10 00 	mov    0x10b48f(%rip),%r10        # 0x18014c630
1800411a1:	4c 8b 1d 80 b4 10 00 	mov    0x10b480(%rip),%r11        # 0x18014c628
1800411a8:	83 fa 02             	cmp    $0x2,%edx
1800411ab:	75 12                	jne    0x1800411bf
1800411ad:	4c 39 59 70          	cmp    %r11,0x70(%rcx)
1800411b1:	75 06                	jne    0x1800411b9
1800411b3:	4c 39 51 78          	cmp    %r10,0x78(%rcx)
1800411b7:	74 22                	je     0x1800411db
1800411b9:	4c 8d 41 70          	lea    0x70(%rcx),%r8
1800411bd:	eb 4c                	jmp    0x18004120b
1800411bf:	83 fa 03             	cmp    $0x3,%edx
1800411c2:	75 17                	jne    0x1800411db
1800411c4:	4c 8d 89 80 00 00 00 	lea    0x80(%rcx),%r9
1800411cb:	4d 39 19             	cmp    %r11,(%r9)
1800411ce:	75 06                	jne    0x1800411d6
1800411d0:	4d 39 51 08          	cmp    %r10,0x8(%r9)
1800411d4:	74 05                	je     0x1800411db
1800411d6:	4d 8b c1             	mov    %r9,%r8
1800411d9:	eb 30                	jmp    0x18004120b
1800411db:	4c 8b 89 c8 00 00 00 	mov    0xc8(%rcx),%r9
1800411e2:	4d 85 c9             	test   %r9,%r9
1800411e5:	74 24                	je     0x18004120b
1800411e7:	8d 4a fe             	lea    -0x2(%rdx),%ecx
1800411ea:	48 c1 e1 04          	shl    $0x4,%rcx
1800411ee:	49 8d 51 58          	lea    0x58(%r9),%rdx
1800411f2:	48 03 d1             	add    %rcx,%rdx
1800411f5:	48 8b 02             	mov    (%rdx),%rax
1800411f8:	49 2b c3             	sub    %r11,%rax
1800411fb:	75 07                	jne    0x180041204
1800411fd:	48 8b 42 08          	mov    0x8(%rdx),%rax
180041201:	49 2b c2             	sub    %r10,%rax
180041204:	48 85 c0             	test   %rax,%rax
180041207:	4c 0f 45 c2          	cmovne %rdx,%r8
18004120b:	49 8b c0             	mov    %r8,%rax
18004120e:	c3                   	ret
18004120f:	cc                   	int3
180041210:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180041215:	57                   	push   %rdi
180041216:	48 83 ec 20          	sub    $0x20,%rsp
18004121a:	48 8d 05 ff 1d 10 00 	lea    0x101dff(%rip),%rax        # 0x180143020
180041221:	48 8b d9             	mov    %rcx,%rbx
180041224:	48 89 01             	mov    %rax,(%rcx)
180041227:	48 8b 89 40 01 00 00 	mov    0x140(%rcx),%rcx
18004122e:	48 85 c9             	test   %rcx,%rcx
180041231:	74 05                	je     0x180041238
180041233:	e8 24 57 00 00       	call   0x18004695c
180041238:	48 8b 8b 18 01 00 00 	mov    0x118(%rbx),%rcx
18004123f:	48 85 c9             	test   %rcx,%rcx
180041242:	74 05                	je     0x180041249
180041244:	e8 13 57 00 00       	call   0x18004695c
180041249:	48 8b bb c0 00 00 00 	mov    0xc0(%rbx),%rdi
180041250:	48 85 ff             	test   %rdi,%rdi
180041253:	74 10                	je     0x180041265
180041255:	48 8b cf             	mov    %rdi,%rcx
180041258:	e8 bf 25 00 00       	call   0x18004381c
18004125d:	48 8b cf             	mov    %rdi,%rcx
180041260:	e8 f7 56 00 00       	call   0x18004695c
180041265:	48 8b 8b b8 00 00 00 	mov    0xb8(%rbx),%rcx
18004126c:	48 85 c9             	test   %rcx,%rcx
18004126f:	74 05                	je     0x180041276
180041271:	e8 e6 56 00 00       	call   0x18004695c
180041276:	48 8b 8b a0 00 00 00 	mov    0xa0(%rbx),%rcx
18004127d:	48 85 c9             	test   %rcx,%rcx
180041280:	74 05                	je     0x180041287
180041282:	e8 d5 56 00 00       	call   0x18004695c
180041287:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
18004128b:	48 85 c9             	test   %rcx,%rcx
18004128e:	74 05                	je     0x180041295
180041290:	e8 c7 56 00 00       	call   0x18004695c
180041295:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
180041299:	48 85 c9             	test   %rcx,%rcx
18004129c:	74 05                	je     0x1800412a3
18004129e:	e8 b9 56 00 00       	call   0x18004695c
1800412a3:	48 8d 05 1e 1d 10 00 	lea    0x101d1e(%rip),%rax        # 0x180142fc8
1800412aa:	48 89 03             	mov    %rax,(%rbx)
1800412ad:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800412b2:	48 83 c4 20          	add    $0x20,%rsp
1800412b6:	5f                   	pop    %rdi
1800412b7:	c3                   	ret
1800412b8:	cc                   	int3
1800412b9:	cc                   	int3
1800412ba:	cc                   	int3
1800412bb:	cc                   	int3
1800412bc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800412c1:	57                   	push   %rdi
1800412c2:	48 83 ec 20          	sub    $0x20,%rsp
1800412c6:	8b da                	mov    %edx,%ebx
1800412c8:	48 8b f9             	mov    %rcx,%rdi
1800412cb:	e8 40 ff ff ff       	call   0x180041210
1800412d0:	f6 c3 01             	test   $0x1,%bl
1800412d3:	74 08                	je     0x1800412dd
1800412d5:	48 8b cf             	mov    %rdi,%rcx
1800412d8:	e8 7f 56 00 00       	call   0x18004695c
1800412dd:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800412e2:	48 8b c7             	mov    %rdi,%rax
1800412e5:	48 83 c4 20          	add    $0x20,%rsp
1800412e9:	5f                   	pop    %rdi
1800412ea:	c3                   	ret
1800412eb:	cc                   	int3
1800412ec:	83 49 50 ff          	orl    $0xffffffff,0x50(%rcx)
1800412f0:	b8 01 00 00 00       	mov    $0x1,%eax
1800412f5:	66 83 89 20 01 00 00 	orw    $0x10,0x120(%rcx)
1800412fc:	10
1800412fd:	89 41 6c             	mov    %eax,0x6c(%rcx)
180041300:	89 41 70             	mov    %eax,0x70(%rcx)
180041303:	89 81 84 00 00 00    	mov    %eax,0x84(%rcx)
180041309:	33 c0                	xor    %eax,%eax
18004130b:	c7 81 00 01 00 00 05 	movl   $0x5,0x100(%rcx)
180041312:	00 00 00
180041315:	48 c7 41 60 00 00 00 	movq   $0x10000000,0x60(%rcx)
18004131c:	10
18004131d:	c3                   	ret
18004131e:	cc                   	int3
18004131f:	cc                   	int3
180041320:	48 8b c4             	mov    %rsp,%rax
180041323:	48 89 58 08          	mov    %rbx,0x8(%rax)
180041327:	48 89 68 10          	mov    %rbp,0x10(%rax)