180036f4b:	66 0f 43 c1          	cmovae %cx,%ax
180036f4f:	0f b7 c0             	movzwl %ax,%eax
180036f52:	39 45 58             	cmp    %eax,0x58(%rbp)
180036f55:	74 07                	je     0x180036f5e
180036f57:	bb 06 02 00 c0       	mov    $0xc0000206,%ebx
180036f5c:	eb 1e                	jmp    0x180036f7c
180036f5e:	44 8b 45 58          	mov    0x58(%rbp),%r8d
180036f62:	48 8d 57 0c          	lea    0xc(%rdi),%rdx
180036f66:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
180036f6a:	e8 51 ea 0f 00       	call   0x1801359c0
180036f6f:	eb 0b                	jmp    0x180036f7c
180036f71:	48 8b 75 f0          	mov    -0x10(%rbp),%rsi
180036f75:	eb 05                	jmp    0x180036f7c
180036f77:	bb 01 00 00 c0       	mov    $0xc0000001,%ebx
180036f7c:	48 85 f6             	test   %rsi,%rsi
180036f7f:	74 08                	je     0x180036f89
180036f81:	48 8b ce             	mov    %rsi,%rcx
180036f84:	e8 9f 7d 07 00       	call   0x1800aed28
180036f89:	48 85 ff             	test   %rdi,%rdi
180036f8c:	74 08                	je     0x180036f96
180036f8e:	48 8b cf             	mov    %rdi,%rcx
180036f91:	e8 92 7d 07 00       	call   0x1800aed28
180036f96:	85 db                	test   %ebx,%ebx
180036f98:	79 24                	jns    0x180036fbe
180036f9a:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
180036f9f:	45 33 c9             	xor    %r9d,%r9d
180036fa2:	45 33 c0             	xor    %r8d,%r8d
180036fa5:	8b d3                	mov    %ebx,%edx
180036fa7:	41 8d 49 27          	lea    0x27(%r9),%ecx
180036fab:	e8 e4 1b ff ff       	call   0x180028b94
180036fb0:	8b d3                	mov    %ebx,%edx
180036fb2:	48 8d 0d b7 55 11 00 	lea    0x1155b7(%rip),%rcx        # 0x18014c570
180036fb9:	e8 a6 a8 02 00       	call   0x180061864
180036fbe:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
180036fc3:	8b c3                	mov    %ebx,%eax
180036fc5:	49 8b 5b 30          	mov    0x30(%r11),%rbx
180036fc9:	49 8b 73 40          	mov    0x40(%r11),%rsi
180036fcd:	49 8b e3             	mov    %r11,%rsp
180036fd0:	41 5f                	pop    %r15
180036fd2:	41 5e                	pop    %r14
180036fd4:	41 5c                	pop    %r12
180036fd6:	5f                   	pop    %rdi
180036fd7:	5d                   	pop    %rbp
180036fd8:	c3                   	ret
180036fd9:	cc                   	int3
180036fda:	cc                   	int3
180036fdb:	cc                   	int3
180036fdc:	4c 8b dc             	mov    %rsp,%r11
180036fdf:	49 89 5b 08          	mov    %rbx,0x8(%r11)
180036fe3:	49 89 73 10          	mov    %rsi,0x10(%r11)
180036fe7:	49 89 7b 18          	mov    %rdi,0x18(%r11)
180036feb:	4d 89 7b 20          	mov    %r15,0x20(%r11)
180036fef:	55                   	push   %rbp
180036ff0:	48 8b ec             	mov    %rsp,%rbp
180036ff3:	48 83 ec 50          	sub    $0x50,%rsp
180036ff7:	48 83 65 f0 00       	andq   $0x0,-0x10(%rbp)
180036ffc:	48 8d 7d e4          	lea    -0x1c(%rbp),%rdi
180037000:	48 83 65 e8 00       	andq   $0x0,-0x18(%rbp)
180037005:	49 8b c1             	mov    %r9,%rax
180037008:	44 8b 4d 30          	mov    0x30(%rbp),%r9d
18003700c:	4d 8b f8             	mov    %r8,%r15
18003700f:	83 65 e4 00          	andl   $0x0,-0x1c(%rbp)
180037013:	4c 8b c0             	mov    %rax,%r8
180037016:	83 65 e0 00          	andl   $0x0,-0x20(%rbp)
18003701a:	49 89 7b d0          	mov    %rdi,-0x30(%r11)
18003701e:	48 8d 7d f0          	lea    -0x10(%rbp),%rdi
180037022:	49 89 7b c8          	mov    %rdi,-0x38(%r11)
180037026:	e8 fd f8 ff ff       	call   0x180036928
18003702b:	48 8b 5d f0          	mov    -0x10(%rbp),%rbx
18003702f:	8b f0                	mov    %eax,%esi
180037031:	85 c0                	test   %eax,%eax
180037033:	78 65                	js     0x18003709a
180037035:	8b 55 e4             	mov    -0x1c(%rbp),%edx
180037038:	4c 8d 4d e0          	lea    -0x20(%rbp),%r9
18003703c:	8b 7b 04             	mov    0x4(%rbx),%edi
18003703f:	4c 8d 45 e8          	lea    -0x18(%rbp),%r8
180037043:	48 8b cb             	mov    %rbx,%rcx
180037046:	e8 d5 fb ff ff       	call   0x180036c20
18003704b:	8b f0                	mov    %eax,%esi
18003704d:	85 c0                	test   %eax,%eax
18003704f:	78 2e                	js     0x18003707f
180037051:	8b 45 40             	mov    0x40(%rbp),%eax
180037054:	4d 8b cf             	mov    %r15,%r9
180037057:	44 8b 45 e0          	mov    -0x20(%rbp),%r8d
18003705b:	8b cf                	mov    %edi,%ecx
18003705d:	48 8b 55 e8          	mov    -0x18(%rbp),%rdx
180037061:	89 44 24 28          	mov    %eax,0x28(%rsp)
180037065:	48 8b 45 38          	mov    0x38(%rbp),%rax
180037069:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18003706e:	e8 51 fd ff ff       	call   0x180036dc4
180037073:	8b f0                	mov    %eax,%esi
180037075:	b8 25 02 00 c0       	mov    $0xc0000225,%eax
18003707a:	85 f6                	test   %esi,%esi
18003707c:	0f 48 f0             	cmovs  %eax,%esi
18003707f:	48 83 7d e8 00       	cmpq   $0x0,-0x18(%rbp)
180037084:	74 14                	je     0x18003709a
180037086:	8b 4d e0             	mov    -0x20(%rbp),%ecx
180037089:	33 c0                	xor    %eax,%eax
18003708b:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
18003708f:	f3 aa                	rep stos %al,%es:(%rdi)
180037091:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
180037095:	e8 62 2f 06 00       	call   0x180099ffc
18003709a:	48 85 db             	test   %rbx,%rbx
18003709d:	74 12                	je     0x1800370b1
18003709f:	8b 4d e4             	mov    -0x1c(%rbp),%ecx
1800370a2:	33 c0                	xor    %eax,%eax
1800370a4:	48 8b fb             	mov    %rbx,%rdi
1800370a7:	f3 aa                	rep stos %al,%es:(%rdi)
1800370a9:	48 8b cb             	mov    %rbx,%rcx
1800370ac:	e8 4b 2f 06 00       	call   0x180099ffc
1800370b1:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1800370b6:	8b c6                	mov    %esi,%eax
1800370b8:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
1800370bd:	48 8b 7c 24 70       	mov    0x70(%rsp),%rdi
1800370c2:	4c 8b 7c 24 78       	mov    0x78(%rsp),%r15
1800370c7:	48 83 c4 50          	add    $0x50,%rsp
1800370cb:	5d                   	pop    %rbp
1800370cc:	c3                   	ret
1800370cd:	cc                   	int3
1800370ce:	cc                   	int3
1800370cf:	cc                   	int3
1800370d0:	48 8b c4             	mov    %rsp,%rax
1800370d3:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800370d7:	48 89 70 10          	mov    %rsi,0x10(%rax)
1800370db:	48 89 78 18          	mov    %rdi,0x18(%rax)
1800370df:	4c 89 70 20          	mov    %r14,0x20(%rax)
1800370e3:	41 57                	push   %r15
1800370e5:	48 83 ec 60          	sub    $0x60,%rsp
1800370e9:	83 48 c8 ff          	orl    $0xffffffff,-0x38(%rax)
1800370ed:	0f 57 c0             	xorps  %xmm0,%xmm0
1800370f0:	4d 8b f1             	mov    %r9,%r14
1800370f3:	4d 8b f8             	mov    %r8,%r15
1800370f6:	33 db                	xor    %ebx,%ebx
1800370f8:	4c 8d 48 c8          	lea    -0x38(%rax),%r9
1800370fc:	0f 11 40 d0          	movups %xmm0,-0x30(%rax)
180037100:	0f 11 40 e0          	movups %xmm0,-0x20(%rax)
180037104:	44 8d 43 01          	lea    0x1(%rbx),%r8d
180037108:	e8 0f 13 03 00       	call   0x18006841c
18003710d:	8b f8                	mov    %eax,%edi
18003710f:	85 c0                	test   %eax,%eax
180037111:	78 70                	js     0x180037183
180037113:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
180037117:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
18003711c:	e8 f7 1b 03 00       	call   0x180068d18
180037121:	8b f8                	mov    %eax,%edi
180037123:	85 c0                	test   %eax,%eax
180037125:	78 5c                	js     0x180037183
180037127:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18003712c:	48 81 fe ff 0f 00 00 	cmp    $0xfff,%rsi
180037133:	72 07                	jb     0x18003713c
180037135:	bf 04 09 00 c0       	mov    $0xc0000904,%edi
18003713a:	eb 47                	jmp    0x180037183
18003713c:	8d 4e 01             	lea    0x1(%rsi),%ecx
18003713f:	e8 0c 2d 06 00       	call   0x180099e50
180037144:	48 8b d8             	mov    %rax,%rbx
180037147:	48 85 c0             	test   %rax,%rax
18003714a:	75 07                	jne    0x180037153
18003714c:	bf 17 00 00 c0       	mov    $0xc0000017,%edi
180037151:	eb 30                	jmp    0x180037183
180037153:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
180037158:	4c 8b cb             	mov    %rbx,%r9
18003715b:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
18003715f:	45 33 c0             	xor    %r8d,%r8d
180037162:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
180037168:	8b d6                	mov    %esi,%edx
18003716a:	e8 e1 1d 03 00       	call   0x180068f50
18003716f:	8b f8                	mov    %eax,%edi
180037171:	85 c0                	test   %eax,%eax
180037173:	78 0e                	js     0x180037183
180037175:	8b c6                	mov    %esi,%eax
180037177:	49 89 1f             	mov    %rbx,(%r15)
18003717a:	41 89 36             	mov    %esi,(%r14)
18003717d:	c6 04 18 00          	movb   $0x0,(%rax,%rbx,1)
180037181:	33 db                	xor    %ebx,%ebx
180037183:	83 7c 24 30 ff       	cmpl   $0xffffffff,0x30(%rsp)
180037188:	74 09                	je     0x180037193
18003718a:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
18003718e:	e8 6d 13 03 00       	call   0x180068500
180037193:	48 85 db             	test   %rbx,%rbx
180037196:	74 08                	je     0x1800371a0
180037198:	48 8b cb             	mov    %rbx,%rcx
18003719b:	e8 5c 2e 06 00       	call   0x180099ffc
1800371a0:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
1800371a5:	8b c7                	mov    %edi,%eax
1800371a7:	49 8b 5b 10          	mov    0x10(%r11),%rbx
1800371ab:	49 8b 73 18          	mov    0x18(%r11),%rsi
1800371af:	49 8b 7b 20          	mov    0x20(%r11),%rdi
1800371b3:	4d 8b 73 28          	mov    0x28(%r11),%r14
1800371b7:	49 8b e3             	mov    %r11,%rsp
1800371ba:	41 5f                	pop    %r15
1800371bc:	c3                   	ret
1800371bd:	cc                   	int3
1800371be:	cc                   	int3
1800371bf:	cc                   	int3
1800371c0:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1800371c5:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1800371ca:	53                   	push   %rbx
1800371cb:	55                   	push   %rbp
1800371cc:	56                   	push   %rsi
1800371cd:	57                   	push   %rdi
1800371ce:	48 83 ec 28          	sub    $0x28,%rsp
1800371d2:	33 ed                	xor    %ebp,%ebp
1800371d4:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
1800371d8:	48 3d fe ff ff 7f    	cmp    $0x7ffffffe,%rax
1800371de:	48 8b f1             	mov    %rcx,%rsi
1800371e1:	8b fd                	mov    %ebp,%edi
1800371e3:	b9 0d 00 00 c0       	mov    $0xc000000d,%ecx
1800371e8:	0f 47 f9             	cmova  %ecx,%edi
1800371eb:	85 ff                	test   %edi,%edi
1800371ed:	78 34                	js     0x180037223
1800371ef:	48 8d 5a ff          	lea    -0x1(%rdx),%rbx
1800371f3:	48 8b ce             	mov    %rsi,%rcx
1800371f6:	48 8b d3             	mov    %rbx,%rdx
1800371f9:	4c 8d 4c 24 68       	lea    0x68(%rsp),%r9
1800371fe:	8b fd                	mov    %ebp,%edi
180037200:	e8 f3 4c 0f 00       	call   0x18012bef8
180037205:	85 c0                	test   %eax,%eax
180037207:	78 0f                	js     0x180037218
180037209:	48 98                	cltq
18003720b:	48 3b c3             	cmp    %rbx,%rax
18003720e:	77 08                	ja     0x180037218
180037210:	75 19                	jne    0x18003722b
180037212:	66 89 2c 5e          	mov    %bp,(%rsi,%rbx,2)
180037216:	eb 13                	jmp    0x18003722b
180037218:	66 89 2c 5e          	mov    %bp,(%rsi,%rbx,2)
18003721c:	bf 05 00 00 80       	mov    $0x80000005,%edi
180037221:	eb 08                	jmp    0x18003722b
180037223:	48 85 d2             	test   %rdx,%rdx
180037226:	74 03                	je     0x18003722b
180037228:	66 89 2e             	mov    %bp,(%rsi)
18003722b:	8b c7                	mov    %edi,%eax
18003722d:	48 83 c4 28          	add    $0x28,%rsp
180037231:	5f                   	pop    %rdi
180037232:	5e                   	pop    %rsi
180037233:	5d                   	pop    %rbp
180037234:	5b                   	pop    %rbx
180037235:	c3                   	ret
180037236:	cc                   	int3
180037237:	cc                   	int3
180037238:	45 33 d2             	xor    %r10d,%r10d
18003723b:	4d 8b d8             	mov    %r8,%r11
18003723e:	4d 85 c9             	test   %r9,%r9
180037241:	74 69                	je     0x1800372ac
180037243:	4d 89 11             	mov    %r10,(%r9)
180037246:	f7 c1 fe ff ff ff    	test   $0xfffffffe,%ecx
18003724c:	75 5e                	jne    0x1800372ac
18003724e:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
180037252:	48 83 f8 fd          	cmp    $0xfffffffffffffffd,%rax
180037256:	77 54                	ja     0x1800372ac
180037258:	f6 d1                	not    %cl
18003725a:	80 e1 01             	and    $0x1,%cl
18003725d:	74 0e                	je     0x18003726d
18003725f:	49 83 f8 40          	cmp    $0x40,%r8
180037263:	73 08                	jae    0x18003726d
180037265:	41 ba 7b 00 00 c0    	mov    $0xc000007b,%r10d
18003726b:	eb 45                	jmp    0x1800372b2
18003726d:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
180037272:	66 39 02             	cmp    %ax,(%rdx)
180037275:	75 ee                	jne    0x180037265
180037277:	44 8b 42 3c          	mov    0x3c(%rdx),%r8d
18003727b:	84 c9                	test   %cl,%cl
18003727d:	74 17                	je     0x180037296
18003727f:	41 8b c0             	mov    %r8d,%eax
180037282:	4d 3b c3             	cmp    %r11,%r8
180037285:	73 de                	jae    0x180037265
180037287:	41 83 f8 e7          	cmp    $0xffffffe7,%r8d
18003728b:	73 d8                	jae    0x180037265
18003728d:	48 83 c0 18          	add    $0x18,%rax
180037291:	49 3b c3             	cmp    %r11,%rax
180037294:	73 cf                	jae    0x180037265
180037296:	4a 8d 04 02          	lea    (%rdx,%r8,1),%rax
18003729a:	48 3b c2             	cmp    %rdx,%rax
18003729d:	72 c6                	jb     0x180037265
18003729f:	81 38 50 45 00 00    	cmpl   $0x4550,(%rax)
1800372a5:	75 be                	jne    0x180037265
1800372a7:	49 89 01             	mov    %rax,(%r9)
1800372aa:	eb 06                	jmp    0x1800372b2
1800372ac:	41 ba 0d 00 00 c0    	mov    $0xc000000d,%r10d
1800372b2:	41 8b c2             	mov    %r10d,%eax
1800372b5:	c3                   	ret
1800372b6:	cc                   	int3
1800372b7:	cc                   	int3
1800372b8:	8b 02                	mov    (%rdx),%eax
1800372ba:	39 01                	cmp    %eax,(%rcx)
1800372bc:	76 07                	jbe    0x1800372c5
1800372be:	b8 01 00 00 00       	mov    $0x1,%eax
1800372c3:	c3                   	ret
1800372c4:	cc                   	int3
1800372c5:	1b c0                	sbb    %eax,%eax
1800372c7:	c3                   	ret
1800372c8:	cc                   	int3
1800372c9:	cc                   	int3
1800372ca:	cc                   	int3
1800372cb:	cc                   	int3
1800372cc:	48 8b c4             	mov    %rsp,%rax
1800372cf:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800372d3:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800372d7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800372db:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800372df:	41 54                	push   %r12
1800372e1:	41 56                	push   %r14
1800372e3:	41 57                	push   %r15
1800372e5:	48 83 ec 20          	sub    $0x20,%rsp
1800372e9:	49 8b f8             	mov    %r8,%rdi
1800372ec:	4d 8b f9             	mov    %r9,%r15
1800372ef:	49 0f af f9          	imul   %r9,%rdi
1800372f3:	49 8b f0             	mov    %r8,%rsi
1800372f6:	48 8b da             	mov    %rdx,%rbx
1800372f9:	48 03 fa             	add    %rdx,%rdi
1800372fc:	4c 8b e1             	mov    %rcx,%r12
1800372ff:	48 3b d7             	cmp    %rdi,%rdx
180037302:	73 3f                	jae    0x180037343
180037304:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
180037309:	48 8b ee             	mov    %rsi,%rbp
18003730c:	48 d1 ed             	shr    $1,%rbp
18003730f:	49 8b cc             	mov    %r12,%rcx
180037312:	4c 8b f5             	mov    %rbp,%r14
180037315:	4d 0f af f7          	imul   %r15,%r14
180037319:	4c 03 f3             	add    %rbx,%r14
18003731c:	49 8b d6             	mov    %r14,%rdx
18003731f:	ff d0                	call   *%rax
180037321:	0f 1f 00             	nopl   (%rax)
180037324:	85 c0                	test   %eax,%eax
180037326:	7f 08                	jg     0x180037330
180037328:	48 8b f5             	mov    %rbp,%rsi
18003732b:	49 8b fe             	mov    %r14,%rdi
18003732e:	eb 0e                	jmp    0x18003733e
180037330:	48 83 c9 ff          	or     $0xffffffffffffffff,%rcx
180037334:	4b 8d 1c 3e          	lea    (%r14,%r15,1),%rbx
180037338:	48 2b cd             	sub    %rbp,%rcx
18003733b:	48 03 f1             	add    %rcx,%rsi
18003733e:	48 3b df             	cmp    %rdi,%rbx
180037341:	72 c1                	jb     0x180037304
180037343:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180037348:	48 8b c3             	mov    %rbx,%rax
18003734b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180037350:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180037355:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
18003735a:	48 83 c4 20          	add    $0x20,%rsp
18003735e:	41 5f                	pop    %r15
180037360:	41 5e                	pop    %r14
180037362:	41 5c                	pop    %r12
180037364:	c3                   	ret
180037365:	cc                   	int3
180037366:	cc                   	int3
180037367:	cc                   	int3
180037368:	48 8b c4             	mov    %rsp,%rax
18003736b:	48 89 58 08          	mov    %rbx,0x8(%rax)
18003736f:	48 89 68 10          	mov    %rbp,0x10(%rax)
180037373:	48 89 70 18          	mov    %rsi,0x18(%rax)