4421ae:	c1 fa 02             	sar    $0x2,%edx
4421b1:	89 7d fc             	mov    %edi,-0x4(%ebp)
4421b4:	3b d7                	cmp    %edi,%edx
4421b6:	8b 7d 08             	mov    0x8(%ebp),%edi
4421b9:	77 28                	ja     0x4421e3
4421bb:	2b c6                	sub    %esi,%eax
4421bd:	50                   	push   %eax
4421be:	56                   	push   %esi
4421bf:	51                   	push   %ecx
4421c0:	e8 bb 12 1a 00       	call   0x5e3480
4421c5:	8b 4f 04             	mov    0x4(%edi),%ecx
4421c8:	83 c4 0c             	add    $0xc,%esp
4421cb:	2b 0f                	sub    (%edi),%ecx
4421cd:	8b 03                	mov    (%ebx),%eax
4421cf:	c1 f9 02             	sar    $0x2,%ecx
4421d2:	5e                   	pop    %esi
4421d3:	5f                   	pop    %edi
4421d4:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4421d7:	89 43 04             	mov    %eax,0x4(%ebx)
4421da:	8b c3                	mov    %ebx,%eax
4421dc:	5b                   	pop    %ebx
4421dd:	8b e5                	mov    %ebp,%esp
4421df:	5d                   	pop    %ebp
4421e0:	c2 04 00             	ret    $0x4
4421e3:	8b 43 08             	mov    0x8(%ebx),%eax
4421e6:	2b c1                	sub    %ecx,%eax
4421e8:	c1 f8 02             	sar    $0x2,%eax
4421eb:	3b d0                	cmp    %eax,%edx
4421ed:	77 3f                	ja     0x44222e
4421ef:	8b 45 fc             	mov    -0x4(%ebp),%eax
4421f2:	8b 7d f8             	mov    -0x8(%ebp),%edi
4421f5:	8d 34 85 00 00 00 00 	lea    0x0(,%eax,4),%esi
4421fc:	56                   	push   %esi
4421fd:	57                   	push   %edi
4421fe:	51                   	push   %ecx
4421ff:	e8 7c 12 1a 00       	call   0x5e3480
442204:	8d 04 3e             	lea    (%esi,%edi,1),%eax
442207:	8b 75 08             	mov    0x8(%ebp),%esi
44220a:	8b 7b 04             	mov    0x4(%ebx),%edi
44220d:	8b 76 04             	mov    0x4(%esi),%esi
442210:	2b f0                	sub    %eax,%esi
442212:	56                   	push   %esi
442213:	50                   	push   %eax
442214:	57                   	push   %edi
442215:	e8 66 12 1a 00       	call   0x5e3480
44221a:	83 c4 18             	add    $0x18,%esp
44221d:	8d 04 3e             	lea    (%esi,%edi,1),%eax
442220:	89 43 04             	mov    %eax,0x4(%ebx)
442223:	8b c3                	mov    %ebx,%eax
442225:	5e                   	pop    %esi
442226:	5f                   	pop    %edi
442227:	5b                   	pop    %ebx
442228:	8b e5                	mov    %ebp,%esp
44222a:	5d                   	pop    %ebp
44222b:	c2 04 00             	ret    $0x4
44222e:	85 c9                	test   %ecx,%ecx
442230:	74 3c                	je     0x44226e
442232:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
442237:	0f 87 97 00 00 00    	ja     0x4422d4
44223d:	c1 e0 02             	shl    $0x2,%eax
442240:	3d 00 10 00 00       	cmp    $0x1000,%eax
442245:	72 1e                	jb     0x442265
442247:	f6 c1 1f             	test   $0x1f,%cl
44224a:	0f 85 84 00 00 00    	jne    0x4422d4
442250:	8b 41 fc             	mov    -0x4(%ecx),%eax
442253:	3b c1                	cmp    %ecx,%eax
442255:	73 7d                	jae    0x4422d4
442257:	2b c8                	sub    %eax,%ecx
442259:	83 f9 04             	cmp    $0x4,%ecx
44225c:	72 76                	jb     0x4422d4
44225e:	83 f9 23             	cmp    $0x23,%ecx
442261:	77 71                	ja     0x4422d4
442263:	8b c8                	mov    %eax,%ecx
442265:	51                   	push   %ecx
442266:	e8 65 e2 0a 00       	call   0x4f04d0
44226b:	83 c4 04             	add    $0x4,%esp
44226e:	8b 77 04             	mov    0x4(%edi),%esi
442271:	2b 37                	sub    (%edi),%esi
442273:	c1 fe 02             	sar    $0x2,%esi
442276:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
44227c:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
442283:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
44228a:	85 f6                	test   %esi,%esi
44228c:	74 36                	je     0x4422c4
44228e:	81 fe ff ff ff 3f    	cmp    $0x3fffffff,%esi
442294:	77 39                	ja     0x4422cf
442296:	56                   	push   %esi
442297:	e8 a4 01 00 00       	call   0x442440
44229c:	8b f8                	mov    %eax,%edi
44229e:	89 3b                	mov    %edi,(%ebx)
4422a0:	89 7b 04             	mov    %edi,0x4(%ebx)
4422a3:	8d 0c b7             	lea    (%edi,%esi,4),%ecx
4422a6:	8b 75 08             	mov    0x8(%ebp),%esi
4422a9:	89 4b 08             	mov    %ecx,0x8(%ebx)
4422ac:	8b 0e                	mov    (%esi),%ecx
4422ae:	8b 76 04             	mov    0x4(%esi),%esi
4422b1:	2b f1                	sub    %ecx,%esi
4422b3:	56                   	push   %esi
4422b4:	51                   	push   %ecx
4422b5:	57                   	push   %edi
4422b6:	e8 c5 11 1a 00       	call   0x5e3480
4422bb:	8d 04 3e             	lea    (%esi,%edi,1),%eax
4422be:	83 c4 0c             	add    $0xc,%esp
4422c1:	89 43 04             	mov    %eax,0x4(%ebx)
4422c4:	5e                   	pop    %esi
4422c5:	5f                   	pop    %edi
4422c6:	8b c3                	mov    %ebx,%eax
4422c8:	5b                   	pop    %ebx
4422c9:	8b e5                	mov    %ebp,%esp
4422cb:	5d                   	pop    %ebp
4422cc:	c2 04 00             	ret    $0x4
4422cf:	e8 cc 01 00 00       	call   0x4424a0
4422d4:	e8 56 ac 1a 00       	call   0x5ecf2f
4422d9:	cc                   	int3
4422da:	cc                   	int3
4422db:	cc                   	int3
4422dc:	cc                   	int3
4422dd:	cc                   	int3
4422de:	cc                   	int3
4422df:	cc                   	int3
4422e0:	56                   	push   %esi
4422e1:	8b f1                	mov    %ecx,%esi
4422e3:	8b 16                	mov    (%esi),%edx
4422e5:	85 d2                	test   %edx,%edx
4422e7:	74 50                	je     0x442339
4422e9:	8b 46 08             	mov    0x8(%esi),%eax
4422ec:	2b c2                	sub    %edx,%eax
4422ee:	c1 f8 02             	sar    $0x2,%eax
4422f1:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
4422f6:	77 43                	ja     0x44233b
4422f8:	c1 e0 02             	shl    $0x2,%eax
4422fb:	3d 00 10 00 00       	cmp    $0x1000,%eax
442300:	72 1a                	jb     0x44231c
442302:	f6 c2 1f             	test   $0x1f,%dl
442305:	75 34                	jne    0x44233b
442307:	8b 42 fc             	mov    -0x4(%edx),%eax
44230a:	3b c2                	cmp    %edx,%eax
44230c:	73 2d                	jae    0x44233b
44230e:	2b d0                	sub    %eax,%edx
442310:	83 fa 04             	cmp    $0x4,%edx
442313:	72 26                	jb     0x44233b
442315:	83 fa 23             	cmp    $0x23,%edx
442318:	77 21                	ja     0x44233b
44231a:	8b d0                	mov    %eax,%edx
44231c:	52                   	push   %edx
44231d:	e8 ae e1 0a 00       	call   0x4f04d0
442322:	83 c4 04             	add    $0x4,%esp
442325:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
44232b:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
442332:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
442339:	5e                   	pop    %esi
44233a:	c3                   	ret
44233b:	e8 ef ab 1a 00       	call   0x5ecf2f
442340:	cc                   	int3
442341:	cc                   	int3
442342:	cc                   	int3
442343:	cc                   	int3
442344:	cc                   	int3
442345:	cc                   	int3
442346:	cc                   	int3
442347:	cc                   	int3
442348:	cc                   	int3
442349:	cc                   	int3
44234a:	cc                   	int3
44234b:	cc                   	int3
44234c:	cc                   	int3
44234d:	cc                   	int3
44234e:	cc                   	int3
44234f:	cc                   	int3
442350:	55                   	push   %ebp
442351:	8b ec                	mov    %esp,%ebp
442353:	51                   	push   %ecx
442354:	8b 4d 0c             	mov    0xc(%ebp),%ecx
442357:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
44235b:	72 04                	jb     0x442361
44235d:	8b 01                	mov    (%ecx),%eax
44235f:	eb 02                	jmp    0x442363
442361:	8b c1                	mov    %ecx,%eax
442363:	8b 55 08             	mov    0x8(%ebp),%edx
442366:	53                   	push   %ebx
442367:	57                   	push   %edi
442368:	83 7a 14 08          	cmpl   $0x8,0x14(%edx)
44236c:	72 04                	jb     0x442372
44236e:	8b 3a                	mov    (%edx),%edi
442370:	eb 02                	jmp    0x442374
442372:	8b fa                	mov    %edx,%edi
442374:	8b 59 10             	mov    0x10(%ecx),%ebx
442377:	8b cb                	mov    %ebx,%ecx
442379:	8b 52 10             	mov    0x10(%edx),%edx
44237c:	3b d3                	cmp    %ebx,%edx
44237e:	89 55 fc             	mov    %edx,-0x4(%ebp)
442381:	0f 42 ca             	cmovb  %edx,%ecx
442384:	85 c9                	test   %ecx,%ecx
442386:	75 04                	jne    0x44238c
442388:	33 c0                	xor    %eax,%eax
44238a:	eb 1e                	jmp    0x4423aa
44238c:	56                   	push   %esi
44238d:	85 c9                	test   %ecx,%ecx
44238f:	74 16                	je     0x4423a7
442391:	2b f8                	sub    %eax,%edi
442393:	0f b7 14 07          	movzwl (%edi,%eax,1),%edx
442397:	0f b7 30             	movzwl (%eax),%esi
44239a:	66 3b d6             	cmp    %si,%dx
44239d:	75 24                	jne    0x4423c3
44239f:	83 c0 02             	add    $0x2,%eax
4423a2:	83 e9 01             	sub    $0x1,%ecx
4423a5:	75 ec                	jne    0x442393
4423a7:	33 c0                	xor    %eax,%eax
4423a9:	5e                   	pop    %esi
4423aa:	85 c0                	test   %eax,%eax
4423ac:	75 21                	jne    0x4423cf
4423ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
4423b1:	3b d8                	cmp    %eax,%ebx
4423b3:	76 16                	jbe    0x4423cb
4423b5:	83 c8 ff             	or     $0xffffffff,%eax
4423b8:	5f                   	pop    %edi
4423b9:	c1 e8 1f             	shr    $0x1f,%eax
4423bc:	5b                   	pop    %ebx
4423bd:	8b e5                	mov    %ebp,%esp
4423bf:	5d                   	pop    %ebp
4423c0:	c2 08 00             	ret    $0x8
4423c3:	1b c0                	sbb    %eax,%eax
4423c5:	83 e0 fe             	and    $0xfffffffe,%eax
4423c8:	40                   	inc    %eax
4423c9:	eb de                	jmp    0x4423a9
4423cb:	1b c0                	sbb    %eax,%eax
4423cd:	f7 d8                	neg    %eax
4423cf:	5f                   	pop    %edi
4423d0:	c1 e8 1f             	shr    $0x1f,%eax
4423d3:	5b                   	pop    %ebx
4423d4:	8b e5                	mov    %ebp,%esp
4423d6:	5d                   	pop    %ebp
4423d7:	c2 08 00             	ret    $0x8
4423da:	cc                   	int3
4423db:	cc                   	int3
4423dc:	cc                   	int3
4423dd:	cc                   	int3
4423de:	cc                   	int3
4423df:	cc                   	int3
4423e0:	56                   	push   %esi
4423e1:	8b f1                	mov    %ecx,%esi
4423e3:	57                   	push   %edi
4423e4:	8b 7e 08             	mov    0x8(%esi),%edi
4423e7:	8b c7                	mov    %edi,%eax
4423e9:	8b 56 04             	mov    0x4(%esi),%edx
4423ec:	2b c2                	sub    %edx,%eax
4423ee:	c1 f8 02             	sar    $0x2,%eax
4423f1:	83 f8 01             	cmp    $0x1,%eax
4423f4:	73 39                	jae    0x44242f
4423f6:	8b 0e                	mov    (%esi),%ecx
4423f8:	2b d1                	sub    %ecx,%edx
4423fa:	53                   	push   %ebx
4423fb:	bb ff ff ff 3f       	mov    $0x3fffffff,%ebx
442400:	c1 fa 02             	sar    $0x2,%edx
442403:	8b c3                	mov    %ebx,%eax
442405:	2b c2                	sub    %edx,%eax
442407:	83 f8 01             	cmp    $0x1,%eax
44240a:	72 28                	jb     0x442434
44240c:	2b f9                	sub    %ecx,%edi
44240e:	42                   	inc    %edx
44240f:	c1 ff 02             	sar    $0x2,%edi
442412:	33 c9                	xor    %ecx,%ecx
442414:	8b c7                	mov    %edi,%eax
442416:	d1 e8                	shr    $1,%eax
442418:	2b d8                	sub    %eax,%ebx
44241a:	03 c7                	add    %edi,%eax
44241c:	3b df                	cmp    %edi,%ebx
44241e:	0f 43 c8             	cmovae %eax,%ecx
442421:	3b ca                	cmp    %edx,%ecx
442423:	0f 43 d1             	cmovae %ecx,%edx
442426:	8b ce                	mov    %esi,%ecx
442428:	52                   	push   %edx
442429:	e8 82 00 00 00       	call   0x4424b0
44242e:	5b                   	pop    %ebx
44242f:	5f                   	pop    %edi
442430:	5e                   	pop    %esi
442431:	c2 04 00             	ret    $0x4
442434:	e8 67 00 00 00       	call   0x4424a0
442439:	cc                   	int3
44243a:	cc                   	int3
44243b:	cc                   	int3
44243c:	cc                   	int3
44243d:	cc                   	int3
44243e:	cc                   	int3
44243f:	cc                   	int3
442440:	55                   	push   %ebp
442441:	8b ec                	mov    %esp,%ebp
442443:	8b 45 08             	mov    0x8(%ebp),%eax
442446:	85 c0                	test   %eax,%eax
442448:	75 08                	jne    0x442452
44244a:	33 c9                	xor    %ecx,%ecx
44244c:	8b c1                	mov    %ecx,%eax
44244e:	5d                   	pop    %ebp
44244f:	c2 04 00             	ret    $0x4
442452:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
442457:	77 38                	ja     0x442491
442459:	c1 e0 02             	shl    $0x2,%eax
44245c:	3d 00 10 00 00       	cmp    $0x1000,%eax
442461:	72 1f                	jb     0x442482
442463:	8d 48 23             	lea    0x23(%eax),%ecx
442466:	3b c8                	cmp    %eax,%ecx
442468:	76 27                	jbe    0x442491
44246a:	51                   	push   %ecx
44246b:	e8 d2 eb 19 00       	call   0x5e1042
442470:	83 c4 04             	add    $0x4,%esp
442473:	8d 48 23             	lea    0x23(%eax),%ecx
442476:	83 e1 e0             	and    $0xffffffe0,%ecx
442479:	89 41 fc             	mov    %eax,-0x4(%ecx)
44247c:	8b c1                	mov    %ecx,%eax
44247e:	5d                   	pop    %ebp
44247f:	c2 04 00             	ret    $0x4
442482:	50                   	push   %eax
442483:	e8 ba eb 19 00       	call   0x5e1042
442488:	83 c4 04             	add    $0x4,%esp
44248b:	8b c8                	mov    %eax,%ecx
44248d:	5d                   	pop    %ebp
44248e:	c2 04 00             	ret    $0x4
442491:	e8 b7 be 18 00       	call   0x5ce34d
442496:	cc                   	int3
442497:	cc                   	int3
442498:	cc                   	int3
442499:	cc                   	int3
44249a:	cc                   	int3
44249b:	cc                   	int3
44249c:	cc                   	int3
44249d:	cc                   	int3
44249e:	cc                   	int3
44249f:	cc                   	int3
4424a0:	68 50 59 6e 00       	push   $0x6e5950
4424a5:	e8 e0 be 18 00       	call   0x5ce38a
4424aa:	cc                   	int3
4424ab:	cc                   	int3
4424ac:	cc                   	int3
4424ad:	cc                   	int3
4424ae:	cc                   	int3
4424af:	cc                   	int3
4424b0:	55                   	push   %ebp
4424b1:	8b ec                	mov    %esp,%ebp
4424b3:	51                   	push   %ecx
4424b4:	53                   	push   %ebx
4424b5:	8b 5d 08             	mov    0x8(%ebp),%ebx
4424b8:	56                   	push   %esi
4424b9:	57                   	push   %edi
4424ba:	8b f9                	mov    %ecx,%edi
4424bc:	85 db                	test   %ebx,%ebx
4424be:	75 04                	jne    0x4424c4
4424c0:	33 f6                	xor    %esi,%esi
4424c2:	eb 44                	jmp    0x442508
4424c4:	81 fb ff ff ff 3f    	cmp    $0x3fffffff,%ebx
4424ca:	0f 87 b1 00 00 00    	ja     0x442581