4421eb:	83 c4 04             	add    $0x4,%esp
4421ee:	85 d2                	test   %edx,%edx
4421f0:	74 2c                	je     0x44221e
4421f2:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4421f5:	8b c2                	mov    %edx,%eax
4421f7:	2b ca                	sub    %edx,%ecx
4421f9:	83 e1 fc             	and    $0xfffffffc,%ecx
4421fc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
442202:	72 10                	jb     0x442214
442204:	8b 50 fc             	mov    -0x4(%eax),%edx
442207:	83 c1 23             	add    $0x23,%ecx
44220a:	2b c2                	sub    %edx,%eax
44220c:	83 c0 fc             	add    $0xfffffffc,%eax
44220f:	83 f8 1f             	cmp    $0x1f,%eax
442212:	77 21                	ja     0x442235
442214:	51                   	push   %ecx
442215:	52                   	push   %edx
442216:	e8 ed 77 02 00       	call   0x469a08
44221b:	83 c4 08             	add    $0x8,%esp
44221e:	8b c6                	mov    %esi,%eax
442220:	8b 4d f4             	mov    -0xc(%ebp),%ecx
442223:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
44222a:	59                   	pop    %ecx
44222b:	5e                   	pop    %esi
44222c:	8b e5                	mov    %ebp,%esp
44222e:	5d                   	pop    %ebp
44222f:	c3                   	ret
442230:	e8 fc 73 03 00       	call   0x479631
442235:	e8 f7 73 03 00       	call   0x479631
44223a:	cc                   	int3
44223b:	cc                   	int3
44223c:	cc                   	int3
44223d:	cc                   	int3
44223e:	cc                   	int3
44223f:	cc                   	int3
442240:	83 ec 08             	sub    $0x8,%esp
442243:	55                   	push   %ebp
442244:	8b 6c 24 10          	mov    0x10(%esp),%ebp
442248:	33 c0                	xor    %eax,%eax
44224a:	89 54 24 08          	mov    %edx,0x8(%esp)
44224e:	89 4c 24 04          	mov    %ecx,0x4(%esp)
442252:	85 ed                	test   %ebp,%ebp
442254:	74 36                	je     0x44228c
442256:	57                   	push   %edi
442257:	33 ff                	xor    %edi,%edi
442259:	85 d2                	test   %edx,%edx
44225b:	74 2e                	je     0x44228b
44225d:	53                   	push   %ebx
44225e:	bb 20 00 00 00       	mov    $0x20,%ebx
442263:	56                   	push   %esi
442264:	2b dd                	sub    %ebp,%ebx
442266:	8b 34 b9             	mov    (%ecx,%edi,4),%esi
442269:	8b cd                	mov    %ebp,%ecx
44226b:	8b d6                	mov    %esi,%edx
44226d:	d3 e2                	shl    %cl,%edx
44226f:	8b cb                	mov    %ebx,%ecx
442271:	0b d0                	or     %eax,%edx
442273:	8b 44 24 10          	mov    0x10(%esp),%eax
442277:	89 14 b8             	mov    %edx,(%eax,%edi,4)
44227a:	8b c6                	mov    %esi,%eax
44227c:	d3 e8                	shr    %cl,%eax
44227e:	47                   	inc    %edi
44227f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
442283:	3b 7c 24 14          	cmp    0x14(%esp),%edi
442287:	72 dd                	jb     0x442266
442289:	5e                   	pop    %esi
44228a:	5b                   	pop    %ebx
44228b:	5f                   	pop    %edi
44228c:	5d                   	pop    %ebp
44228d:	83 c4 08             	add    $0x8,%esp
442290:	c3                   	ret
442291:	cc                   	int3
442292:	cc                   	int3
442293:	cc                   	int3
442294:	cc                   	int3
442295:	cc                   	int3
442296:	cc                   	int3
442297:	cc                   	int3
442298:	cc                   	int3
442299:	cc                   	int3
44229a:	cc                   	int3
44229b:	cc                   	int3
44229c:	cc                   	int3
44229d:	cc                   	int3
44229e:	cc                   	int3
44229f:	cc                   	int3
4422a0:	51                   	push   %ecx
4422a1:	55                   	push   %ebp
4422a2:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
4422a6:	56                   	push   %esi
4422a7:	33 f6                	xor    %esi,%esi
4422a9:	57                   	push   %edi
4422aa:	8b fa                	mov    %edx,%edi
4422ac:	85 ed                	test   %ebp,%ebp
4422ae:	74 34                	je     0x4422e4
4422b0:	85 ff                	test   %edi,%edi
4422b2:	74 30                	je     0x4422e4
4422b4:	53                   	push   %ebx
4422b5:	b8 20 00 00 00       	mov    $0x20,%eax
4422ba:	8d 59 fc             	lea    -0x4(%ecx),%ebx
4422bd:	2b c5                	sub    %ebp,%eax
4422bf:	8d 1c bb             	lea    (%ebx,%edi,4),%ebx
4422c2:	89 44 24 10          	mov    %eax,0x10(%esp)
4422c6:	8b 13                	mov    (%ebx),%edx
4422c8:	8d 5b fc             	lea    -0x4(%ebx),%ebx
4422cb:	8b cd                	mov    %ebp,%ecx
4422cd:	8b c2                	mov    %edx,%eax
4422cf:	d3 e8                	shr    %cl,%eax
4422d1:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4422d5:	0b c6                	or     %esi,%eax
4422d7:	8b f2                	mov    %edx,%esi
4422d9:	89 43 04             	mov    %eax,0x4(%ebx)
4422dc:	d3 e6                	shl    %cl,%esi
4422de:	83 ef 01             	sub    $0x1,%edi
4422e1:	75 e3                	jne    0x4422c6
4422e3:	5b                   	pop    %ebx
4422e4:	5f                   	pop    %edi
4422e5:	8b c6                	mov    %esi,%eax
4422e7:	5e                   	pop    %esi
4422e8:	5d                   	pop    %ebp
4422e9:	59                   	pop    %ecx
4422ea:	c3                   	ret
4422eb:	cc                   	int3
4422ec:	cc                   	int3
4422ed:	cc                   	int3
4422ee:	cc                   	int3
4422ef:	cc                   	int3
4422f0:	55                   	push   %ebp
4422f1:	8b ec                	mov    %esp,%ebp
4422f3:	6a ff                	push   $0xffffffff
4422f5:	68 9d af 49 00       	push   $0x49af9d
4422fa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
442300:	50                   	push   %eax
442301:	83 ec 14             	sub    $0x14,%esp
442304:	56                   	push   %esi
442305:	57                   	push   %edi
442306:	a1 14 40 4c 00       	mov    0x4c4014,%eax
44230b:	33 c5                	xor    %ebp,%eax
44230d:	50                   	push   %eax
44230e:	8d 45 f4             	lea    -0xc(%ebp),%eax
442311:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
442317:	8b 45 08             	mov    0x8(%ebp),%eax
44231a:	83 c0 04             	add    $0x4,%eax
44231d:	68 04 55 4c 00       	push   $0x4c5504
442322:	50                   	push   %eax
442323:	e8 46 8e 02 00       	call   0x46b16e
442328:	83 c4 08             	add    $0x8,%esp
44232b:	85 c0                	test   %eax,%eax
44232d:	74 13                	je     0x442342
44232f:	32 c0                	xor    %al,%al
442331:	8b 4d f4             	mov    -0xc(%ebp),%ecx
442334:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
44233b:	59                   	pop    %ecx
44233c:	5f                   	pop    %edi
44233d:	5e                   	pop    %esi
44233e:	8b e5                	mov    %ebp,%esp
442340:	5d                   	pop    %ebp
442341:	c3                   	ret
442342:	8b 45 10             	mov    0x10(%ebp),%eax
442345:	8d 4d e0             	lea    -0x20(%ebp),%ecx
442348:	ff 30                	push   (%eax)
44234a:	e8 71 c1 00 00       	call   0x44e4c0
44234f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
442352:	8d 45 e0             	lea    -0x20(%ebp),%eax
442355:	50                   	push   %eax
442356:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
44235d:	e8 ce c2 00 00       	call   0x44e630
442362:	8b 55 e8             	mov    -0x18(%ebp),%edx
442365:	33 c0                	xor    %eax,%eax
442367:	8b 75 ec             	mov    -0x14(%ebp),%esi
44236a:	8b ca                	mov    %edx,%ecx
44236c:	8b fe                	mov    %esi,%edi
44236e:	f3 ab                	rep stos %eax,%es:(%edi)
442370:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
442377:	56                   	push   %esi
442378:	83 f8 10             	cmp    $0x10,%eax
44237b:	72 07                	jb     0x442384
44237d:	e8 de 3b 05 00       	call   0x495f60
442382:	eb 05                	jmp    0x442389
442384:	e8 f9 72 03 00       	call   0x479682
442389:	83 c4 04             	add    $0x4,%esp
44238c:	b0 01                	mov    $0x1,%al
44238e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
442391:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
442398:	59                   	pop    %ecx
442399:	5f                   	pop    %edi
44239a:	5e                   	pop    %esi
44239b:	8b e5                	mov    %ebp,%esp
44239d:	5d                   	pop    %ebp
44239e:	c3                   	ret
44239f:	cc                   	int3
4423a0:	56                   	push   %esi
4423a1:	8b 74 24 08          	mov    0x8(%esp),%esi
4423a5:	57                   	push   %edi
4423a6:	8b f9                	mov    %ecx,%edi
4423a8:	85 f6                	test   %esi,%esi
4423aa:	74 17                	je     0x4423c3
4423ac:	8d 04 b2             	lea    (%edx,%esi,4),%eax
4423af:	2b fa                	sub    %edx,%edi
4423b1:	8b 4c 07 fc          	mov    -0x4(%edi,%eax,1),%ecx
4423b5:	8d 40 fc             	lea    -0x4(%eax),%eax
4423b8:	4e                   	dec    %esi
4423b9:	3b 08                	cmp    (%eax),%ecx
4423bb:	77 11                	ja     0x4423ce
4423bd:	72 09                	jb     0x4423c8
4423bf:	85 f6                	test   %esi,%esi
4423c1:	75 ee                	jne    0x4423b1
4423c3:	5f                   	pop    %edi
4423c4:	33 c0                	xor    %eax,%eax
4423c6:	5e                   	pop    %esi
4423c7:	c3                   	ret
4423c8:	5f                   	pop    %edi
4423c9:	83 c8 ff             	or     $0xffffffff,%eax
4423cc:	5e                   	pop    %esi
4423cd:	c3                   	ret
4423ce:	5f                   	pop    %edi
4423cf:	b8 01 00 00 00       	mov    $0x1,%eax
4423d4:	5e                   	pop    %esi
4423d5:	c3                   	ret
4423d6:	cc                   	int3
4423d7:	cc                   	int3
4423d8:	cc                   	int3
4423d9:	cc                   	int3
4423da:	cc                   	int3
4423db:	cc                   	int3
4423dc:	cc                   	int3
4423dd:	cc                   	int3
4423de:	cc                   	int3
4423df:	cc                   	int3
4423e0:	53                   	push   %ebx
4423e1:	8b d9                	mov    %ecx,%ebx
4423e3:	56                   	push   %esi
4423e4:	57                   	push   %edi
4423e5:	8b fa                	mov    %edx,%edi
4423e7:	8b 33                	mov    (%ebx),%esi
4423e9:	8b c6                	mov    %esi,%eax
4423eb:	2b 44 24 10          	sub    0x10(%esp),%eax
4423ef:	89 03                	mov    %eax,(%ebx)
4423f1:	3b c6                	cmp    %esi,%eax
4423f3:	76 26                	jbe    0x44241b
4423f5:	b8 01 00 00 00       	mov    $0x1,%eax
4423fa:	3b f8                	cmp    %eax,%edi
4423fc:	76 14                	jbe    0x442412
4423fe:	66 90                	xchg   %ax,%ax
442400:	8b 14 83             	mov    (%ebx,%eax,4),%edx
442403:	8d 4a ff             	lea    -0x1(%edx),%ecx
442406:	89 0c 83             	mov    %ecx,(%ebx,%eax,4)
442409:	85 d2                	test   %edx,%edx
44240b:	75 0e                	jne    0x44241b
44240d:	40                   	inc    %eax
44240e:	3b c7                	cmp    %edi,%eax
442410:	72 ee                	jb     0x442400
442412:	5f                   	pop    %edi
442413:	5e                   	pop    %esi
442414:	b8 01 00 00 00       	mov    $0x1,%eax
442419:	5b                   	pop    %ebx
44241a:	c3                   	ret
44241b:	5f                   	pop    %edi
44241c:	5e                   	pop    %esi
44241d:	33 c0                	xor    %eax,%eax
44241f:	5b                   	pop    %ebx
442420:	c3                   	ret
442421:	cc                   	int3
442422:	cc                   	int3
442423:	cc                   	int3
442424:	cc                   	int3
442425:	cc                   	int3
442426:	cc                   	int3
442427:	cc                   	int3
442428:	cc                   	int3
442429:	cc                   	int3
44242a:	cc                   	int3
44242b:	cc                   	int3
44242c:	cc                   	int3
44242d:	cc                   	int3
44242e:	cc                   	int3
44242f:	cc                   	int3
442430:	56                   	push   %esi
442431:	57                   	push   %edi
442432:	8b f9                	mov    %ecx,%edi
442434:	8b 37                	mov    (%edi),%esi
442436:	8d 46 ff             	lea    -0x1(%esi),%eax
442439:	89 07                	mov    %eax,(%edi)
44243b:	3b c6                	cmp    %esi,%eax
44243d:	76 23                	jbe    0x442462
44243f:	be 01 00 00 00       	mov    $0x1,%esi
442444:	3b d6                	cmp    %esi,%edx
442446:	76 1a                	jbe    0x442462
442448:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
44244f:	00
442450:	8b 0c b7             	mov    (%edi,%esi,4),%ecx
442453:	8d 41 ff             	lea    -0x1(%ecx),%eax
442456:	89 04 b7             	mov    %eax,(%edi,%esi,4)
442459:	85 c9                	test   %ecx,%ecx
44245b:	75 05                	jne    0x442462
44245d:	46                   	inc    %esi
44245e:	3b f2                	cmp    %edx,%esi
442460:	72 ee                	jb     0x442450
442462:	33 c0                	xor    %eax,%eax
442464:	85 d2                	test   %edx,%edx
442466:	74 60                	je     0x4424c8
442468:	83 fa 10             	cmp    $0x10,%edx
44246b:	72 53                	jb     0x4424c0
44246d:	0f 10 0d 80 74 4b 00 	movups 0x4b7480,%xmm1
442474:	8b f2                	mov    %edx,%esi
442476:	8d 4f 20             	lea    0x20(%edi),%ecx
442479:	83 e6 f0             	and    $0xfffffff0,%esi
44247c:	0f 1f 40 00          	nopl   0x0(%eax)
442480:	0f 10 41 e0          	movups -0x20(%ecx),%xmm0
442484:	83 c0 10             	add    $0x10,%eax
442487:	8d 49 40             	lea    0x40(%ecx),%ecx
44248a:	66 0f df c1          	pandn  %xmm1,%xmm0
44248e:	0f 11 41 a0          	movups %xmm0,-0x60(%ecx)
442492:	0f 10 41 b0          	movups -0x50(%ecx),%xmm0
442496:	66 0f df c1          	pandn  %xmm1,%xmm0
44249a:	0f 11 41 b0          	movups %xmm0,-0x50(%ecx)
44249e:	0f 10 41 c0          	movups -0x40(%ecx),%xmm0
4424a2:	66 0f df c1          	pandn  %xmm1,%xmm0
4424a6:	0f 11 41 c0          	movups %xmm0,-0x40(%ecx)
4424aa:	0f 10 41 d0          	movups -0x30(%ecx),%xmm0
4424ae:	66 0f df c1          	pandn  %xmm1,%xmm0
4424b2:	0f 11 41 d0          	movups %xmm0,-0x30(%ecx)
4424b6:	3b c6                	cmp    %esi,%eax
4424b8:	72 c6                	jb     0x442480
4424ba:	3b c2                	cmp    %edx,%eax
4424bc:	73 0a                	jae    0x4424c8
4424be:	66 90                	xchg   %ax,%ax
4424c0:	f7 14 87             	notl   (%edi,%eax,4)
4424c3:	40                   	inc    %eax
4424c4:	3b c2                	cmp    %edx,%eax
4424c6:	72 f8                	jb     0x4424c0
4424c8:	5f                   	pop    %edi
4424c9:	5e                   	pop    %esi
4424ca:	c3                   	ret
4424cb:	cc                   	int3
4424cc:	cc                   	int3
4424cd:	cc                   	int3
4424ce:	cc                   	int3
4424cf:	cc                   	int3
4424d0:	57                   	push   %edi
4424d1:	56                   	push   %esi
4424d2:	8b 44 24 0c          	mov    0xc(%esp),%eax
4424d6:	8b 7c 24 10          	mov    0x10(%esp),%edi
4424da:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4424dd:	8d 3c 8f             	lea    (%edi,%ecx,4),%edi
4424e0:	8d 14 8a             	lea    (%edx,%ecx,4),%edx
4424e3:	f7 d9                	neg    %ecx
4424e5:	f7 c1 02 00 00 00    	test   $0x2,%ecx
4424eb:	74 05                	je     0x4424f2
4424ed:	83 e9 02             	sub    $0x2,%ecx