18005d0a2:	8b da                	mov    %edx,%ebx
18005d0a4:	48 8b f9             	mov    %rcx,%rdi
18005d0a7:	e8 1c 00 00 00       	call   0x18005d0c8
18005d0ac:	f6 c3 01             	test   $0x1,%bl
18005d0af:	74 08                	je     0x18005d0b9
18005d0b1:	48 8b cf             	mov    %rdi,%rcx
18005d0b4:	e8 a3 98 fe ff       	call   0x18004695c
18005d0b9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18005d0be:	48 8b c7             	mov    %rdi,%rax
18005d0c1:	48 83 c4 20          	add    $0x20,%rsp
18005d0c5:	5f                   	pop    %rdi
18005d0c6:	c3                   	ret
18005d0c7:	cc                   	int3
18005d0c8:	40 53                	rex push %rbx
18005d0ca:	48 83 ec 20          	sub    $0x20,%rsp
18005d0ce:	48 8d 05 4b 68 0e 00 	lea    0xe684b(%rip),%rax        # 0x180143920
18005d0d5:	48 8b d9             	mov    %rcx,%rbx
18005d0d8:	48 89 01             	mov    %rax,(%rcx)
18005d0db:	48 8b 49 58          	mov    0x58(%rcx),%rcx
18005d0df:	48 85 c9             	test   %rcx,%rcx
18005d0e2:	74 05                	je     0x18005d0e9
18005d0e4:	e8 73 98 fe ff       	call   0x18004695c
18005d0e9:	48 8b cb             	mov    %rbx,%rcx
18005d0ec:	e8 cf 46 ff ff       	call   0x1800517c0
18005d0f1:	48 83 c4 20          	add    $0x20,%rsp
18005d0f5:	5b                   	pop    %rbx
18005d0f6:	c3                   	ret
18005d0f7:	cc                   	int3
18005d0f8:	48 8b c4             	mov    %rsp,%rax
18005d0fb:	48 89 58 08          	mov    %rbx,0x8(%rax)
18005d0ff:	48 89 70 10          	mov    %rsi,0x10(%rax)
18005d103:	48 89 78 18          	mov    %rdi,0x18(%rax)
18005d107:	4c 89 68 20          	mov    %r13,0x20(%rax)
18005d10b:	55                   	push   %rbp
18005d10c:	41 56                	push   %r14
18005d10e:	41 57                	push   %r15
18005d110:	48 8d 68 d8          	lea    -0x28(%rax),%rbp
18005d114:	48 81 ec 10 01 00 00 	sub    $0x110,%rsp
18005d11b:	48 8b d9             	mov    %rcx,%rbx
18005d11e:	4c 8b ea             	mov    %rdx,%r13
18005d121:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
18005d126:	e8 3d 9e fe ff       	call   0x180046f68
18005d12b:	4c 8b 55 50          	mov    0x50(%rbp),%r10
18005d12f:	49 8b d5             	mov    %r13,%rdx
18005d132:	48 8b cb             	mov    %rbx,%rcx
18005d135:	4c 89 54 24 20       	mov    %r10,0x20(%rsp)
18005d13a:	e8 e1 46 ff ff       	call   0x180051820
18005d13f:	8b f8                	mov    %eax,%edi
18005d141:	85 c0                	test   %eax,%eax
18005d143:	0f 88 44 02 00 00    	js     0x18005d38d
18005d149:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
18005d14d:	41 be 01 00 00 00    	mov    $0x1,%r14d
18005d153:	83 49 2c 04          	orl    $0x4,0x2c(%rcx)
18005d157:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005d15b:	48 83 b8 b0 03 00 00 	cmpq   $0x0,0x3b0(%rax)
18005d162:	00
18005d163:	0f 85 08 01 00 00    	jne    0x18005d271
18005d169:	bf e0 00 00 00       	mov    $0xe0,%edi
18005d16e:	8b cf                	mov    %edi,%ecx
18005d170:	e8 9f 97 fe ff       	call   0x180046914
18005d175:	48 85 c0             	test   %rax,%rax
18005d178:	74 0d                	je     0x18005d187
18005d17a:	48 8b c8             	mov    %rax,%rcx
18005d17d:	e8 e6 9d fe ff       	call   0x180046f68
18005d182:	48 8b c8             	mov    %rax,%rcx
18005d185:	eb 02                	jmp    0x18005d189
18005d187:	33 c9                	xor    %ecx,%ecx
18005d189:	48 85 c9             	test   %rcx,%rcx
18005d18c:	75 0a                	jne    0x18005d198
18005d18e:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
18005d193:	e9 f5 01 00 00       	jmp    0x18005d38d
18005d198:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005d19c:	44 88 b0 dc 03 00 00 	mov    %r14b,0x3dc(%rax)
18005d1a3:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005d1a7:	48 89 88 b0 03 00 00 	mov    %rcx,0x3b0(%rax)
18005d1ae:	48 8b cf             	mov    %rdi,%rcx
18005d1b1:	e8 5e 97 fe ff       	call   0x180046914
18005d1b6:	48 85 c0             	test   %rax,%rax
18005d1b9:	74 0d                	je     0x18005d1c8
18005d1bb:	48 8b c8             	mov    %rax,%rcx
18005d1be:	e8 a5 9d fe ff       	call   0x180046f68
18005d1c3:	48 8b f0             	mov    %rax,%rsi
18005d1c6:	eb 02                	jmp    0x18005d1ca
18005d1c8:	33 f6                	xor    %esi,%esi
18005d1ca:	48 85 f6             	test   %rsi,%rsi
18005d1cd:	74 bf                	je     0x18005d18e
18005d1cf:	8a 4b 2a             	mov    0x2a(%rbx),%cl
18005d1d2:	45 33 c0             	xor    %r8d,%r8d
18005d1d5:	4d 8b ce             	mov    %r14,%r9
18005d1d8:	49 d3 e1             	shl    %cl,%r9
18005d1db:	48 8d 4e 60          	lea    0x60(%rsi),%rcx
18005d1df:	41 8d 50 03          	lea    0x3(%r8),%edx
18005d1e3:	e8 b4 99 fe ff       	call   0x180046b9c
18005d1e8:	8b f8                	mov    %eax,%edi
18005d1ea:	85 c0                	test   %eax,%eax
18005d1ec:	78 33                	js     0x18005d221
18005d1ee:	48 8b 43 20          	mov    0x20(%rbx),%rax
18005d1f2:	48 85 c0             	test   %rax,%rax
18005d1f5:	74 06                	je     0x18005d1fd
18005d1f7:	48 83 c0 58          	add    $0x58,%rax
18005d1fb:	eb 08                	jmp    0x18005d205
18005d1fd:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005d201:	48 83 c0 50          	add    $0x50,%rax
18005d205:	8b 48 10             	mov    0x10(%rax),%ecx
18005d208:	c1 e1 03             	shl    $0x3,%ecx
18005d20b:	48 83 c1 18          	add    $0x18,%rcx
18005d20f:	e8 00 97 fe ff       	call   0x180046914
18005d214:	48 8b c8             	mov    %rax,%rcx
18005d217:	48 85 c0             	test   %rax,%rax
18005d21a:	75 1b                	jne    0x18005d237
18005d21c:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
18005d221:	48 8b 06             	mov    (%rsi),%rax
18005d224:	41 8b d6             	mov    %r14d,%edx
18005d227:	48 8b ce             	mov    %rsi,%rcx
18005d22a:	48 8b 00             	mov    (%rax),%rax
18005d22d:	ff d0                	call   *%rax
18005d22f:	0f 1f 00             	nopl   (%rax)
18005d232:	e9 56 01 00 00       	jmp    0x18005d38d
18005d237:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005d23b:	33 ff                	xor    %edi,%edi
18005d23d:	49 8b d6             	mov    %r14,%rdx
18005d240:	44 88 b0 24 04 00 00 	mov    %r14b,0x424(%rax)
18005d247:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005d24b:	48 89 b0 f8 03 00 00 	mov    %rsi,0x3f8(%rax)
18005d252:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005d256:	48 89 88 18 04 00 00 	mov    %rcx,0x418(%rax)
18005d25d:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005d261:	8a 4b 2a             	mov    0x2a(%rbx),%cl
18005d264:	48 d3 e2             	shl    %cl,%rdx
18005d267:	89 90 20 04 00 00    	mov    %edx,0x420(%rax)
18005d26d:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005d271:	48 8b 88 90 00 00 00 	mov    0x90(%rax),%rcx
18005d278:	48 85 c9             	test   %rcx,%rcx
18005d27b:	74 20                	je     0x18005d29d
18005d27d:	48 8b 89 60 01 00 00 	mov    0x160(%rcx),%rcx
18005d284:	48 8b 53 10          	mov    0x10(%rbx),%rdx
18005d288:	48 8b 01             	mov    (%rcx),%rax
18005d28b:	48 8b 40 68          	mov    0x68(%rax),%rax
18005d28f:	ff d0                	call   *%rax
18005d291:	0f 1f 00             	nopl   (%rax)
18005d294:	48 85 c0             	test   %rax,%rax
18005d297:	0f 85 f0 00 00 00    	jne    0x18005d38d
18005d29d:	48 8b 43 20          	mov    0x20(%rbx),%rax
18005d2a1:	48 85 c0             	test   %rax,%rax
18005d2a4:	74 06                	je     0x18005d2ac
18005d2a6:	48 83 c0 38          	add    $0x38,%rax
18005d2aa:	eb 08                	jmp    0x18005d2b4
18005d2ac:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005d2b0:	48 83 c0 30          	add    $0x30,%rax
18005d2b4:	8a 4b 2a             	mov    0x2a(%rbx),%cl
18005d2b7:	4c 8b 78 08          	mov    0x8(%rax),%r15
18005d2bb:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
18005d2c0:	49 d3 ef             	shr    %cl,%r15
18005d2c3:	49 8d 77 1f          	lea    0x1f(%r15),%rsi
18005d2c7:	48 c1 ee 03          	shr    $0x3,%rsi
18005d2cb:	48 23 f0             	and    %rax,%rsi
18005d2ce:	48 8b ce             	mov    %rsi,%rcx
18005d2d1:	e8 3e 96 fe ff       	call   0x180046914
18005d2d6:	4c 8b f0             	mov    %rax,%r14
18005d2d9:	48 85 c0             	test   %rax,%rax
18005d2dc:	0f 84 ac fe ff ff    	je     0x18005d18e
18005d2e2:	48 83 7b 40 00       	cmpq   $0x0,0x40(%rbx)
18005d2e7:	75 0e                	jne    0x18005d2f7
18005d2e9:	4c 8b c6             	mov    %rsi,%r8
18005d2ec:	83 ca ff             	or     $0xffffffff,%edx
18005d2ef:	48 8b c8             	mov    %rax,%rcx
18005d2f2:	e8 89 89 0d 00       	call   0x180135c80
18005d2f7:	44 89 7b 50          	mov    %r15d,0x50(%rbx)
18005d2fb:	4c 89 73 58          	mov    %r14,0x58(%rbx)
18005d2ff:	48 83 7b 40 00       	cmpq   $0x0,0x40(%rbx)
18005d304:	0f 85 83 00 00 00    	jne    0x18005d38d
18005d30a:	49 8b 45 10          	mov    0x10(%r13),%rax
18005d30e:	8a 48 1e             	mov    0x1e(%rax),%cl
18005d311:	84 c9                	test   %cl,%cl
18005d313:	79 78                	jns    0x18005d38d
18005d315:	48 83 7b 10 00       	cmpq   $0x0,0x10(%rbx)
18005d31a:	75 71                	jne    0x18005d38d
18005d31c:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005d320:	48 8d 4d 90          	lea    -0x70(%rbp),%rcx
18005d324:	45 33 c0             	xor    %r8d,%r8d
18005d327:	8b 70 7c             	mov    0x7c(%rax),%esi
18005d32a:	44 8b ce             	mov    %esi,%r9d
18005d32d:	41 8d 50 03          	lea    0x3(%r8),%edx
18005d331:	e8 66 98 fe ff       	call   0x180046b9c
18005d336:	8b f8                	mov    %eax,%edi
18005d338:	85 c0                	test   %eax,%eax
18005d33a:	78 51                	js     0x18005d38d
18005d33c:	48 8b 4d 98          	mov    -0x68(%rbp),%rcx
18005d340:	44 8b c6             	mov    %esi,%r8d
18005d343:	33 d2                	xor    %edx,%edx
18005d345:	e8 36 89 0d 00       	call   0x180135c80
18005d34a:	8a 4b 2b             	mov    0x2b(%rbx),%cl
18005d34d:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
18005d352:	81 4c 24 6c 04 00 00 	orl    $0x20000004,0x6c(%rsp)
18005d359:	20
18005d35a:	b8 01 00 00 00       	mov    $0x1,%eax
18005d35f:	48 83 65 a8 00       	andq   $0x0,-0x58(%rbp)
18005d364:	41 b0 0a             	mov    $0xa,%r8b
18005d367:	83 65 b4 00          	andl   $0x0,-0x4c(%rbp)
18005d36b:	d3 e0                	shl    %cl,%eax
18005d36d:	48 8b cb             	mov    %rbx,%rcx
18005d370:	ff c8                	dec    %eax
18005d372:	89 75 b0             	mov    %esi,-0x50(%rbp)
18005d375:	89 45 bc             	mov    %eax,-0x44(%rbp)
18005d378:	c6 45 c8 04          	movb   $0x4,-0x38(%rbp)
18005d37c:	c6 45 ca 06          	movb   $0x6,-0x36(%rbp)
18005d380:	48 89 5d 00          	mov    %rbx,0x0(%rbp)
18005d384:	48 89 5d 08          	mov    %rbx,0x8(%rbp)
18005d388:	e8 83 a1 fe ff       	call   0x180047510
18005d38d:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
18005d392:	e8 a1 9c fe ff       	call   0x180047038
18005d397:	4c 8d 9c 24 10 01 00 	lea    0x110(%rsp),%r11
18005d39e:	00
18005d39f:	8b c7                	mov    %edi,%eax
18005d3a1:	49 8b 5b 20          	mov    0x20(%r11),%rbx
18005d3a5:	49 8b 73 28          	mov    0x28(%r11),%rsi
18005d3a9:	49 8b 7b 30          	mov    0x30(%r11),%rdi
18005d3ad:	4d 8b 6b 38          	mov    0x38(%r11),%r13
18005d3b1:	49 8b e3             	mov    %r11,%rsp
18005d3b4:	41 5f                	pop    %r15
18005d3b6:	41 5e                	pop    %r14
18005d3b8:	5d                   	pop    %rbp
18005d3b9:	c3                   	ret
18005d3ba:	cc                   	int3
18005d3bb:	cc                   	int3
18005d3bc:	4c 8b 51 08          	mov    0x8(%rcx),%r10
18005d3c0:	45 8b c8             	mov    %r8d,%r9d
18005d3c3:	4c 8b 41 20          	mov    0x20(%rcx),%r8
18005d3c7:	4d 85 c0             	test   %r8,%r8
18005d3ca:	49 8d 42 30          	lea    0x30(%r10),%rax
18005d3ce:	49 8d 48 38          	lea    0x38(%r8),%rcx
18005d3d2:	48 0f 44 c8          	cmove  %rax,%rcx
18005d3d6:	83 79 18 01          	cmpl   $0x1,0x18(%rcx)
18005d3da:	75 2c                	jne    0x18005d408
18005d3dc:	4d 85 c0             	test   %r8,%r8
18005d3df:	49 8d 42 50          	lea    0x50(%r10),%rax
18005d3e3:	49 8d 48 58          	lea    0x58(%r8),%rcx
18005d3e7:	48 0f 44 c8          	cmove  %rax,%rcx
18005d3eb:	49 8b 82 58 01 00 00 	mov    0x158(%r10),%rax
18005d3f2:	8b 40 28             	mov    0x28(%rax),%eax
18005d3f5:	44 8b 41 10          	mov    0x10(%rcx),%r8d
18005d3f9:	48 0f af c2          	imul   %rdx,%rax
18005d3fd:	33 d2                	xor    %edx,%edx
18005d3ff:	49 03 c1             	add    %r9,%rax
18005d402:	49 f7 f0             	div    %r8
18005d405:	4c 8b ca             	mov    %rdx,%r9
18005d408:	41 8b c1             	mov    %r9d,%eax
18005d40b:	c3                   	ret
18005d40c:	cc                   	int3
18005d40d:	cc                   	int3
18005d40e:	cc                   	int3
18005d40f:	cc                   	int3
18005d410:	4c 8b 51 08          	mov    0x8(%rcx),%r10
18005d414:	45 8b c8             	mov    %r8d,%r9d
18005d417:	4c 8b 41 20          	mov    0x20(%rcx),%r8
18005d41b:	4d 85 c0             	test   %r8,%r8
18005d41e:	49 8d 42 30          	lea    0x30(%r10),%rax
18005d422:	49 8d 48 38          	lea    0x38(%r8),%rcx
18005d426:	48 0f 44 c8          	cmove  %rax,%rcx
18005d42a:	83 79 18 01          	cmpl   $0x1,0x18(%rcx)
18005d42e:	75 2c                	jne    0x18005d45c
18005d430:	4d 85 c0             	test   %r8,%r8
18005d433:	49 8d 42 50          	lea    0x50(%r10),%rax
18005d437:	49 8d 48 58          	lea    0x58(%r8),%rcx
18005d43b:	48 0f 44 c8          	cmove  %rax,%rcx
18005d43f:	49 8b 82 58 01 00 00 	mov    0x158(%r10),%rax
18005d446:	8b 40 2c             	mov    0x2c(%rax),%eax
18005d449:	44 8b 41 10          	mov    0x10(%rcx),%r8d
18005d44d:	48 0f af c2          	imul   %rdx,%rax
18005d451:	33 d2                	xor    %edx,%edx
18005d453:	49 03 c1             	add    %r9,%rax
18005d456:	49 f7 f0             	div    %r8
18005d459:	4c 8b ca             	mov    %rdx,%r9
18005d45c:	41 8b c1             	mov    %r9d,%eax
18005d45f:	c3                   	ret
18005d460:	cc                   	int3
18005d461:	cc                   	int3
18005d462:	cc                   	int3
18005d463:	cc                   	int3
18005d464:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005d469:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18005d46e:	57                   	push   %rdi
18005d46f:	48 83 ec 20          	sub    $0x20,%rsp
18005d473:	48 8b c2             	mov    %rdx,%rax
18005d476:	48 8b d9             	mov    %rcx,%rbx
18005d479:	8a 49 2a             	mov    0x2a(%rcx),%cl
18005d47c:	48 8b f2             	mov    %rdx,%rsi
18005d47f:	48 d3 e8             	shr    %cl,%rax
18005d482:	33 d2                	xor    %edx,%edx
18005d484:	49 8b f8             	mov    %r8,%rdi
18005d487:	4c 8b 4b 08          	mov    0x8(%rbx),%r9
18005d48b:	4d 8b 91 58 01 00 00 	mov    0x158(%r9),%r10
18005d492:	45 8b 4a 28          	mov    0x28(%r10),%r9d
18005d496:	49 f7 f1             	div    %r9
18005d499:	4c 8b d8             	mov    %rax,%r11
18005d49c:	4d 85 c0             	test   %r8,%r8
18005d49f:	74 13                	je     0x18005d4b4
18005d4a1:	44 8b c2             	mov    %edx,%r8d
18005d4a4:	48 8b cb             	mov    %rbx,%rcx
18005d4a7:	48 8b d0             	mov    %rax,%rdx
18005d4aa:	e8 0d ff ff ff       	call   0x18005d3bc
18005d4af:	89 07                	mov    %eax,(%rdi)
18005d4b1:	8a 4b 2a             	mov    0x2a(%rbx),%cl
18005d4b4:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18005d4b9:	b8 01 00 00 00       	mov    $0x1,%eax
18005d4be:	0f b6 c9             	movzbl %cl,%ecx
18005d4c1:	48 d3 e0             	shl    %cl,%rax
18005d4c4:	ff c8                	dec    %eax
18005d4c6:	49 d3 e3             	shl    %cl,%r11
18005d4c9:	48 23 c6             	and    %rsi,%rax
18005d4cc:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18005d4d1:	49 03 c3             	add    %r11,%rax
18005d4d4:	48 83 c4 20          	add    $0x20,%rsp
18005d4d8:	5f                   	pop    %rdi
18005d4d9:	c3                   	ret
18005d4da:	cc                   	int3
18005d4db:	cc                   	int3
18005d4dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005d4e1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18005d4e6:	57                   	push   %rdi
18005d4e7:	48 83 ec 20          	sub    $0x20,%rsp
18005d4eb:	0f b6 79 2a          	movzbl 0x2a(%rcx),%edi
18005d4ef:	48 8b d9             	mov    %rcx,%rbx
18005d4f2:	4d 8b d8             	mov    %r8,%r11
18005d4f5:	8b cf                	mov    %edi,%ecx
18005d4f7:	49 d3 eb             	shr    %cl,%r11
18005d4fa:	49 8b f0             	mov    %r8,%rsi
18005d4fd:	44 8b c2             	mov    %edx,%r8d
18005d500:	48 8b cb             	mov    %rbx,%rcx
18005d503:	49 8b d3             	mov    %r11,%rdx
18005d506:	e8 05 ff ff ff       	call   0x18005d410
18005d50b:	44 8b c8             	mov    %eax,%r9d
18005d50e:	8b cf                	mov    %edi,%ecx
18005d510:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005d514:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18005d519:	48 8b 90 58 01 00 00 	mov    0x158(%rax),%rdx
18005d520:	8b 42 28             	mov    0x28(%rdx),%eax
18005d523:	ba 01 00 00 00       	mov    $0x1,%edx
18005d528:	49 0f af c3          	imul   %r11,%rax
18005d52c:	48 d3 e2             	shl    %cl,%rdx
18005d52f:	49 03 c1             	add    %r9,%rax
18005d532:	48 d3 e0             	shl    %cl,%rax
18005d535:	8d 4a ff             	lea    -0x1(%rdx),%ecx
18005d538:	48 23 ce             	and    %rsi,%rcx
18005d53b:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18005d540:	48 03 c1             	add    %rcx,%rax
18005d543:	48 83 c4 20          	add    $0x20,%rsp
18005d547:	5f                   	pop    %rdi
18005d548:	c3                   	ret
18005d549:	cc                   	int3