54e34a:	cc                   	int3
54e34b:	cc                   	int3
54e34c:	cc                   	int3
54e34d:	cc                   	int3
54e34e:	cc                   	int3
54e34f:	cc                   	int3
54e350:	8b c1                	mov    %ecx,%eax
54e352:	c2 0c 00             	ret    $0xc
54e355:	cc                   	int3
54e356:	cc                   	int3
54e357:	cc                   	int3
54e358:	cc                   	int3
54e359:	cc                   	int3
54e35a:	cc                   	int3
54e35b:	cc                   	int3
54e35c:	cc                   	int3
54e35d:	cc                   	int3
54e35e:	cc                   	int3
54e35f:	cc                   	int3
54e360:	8b 51 0c             	mov    0xc(%ecx),%edx
54e363:	8b 44 24 04          	mov    0x4(%esp),%eax
54e367:	56                   	push   %esi
54e368:	8b 74 24 10          	mov    0x10(%esp),%esi
54e36c:	89 02                	mov    %eax,(%edx)
54e36e:	8b 41 1c             	mov    0x1c(%ecx),%eax
54e371:	8b 54 24 0c          	mov    0xc(%esp),%edx
54e375:	2b f2                	sub    %edx,%esi
54e377:	d1 fe                	sar    $1,%esi
54e379:	89 10                	mov    %edx,(%eax)
54e37b:	8b 41 2c             	mov    0x2c(%ecx),%eax
54e37e:	89 30                	mov    %esi,(%eax)
54e380:	5e                   	pop    %esi
54e381:	c2 0c 00             	ret    $0xc
54e384:	cc                   	int3
54e385:	cc                   	int3
54e386:	cc                   	int3
54e387:	cc                   	int3
54e388:	cc                   	int3
54e389:	cc                   	int3
54e38a:	cc                   	int3
54e38b:	cc                   	int3
54e38c:	cc                   	int3
54e38d:	cc                   	int3
54e38e:	cc                   	int3
54e38f:	cc                   	int3
54e390:	8b 51 10             	mov    0x10(%ecx),%edx
54e393:	8b 44 24 04          	mov    0x4(%esp),%eax
54e397:	56                   	push   %esi
54e398:	8b 74 24 10          	mov    0x10(%esp),%esi
54e39c:	89 02                	mov    %eax,(%edx)
54e39e:	8b 41 20             	mov    0x20(%ecx),%eax
54e3a1:	8b 54 24 0c          	mov    0xc(%esp),%edx
54e3a5:	2b f2                	sub    %edx,%esi
54e3a7:	d1 fe                	sar    $1,%esi
54e3a9:	89 10                	mov    %edx,(%eax)
54e3ab:	8b 41 30             	mov    0x30(%ecx),%eax
54e3ae:	89 30                	mov    %esi,(%eax)
54e3b0:	5e                   	pop    %esi
54e3b1:	c2 0c 00             	ret    $0xc
54e3b4:	cc                   	int3
54e3b5:	cc                   	int3
54e3b6:	cc                   	int3
54e3b7:	cc                   	int3
54e3b8:	cc                   	int3
54e3b9:	cc                   	int3
54e3ba:	cc                   	int3
54e3bb:	cc                   	int3
54e3bc:	cc                   	int3
54e3bd:	cc                   	int3
54e3be:	cc                   	int3
54e3bf:	cc                   	int3
54e3c0:	8b 41 10             	mov    0x10(%ecx),%eax
54e3c3:	8b 54 24 08          	mov    0x8(%esp),%edx
54e3c7:	56                   	push   %esi
54e3c8:	8b 74 24 08          	mov    0x8(%esp),%esi
54e3cc:	2b d6                	sub    %esi,%edx
54e3ce:	89 30                	mov    %esi,(%eax)
54e3d0:	8b 41 20             	mov    0x20(%ecx),%eax
54e3d3:	d1 fa                	sar    $1,%edx
54e3d5:	89 30                	mov    %esi,(%eax)
54e3d7:	8b 41 30             	mov    0x30(%ecx),%eax
54e3da:	5e                   	pop    %esi
54e3db:	89 10                	mov    %edx,(%eax)
54e3dd:	c2 08 00             	ret    $0x8
54e3e0:	cc                   	int3
54e3e1:	cc                   	int3
54e3e2:	cc                   	int3
54e3e3:	cc                   	int3
54e3e4:	cc                   	int3
54e3e5:	cc                   	int3
54e3e6:	cc                   	int3
54e3e7:	cc                   	int3
54e3e8:	cc                   	int3
54e3e9:	cc                   	int3
54e3ea:	cc                   	int3
54e3eb:	cc                   	int3
54e3ec:	cc                   	int3
54e3ed:	cc                   	int3
54e3ee:	cc                   	int3
54e3ef:	cc                   	int3
54e3f0:	8b 44 24 04          	mov    0x4(%esp),%eax
54e3f4:	85 c0                	test   %eax,%eax
54e3f6:	74 1b                	je     0x54e413
54e3f8:	8b 51 0c             	mov    0xc(%ecx),%edx
54e3fb:	ff 74 24 08          	push   0x8(%esp)
54e3ff:	0b d0                	or     %eax,%edx
54e401:	8b c2                	mov    %edx,%eax
54e403:	83 c8 04             	or     $0x4,%eax
54e406:	83 79 38 00          	cmpl   $0x0,0x38(%ecx)
54e40a:	0f 45 c2             	cmovne %edx,%eax
54e40d:	50                   	push   %eax
54e40e:	e8 fc ca ec ff       	call   0x41af0f
54e413:	c2 08 00             	ret    $0x8
54e416:	cc                   	int3
54e417:	cc                   	int3
54e418:	cc                   	int3
54e419:	cc                   	int3
54e41a:	cc                   	int3
54e41b:	cc                   	int3
54e41c:	cc                   	int3
54e41d:	cc                   	int3
54e41e:	cc                   	int3
54e41f:	cc                   	int3
54e420:	33 c0                	xor    %eax,%eax
54e422:	33 d2                	xor    %edx,%edx
54e424:	c3                   	ret
54e425:	cc                   	int3
54e426:	cc                   	int3
54e427:	cc                   	int3
54e428:	cc                   	int3
54e429:	cc                   	int3
54e42a:	cc                   	int3
54e42b:	cc                   	int3
54e42c:	cc                   	int3
54e42d:	cc                   	int3
54e42e:	cc                   	int3
54e42f:	cc                   	int3
54e430:	8b 41 10             	mov    0x10(%ecx),%eax
54e433:	c3                   	ret
54e434:	cc                   	int3
54e435:	cc                   	int3
54e436:	cc                   	int3
54e437:	cc                   	int3
54e438:	cc                   	int3
54e439:	cc                   	int3
54e43a:	cc                   	int3
54e43b:	cc                   	int3
54e43c:	cc                   	int3
54e43d:	cc                   	int3
54e43e:	cc                   	int3
54e43f:	cc                   	int3
54e440:	8b 41 20             	mov    0x20(%ecx),%eax
54e443:	83 38 00             	cmpl   $0x0,(%eax)
54e446:	74 23                	je     0x54e46b
54e448:	8b 51 30             	mov    0x30(%ecx),%edx
54e44b:	8b 02                	mov    (%edx),%eax
54e44d:	85 c0                	test   %eax,%eax
54e44f:	7e 1a                	jle    0x54e46b
54e451:	48                   	dec    %eax
54e452:	89 02                	mov    %eax,(%edx)
54e454:	8b 49 20             	mov    0x20(%ecx),%ecx
54e457:	8b 11                	mov    (%ecx),%edx
54e459:	8d 42 02             	lea    0x2(%edx),%eax
54e45c:	89 01                	mov    %eax,(%ecx)
54e45e:	8b 44 24 04          	mov    0x4(%esp),%eax
54e462:	66 89 02             	mov    %ax,(%edx)
54e465:	0f b7 c0             	movzwl %ax,%eax
54e468:	c2 04 00             	ret    $0x4
54e46b:	8b 01                	mov    (%ecx),%eax
54e46d:	ff 74 24 04          	push   0x4(%esp)
54e471:	ff 50 0c             	call   *0xc(%eax)
54e474:	0f b7 c0             	movzwl %ax,%eax
54e477:	c2 04 00             	ret    $0x4
54e47a:	cc                   	int3
54e47b:	cc                   	int3
54e47c:	cc                   	int3
54e47d:	cc                   	int3
54e47e:	cc                   	int3
54e47f:	cc                   	int3
54e480:	cc                   	int3
54e481:	cc                   	int3
54e482:	cc                   	int3
54e483:	cc                   	int3
54e484:	cc                   	int3
54e485:	cc                   	int3
54e486:	cc                   	int3
54e487:	cc                   	int3
54e488:	cc                   	int3
54e489:	cc                   	int3
54e48a:	cc                   	int3
54e48b:	cc                   	int3
54e48c:	cc                   	int3
54e48d:	cc                   	int3
54e48e:	cc                   	int3
54e48f:	cc                   	int3
54e490:	ff 74 24 0c          	push   0xc(%esp)
54e494:	8b 01                	mov    (%ecx),%eax
54e496:	ff 74 24 0c          	push   0xc(%esp)
54e49a:	ff 74 24 0c          	push   0xc(%esp)
54e49e:	8b 40 24             	mov    0x24(%eax),%eax
54e4a1:	ff d0                	call   *%eax
54e4a3:	c2 0c 00             	ret    $0xc
54e4a6:	cc                   	int3
54e4a7:	cc                   	int3
54e4a8:	cc                   	int3
54e4a9:	cc                   	int3
54e4aa:	cc                   	int3
54e4ab:	cc                   	int3
54e4ac:	cc                   	int3
54e4ad:	cc                   	int3
54e4ae:	cc                   	int3
54e4af:	cc                   	int3
54e4b0:	51                   	push   %ecx
54e4b1:	ff 74 24 08          	push   0x8(%esp)
54e4b5:	83 c1 04             	add    $0x4,%ecx
54e4b8:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
54e4bf:	00
54e4c0:	e8 43 d1 ec ff       	call   0x41b608
54e4c5:	8b 44 24 08          	mov    0x8(%esp),%eax
54e4c9:	59                   	pop    %ecx
54e4ca:	c2 04 00             	ret    $0x4
54e4cd:	cc                   	int3
54e4ce:	cc                   	int3
54e4cf:	cc                   	int3
54e4d0:	cc                   	int3
54e4d1:	cc                   	int3
54e4d2:	cc                   	int3
54e4d3:	cc                   	int3
54e4d4:	cc                   	int3
54e4d5:	cc                   	int3
54e4d6:	cc                   	int3
54e4d7:	cc                   	int3
54e4d8:	cc                   	int3
54e4d9:	cc                   	int3
54e4da:	cc                   	int3
54e4db:	cc                   	int3
54e4dc:	cc                   	int3
54e4dd:	cc                   	int3
54e4de:	cc                   	int3
54e4df:	cc                   	int3
54e4e0:	83 ec 20             	sub    $0x20,%esp
54e4e3:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
54e4e8:	33 c4                	xor    %esp,%eax
54e4ea:	89 44 24 1c          	mov    %eax,0x1c(%esp)
54e4ee:	8b d1                	mov    %ecx,%edx
54e4f0:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
54e4f7:	56                   	push   %esi
54e4f8:	8b 74 24 28          	mov    0x28(%esp),%esi
54e4fc:	8b 4a 3c             	mov    0x3c(%edx),%ecx
54e4ff:	f6 c1 02             	test   $0x2,%cl
54e502:	75 6f                	jne    0x54e573
54e504:	8b 42 20             	mov    0x20(%edx),%eax
54e507:	8b 00                	mov    (%eax),%eax
54e509:	85 c0                	test   %eax,%eax
54e50b:	74 66                	je     0x54e573
54e50d:	8b 4a 38             	mov    0x38(%edx),%ecx
54e510:	3b c8                	cmp    %eax,%ecx
54e512:	0f 42 c8             	cmovb  %eax,%ecx
54e515:	8b 42 10             	mov    0x10(%edx),%eax
54e518:	33 d2                	xor    %edx,%edx
54e51a:	8b 00                	mov    (%eax),%eax
54e51c:	2b c8                	sub    %eax,%ecx
54e51e:	d1 f9                	sar    $1,%ecx
54e520:	51                   	push   %ecx
54e521:	50                   	push   %eax
54e522:	8d 4c 24 10          	lea    0x10(%esp),%ecx
54e526:	c7 44 24 24 07 00 00 	movl   $0x7,0x24(%esp)
54e52d:	00
54e52e:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
54e535:	00
54e536:	66 89 54 24 10       	mov    %dx,0x10(%esp)
54e53b:	e8 77 cc ec ff       	call   0x41b1b7
54e540:	33 c0                	xor    %eax,%eax
54e542:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
54e549:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
54e550:	8b ce                	mov    %esi,%ecx
54e552:	66 89 06             	mov    %ax,(%esi)
54e555:	8d 44 24 08          	lea    0x8(%esp),%eax
54e559:	50                   	push   %eax
54e55a:	e8 68 48 ed ff       	call   0x422dc7
54e55f:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
54e563:	83 f9 08             	cmp    $0x8,%ecx
54e566:	0f 82 9b 00 00 00    	jb     0x54e607
54e56c:	41                   	inc    %ecx
54e56d:	51                   	push   %ecx
54e56e:	e9 87 00 00 00       	jmp    0x54e5fa
54e573:	f6 c1 04             	test   $0x4,%cl
54e576:	75 45                	jne    0x54e5bd
54e578:	8b 42 1c             	mov    0x1c(%edx),%eax
54e57b:	8b 08                	mov    (%eax),%ecx
54e57d:	85 c9                	test   %ecx,%ecx
54e57f:	74 3c                	je     0x54e5bd
54e581:	8b 42 2c             	mov    0x2c(%edx),%eax
54e584:	8b 00                	mov    (%eax),%eax
54e586:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
54e589:	8b 42 0c             	mov    0xc(%edx),%eax
54e58c:	33 d2                	xor    %edx,%edx
54e58e:	8b 00                	mov    (%eax),%eax
54e590:	2b c8                	sub    %eax,%ecx
54e592:	d1 f9                	sar    $1,%ecx
54e594:	51                   	push   %ecx
54e595:	50                   	push   %eax
54e596:	8d 4c 24 10          	lea    0x10(%esp),%ecx
54e59a:	c7 44 24 24 07 00 00 	movl   $0x7,0x24(%esp)
54e5a1:	00
54e5a2:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
54e5a9:	00
54e5aa:	66 89 54 24 10       	mov    %dx,0x10(%esp)
54e5af:	e8 03 cc ec ff       	call   0x41b1b7
54e5b4:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
54e5bb:	eb 1a                	jmp    0x54e5d7
54e5bd:	33 c0                	xor    %eax,%eax
54e5bf:	c7 44 24 1c 07 00 00 	movl   $0x7,0x1c(%esp)
54e5c6:	00
54e5c7:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
54e5ce:	00
54e5cf:	66 89 44 24 08       	mov    %ax,0x8(%esp)
54e5d4:	89 46 10             	mov    %eax,0x10(%esi)
54e5d7:	33 c0                	xor    %eax,%eax
54e5d9:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
54e5e0:	66 89 06             	mov    %ax,(%esi)
54e5e3:	8b ce                	mov    %esi,%ecx
54e5e5:	8d 44 24 08          	lea    0x8(%esp),%eax
54e5e9:	50                   	push   %eax
54e5ea:	e8 d8 47 ed ff       	call   0x422dc7
54e5ef:	8b 44 24 1c          	mov    0x1c(%esp),%eax
54e5f3:	83 f8 08             	cmp    $0x8,%eax
54e5f6:	72 0f                	jb     0x54e607
54e5f8:	40                   	inc    %eax
54e5f9:	50                   	push   %eax
54e5fa:	ff 74 24 0c          	push   0xc(%esp)
54e5fe:	8d 4c 24 10          	lea    0x10(%esp),%ecx
54e602:	e8 40 36 ed ff       	call   0x421c47
54e607:	8b 4c 24 20          	mov    0x20(%esp),%ecx
54e60b:	8b c6                	mov    %esi,%eax
54e60d:	5e                   	pop    %esi
54e60e:	33 cc                	xor    %esp,%ecx
54e610:	e8 a1 d1 ec ff       	call   0x41b7b6
54e615:	83 c4 20             	add    $0x20,%esp
54e618:	c2 04 00             	ret    $0x4
54e61b:	cc                   	int3
54e61c:	cc                   	int3
54e61d:	cc                   	int3
54e61e:	cc                   	int3
54e61f:	cc                   	int3
54e620:	cc                   	int3
54e621:	cc                   	int3
54e622:	cc                   	int3
54e623:	cc                   	int3
54e624:	cc                   	int3