416421:	6a 01                	push   $0x1
416423:	8b cf                	mov    %edi,%ecx
416425:	e8 f3 0f 00 00       	call   0x41741d
41642a:	84 c0                	test   %al,%al
41642c:	75 cd                	jne    0x4163fb
41642e:	6a 02                	push   $0x2
416430:	eb 02                	jmp    0x416434
416432:	6a 03                	push   $0x3
416434:	8b cf                	mov    %edi,%ecx
416436:	e8 0d 32 00 00       	call   0x419648
41643b:	cc                   	int3
41643c:	56                   	push   %esi
41643d:	57                   	push   %edi
41643e:	8b f9                	mov    %ecx,%edi
416440:	8b 47 10             	mov    0x10(%edi),%eax
416443:	8b 37                	mov    (%edi),%esi
416445:	40                   	inc    %eax
416446:	50                   	push   %eax
416447:	56                   	push   %esi
416448:	57                   	push   %edi
416449:	e8 12 cf 02 00       	call   0x443360
41644e:	8b 47 14             	mov    0x14(%edi),%eax
416451:	40                   	inc    %eax
416452:	50                   	push   %eax
416453:	56                   	push   %esi
416454:	e8 d1 d0 fe ff       	call   0x40352a
416459:	83 c4 14             	add    $0x14,%esp
41645c:	c7 47 14 0f 00 00 00 	movl   $0xf,0x14(%edi)
416463:	5f                   	pop    %edi
416464:	5e                   	pop    %esi
416465:	c3                   	ret
416466:	56                   	push   %esi
416467:	57                   	push   %edi
416468:	8b f9                	mov    %ecx,%edi
41646a:	8b 47 10             	mov    0x10(%edi),%eax
41646d:	8b 37                	mov    (%edi),%esi
41646f:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
416476:	50                   	push   %eax
416477:	56                   	push   %esi
416478:	57                   	push   %edi
416479:	e8 e2 ce 02 00       	call   0x443360
41647e:	8b 47 14             	mov    0x14(%edi),%eax
416481:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
416488:	50                   	push   %eax
416489:	56                   	push   %esi
41648a:	e8 9b d0 fe ff       	call   0x40352a
41648f:	83 c4 14             	add    $0x14,%esp
416492:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
416499:	5f                   	pop    %edi
41649a:	5e                   	pop    %esi
41649b:	c3                   	ret
41649c:	55                   	push   %ebp
41649d:	8b ec                	mov    %esp,%ebp
41649f:	8b 45 08             	mov    0x8(%ebp),%eax
4164a2:	83 78 04 14          	cmpl   $0x14,0x4(%eax)
4164a6:	74 10                	je     0x4164b8
4164a8:	83 78 04 08          	cmpl   $0x8,0x4(%eax)
4164ac:	74 0a                	je     0x4164b8
4164ae:	83 78 04 0d          	cmpl   $0xd,0x4(%eax)
4164b2:	74 04                	je     0x4164b8
4164b4:	32 c0                	xor    %al,%al
4164b6:	eb 02                	jmp    0x4164ba
4164b8:	b0 01                	mov    $0x1,%al
4164ba:	5d                   	pop    %ebp
4164bb:	c2 04 00             	ret    $0x4
4164be:	56                   	push   %esi
4164bf:	57                   	push   %edi
4164c0:	8b f9                	mov    %ecx,%edi
4164c2:	8b 77 04             	mov    0x4(%edi),%esi
4164c5:	56                   	push   %esi
4164c6:	e8 d1 ff ff ff       	call   0x41649c
4164cb:	84 c0                	test   %al,%al
4164cd:	75 18                	jne    0x4164e7
4164cf:	83 7e 04 02          	cmpl   $0x2,0x4(%esi)
4164d3:	75 0e                	jne    0x4164e3
4164d5:	ff 76 10             	push   0x10(%esi)
4164d8:	8b cf                	mov    %edi,%ecx
4164da:	e8 bd ff ff ff       	call   0x41649c
4164df:	84 c0                	test   %al,%al
4164e1:	75 04                	jne    0x4164e7
4164e3:	32 c0                	xor    %al,%al
4164e5:	eb 02                	jmp    0x4164e9
4164e7:	b0 01                	mov    $0x1,%al
4164e9:	5f                   	pop    %edi
4164ea:	5e                   	pop    %esi
4164eb:	c3                   	ret
4164ec:	55                   	push   %ebp
4164ed:	8b ec                	mov    %esp,%ebp
4164ef:	8b 45 08             	mov    0x8(%ebp),%eax
4164f2:	83 78 04 14          	cmpl   $0x14,0x4(%eax)
4164f6:	74 10                	je     0x416508
4164f8:	83 78 04 08          	cmpl   $0x8,0x4(%eax)
4164fc:	74 0a                	je     0x416508
4164fe:	83 78 04 0d          	cmpl   $0xd,0x4(%eax)
416502:	74 04                	je     0x416508
416504:	32 c0                	xor    %al,%al
416506:	eb 02                	jmp    0x41650a
416508:	b0 01                	mov    $0x1,%al
41650a:	5d                   	pop    %ebp
41650b:	c2 04 00             	ret    $0x4
41650e:	56                   	push   %esi
41650f:	57                   	push   %edi
416510:	8b f9                	mov    %ecx,%edi
416512:	8b 77 04             	mov    0x4(%edi),%esi
416515:	56                   	push   %esi
416516:	e8 d1 ff ff ff       	call   0x4164ec
41651b:	84 c0                	test   %al,%al
41651d:	75 18                	jne    0x416537
41651f:	83 7e 04 02          	cmpl   $0x2,0x4(%esi)
416523:	75 0e                	jne    0x416533
416525:	ff 76 10             	push   0x10(%esi)
416528:	8b cf                	mov    %edi,%ecx
41652a:	e8 bd ff ff ff       	call   0x4164ec
41652f:	84 c0                	test   %al,%al
416531:	75 04                	jne    0x416537
416533:	32 c0                	xor    %al,%al
416535:	eb 02                	jmp    0x416539
416537:	b0 01                	mov    $0x1,%al
416539:	5f                   	pop    %edi
41653a:	5e                   	pop    %esi
41653b:	c3                   	ret
41653c:	6a 10                	push   $0x10
41653e:	b8 63 f1 48 00       	mov    $0x48f163,%eax
416543:	e8 6d 95 02 00       	call   0x43fab5
416548:	89 4d ec             	mov    %ecx,-0x14(%ebp)
41654b:	6a 18                	push   $0x18
41654d:	e8 51 8d 02 00       	call   0x43f2a3
416552:	59                   	pop    %ecx
416553:	89 45 e8             	mov    %eax,-0x18(%ebp)
416556:	33 f6                	xor    %esi,%esi
416558:	89 75 fc             	mov    %esi,-0x4(%ebp)
41655b:	85 c0                	test   %eax,%eax
41655d:	74 17                	je     0x416576
41655f:	56                   	push   %esi
416560:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
416564:	83 c1 0a             	add    $0xa,%ecx
416567:	51                   	push   %ecx
416568:	8b c8                	mov    %eax,%ecx
41656a:	e8 76 63 ff ff       	call   0x40c8e5
41656f:	8b d8                	mov    %eax,%ebx
416571:	89 5d 08             	mov    %ebx,0x8(%ebp)
416574:	eb 05                	jmp    0x41657b
416576:	8b de                	mov    %esi,%ebx
416578:	89 75 08             	mov    %esi,0x8(%ebp)
41657b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41657f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
416586:	6a 14                	push   $0x14
416588:	e8 16 8d 02 00       	call   0x43f2a3
41658d:	59                   	pop    %ecx
41658e:	8b f8                	mov    %eax,%edi
416590:	89 7d e8             	mov    %edi,-0x18(%ebp)
416593:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
416597:	85 ff                	test   %edi,%edi
416599:	74 18                	je     0x4165b3
41659b:	c7 07 7c 4b 49 00    	movl   $0x494b7c,(%edi)
4165a1:	c7 47 04 01 00 00 00 	movl   $0x1,0x4(%edi)
4165a8:	89 77 08             	mov    %esi,0x8(%edi)
4165ab:	89 77 0c             	mov    %esi,0xc(%edi)
4165ae:	89 77 10             	mov    %esi,0x10(%edi)
4165b1:	eb 02                	jmp    0x4165b5
4165b3:	8b fe                	mov    %esi,%edi
4165b5:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4165b9:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4165bc:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4165c0:	53                   	push   %ebx
4165c1:	8b 75 ec             	mov    -0x14(%ebp),%esi
4165c4:	8b ce                	mov    %esi,%ecx
4165c6:	e8 86 50 00 00       	call   0x41b651
4165cb:	89 7b 14             	mov    %edi,0x14(%ebx)
4165ce:	89 5f 10             	mov    %ebx,0x10(%edi)
4165d1:	89 7e 04             	mov    %edi,0x4(%esi)
4165d4:	8b c3                	mov    %ebx,%eax
4165d6:	e8 38 94 02 00       	call   0x43fa13
4165db:	c2 04 00             	ret    $0x4
4165de:	8b 4d 08             	mov    0x8(%ebp),%ecx
4165e1:	85 c9                	test   %ecx,%ecx
4165e3:	74 06                	je     0x4165eb
4165e5:	8b 01                	mov    (%ecx),%eax
4165e7:	6a 01                	push   $0x1
4165e9:	ff 10                	call   *(%eax)
4165eb:	33 f6                	xor    %esi,%esi
4165ed:	56                   	push   %esi
4165ee:	56                   	push   %esi
4165ef:	e8 ce db 02 00       	call   0x4441c2
4165f4:	cc                   	int3
4165f5:	6a 10                	push   $0x10
4165f7:	b8 98 f1 48 00       	mov    $0x48f198,%eax
4165fc:	e8 b4 94 02 00       	call   0x43fab5
416601:	89 4d ec             	mov    %ecx,-0x14(%ebp)
416604:	6a 18                	push   $0x18
416606:	e8 98 8c 02 00       	call   0x43f2a3
41660b:	59                   	pop    %ecx
41660c:	89 45 e8             	mov    %eax,-0x18(%ebp)
41660f:	33 f6                	xor    %esi,%esi
416611:	89 75 fc             	mov    %esi,-0x4(%ebp)
416614:	85 c0                	test   %eax,%eax
416616:	74 17                	je     0x41662f
416618:	56                   	push   %esi
416619:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
41661d:	83 c1 0a             	add    $0xa,%ecx
416620:	51                   	push   %ecx
416621:	8b c8                	mov    %eax,%ecx
416623:	e8 bd 62 ff ff       	call   0x40c8e5
416628:	8b d8                	mov    %eax,%ebx
41662a:	89 5d 08             	mov    %ebx,0x8(%ebp)
41662d:	eb 05                	jmp    0x416634
41662f:	8b de                	mov    %esi,%ebx
416631:	89 75 08             	mov    %esi,0x8(%ebp)
416634:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
416638:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41663f:	6a 14                	push   $0x14
416641:	e8 5d 8c 02 00       	call   0x43f2a3
416646:	59                   	pop    %ecx
416647:	8b f8                	mov    %eax,%edi
416649:	89 7d e8             	mov    %edi,-0x18(%ebp)
41664c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
416650:	85 ff                	test   %edi,%edi
416652:	74 18                	je     0x41666c
416654:	c7 07 7c 4b 49 00    	movl   $0x494b7c,(%edi)
41665a:	c7 47 04 01 00 00 00 	movl   $0x1,0x4(%edi)
416661:	89 77 08             	mov    %esi,0x8(%edi)
416664:	89 77 0c             	mov    %esi,0xc(%edi)
416667:	89 77 10             	mov    %esi,0x10(%edi)
41666a:	eb 02                	jmp    0x41666e
41666c:	8b fe                	mov    %esi,%edi
41666e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
416672:	89 7d e4             	mov    %edi,-0x1c(%ebp)
416675:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
416679:	53                   	push   %ebx
41667a:	8b 75 ec             	mov    -0x14(%ebp),%esi
41667d:	8b ce                	mov    %esi,%ecx
41667f:	e8 02 50 00 00       	call   0x41b686
416684:	89 7b 14             	mov    %edi,0x14(%ebx)
416687:	89 5f 10             	mov    %ebx,0x10(%edi)
41668a:	89 7e 04             	mov    %edi,0x4(%esi)
41668d:	8b c3                	mov    %ebx,%eax
41668f:	e8 7f 93 02 00       	call   0x43fa13
416694:	c2 04 00             	ret    $0x4
416697:	8b 4d 08             	mov    0x8(%ebp),%ecx
41669a:	85 c9                	test   %ecx,%ecx
41669c:	74 06                	je     0x4166a4
41669e:	8b 01                	mov    (%ecx),%eax
4166a0:	6a 01                	push   $0x1
4166a2:	ff 10                	call   *(%eax)
4166a4:	33 f6                	xor    %esi,%esi
4166a6:	56                   	push   %esi
4166a7:	56                   	push   %esi
4166a8:	e8 15 db 02 00       	call   0x4441c2
4166ad:	cc                   	int3
4166ae:	6a 04                	push   $0x4
4166b0:	b8 c0 f1 48 00       	mov    $0x48f1c0,%eax
4166b5:	e8 90 93 02 00       	call   0x43fa4a
4166ba:	8b f1                	mov    %ecx,%esi
4166bc:	6a 18                	push   $0x18
4166be:	e8 e0 8b 02 00       	call   0x43f2a3
4166c3:	59                   	pop    %ecx
4166c4:	89 45 f0             	mov    %eax,-0x10(%ebp)
4166c7:	33 d2                	xor    %edx,%edx
4166c9:	89 55 fc             	mov    %edx,-0x4(%ebp)
4166cc:	85 c0                	test   %eax,%eax
4166ce:	74 0c                	je     0x4166dc
4166d0:	ff 75 08             	push   0x8(%ebp)
4166d3:	8b c8                	mov    %eax,%ecx
4166d5:	e8 92 62 ff ff       	call   0x40c96c
4166da:	8b d0                	mov    %eax,%edx
4166dc:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4166e0:	8b ce                	mov    %esi,%ecx
4166e2:	52                   	push   %edx
4166e3:	e8 69 4f 00 00       	call   0x41b651
4166e8:	e8 26 93 02 00       	call   0x43fa13
4166ed:	c2 04 00             	ret    $0x4
4166f0:	6a 04                	push   $0x4
4166f2:	b8 e8 f1 48 00       	mov    $0x48f1e8,%eax
4166f7:	e8 4e 93 02 00       	call   0x43fa4a
4166fc:	8b f1                	mov    %ecx,%esi
4166fe:	6a 18                	push   $0x18
416700:	e8 9e 8b 02 00       	call   0x43f2a3
416705:	59                   	pop    %ecx
416706:	89 45 f0             	mov    %eax,-0x10(%ebp)
416709:	33 d2                	xor    %edx,%edx
41670b:	89 55 fc             	mov    %edx,-0x4(%ebp)
41670e:	85 c0                	test   %eax,%eax
416710:	74 0c                	je     0x41671e
416712:	ff 75 08             	push   0x8(%ebp)
416715:	8b c8                	mov    %eax,%ecx
416717:	e8 50 62 ff ff       	call   0x40c96c
41671c:	8b d0                	mov    %eax,%edx
41671e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
416722:	8b ce                	mov    %esi,%ecx
416724:	52                   	push   %edx
416725:	e8 5c 4f 00 00       	call   0x41b686
41672a:	e8 e4 92 02 00       	call   0x43fa13
41672f:	c2 04 00             	ret    $0x4
416732:	6a 04                	push   $0x4
416734:	b8 1d f2 48 00       	mov    $0x48f21d,%eax
416739:	e8 0c 93 02 00       	call   0x43fa4a
41673e:	8b d9                	mov    %ecx,%ebx
416740:	6a 14                	push   $0x14
416742:	e8 5c 8b 02 00       	call   0x43f2a3
416747:	59                   	pop    %ecx
416748:	89 45 f0             	mov    %eax,-0x10(%ebp)
41674b:	33 f6                	xor    %esi,%esi
41674d:	89 75 fc             	mov    %esi,-0x4(%ebp)
416750:	85 c0                	test   %eax,%eax
416752:	74 0b                	je     0x41675f
416754:	8b c8                	mov    %eax,%ecx
416756:	e8 da 62 ff ff       	call   0x40ca35
41675b:	8b f8                	mov    %eax,%edi
41675d:	eb 02                	jmp    0x416761
41675f:	8b fe                	mov    %esi,%edi
416761:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
416765:	8b cb                	mov    %ebx,%ecx
416767:	57                   	push   %edi
416768:	e8 e4 4e 00 00       	call   0x41b651
41676d:	6a 1c                	push   $0x1c
41676f:	e8 2f 8b 02 00       	call   0x43f2a3
416774:	59                   	pop    %ecx
416775:	89 45 f0             	mov    %eax,-0x10(%ebp)
416778:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41677f:	85 c0                	test   %eax,%eax
416781:	74 0a                	je     0x41678d
416783:	57                   	push   %edi
416784:	8b c8                	mov    %eax,%ecx
416786:	e8 e6 62 ff ff       	call   0x40ca71
41678b:	8b f0                	mov    %eax,%esi
41678d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
416791:	8b 45 08             	mov    0x8(%ebp),%eax
416794:	8b 48 0c             	mov    0xc(%eax),%ecx
416797:	8b 41 10             	mov    0x10(%ecx),%eax
41679a:	89 70 0c             	mov    %esi,0xc(%eax)
41679d:	8b 41 10             	mov    0x10(%ecx),%eax
4167a0:	89 46 10             	mov    %eax,0x10(%esi)
4167a3:	8b c7                	mov    %edi,%eax
4167a5:	89 71 10             	mov    %esi,0x10(%ecx)
4167a8:	89 4e 0c             	mov    %ecx,0xc(%esi)
4167ab:	e8 63 92 02 00       	call   0x43fa13
4167b0:	c2 04 00             	ret    $0x4
4167b3:	6a 04                	push   $0x4
4167b5:	b8 52 f2 48 00       	mov    $0x48f252,%eax
4167ba:	e8 8b 92 02 00       	call   0x43fa4a
4167bf:	8b d9                	mov    %ecx,%ebx
4167c1:	6a 14                	push   $0x14
4167c3:	e8 db 8a 02 00       	call   0x43f2a3
4167c8:	59                   	pop    %ecx
4167c9:	89 45 f0             	mov    %eax,-0x10(%ebp)
4167cc:	33 f6                	xor    %esi,%esi
4167ce:	89 75 fc             	mov    %esi,-0x4(%ebp)
4167d1:	85 c0                	test   %eax,%eax
4167d3:	74 0b                	je     0x4167e0
4167d5:	8b c8                	mov    %eax,%ecx