14003305a:	41 8b 01             	mov    (%r9),%eax
14003305d:	41 89 19             	mov    %ebx,(%r9)
140033060:	89 01                	mov    %eax,(%rcx)
140033062:	49 83 eb 04          	sub    $0x4,%r11
140033066:	48 83 e9 04          	sub    $0x4,%rcx
14003306a:	4d 3b d3             	cmp    %r11,%r10
14003306d:	72 d9                	jb     0x140033048
14003306f:	4d 3b da             	cmp    %r10,%r11
140033072:	75 2a                	jne    0x14003309e
140033074:	4c 3b c7             	cmp    %rdi,%r8
140033077:	74 67                	je     0x1400330e0
140033079:	49 3b d0             	cmp    %r8,%rdx
14003307c:	74 0a                	je     0x140033088
14003307e:	41 8b 09             	mov    (%r9),%ecx
140033081:	8b 02                	mov    (%rdx),%eax
140033083:	41 89 01             	mov    %eax,(%r9)
140033086:	89 0a                	mov    %ecx,(%rdx)
140033088:	41 8b 09             	mov    (%r9),%ecx
14003308b:	48 83 c2 04          	add    $0x4,%rdx
14003308f:	41 8b 00             	mov    (%r8),%eax
140033092:	41 89 01             	mov    %eax,(%r9)
140033095:	49 83 c1 04          	add    $0x4,%r9
140033099:	41 89 08             	mov    %ecx,(%r8)
14003309c:	eb 98                	jmp    0x140033036
14003309e:	49 83 c3 fc          	add    $0xfffffffffffffffc,%r11
1400330a2:	4c 3b c7             	cmp    %rdi,%r8
1400330a5:	75 28                	jne    0x1400330cf
1400330a7:	49 83 e9 04          	sub    $0x4,%r9
1400330ab:	4d 3b d9             	cmp    %r9,%r11
1400330ae:	74 0c                	je     0x1400330bc
1400330b0:	41 8b 0b             	mov    (%r11),%ecx
1400330b3:	41 8b 01             	mov    (%r9),%eax
1400330b6:	41 89 03             	mov    %eax,(%r11)
1400330b9:	41 89 09             	mov    %ecx,(%r9)
1400330bc:	41 8b 09             	mov    (%r9),%ecx
1400330bf:	48 83 ea 04          	sub    $0x4,%rdx
1400330c3:	8b 02                	mov    (%rdx),%eax
1400330c5:	41 89 01             	mov    %eax,(%r9)
1400330c8:	89 0a                	mov    %ecx,(%rdx)
1400330ca:	e9 6b ff ff ff       	jmp    0x14003303a
1400330cf:	41 8b 08             	mov    (%r8),%ecx
1400330d2:	41 8b 03             	mov    (%r11),%eax
1400330d5:	41 89 00             	mov    %eax,(%r8)
1400330d8:	41 89 0b             	mov    %ecx,(%r11)
1400330db:	e9 56 ff ff ff       	jmp    0x140033036
1400330e0:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1400330e5:	48 8b c6             	mov    %rsi,%rax
1400330e8:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
1400330ed:	4c 89 0e             	mov    %r9,(%rsi)
1400330f0:	48 89 56 08          	mov    %rdx,0x8(%rsi)
1400330f4:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
1400330f9:	c3                   	ret
1400330fa:	90                   	nop
1400330fb:	90                   	nop
1400330fc:	48 8b c4             	mov    %rsp,%rax
1400330ff:	48 89 58 10          	mov    %rbx,0x10(%rax)
140033103:	48 89 68 18          	mov    %rbp,0x18(%rax)
140033107:	48 89 70 20          	mov    %rsi,0x20(%rax)
14003310b:	48 89 48 08          	mov    %rcx,0x8(%rax)
14003310f:	57                   	push   %rdi
140033110:	41 54                	push   %r12
140033112:	41 55                	push   %r13
140033114:	41 56                	push   %r14
140033116:	41 57                	push   %r15
140033118:	48 83 ec 20          	sub    $0x20,%rsp
14003311c:	4d 8b f8             	mov    %r8,%r15
14003311f:	49 8d 78 f0          	lea    -0x10(%r8),%rdi
140033123:	4c 2b fa             	sub    %rdx,%r15
140033126:	48 8b f7             	mov    %rdi,%rsi
140033129:	49 c1 ff 05          	sar    $0x5,%r15
14003312d:	48 2b f2             	sub    %rdx,%rsi
140033130:	49 c1 e7 04          	shl    $0x4,%r15
140033134:	49 8b d9             	mov    %r9,%rbx
140033137:	4c 03 fa             	add    %rdx,%r15
14003313a:	48 c1 fe 04          	sar    $0x4,%rsi
14003313e:	4d 8b e8             	mov    %r8,%r13
140033141:	4c 8b e2             	mov    %rdx,%r12
140033144:	48 8b ca             	mov    %rdx,%rcx
140033147:	48 83 fe 28          	cmp    $0x28,%rsi
14003314b:	7e 55                	jle    0x1400331a2
14003314d:	48 ff c6             	inc    %rsi
140033150:	48 c1 fe 03          	sar    $0x3,%rsi
140033154:	4c 8b f6             	mov    %rsi,%r14
140033157:	48 c1 e6 04          	shl    $0x4,%rsi
14003315b:	49 c1 e6 05          	shl    $0x5,%r14
14003315f:	48 8d 2c 16          	lea    (%rsi,%rdx,1),%rbp
140033163:	4d 8d 04 16          	lea    (%r14,%rdx,1),%r8
140033167:	48 8b d5             	mov    %rbp,%rdx
14003316a:	e8 21 05 00 00       	call   0x140033690
14003316f:	49 8b cf             	mov    %r15,%rcx
140033172:	4e 8d 04 3e          	lea    (%rsi,%r15,1),%r8
140033176:	48 2b ce             	sub    %rsi,%rcx
140033179:	4c 8b cb             	mov    %rbx,%r9
14003317c:	49 8b d7             	mov    %r15,%rdx
14003317f:	e8 0c 05 00 00       	call   0x140033690
140033184:	4d 8d 45 f0          	lea    -0x10(%r13),%r8
140033188:	48 2b fe             	sub    %rsi,%rdi
14003318b:	49 8b c8             	mov    %r8,%rcx
14003318e:	4c 8b cb             	mov    %rbx,%r9
140033191:	49 2b ce             	sub    %r14,%rcx
140033194:	48 8b d7             	mov    %rdi,%rdx
140033197:	e8 f4 04 00 00       	call   0x140033690
14003319c:	4c 8b cb             	mov    %rbx,%r9
14003319f:	48 8b cd             	mov    %rbp,%rcx
1400331a2:	4c 8b c7             	mov    %rdi,%r8
1400331a5:	49 8b d7             	mov    %r15,%rdx
1400331a8:	e8 e3 04 00 00       	call   0x140033690
1400331ad:	49 8d 7f 10          	lea    0x10(%r15),%rdi
1400331b1:	4d 3b e7             	cmp    %r15,%r12
1400331b4:	0f 83 a2 00 00 00    	jae    0x14003325c
1400331ba:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
1400331be:	48 85 c9             	test   %rcx,%rcx
1400331c1:	0f 84 6d 02 00 00    	je     0x140033434
1400331c7:	48 8b 01             	mov    (%rcx),%rax
1400331ca:	49 8d 77 f0          	lea    -0x10(%r15),%rsi
1400331ce:	4d 8b c7             	mov    %r15,%r8
1400331d1:	48 8b d6             	mov    %rsi,%rdx
1400331d4:	48 8b 40 10          	mov    0x10(%rax),%rax
1400331d8:	ff 15 5a 9a ad 00    	call   *0xad9a5a(%rip)        # 0x140b0cc38
1400331de:	84 c0                	test   %al,%al
1400331e0:	75 7a                	jne    0x14003325c
1400331e2:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
1400331e6:	48 85 c9             	test   %rcx,%rcx
1400331e9:	0f 84 45 02 00 00    	je     0x140033434
1400331ef:	48 8b 01             	mov    (%rcx),%rax
1400331f2:	4c 8b c6             	mov    %rsi,%r8
1400331f5:	49 8b d7             	mov    %r15,%rdx
1400331f8:	48 8b 40 10          	mov    0x10(%rax),%rax
1400331fc:	ff 15 36 9a ad 00    	call   *0xad9a36(%rip)        # 0x140b0cc38
140033202:	84 c0                	test   %al,%al
140033204:	75 56                	jne    0x14003325c
140033206:	4c 8b fe             	mov    %rsi,%r15
140033209:	4c 3b e6             	cmp    %rsi,%r12
14003320c:	72 ac                	jb     0x1400331ba
14003320e:	eb 4c                	jmp    0x14003325c
140033210:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
140033214:	48 85 c9             	test   %rcx,%rcx
140033217:	0f 84 17 02 00 00    	je     0x140033434
14003321d:	48 8b 01             	mov    (%rcx),%rax
140033220:	4d 8b c7             	mov    %r15,%r8
140033223:	48 8b d7             	mov    %rdi,%rdx
140033226:	48 8b 40 10          	mov    0x10(%rax),%rax
14003322a:	ff 15 08 9a ad 00    	call   *0xad9a08(%rip)        # 0x140b0cc38
140033230:	84 c0                	test   %al,%al
140033232:	75 2d                	jne    0x140033261
140033234:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
140033238:	48 85 c9             	test   %rcx,%rcx
14003323b:	0f 84 f3 01 00 00    	je     0x140033434
140033241:	48 8b 01             	mov    (%rcx),%rax
140033244:	4c 8b c7             	mov    %rdi,%r8
140033247:	49 8b d7             	mov    %r15,%rdx
14003324a:	48 8b 40 10          	mov    0x10(%rax),%rax
14003324e:	ff 15 e4 99 ad 00    	call   *0xad99e4(%rip)        # 0x140b0cc38
140033254:	84 c0                	test   %al,%al
140033256:	75 09                	jne    0x140033261
140033258:	48 83 c7 10          	add    $0x10,%rdi
14003325c:	49 3b fd             	cmp    %r13,%rdi
14003325f:	72 af                	jb     0x140033210
140033261:	48 8b f7             	mov    %rdi,%rsi
140033264:	4d 8b f7             	mov    %r15,%r14
140033267:	eb 71                	jmp    0x1400332da
140033269:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
14003326d:	48 85 c9             	test   %rcx,%rcx
140033270:	0f 84 be 01 00 00    	je     0x140033434
140033276:	48 8b 01             	mov    (%rcx),%rax
140033279:	4c 8b c6             	mov    %rsi,%r8
14003327c:	49 8b d7             	mov    %r15,%rdx
14003327f:	48 8b 40 10          	mov    0x10(%rax),%rax
140033283:	ff 15 af 99 ad 00    	call   *0xad99af(%rip)        # 0x140b0cc38
140033289:	84 c0                	test   %al,%al
14003328b:	75 49                	jne    0x1400332d6
14003328d:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
140033291:	48 85 c9             	test   %rcx,%rcx
140033294:	0f 84 9a 01 00 00    	je     0x140033434
14003329a:	48 8b 01             	mov    (%rcx),%rax
14003329d:	4d 8b c7             	mov    %r15,%r8
1400332a0:	48 8b d6             	mov    %rsi,%rdx
1400332a3:	48 8b 40 10          	mov    0x10(%rax),%rax
1400332a7:	ff 15 8b 99 ad 00    	call   *0xad998b(%rip)        # 0x140b0cc38
1400332ad:	84 c0                	test   %al,%al
1400332af:	75 2e                	jne    0x1400332df
1400332b1:	48 3b fe             	cmp    %rsi,%rdi
1400332b4:	74 1c                	je     0x1400332d2
1400332b6:	48 8b 06             	mov    (%rsi),%rax
1400332b9:	48 8b 0f             	mov    (%rdi),%rcx
1400332bc:	48 89 07             	mov    %rax,(%rdi)
1400332bf:	48 8b 46 08          	mov    0x8(%rsi),%rax
1400332c3:	48 89 0e             	mov    %rcx,(%rsi)
1400332c6:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1400332ca:	48 89 47 08          	mov    %rax,0x8(%rdi)
1400332ce:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
1400332d2:	48 83 c7 10          	add    $0x10,%rdi
1400332d6:	48 83 c6 10          	add    $0x10,%rsi
1400332da:	49 3b f5             	cmp    %r13,%rsi
1400332dd:	72 8a                	jb     0x140033269
1400332df:	4d 3b f4             	cmp    %r12,%r14
1400332e2:	0f 86 83 00 00 00    	jbe    0x14003336b
1400332e8:	49 8d 6e f0          	lea    -0x10(%r14),%rbp
1400332ec:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
1400332f0:	48 85 c9             	test   %rcx,%rcx
1400332f3:	0f 84 3b 01 00 00    	je     0x140033434
1400332f9:	48 8b 01             	mov    (%rcx),%rax
1400332fc:	4d 8b c7             	mov    %r15,%r8
1400332ff:	48 8b d5             	mov    %rbp,%rdx
140033302:	48 8b 40 10          	mov    0x10(%rax),%rax
140033306:	ff 15 2c 99 ad 00    	call   *0xad992c(%rip)        # 0x140b0cc38
14003330c:	84 c0                	test   %al,%al
14003330e:	75 4b                	jne    0x14003335b
140033310:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
140033314:	48 85 c9             	test   %rcx,%rcx
140033317:	0f 84 17 01 00 00    	je     0x140033434
14003331d:	48 8b 01             	mov    (%rcx),%rax
140033320:	4c 8b c5             	mov    %rbp,%r8
140033323:	49 8b d7             	mov    %r15,%rdx
140033326:	48 8b 40 10          	mov    0x10(%rax),%rax
14003332a:	ff 15 08 99 ad 00    	call   *0xad9908(%rip)        # 0x140b0cc38
140033330:	84 c0                	test   %al,%al
140033332:	75 34                	jne    0x140033368
140033334:	49 83 ef 10          	sub    $0x10,%r15
140033338:	4c 3b fd             	cmp    %rbp,%r15
14003333b:	74 1e                	je     0x14003335b
14003333d:	48 8b 45 00          	mov    0x0(%rbp),%rax
140033341:	49 8b 0f             	mov    (%r15),%rcx
140033344:	49 89 07             	mov    %rax,(%r15)
140033347:	48 8b 45 08          	mov    0x8(%rbp),%rax
14003334b:	48 89 4d 00          	mov    %rcx,0x0(%rbp)
14003334f:	49 8b 4f 08          	mov    0x8(%r15),%rcx
140033353:	49 89 47 08          	mov    %rax,0x8(%r15)
140033357:	48 89 4d 08          	mov    %rcx,0x8(%rbp)
14003335b:	49 83 ee 10          	sub    $0x10,%r14
14003335f:	48 83 ed 10          	sub    $0x10,%rbp
140033363:	4d 3b e6             	cmp    %r14,%r12
140033366:	72 84                	jb     0x1400332ec
140033368:	4d 3b f4             	cmp    %r12,%r14
14003336b:	75 53                	jne    0x1400333c0
14003336d:	49 3b f5             	cmp    %r13,%rsi
140033370:	0f 84 c5 00 00 00    	je     0x14003343b
140033376:	48 3b fe             	cmp    %rsi,%rdi
140033379:	74 1c                	je     0x140033397
14003337b:	48 8b 07             	mov    (%rdi),%rax
14003337e:	49 8b 0f             	mov    (%r15),%rcx
140033381:	49 89 07             	mov    %rax,(%r15)
140033384:	48 8b 47 08          	mov    0x8(%rdi),%rax
140033388:	48 89 0f             	mov    %rcx,(%rdi)
14003338b:	49 8b 4f 08          	mov    0x8(%r15),%rcx
14003338f:	49 89 47 08          	mov    %rax,0x8(%r15)
140033393:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140033397:	49 8b 0f             	mov    (%r15),%rcx
14003339a:	48 83 c7 10          	add    $0x10,%rdi
14003339e:	48 8b 06             	mov    (%rsi),%rax
1400333a1:	49 89 07             	mov    %rax,(%r15)
1400333a4:	48 8b 46 08          	mov    0x8(%rsi),%rax
1400333a8:	48 89 0e             	mov    %rcx,(%rsi)
1400333ab:	49 8b 4f 08          	mov    0x8(%r15),%rcx
1400333af:	49 89 47 08          	mov    %rax,0x8(%r15)
1400333b3:	49 83 c7 10          	add    $0x10,%r15
1400333b7:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
1400333bb:	e9 16 ff ff ff       	jmp    0x1400332d6
1400333c0:	49 83 c6 f0          	add    $0xfffffffffffffff0,%r14
1400333c4:	49 3b f5             	cmp    %r13,%rsi
1400333c7:	75 4a                	jne    0x140033413
1400333c9:	49 83 ef 10          	sub    $0x10,%r15
1400333cd:	49 8d 57 08          	lea    0x8(%r15),%rdx
1400333d1:	4d 3b f7             	cmp    %r15,%r14
1400333d4:	74 1a                	je     0x1400333f0
1400333d6:	49 8b 07             	mov    (%r15),%rax
1400333d9:	49 8b 0e             	mov    (%r14),%rcx
1400333dc:	49 89 06             	mov    %rax,(%r14)
1400333df:	48 8b 02             	mov    (%rdx),%rax
1400333e2:	49 89 0f             	mov    %rcx,(%r15)
1400333e5:	49 8b 4e 08          	mov    0x8(%r14),%rcx
1400333e9:	49 89 46 08          	mov    %rax,0x8(%r14)
1400333ed:	48 89 0a             	mov    %rcx,(%rdx)
1400333f0:	49 8b 0f             	mov    (%r15),%rcx
1400333f3:	48 83 ef 10          	sub    $0x10,%rdi
1400333f7:	48 8b 07             	mov    (%rdi),%rax
1400333fa:	49 89 07             	mov    %rax,(%r15)
1400333fd:	48 8b 47 08          	mov    0x8(%rdi),%rax
140033401:	48 89 0f             	mov    %rcx,(%rdi)
140033404:	48 8b 0a             	mov    (%rdx),%rcx
140033407:	48 89 02             	mov    %rax,(%rdx)
14003340a:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
14003340e:	e9 c7 fe ff ff       	jmp    0x1400332da
140033413:	49 8b 06             	mov    (%r14),%rax
140033416:	48 8b 0e             	mov    (%rsi),%rcx
140033419:	48 89 06             	mov    %rax,(%rsi)
14003341c:	49 8b 46 08          	mov    0x8(%r14),%rax
140033420:	49 89 0e             	mov    %rcx,(%r14)
140033423:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140033427:	48 89 46 08          	mov    %rax,0x8(%rsi)
14003342b:	49 89 4e 08          	mov    %rcx,0x8(%r14)
14003342f:	e9 a2 fe ff ff       	jmp    0x1400332d6
140033434:	ff 15 7e 90 ad 00    	call   *0xad907e(%rip)        # 0x140b0c4b8
14003343a:	cc                   	int3
14003343b:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140033440:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140033445:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
14003344a:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
14003344f:	4c 89 38             	mov    %r15,(%rax)
140033452:	48 89 78 08          	mov    %rdi,0x8(%rax)
140033456:	48 83 c4 20          	add    $0x20,%rsp
14003345a:	41 5f                	pop    %r15
14003345c:	41 5e                	pop    %r14
14003345e:	41 5d                	pop    %r13
140033460:	41 5c                	pop    %r12
140033462:	5f                   	pop    %rdi
140033463:	c3                   	ret
140033464:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140033469:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14003346e:	57                   	push   %rdi
14003346f:	48 83 ec 20          	sub    $0x20,%rsp
140033473:	49 8b d8             	mov    %r8,%rbx
140033476:	48 8b f2             	mov    %rdx,%rsi
140033479:	48 8b f9             	mov    %rcx,%rdi
14003347c:	48 3b ca             	cmp    %rdx,%rcx
14003347f:	74 18                	je     0x140033499
140033481:	48 8b d7             	mov    %rdi,%rdx
140033484:	48 8b cb             	mov    %rbx,%rcx
140033487:	e8 58 2e fd ff       	call   0x1400062e4
14003348c:	48 83 c3 10          	add    $0x10,%rbx
140033490:	48 83 c7 10          	add    $0x10,%rdi
140033494:	48 3b fe             	cmp    %rsi,%rdi
140033497:	75 e8                	jne    0x140033481
140033499:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14003349e:	48 8b c3             	mov    %rbx,%rax
1400334a1:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400334a6:	48 83 c4 20          	add    $0x20,%rsp
1400334aa:	5f                   	pop    %rdi
1400334ab:	c3                   	ret
1400334ac:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400334b1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400334b6:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
1400334bb:	49 8d 58 ff          	lea    -0x1(%r8),%rbx
1400334bf:	4c 8b d1             	mov    %rcx,%r10
1400334c2:	48 d1 fb             	sar    $1,%rbx
1400334c5:	48 8b fa             	mov    %rdx,%rdi
1400334c8:	4c 8b da             	mov    %rdx,%r11
1400334cb:	48 3b d3             	cmp    %rbx,%rdx
1400334ce:	7d 2b                	jge    0x1400334fb
1400334d0:	4b 8d 0c 1b          	lea    (%r11,%r11,1),%rcx
1400334d4:	45 33 db             	xor    %r11d,%r11d
1400334d7:	41 8b 44 8a 04       	mov    0x4(%r10,%rcx,4),%eax
1400334dc:	41 39 44 8a 08       	cmp    %eax,0x8(%r10,%rcx,4)
1400334e1:	41 0f 9d c3          	setge  %r11b
1400334e5:	49 ff c3             	inc    %r11
1400334e8:	4c 03 d9             	add    %rcx,%r11
1400334eb:	43 8b 04 9a          	mov    (%r10,%r11,4),%eax
1400334ef:	41 89 04 92          	mov    %eax,(%r10,%rdx,4)
1400334f3:	49 8b d3             	mov    %r11,%rdx
1400334f6:	4c 3b db             	cmp    %rbx,%r11