4a3411:	50                   	push   %eax
4a3412:	51                   	push   %ecx
4a3413:	52                   	push   %edx
4a3414:	e8 57 ef ff ff       	call   0x4a2370
4a3419:	83 c4 0c             	add    $0xc,%esp
4a341c:	89 46 04             	mov    %eax,0x4(%esi)
4a341f:	85 c0                	test   %eax,%eax
4a3421:	74 07                	je     0x4a342a
4a3423:	33 c0                	xor    %eax,%eax
4a3425:	5e                   	pop    %esi
4a3426:	83 c4 08             	add    $0x8,%esp
4a3429:	c3                   	ret
4a342a:	8b 44 24 10          	mov    0x10(%esp),%eax
4a342e:	8d 48 fe             	lea    -0x2(%eax),%ecx
4a3431:	48                   	dec    %eax
4a3432:	83 f8 02             	cmp    $0x2,%eax
4a3435:	7c 16                	jl     0x4a344d
4a3437:	8d 14 40             	lea    (%eax,%eax,2),%edx
4a343a:	8d 54 94 1c          	lea    0x1c(%esp,%edx,4),%edx
4a343e:	83 3a 00             	cmpl   $0x0,(%edx)
4a3441:	75 0a                	jne    0x4a344d
4a3443:	49                   	dec    %ecx
4a3444:	48                   	dec    %eax
4a3445:	83 ea 0c             	sub    $0xc,%edx
4a3448:	83 f8 02             	cmp    $0x2,%eax
4a344b:	7d f1                	jge    0x4a343e
4a344d:	8b 54 24 04          	mov    0x4(%esp),%edx
4a3451:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4a3455:	50                   	push   %eax
4a3456:	51                   	push   %ecx
4a3457:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a345b:	6a 00                	push   $0x0
4a345d:	6a 04                	push   $0x4
4a345f:	51                   	push   %ecx
4a3460:	52                   	push   %edx
4a3461:	e8 5a ef ff ff       	call   0x4a23c0
4a3466:	89 46 04             	mov    %eax,0x4(%esi)
4a3469:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4a346d:	83 c4 18             	add    $0x18,%esp
4a3470:	8b 08                	mov    (%eax),%ecx
4a3472:	50                   	push   %eax
4a3473:	ff 51 08             	call   *0x8(%ecx)
4a3476:	8b 4e 04             	mov    0x4(%esi),%ecx
4a3479:	33 c0                	xor    %eax,%eax
4a347b:	85 c9                	test   %ecx,%ecx
4a347d:	5e                   	pop    %esi
4a347e:	0f 94 c0             	sete   %al
4a3481:	83 c4 08             	add    $0x8,%esp
4a3484:	c3                   	ret
4a3485:	90                   	nop
4a3486:	90                   	nop
4a3487:	90                   	nop
4a3488:	90                   	nop
4a3489:	90                   	nop
4a348a:	90                   	nop
4a348b:	90                   	nop
4a348c:	90                   	nop
4a348d:	90                   	nop
4a348e:	90                   	nop
4a348f:	90                   	nop
4a3490:	8b 44 24 08          	mov    0x8(%esp),%eax
4a3494:	83 ec 18             	sub    $0x18,%esp
4a3497:	8b 08                	mov    (%eax),%ecx
4a3499:	56                   	push   %esi
4a349a:	85 c9                	test   %ecx,%ecx
4a349c:	8b f0                	mov    %eax,%esi
4a349e:	75 0c                	jne    0x4a34ac
4a34a0:	c7 40 04 03 40 00 80 	movl   $0x80004003,0x4(%eax)
4a34a7:	5e                   	pop    %esi
4a34a8:	83 c4 18             	add    $0x18,%esp
4a34ab:	c3                   	ret
4a34ac:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
4a34b3:	00
4a34b4:	8b 00                	mov    (%eax),%eax
4a34b6:	8d 54 24 04          	lea    0x4(%esp),%edx
4a34ba:	8b 08                	mov    (%eax),%ecx
4a34bc:	52                   	push   %edx
4a34bd:	68 b0 35 4b 00       	push   $0x4b35b0
4a34c2:	50                   	push   %eax
4a34c3:	ff 11                	call   *(%ecx)
4a34c5:	85 c0                	test   %eax,%eax
4a34c7:	89 46 04             	mov    %eax,0x4(%esi)
4a34ca:	0f 85 92 00 00 00    	jne    0x4a3562
4a34d0:	8b 4c 24 30          	mov    0x30(%esp),%ecx
4a34d4:	8b 54 24 04          	mov    0x4(%esp),%edx
4a34d8:	8d 44 24 08          	lea    0x8(%esp),%eax
4a34dc:	50                   	push   %eax
4a34dd:	51                   	push   %ecx
4a34de:	52                   	push   %edx
4a34df:	e8 8c ee ff ff       	call   0x4a2370
4a34e4:	83 c4 0c             	add    $0xc,%esp
4a34e7:	89 46 04             	mov    %eax,0x4(%esi)
4a34ea:	85 c0                	test   %eax,%eax
4a34ec:	75 74                	jne    0x4a3562
4a34ee:	8b 44 24 20          	mov    0x20(%esp),%eax
4a34f2:	8d 50 fe             	lea    -0x2(%eax),%edx
4a34f5:	48                   	dec    %eax
4a34f6:	83 f8 02             	cmp    $0x2,%eax
4a34f9:	7c 16                	jl     0x4a3511
4a34fb:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
4a34fe:	8d 4c 8c 2c          	lea    0x2c(%esp,%ecx,4),%ecx
4a3502:	83 39 00             	cmpl   $0x0,(%ecx)
4a3505:	75 0a                	jne    0x4a3511
4a3507:	4a                   	dec    %edx
4a3508:	48                   	dec    %eax
4a3509:	83 e9 0c             	sub    $0xc,%ecx
4a350c:	83 f8 02             	cmp    $0x2,%eax
4a350f:	7d f1                	jge    0x4a3502
4a3511:	33 c0                	xor    %eax,%eax
4a3513:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
4a3517:	89 44 24 0c          	mov    %eax,0xc(%esp)
4a351b:	51                   	push   %ecx
4a351c:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4a3520:	89 44 24 14          	mov    %eax,0x14(%esp)
4a3524:	89 44 24 18          	mov    %eax,0x18(%esp)
4a3528:	52                   	push   %edx
4a3529:	8d 54 24 14          	lea    0x14(%esp),%edx
4a352d:	89 44 24 20          	mov    %eax,0x20(%esp)
4a3531:	8b 44 24 10          	mov    0x10(%esp),%eax
4a3535:	52                   	push   %edx
4a3536:	6a 01                	push   $0x1
4a3538:	50                   	push   %eax
4a3539:	51                   	push   %ecx
4a353a:	e8 81 ee ff ff       	call   0x4a23c0
4a353f:	89 46 04             	mov    %eax,0x4(%esi)
4a3542:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4a3546:	83 c4 18             	add    $0x18,%esp
4a3549:	8b 10                	mov    (%eax),%edx
4a354b:	50                   	push   %eax
4a354c:	ff 52 08             	call   *0x8(%edx)
4a354f:	66 83 7c 24 0c 00    	cmpw   $0x0,0xc(%esp)
4a3555:	74 0b                	je     0x4a3562
4a3557:	8d 44 24 0c          	lea    0xc(%esp),%eax
4a355b:	50                   	push   %eax
4a355c:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a3562:	5e                   	pop    %esi
4a3563:	83 c4 18             	add    $0x18,%esp
4a3566:	c3                   	ret
4a3567:	90                   	nop
4a3568:	90                   	nop
4a3569:	90                   	nop
4a356a:	90                   	nop
4a356b:	90                   	nop
4a356c:	90                   	nop
4a356d:	90                   	nop
4a356e:	90                   	nop
4a356f:	90                   	nop
4a3570:	8b 44 24 08          	mov    0x8(%esp),%eax
4a3574:	83 ec 28             	sub    $0x28,%esp
4a3577:	8b 08                	mov    (%eax),%ecx
4a3579:	56                   	push   %esi
4a357a:	85 c9                	test   %ecx,%ecx
4a357c:	8b f0                	mov    %eax,%esi
4a357e:	75 0e                	jne    0x4a358e
4a3580:	c7 40 04 03 40 00 80 	movl   $0x80004003,0x4(%eax)
4a3587:	33 c0                	xor    %eax,%eax
4a3589:	5e                   	pop    %esi
4a358a:	83 c4 28             	add    $0x28,%esp
4a358d:	c3                   	ret
4a358e:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
4a3595:	00
4a3596:	8b 00                	mov    (%eax),%eax
4a3598:	8d 54 24 04          	lea    0x4(%esp),%edx
4a359c:	8b 08                	mov    (%eax),%ecx
4a359e:	52                   	push   %edx
4a359f:	68 b0 35 4b 00       	push   $0x4b35b0
4a35a4:	50                   	push   %eax
4a35a5:	ff 11                	call   *(%ecx)
4a35a7:	85 c0                	test   %eax,%eax
4a35a9:	89 46 04             	mov    %eax,0x4(%esi)
4a35ac:	74 07                	je     0x4a35b5
4a35ae:	33 c0                	xor    %eax,%eax
4a35b0:	5e                   	pop    %esi
4a35b1:	83 c4 28             	add    $0x28,%esp
4a35b4:	c3                   	ret
4a35b5:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4a35b9:	8b 54 24 04          	mov    0x4(%esp),%edx
4a35bd:	8d 44 24 08          	lea    0x8(%esp),%eax
4a35c1:	50                   	push   %eax
4a35c2:	51                   	push   %ecx
4a35c3:	52                   	push   %edx
4a35c4:	e8 a7 ed ff ff       	call   0x4a2370
4a35c9:	83 c4 0c             	add    $0xc,%esp
4a35cc:	89 46 04             	mov    %eax,0x4(%esi)
4a35cf:	85 c0                	test   %eax,%eax
4a35d1:	74 07                	je     0x4a35da
4a35d3:	33 c0                	xor    %eax,%eax
4a35d5:	5e                   	pop    %esi
4a35d6:	83 c4 28             	add    $0x28,%esp
4a35d9:	c3                   	ret
4a35da:	8b 44 24 30          	mov    0x30(%esp),%eax
4a35de:	8d 48 fe             	lea    -0x2(%eax),%ecx
4a35e1:	48                   	dec    %eax
4a35e2:	83 f8 02             	cmp    $0x2,%eax
4a35e5:	7c 16                	jl     0x4a35fd
4a35e7:	8d 14 40             	lea    (%eax,%eax,2),%edx
4a35ea:	8d 54 94 3c          	lea    0x3c(%esp,%edx,4),%edx
4a35ee:	83 3a 00             	cmpl   $0x0,(%edx)
4a35f1:	75 0a                	jne    0x4a35fd
4a35f3:	49                   	dec    %ecx
4a35f4:	48                   	dec    %eax
4a35f5:	83 ea 0c             	sub    $0xc,%edx
4a35f8:	83 f8 02             	cmp    $0x2,%eax
4a35fb:	7d f1                	jge    0x4a35ee
4a35fd:	33 c0                	xor    %eax,%eax
4a35ff:	8d 54 24 4c          	lea    0x4c(%esp),%edx
4a3603:	89 44 24 0c          	mov    %eax,0xc(%esp)
4a3607:	52                   	push   %edx
4a3608:	89 44 24 14          	mov    %eax,0x14(%esp)
4a360c:	8b 54 24 08          	mov    0x8(%esp),%edx
4a3610:	89 44 24 18          	mov    %eax,0x18(%esp)
4a3614:	51                   	push   %ecx
4a3615:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a3619:	89 44 24 20          	mov    %eax,0x20(%esp)
4a361d:	8d 44 24 14          	lea    0x14(%esp),%eax
4a3621:	50                   	push   %eax
4a3622:	6a 01                	push   $0x1
4a3624:	51                   	push   %ecx
4a3625:	52                   	push   %edx
4a3626:	e8 95 ed ff ff       	call   0x4a23c0
4a362b:	89 46 04             	mov    %eax,0x4(%esi)
4a362e:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4a3632:	83 c4 18             	add    $0x18,%esp
4a3635:	8b 08                	mov    (%eax),%ecx
4a3637:	50                   	push   %eax
4a3638:	ff 51 08             	call   *0x8(%ecx)
4a363b:	8b 44 24 0c          	mov    0xc(%esp),%eax
4a363f:	33 f6                	xor    %esi,%esi
4a3641:	66 3d 08 00          	cmp    $0x8,%ax
4a3645:	74 4c                	je     0x4a3693
4a3647:	8b 54 24 10          	mov    0x10(%esp),%edx
4a364b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4a364f:	89 54 24 20          	mov    %edx,0x20(%esp)
4a3653:	33 d2                	xor    %edx,%edx
4a3655:	89 54 24 0c          	mov    %edx,0xc(%esp)
4a3659:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4a365d:	8b 44 24 14          	mov    0x14(%esp),%eax
4a3661:	89 54 24 10          	mov    %edx,0x10(%esp)
4a3665:	89 44 24 24          	mov    %eax,0x24(%esp)
4a3669:	89 54 24 14          	mov    %edx,0x14(%esp)
4a366d:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4a3671:	6a 08                	push   $0x8
4a3673:	8d 44 24 20          	lea    0x20(%esp),%eax
4a3677:	52                   	push   %edx
4a3678:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a367c:	50                   	push   %eax
4a367d:	51                   	push   %ecx
4a367e:	89 54 24 28          	mov    %edx,0x28(%esp)
4a3682:	ff 15 e8 31 4b 00    	call   *0x4b31e8
4a3688:	85 c0                	test   %eax,%eax
4a368a:	7c 16                	jl     0x4a36a2
4a368c:	8b 54 24 14          	mov    0x14(%esp),%edx
4a3690:	52                   	push   %edx
4a3691:	eb 05                	jmp    0x4a3698
4a3693:	8b 44 24 14          	mov    0x14(%esp),%eax
4a3697:	50                   	push   %eax
4a3698:	e8 73 ec ff ff       	call   0x4a2310
4a369d:	83 c4 04             	add    $0x4,%esp
4a36a0:	8b f0                	mov    %eax,%esi
4a36a2:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
4a36a6:	51                   	push   %ecx
4a36a7:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a36ad:	8b c6                	mov    %esi,%eax
4a36af:	5e                   	pop    %esi
4a36b0:	83 c4 28             	add    $0x28,%esp
4a36b3:	c3                   	ret
4a36b4:	90                   	nop
4a36b5:	90                   	nop
4a36b6:	90                   	nop
4a36b7:	90                   	nop
4a36b8:	90                   	nop
4a36b9:	90                   	nop
4a36ba:	90                   	nop
4a36bb:	90                   	nop
4a36bc:	90                   	nop
4a36bd:	90                   	nop
4a36be:	90                   	nop
4a36bf:	90                   	nop
4a36c0:	55                   	push   %ebp
4a36c1:	8b ec                	mov    %esp,%ebp
4a36c3:	83 ec 2c             	sub    $0x2c,%esp
4a36c6:	8b 45 0c             	mov    0xc(%ebp),%eax
4a36c9:	56                   	push   %esi
4a36ca:	8b f0                	mov    %eax,%esi
4a36cc:	83 38 00             	cmpl   $0x0,(%eax)
4a36cf:	75 0c                	jne    0x4a36dd
4a36d1:	c7 40 04 03 40 00 80 	movl   $0x80004003,0x4(%eax)
4a36d8:	5e                   	pop    %esi
4a36d9:	8b e5                	mov    %ebp,%esp
4a36db:	5d                   	pop    %ebp
4a36dc:	c3                   	ret
4a36dd:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4a36e4:	8b 00                	mov    (%eax),%eax
4a36e6:	8d 55 fc             	lea    -0x4(%ebp),%edx
4a36e9:	8b 08                	mov    (%eax),%ecx
4a36eb:	52                   	push   %edx
4a36ec:	68 b0 35 4b 00       	push   $0x4b35b0
4a36f1:	50                   	push   %eax
4a36f2:	ff 11                	call   *(%ecx)
4a36f4:	85 c0                	test   %eax,%eax
4a36f6:	89 46 04             	mov    %eax,0x4(%esi)
4a36f9:	0f 85 66 01 00 00    	jne    0x4a3865
4a36ff:	8b 4d 18             	mov    0x18(%ebp),%ecx
4a3702:	8b 55 fc             	mov    -0x4(%ebp),%edx
4a3705:	8d 45 f8             	lea    -0x8(%ebp),%eax
4a3708:	50                   	push   %eax
4a3709:	51                   	push   %ecx
4a370a:	52                   	push   %edx
4a370b:	e8 60 ec ff ff       	call   0x4a2370
4a3710:	83 c4 0c             	add    $0xc,%esp
4a3713:	89 46 04             	mov    %eax,0x4(%esi)
4a3716:	85 c0                	test   %eax,%eax
4a3718:	0f 85 47 01 00 00    	jne    0x4a3865
4a371e:	8b 45 08             	mov    0x8(%ebp),%eax
4a3721:	8d 48 fe             	lea    -0x2(%eax),%ecx
4a3724:	48                   	dec    %eax
4a3725:	83 f8 02             	cmp    $0x2,%eax
4a3728:	7c 16                	jl     0x4a3740
4a372a:	8d 14 40             	lea    (%eax,%eax,2),%edx
4a372d:	8d 54 95 14          	lea    0x14(%ebp,%edx,4),%edx
4a3731:	83 3a 00             	cmpl   $0x0,(%edx)
4a3734:	75 0a                	jne    0x4a3740
4a3736:	49                   	dec    %ecx
4a3737:	48                   	dec    %eax
4a3738:	83 ea 0c             	sub    $0xc,%edx
4a373b:	83 f8 02             	cmp    $0x2,%eax
4a373e:	7d f1                	jge    0x4a3731
4a3740:	33 c0                	xor    %eax,%eax
4a3742:	8d 55 24             	lea    0x24(%ebp),%edx
4a3745:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4a3748:	52                   	push   %edx
4a3749:	89 45 d8             	mov    %eax,-0x28(%ebp)
4a374c:	8b 55 fc             	mov    -0x4(%ebp),%edx
4a374f:	89 45 dc             	mov    %eax,-0x24(%ebp)
4a3752:	51                   	push   %ecx
4a3753:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4a3756:	89 45 e0             	mov    %eax,-0x20(%ebp)
4a3759:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4a375c:	50                   	push   %eax
4a375d:	6a 01                	push   $0x1
4a375f:	51                   	push   %ecx
4a3760:	52                   	push   %edx
4a3761:	e8 5a ec ff ff       	call   0x4a23c0
4a3766:	89 46 04             	mov    %eax,0x4(%esi)
4a3769:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a376c:	83 c4 18             	add    $0x18,%esp
4a376f:	8b 08                	mov    (%eax),%ecx
4a3771:	50                   	push   %eax
4a3772:	ff 51 08             	call   *0x8(%ecx)
4a3775:	8b 55 d4             	mov    -0x2c(%ebp),%edx