140056041:	33 db                	xor    %ebx,%ebx
140056043:	8b f9                	mov    %ecx,%edi
140056045:	48 85 c0             	test   %rax,%rax
140056048:	75 27                	jne    0x140056071
14005604a:	e8 51 ad fd ff       	call   0x140030da0
14005604f:	48 8b c8             	mov    %rax,%rcx
140056052:	48 8d 15 5f a9 03 00 	lea    0x3a95f(%rip),%rdx        # 0x1400909b8
140056059:	48 ff 15 28 eb 02 00 	rex.W call *0x2eb28(%rip)        # 0x140084b88
140056060:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140056065:	48 89 05 dc ac 04 00 	mov    %rax,0x4acdc(%rip)        # 0x1400a0d48
14005606c:	48 85 c0             	test   %rax,%rax
14005606f:	74 0a                	je     0x14005607b
140056071:	8b cf                	mov    %edi,%ecx
140056073:	ff 15 4f f6 02 00    	call   *0x2f64f(%rip)        # 0x1400856c8
140056079:	8b d8                	mov    %eax,%ebx
14005607b:	8b c3                	mov    %ebx,%eax
14005607d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140056082:	48 83 c4 20          	add    $0x20,%rsp
140056086:	5f                   	pop    %rdi
140056087:	c3                   	ret
140056088:	cc                   	int3
140056089:	cc                   	int3
14005608a:	cc                   	int3
14005608b:	cc                   	int3
14005608c:	cc                   	int3
14005608d:	cc                   	int3
14005608e:	cc                   	int3
14005608f:	cc                   	int3
140056090:	48 8b c4             	mov    %rsp,%rax
140056093:	48 89 58 08          	mov    %rbx,0x8(%rax)
140056097:	48 89 68 10          	mov    %rbp,0x10(%rax)
14005609b:	48 89 70 18          	mov    %rsi,0x18(%rax)
14005609f:	48 89 78 20          	mov    %rdi,0x20(%rax)
1400560a3:	41 54                	push   %r12
1400560a5:	41 56                	push   %r14
1400560a7:	41 57                	push   %r15
1400560a9:	48 83 ec 20          	sub    $0x20,%rsp
1400560ad:	44 89 41 04          	mov    %r8d,0x4(%rcx)
1400560b1:	4c 8d 71 10          	lea    0x10(%rcx),%r14
1400560b5:	8b 42 04             	mov    0x4(%rdx),%eax
1400560b8:	4c 8d 79 20          	lea    0x20(%rcx),%r15
1400560bc:	49 83 26 00          	andq   $0x0,(%r14)
1400560c0:	4c 8d 61 38          	lea    0x38(%rcx),%r12
1400560c4:	89 41 08             	mov    %eax,0x8(%rcx)
1400560c7:	48 8b d9             	mov    %rcx,%rbx
1400560ca:	0f b7 42 38          	movzwl 0x38(%rdx),%eax
1400560ce:	48 8b f2             	mov    %rdx,%rsi
1400560d1:	66 89 41 18          	mov    %ax,0x18(%rcx)
1400560d5:	8a 02                	mov    (%rdx),%al
1400560d7:	49 83 27 00          	andq   $0x0,(%r15)
1400560db:	88 41 1a             	mov    %al,0x1a(%rcx)
1400560de:	48 8b 82 80 00 00 00 	mov    0x80(%rdx),%rax
1400560e5:	48 89 41 28          	mov    %rax,0x28(%rcx)
1400560e9:	48 8b 82 88 00 00 00 	mov    0x88(%rdx),%rax
1400560f0:	49 83 24 24 00       	andq   $0x0,(%r12)
1400560f5:	48 89 41 30          	mov    %rax,0x30(%rcx)
1400560f9:	48 8b 4a 10          	mov    0x10(%rdx),%rcx
1400560fd:	e8 a6 fe ff ff       	call   0x140055fa8
140056102:	48 8b 4e 30          	mov    0x30(%rsi),%rcx
140056106:	48 8b f8             	mov    %rax,%rdi
140056109:	e8 6e fe ff ff       	call   0x140055f7c
14005610e:	48 8b 4e 78          	mov    0x78(%rsi),%rcx
140056112:	48 03 f8             	add    %rax,%rdi
140056115:	e8 62 fe ff ff       	call   0x140055f7c
14005611a:	48 03 f8             	add    %rax,%rdi
14005611d:	48 83 7b 40 00       	cmpq   $0x0,0x40(%rbx)
140056122:	74 06                	je     0x14005612a
140056124:	48 39 7b 48          	cmp    %rdi,0x48(%rbx)
140056128:	73 3e                	jae    0x140056168
14005612a:	48 8b d7             	mov    %rdi,%rdx
14005612d:	b9 08 00 00 00       	mov    $0x8,%ecx
140056132:	e8 f9 da fa ff       	call   0x140003c30
140056137:	48 8b e8             	mov    %rax,%rbp
14005613a:	48 85 c0             	test   %rax,%rax
14005613d:	74 29                	je     0x140056168
14005613f:	48 ff 15 ca e9 02 00 	rex.W call *0x2e9ca(%rip)        # 0x140084b10
140056146:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14005614b:	4c 8b 43 40          	mov    0x40(%rbx),%r8
14005614f:	33 d2                	xor    %edx,%edx
140056151:	48 8b c8             	mov    %rax,%rcx
140056154:	48 ff 15 bd e9 02 00 	rex.W call *0x2e9bd(%rip)        # 0x140084b18
14005615b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140056160:	48 89 6b 40          	mov    %rbp,0x40(%rbx)
140056164:	48 89 7b 48          	mov    %rdi,0x48(%rbx)
140056168:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
14005616c:	48 85 c9             	test   %rcx,%rcx
14005616f:	74 4a                	je     0x1400561bb
140056171:	48 8b 5b 48          	mov    0x48(%rbx),%rbx
140056175:	4d 8b ce             	mov    %r14,%r9
140056178:	4c 8b 46 30          	mov    0x30(%rsi),%r8
14005617c:	48 03 d9             	add    %rcx,%rbx
14005617f:	48 8b d3             	mov    %rbx,%rdx
140056182:	e8 45 e0 ff ff       	call   0x1400541cc
140056187:	4c 8b 46 78          	mov    0x78(%rsi),%r8
14005618b:	4d 8b cf             	mov    %r15,%r9
14005618e:	48 8b d3             	mov    %rbx,%rdx
140056191:	48 8b c8             	mov    %rax,%rcx
140056194:	e8 33 e0 ff ff       	call   0x1400541cc
140056199:	4c 8b 46 10          	mov    0x10(%rsi),%r8
14005619d:	4d 8b cc             	mov    %r12,%r9
1400561a0:	48 8b d3             	mov    %rbx,%rdx
1400561a3:	48 8b c8             	mov    %rax,%rcx
1400561a6:	e8 9d e0 ff ff       	call   0x140054248
1400561ab:	48 2b d8             	sub    %rax,%rbx
1400561ae:	33 d2                	xor    %edx,%edx
1400561b0:	4c 8b c3             	mov    %rbx,%r8
1400561b3:	48 8b c8             	mov    %rax,%rcx
1400561b6:	e8 80 22 fe ff       	call   0x14003843b
1400561bb:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400561c0:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1400561c5:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1400561ca:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1400561cf:	48 83 c4 20          	add    $0x20,%rsp
1400561d3:	41 5f                	pop    %r15
1400561d5:	41 5e                	pop    %r14
1400561d7:	41 5c                	pop    %r12
1400561d9:	c3                   	ret
1400561da:	cc                   	int3
1400561db:	cc                   	int3
1400561dc:	cc                   	int3
1400561dd:	cc                   	int3
1400561de:	cc                   	int3
1400561df:	cc                   	int3
1400561e0:	cc                   	int3
1400561e1:	cc                   	int3
1400561e2:	cc                   	int3
1400561e3:	cc                   	int3
1400561e4:	48 8b c4             	mov    %rsp,%rax
1400561e7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400561eb:	48 89 68 10          	mov    %rbp,0x10(%rax)
1400561ef:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400561f3:	48 89 78 20          	mov    %rdi,0x20(%rax)
1400561f7:	41 56                	push   %r14
1400561f9:	48 83 ec 20          	sub    $0x20,%rsp
1400561fd:	4c 8b 41 18          	mov    0x18(%rcx),%r8
140056201:	48 8b f2             	mov    %rdx,%rsi
140056204:	8b 79 10             	mov    0x10(%rcx),%edi
140056207:	48 8b d9             	mov    %rcx,%rbx
14005620a:	41 be 50 00 00 00    	mov    $0x50,%r14d
140056210:	4d 85 c0             	test   %r8,%r8
140056213:	75 4d                	jne    0x140056262
140056215:	85 ff                	test   %edi,%edi
140056217:	0f 84 ba 00 00 00    	je     0x1400562d7
14005621d:	ba 90 01 00 00       	mov    $0x190,%edx
140056222:	41 8d 48 08          	lea    0x8(%r8),%ecx
140056226:	e8 05 da fa ff       	call   0x140003c30
14005622b:	48 89 43 18          	mov    %rax,0x18(%rbx)
14005622f:	4c 8b c0             	mov    %rax,%r8
140056232:	48 85 c0             	test   %rax,%rax
140056235:	0f 84 9c 00 00 00    	je     0x1400562d7
14005623b:	48 05 90 01 00 00    	add    $0x190,%rax
140056241:	c7 43 20 05 00 00 00 	movl   $0x5,0x20(%rbx)
140056248:	4c 3b c0             	cmp    %rax,%r8
14005624b:	74 10                	je     0x14005625d
14005624d:	66 45 89 30          	mov    %r14w,(%r8)
140056251:	4d 03 c6             	add    %r14,%r8
140056254:	4c 3b c0             	cmp    %rax,%r8
140056257:	75 f4                	jne    0x14005624d
140056259:	4c 8b 43 18          	mov    0x18(%rbx),%r8
14005625d:	4d 85 c0             	test   %r8,%r8
140056260:	74 75                	je     0x1400562d7
140056262:	85 ff                	test   %edi,%edi
140056264:	74 35                	je     0x14005629b
140056266:	0f b7 43 20          	movzwl 0x20(%rbx),%eax
14005626a:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
14005626e:	48 c1 e1 04          	shl    $0x4,%rcx
140056272:	49 03 c8             	add    %r8,%rcx
140056275:	4c 3b c1             	cmp    %rcx,%r8
140056278:	74 21                	je     0x14005629b
14005627a:	8b 53 10             	mov    0x10(%rbx),%edx
14005627d:	49 83 c0 08          	add    $0x8,%r8
140056281:	41 39 50 fc          	cmp    %edx,-0x4(%r8)
140056285:	76 08                	jbe    0x14005628f
140056287:	8b 46 04             	mov    0x4(%rsi),%eax
14005628a:	41 39 00             	cmp    %eax,(%r8)
14005628d:	74 48                	je     0x1400562d7
14005628f:	4d 03 c6             	add    %r14,%r8
140056292:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140056296:	48 3b c1             	cmp    %rcx,%rax
140056299:	75 e6                	jne    0x140056281
14005629b:	0f b7 43 22          	movzwl 0x22(%rbx),%eax
14005629f:	33 d2                	xor    %edx,%edx
1400562a1:	0f b7 4b 20          	movzwl 0x20(%rbx),%ecx
1400562a5:	ff c0                	inc    %eax
1400562a7:	f7 f1                	div    %ecx
1400562a9:	48 8b 43 08          	mov    0x8(%rbx),%rax
1400562ad:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1400562b3:	66 89 53 22          	mov    %dx,0x22(%rbx)
1400562b7:	f0 44 0f c1 00       	lock xadd %r8d,(%rax)
1400562bc:	0f b7 43 22          	movzwl 0x22(%rbx),%eax
1400562c0:	41 ff c0             	inc    %r8d
1400562c3:	48 8b d6             	mov    %rsi,%rdx
1400562c6:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
1400562ca:	48 c1 e1 04          	shl    $0x4,%rcx
1400562ce:	48 03 4b 18          	add    0x18(%rbx),%rcx
1400562d2:	e8 b9 fd ff ff       	call   0x140056090
1400562d7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400562dc:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400562e1:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400562e6:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1400562eb:	48 83 c4 20          	add    $0x20,%rsp
1400562ef:	41 5e                	pop    %r14
1400562f1:	c3                   	ret
1400562f2:	cc                   	int3
1400562f3:	cc                   	int3
1400562f4:	cc                   	int3
1400562f5:	cc                   	int3
1400562f6:	cc                   	int3
1400562f7:	cc                   	int3
1400562f8:	cc                   	int3
1400562f9:	cc                   	int3
1400562fa:	cc                   	int3
1400562fb:	cc                   	int3
1400562fc:	45 33 c9             	xor    %r9d,%r9d
1400562ff:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
140056303:	41 ba fe ff ff 7f    	mov    $0x7ffffffe,%r10d
140056309:	41 bb 57 00 07 80    	mov    $0x80070057,%r11d
14005630f:	49 3b c2             	cmp    %r10,%rax
140056312:	45 0f 47 cb          	cmova  %r11d,%r9d
140056316:	45 85 c9             	test   %r9d,%r9d
140056319:	78 47                	js     0x140056362
14005631b:	48 85 d2             	test   %rdx,%rdx
14005631e:	74 22                	je     0x140056342
140056320:	4c 2b d2             	sub    %rdx,%r10
140056323:	4c 2b c1             	sub    %rcx,%r8
140056326:	49 8d 04 12          	lea    (%r10,%rdx,1),%rax
14005632a:	48 85 c0             	test   %rax,%rax
14005632d:	74 13                	je     0x140056342
14005632f:	41 8a 04 08          	mov    (%r8,%rcx,1),%al
140056333:	84 c0                	test   %al,%al
140056335:	74 0b                	je     0x140056342
140056337:	88 01                	mov    %al,(%rcx)
140056339:	48 ff c1             	inc    %rcx
14005633c:	48 83 ea 01          	sub    $0x1,%rdx
140056340:	75 e4                	jne    0x140056326
140056342:	48 85 d2             	test   %rdx,%rdx
140056345:	48 8d 41 ff          	lea    -0x1(%rcx),%rax
140056349:	48 0f 45 c1          	cmovne %rcx,%rax
14005634d:	48 f7 da             	neg    %rdx
140056350:	45 1b c9             	sbb    %r9d,%r9d
140056353:	41 f7 d1             	not    %r9d
140056356:	41 81 e1 7a 00 07 80 	and    $0x8007007a,%r9d
14005635d:	c6 00 00             	movb   $0x0,(%rax)
140056360:	eb 08                	jmp    0x14005636a
140056362:	48 85 d2             	test   %rdx,%rdx
140056365:	74 03                	je     0x14005636a
140056367:	c6 01 00             	movb   $0x0,(%rcx)
14005636a:	41 8b c1             	mov    %r9d,%eax
14005636d:	c3                   	ret
14005636e:	cc                   	int3
14005636f:	cc                   	int3
140056370:	cc                   	int3
140056371:	cc                   	int3
140056372:	cc                   	int3
140056373:	cc                   	int3
140056374:	cc                   	int3
140056375:	cc                   	int3
140056376:	cc                   	int3
140056377:	cc                   	int3
140056378:	40 53                	rex push %rbx
14005637a:	48 83 ec 20          	sub    $0x20,%rsp
14005637e:	48 8b 05 33 9c 04 00 	mov    0x49c33(%rip),%rax        # 0x14009ffb8
140056385:	48 8b d9             	mov    %rcx,%rbx
140056388:	48 85 c0             	test   %rax,%rax
14005638b:	75 27                	jne    0x1400563b4
14005638d:	e8 0e aa fd ff       	call   0x140030da0
140056392:	48 8b c8             	mov    %rax,%rcx
140056395:	48 8d 15 dc 23 03 00 	lea    0x323dc(%rip),%rdx        # 0x140088778
14005639c:	48 ff 15 e5 e7 02 00 	rex.W call *0x2e7e5(%rip)        # 0x140084b88
1400563a3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400563a8:	48 89 05 09 9c 04 00 	mov    %rax,0x49c09(%rip)        # 0x14009ffb8
1400563af:	48 85 c0             	test   %rax,%rax
1400563b2:	74 09                	je     0x1400563bd
1400563b4:	48 8b cb             	mov    %rbx,%rcx
1400563b7:	ff 15 0b f3 02 00    	call   *0x2f30b(%rip)        # 0x1400856c8
1400563bd:	48 83 c4 20          	add    $0x20,%rsp
1400563c1:	5b                   	pop    %rbx
1400563c2:	c3                   	ret
1400563c3:	cc                   	int3
1400563c4:	cc                   	int3
1400563c5:	cc                   	int3
1400563c6:	cc                   	int3
1400563c7:	cc                   	int3
1400563c8:	cc                   	int3
1400563c9:	cc                   	int3
1400563ca:	cc                   	int3
1400563cb:	cc                   	int3
1400563cc:	4d 85 c0             	test   %r8,%r8
1400563cf:	0f 84 8d 00 00 00    	je     0x140056462
1400563d5:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400563da:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400563df:	57                   	push   %rdi
1400563e0:	48 83 ec 20          	sub    $0x20,%rsp
1400563e4:	49 8b f0             	mov    %r8,%rsi
1400563e7:	48 8b fa             	mov    %rdx,%rdi
1400563ea:	48 8b d9             	mov    %rcx,%rbx
1400563ed:	48 ff 15 ec e9 02 00 	rex.W call *0x2e9ec(%rip)        # 0x140084de0
1400563f4:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400563f9:	48 8b cf             	mov    %rdi,%rcx
1400563fc:	48 ff 15 2d ea 02 00 	rex.W call *0x2ea2d(%rip)        # 0x140084e30
140056403:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140056408:	48 8b 53 28          	mov    0x28(%rbx),%rdx
14005640c:	48 8d 4e ff          	lea    -0x1(%rsi),%rcx
140056410:	48 8b 43 30          	mov    0x30(%rbx),%rax
140056414:	48 2b c2             	sub    %rdx,%rax
140056417:	48 c1 e8 04          	shr    $0x4,%rax
14005641b:	48 3b c8             	cmp    %rax,%rcx
14005641e:	73 0b                	jae    0x14005642b
140056420:	48 03 c9             	add    %rcx,%rcx
140056423:	0f 57 c0             	xorps  %xmm0,%xmm0
140056426:	f3 0f 7f 04 ca       	movdqu %xmm0,(%rdx,%rcx,8)
14005642b:	48 85 ff             	test   %rdi,%rdi
14005642e:	74 0f                	je     0x14005643f
140056430:	48 8b cf             	mov    %rdi,%rcx
140056433:	48 ff 15 c6 e9 02 00 	rex.W call *0x2e9c6(%rip)        # 0x140084e00
14005643a:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14005643f:	48 85 db             	test   %rbx,%rbx
140056442:	74 0f                	je     0x140056453
140056444:	48 8b cb             	mov    %rbx,%rcx
140056447:	48 ff 15 4a e9 02 00 	rex.W call *0x2e94a(%rip)        # 0x140084d98
14005644e:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140056453:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140056458:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14005645d:	48 83 c4 20          	add    $0x20,%rsp
140056461:	5f                   	pop    %rdi
140056462:	c3                   	ret
140056463:	cc                   	int3
140056464:	cc                   	int3
140056465:	cc                   	int3
140056466:	cc                   	int3
140056467:	cc                   	int3
140056468:	cc                   	int3
140056469:	cc                   	int3
14005646a:	cc                   	int3
14005646b:	cc                   	int3
14005646c:	48 83 ec 28          	sub    $0x28,%rsp
140056470:	4c 8b c1             	mov    %rcx,%r8
140056473:	48 85 c9             	test   %rcx,%rcx
140056476:	74 18                	je     0x140056490
140056478:	48 8b 15 79 a1 04 00 	mov    0x4a179(%rip),%rdx        # 0x1400a05f8
14005647f:	48 85 d2             	test   %rdx,%rdx
140056482:	74 0c                	je     0x140056490
140056484:	48 8d 8a c8 00 00 00 	lea    0xc8(%rdx),%rcx
14005648b:	e8 3c ff ff ff       	call   0x1400563cc
140056490:	48 83 c4 28          	add    $0x28,%rsp
140056494:	c3                   	ret
140056495:	cc                   	int3
140056496:	cc                   	int3
140056497:	cc                   	int3
140056498:	cc                   	int3