413418:	3b c8                	cmp    %eax,%ecx
41341a:	74 40                	je     0x41345c
41341c:	8b 6e 44             	mov    0x44(%esi),%ebp
41341f:	8b cd                	mov    %ebp,%ecx
413421:	e8 4a 00 00 00       	call   0x413470
413426:	8b 45 04             	mov    0x4(%ebp),%eax
413429:	8b 6e 44             	mov    0x44(%esi),%ebp
41342c:	8b 7c 24 18          	mov    0x18(%esp),%edi
413430:	8b cd                	mov    %ebp,%ecx
413432:	2b f8                	sub    %eax,%edi
413434:	e8 37 00 00 00       	call   0x413470
413439:	8b 4e 50             	mov    0x50(%esi),%ecx
41343c:	8b 55 04             	mov    0x4(%ebp),%edx
41343f:	51                   	push   %ecx
413440:	6a 01                	push   $0x1
413442:	57                   	push   %edi
413443:	52                   	push   %edx
413444:	e8 77 48 00 00       	call   0x417cc0
413449:	83 c4 10             	add    $0x10,%esp
41344c:	3b c7                	cmp    %edi,%eax
41344e:	75 0c                	jne    0x41345c
413450:	8b c3                	mov    %ebx,%eax
413452:	5f                   	pop    %edi
413453:	5e                   	pop    %esi
413454:	5d                   	pop    %ebp
413455:	5b                   	pop    %ebx
413456:	83 c4 0c             	add    $0xc,%esp
413459:	c2 04 00             	ret    $0x4
41345c:	5f                   	pop    %edi
41345d:	5e                   	pop    %esi
41345e:	5d                   	pop    %ebp
41345f:	83 c8 ff             	or     $0xffffffff,%eax
413462:	5b                   	pop    %ebx
413463:	83 c4 0c             	add    $0xc,%esp
413466:	c2 04 00             	ret    $0x4
413469:	90                   	nop
41346a:	90                   	nop
41346b:	90                   	nop
41346c:	90                   	nop
41346d:	90                   	nop
41346e:	90                   	nop
41346f:	90                   	nop
413470:	56                   	push   %esi
413471:	8b f1                	mov    %ecx,%esi
413473:	57                   	push   %edi
413474:	8b 46 04             	mov    0x4(%esi),%eax
413477:	85 c0                	test   %eax,%eax
413479:	74 5d                	je     0x4134d8
41347b:	8a 40 ff             	mov    -0x1(%eax),%al
41347e:	84 c0                	test   %al,%al
413480:	74 56                	je     0x4134d8
413482:	3c ff                	cmp    $0xff,%al
413484:	74 52                	je     0x4134d8
413486:	8b 7e 08             	mov    0x8(%esi),%edi
413489:	83 ff fd             	cmp    $0xfffffffd,%edi
41348c:	76 05                	jbe    0x413493
41348e:	e8 cd 2c 00 00       	call   0x416160
413493:	8b 4e 04             	mov    0x4(%esi),%ecx
413496:	85 c9                	test   %ecx,%ecx
413498:	74 1f                	je     0x4134b9
41349a:	8a 41 ff             	mov    -0x1(%ecx),%al
41349d:	84 c0                	test   %al,%al
41349f:	74 18                	je     0x4134b9
4134a1:	3c ff                	cmp    $0xff,%al
4134a3:	74 14                	je     0x4134b9
4134a5:	85 ff                	test   %edi,%edi
4134a7:	75 27                	jne    0x4134d0
4134a9:	fe c8                	dec    %al
4134ab:	88 41 ff             	mov    %al,-0x1(%ecx)
4134ae:	89 7e 04             	mov    %edi,0x4(%esi)
4134b1:	89 7e 08             	mov    %edi,0x8(%esi)
4134b4:	89 7e 0c             	mov    %edi,0xc(%esi)
4134b7:	eb 1f                	jmp    0x4134d8
4134b9:	85 ff                	test   %edi,%edi
4134bb:	75 0e                	jne    0x4134cb
4134bd:	85 c9                	test   %ecx,%ecx
4134bf:	74 17                	je     0x4134d8
4134c1:	57                   	push   %edi
4134c2:	8b ce                	mov    %esi,%ecx
4134c4:	e8 27 00 00 00       	call   0x4134f0
4134c9:	eb 0d                	jmp    0x4134d8
4134cb:	39 7e 0c             	cmp    %edi,0xc(%esi)
4134ce:	73 08                	jae    0x4134d8
4134d0:	57                   	push   %edi
4134d1:	8b ce                	mov    %esi,%ecx
4134d3:	e8 79 75 ff ff       	call   0x40aa51
4134d8:	8b 76 04             	mov    0x4(%esi),%esi
4134db:	85 f6                	test   %esi,%esi
4134dd:	74 04                	je     0x4134e3
4134df:	c6 46 ff ff          	movb   $0xff,-0x1(%esi)
4134e3:	5f                   	pop    %edi
4134e4:	5e                   	pop    %esi
4134e5:	c3                   	ret
4134e6:	90                   	nop
4134e7:	90                   	nop
4134e8:	90                   	nop
4134e9:	90                   	nop
4134ea:	90                   	nop
4134eb:	90                   	nop
4134ec:	90                   	nop
4134ed:	90                   	nop
4134ee:	90                   	nop
4134ef:	90                   	nop
4134f0:	8b 44 24 04          	mov    0x4(%esp),%eax
4134f4:	89 41 08             	mov    %eax,0x8(%ecx)
4134f7:	8b 49 04             	mov    0x4(%ecx),%ecx
4134fa:	c6 04 01 00          	movb   $0x0,(%ecx,%eax,1)
4134fe:	c2 04 00             	ret    $0x4
413501:	90                   	nop
413502:	90                   	nop
413503:	90                   	nop
413504:	90                   	nop
413505:	90                   	nop
413506:	90                   	nop
413507:	90                   	nop
413508:	90                   	nop
413509:	90                   	nop
41350a:	90                   	nop
41350b:	90                   	nop
41350c:	90                   	nop
41350d:	90                   	nop
41350e:	90                   	nop
41350f:	90                   	nop
413510:	53                   	push   %ebx
413511:	55                   	push   %ebp
413512:	8b e9                	mov    %ecx,%ebp
413514:	33 d2                	xor    %edx,%edx
413516:	56                   	push   %esi
413517:	57                   	push   %edi
413518:	8b 4d 04             	mov    0x4(%ebp),%ecx
41351b:	3b ca                	cmp    %edx,%ecx
41351d:	0f 84 b1 00 00 00    	je     0x4135d4
413523:	8a 41 ff             	mov    -0x1(%ecx),%al
413526:	84 c0                	test   %al,%al
413528:	0f 84 a6 00 00 00    	je     0x4135d4
41352e:	3c ff                	cmp    $0xff,%al
413530:	0f 84 9e 00 00 00    	je     0x4135d4
413536:	fe c8                	dec    %al
413538:	8b f1                	mov    %ecx,%esi
41353a:	88 41 ff             	mov    %al,-0x1(%ecx)
41353d:	8b fe                	mov    %esi,%edi
41353f:	83 c9 ff             	or     $0xffffffff,%ecx
413542:	33 c0                	xor    %eax,%eax
413544:	89 55 04             	mov    %edx,0x4(%ebp)
413547:	89 55 08             	mov    %edx,0x8(%ebp)
41354a:	89 55 0c             	mov    %edx,0xc(%ebp)
41354d:	f2 ae                	repnz scas %es:(%edi),%al
41354f:	f7 d1                	not    %ecx
413551:	49                   	dec    %ecx
413552:	8b d9                	mov    %ecx,%ebx
413554:	83 fb fd             	cmp    $0xfffffffd,%ebx
413557:	76 07                	jbe    0x413560
413559:	e8 02 2c 00 00       	call   0x416160
41355e:	33 d2                	xor    %edx,%edx
413560:	8b 4d 04             	mov    0x4(%ebp),%ecx
413563:	3b ca                	cmp    %edx,%ecx
413565:	74 21                	je     0x413588
413567:	8a 41 ff             	mov    -0x1(%ecx),%al
41356a:	84 c0                	test   %al,%al
41356c:	74 1a                	je     0x413588
41356e:	3c ff                	cmp    $0xff,%al
413570:	74 16                	je     0x413588
413572:	3b da                	cmp    %edx,%ebx
413574:	75 39                	jne    0x4135af
413576:	fe c8                	dec    %al
413578:	52                   	push   %edx
413579:	88 41 ff             	mov    %al,-0x1(%ecx)
41357c:	8b cd                	mov    %ebp,%ecx
41357e:	e8 82 75 ff ff       	call   0x40ab05
413583:	5f                   	pop    %edi
413584:	5e                   	pop    %esi
413585:	5d                   	pop    %ebp
413586:	5b                   	pop    %ebx
413587:	c3                   	ret
413588:	3b da                	cmp    %edx,%ebx
41358a:	75 0e                	jne    0x41359a
41358c:	6a 01                	push   $0x1
41358e:	8b cd                	mov    %ebp,%ecx
413590:	e8 70 75 ff ff       	call   0x40ab05
413595:	5f                   	pop    %edi
413596:	5e                   	pop    %esi
413597:	5d                   	pop    %ebp
413598:	5b                   	pop    %ebx
413599:	c3                   	ret
41359a:	8b 45 0c             	mov    0xc(%ebp),%eax
41359d:	83 f8 1f             	cmp    $0x1f,%eax
4135a0:	77 04                	ja     0x4135a6
4135a2:	3b c3                	cmp    %ebx,%eax
4135a4:	73 11                	jae    0x4135b7
4135a6:	6a 01                	push   $0x1
4135a8:	8b cd                	mov    %ebp,%ecx
4135aa:	e8 56 75 ff ff       	call   0x40ab05
4135af:	53                   	push   %ebx
4135b0:	8b cd                	mov    %ebp,%ecx
4135b2:	e8 9a 74 ff ff       	call   0x40aa51
4135b7:	8b 7d 04             	mov    0x4(%ebp),%edi
4135ba:	8b cb                	mov    %ebx,%ecx
4135bc:	8b c1                	mov    %ecx,%eax
4135be:	c1 e9 02             	shr    $0x2,%ecx
4135c1:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4135c3:	8b c8                	mov    %eax,%ecx
4135c5:	83 e1 03             	and    $0x3,%ecx
4135c8:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4135ca:	8b 4d 04             	mov    0x4(%ebp),%ecx
4135cd:	89 5d 08             	mov    %ebx,0x8(%ebp)
4135d0:	c6 04 0b 00          	movb   $0x0,(%ebx,%ecx,1)
4135d4:	5f                   	pop    %edi
4135d5:	5e                   	pop    %esi
4135d6:	5d                   	pop    %ebp
4135d7:	5b                   	pop    %ebx
4135d8:	c3                   	ret
4135d9:	90                   	nop
4135da:	90                   	nop
4135db:	90                   	nop
4135dc:	90                   	nop
4135dd:	90                   	nop
4135de:	90                   	nop
4135df:	90                   	nop
4135e0:	51                   	push   %ecx
4135e1:	8b 41 1c             	mov    0x1c(%ecx),%eax
4135e4:	53                   	push   %ebx
4135e5:	55                   	push   %ebp
4135e6:	56                   	push   %esi
4135e7:	8b 00                	mov    (%eax),%eax
4135e9:	57                   	push   %edi
4135ea:	85 c0                	test   %eax,%eax
4135ec:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4135f0:	74 48                	je     0x41363a
4135f2:	8b 51 0c             	mov    0xc(%ecx),%edx
4135f5:	39 02                	cmp    %eax,(%edx)
4135f7:	73 41                	jae    0x41363a
4135f9:	8b 74 24 18          	mov    0x18(%esp),%esi
4135fd:	33 d2                	xor    %edx,%edx
4135ff:	83 fe ff             	cmp    $0xffffffff,%esi
413602:	0f 94 c2             	sete   %dl
413605:	84 d2                	test   %dl,%dl
413607:	75 10                	jne    0x413619
413609:	33 d2                	xor    %edx,%edx
41360b:	8a 50 ff             	mov    -0x1(%eax),%dl
41360e:	33 c0                	xor    %eax,%eax
413610:	3b d6                	cmp    %esi,%edx
413612:	0f 94 c0             	sete   %al
413615:	84 c0                	test   %al,%al
413617:	74 25                	je     0x41363e
413619:	8b 41 2c             	mov    0x2c(%ecx),%eax
41361c:	8b 28                	mov    (%eax),%ebp
41361e:	45                   	inc    %ebp
41361f:	89 28                	mov    %ebp,(%eax)
413621:	8b 49 1c             	mov    0x1c(%ecx),%ecx
413624:	8b c6                	mov    %esi,%eax
413626:	8b 19                	mov    (%ecx),%ebx
413628:	4b                   	dec    %ebx
413629:	40                   	inc    %eax
41362a:	f7 d8                	neg    %eax
41362c:	1b c0                	sbb    %eax,%eax
41362e:	89 19                	mov    %ebx,(%ecx)
413630:	23 c6                	and    %esi,%eax
413632:	5f                   	pop    %edi
413633:	5e                   	pop    %esi
413634:	5d                   	pop    %ebp
413635:	5b                   	pop    %ebx
413636:	59                   	pop    %ecx
413637:	c2 04 00             	ret    $0x4
41363a:	8b 74 24 18          	mov    0x18(%esp),%esi
41363e:	8b 41 50             	mov    0x50(%ecx),%eax
413641:	85 c0                	test   %eax,%eax
413643:	0f 84 61 01 00 00    	je     0x4137aa
413649:	33 d2                	xor    %edx,%edx
41364b:	83 fe ff             	cmp    $0xffffffff,%esi
41364e:	0f 94 c2             	sete   %dl
413651:	84 d2                	test   %dl,%dl
413653:	0f 85 51 01 00 00    	jne    0x4137aa
413659:	8b 51 38             	mov    0x38(%ecx),%edx
41365c:	85 d2                	test   %edx,%edx
41365e:	75 2b                	jne    0x41368b
413660:	50                   	push   %eax
413661:	8b c6                	mov    %esi,%eax
413663:	25 ff 00 00 00       	and    $0xff,%eax
413668:	50                   	push   %eax
413669:	e8 92 48 00 00       	call   0x417f00
41366e:	83 c4 08             	add    $0x8,%esp
413671:	33 c9                	xor    %ecx,%ecx
413673:	83 f8 ff             	cmp    $0xffffffff,%eax
413676:	0f 95 c1             	setne  %cl
413679:	84 c9                	test   %cl,%cl
41367b:	0f 84 29 01 00 00    	je     0x4137aa
413681:	8b c6                	mov    %esi,%eax
413683:	5f                   	pop    %edi
413684:	5e                   	pop    %esi
413685:	5d                   	pop    %ebp
413686:	5b                   	pop    %ebx
413687:	59                   	pop    %ecx
413688:	c2 04 00             	ret    $0x4
41368b:	8b 79 44             	mov    0x44(%ecx),%edi
41368e:	8b 6f 08             	mov    0x8(%edi),%ebp
413691:	85 ed                	test   %ebp,%ebp
413693:	0f 86 11 01 00 00    	jbe    0x4137aa
413699:	8b 47 04             	mov    0x4(%edi),%eax
41369c:	85 c0                	test   %eax,%eax
41369e:	74 1b                	je     0x4136bb
4136a0:	8a 40 ff             	mov    -0x1(%eax),%al
4136a3:	84 c0                	test   %al,%al
4136a5:	74 14                	je     0x4136bb
4136a7:	3c ff                	cmp    $0xff,%al
4136a9:	74 10                	je     0x4136bb
4136ab:	8b d5                	mov    %ebp,%edx
4136ad:	6a 00                	push   $0x0
4136af:	52                   	push   %edx
4136b0:	8b cf                	mov    %edi,%ecx
4136b2:	e8 0f 73 ff ff       	call   0x40a9c6
4136b7:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4136bb:	8b 47 04             	mov    0x4(%edi),%eax
4136be:	85 c0                	test   %eax,%eax
4136c0:	74 04                	je     0x4136c6
4136c2:	c6 40 ff ff          	movb   $0xff,-0x1(%eax)
4136c6:	8b 57 04             	mov    0x4(%edi),%edx
4136c9:	8b 59 50             	mov    0x50(%ecx),%ebx
4136cc:	8b f5                	mov    %ebp,%esi
4136ce:	03 f2                	add    %edx,%esi
4136d0:	85 ed                	test   %ebp,%ebp
4136d2:	76 1d                	jbe    0x4136f1
4136d4:	4e                   	dec    %esi
4136d5:	33 c0                	xor    %eax,%eax
4136d7:	53                   	push   %ebx
4136d8:	8a 06                	mov    (%esi),%al
4136da:	50                   	push   %eax
4136db:	e8 20 48 00 00       	call   0x417f00
4136e0:	83 c4 08             	add    $0x8,%esp
4136e3:	83 f8 ff             	cmp    $0xffffffff,%eax
4136e6:	74 03                	je     0x4136eb
4136e8:	4d                   	dec    %ebp
4136e9:	75 e9                	jne    0x4136d4
4136eb:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4136ef:	85 ed                	test   %ebp,%ebp
4136f1:	74 27                	je     0x41371a
4136f3:	83 fd 01             	cmp    $0x1,%ebp
4136f6:	0f 83 ae 00 00 00    	jae    0x4137aa
4136fc:	be 01 00 00 00       	mov    $0x1,%esi
413701:	2b f5                	sub    %ebp,%esi
413703:	53                   	push   %ebx
413704:	e8 a7 47 00 00       	call   0x417eb0
413709:	83 c4 04             	add    $0x4,%esp
41370c:	4e                   	dec    %esi
41370d:	75 f4                	jne    0x413703
41370f:	83 c8 ff             	or     $0xffffffff,%eax
413712:	5f                   	pop    %edi
413713:	5e                   	pop    %esi
413714:	5d                   	pop    %ebp
413715:	5b                   	pop    %ebx
413716:	59                   	pop    %ecx