ab344f:	cc                   	int3
ab3450:	cc                   	int3
ab3451:	cc                   	int3
ab3452:	cc                   	int3
ab3453:	cc                   	int3
ab3454:	cc                   	int3
ab3455:	cc                   	int3
ab3456:	cc                   	int3
ab3457:	cc                   	int3
ab3458:	cc                   	int3
ab3459:	cc                   	int3
ab345a:	8b ff                	mov    %edi,%edi
ab345c:	55                   	push   %ebp
ab345d:	8b ec                	mov    %esp,%ebp
ab345f:	51                   	push   %ecx
ab3460:	56                   	push   %esi
ab3461:	57                   	push   %edi
ab3462:	e8 ab c3 95 ff       	call   0x40f812
ab3467:	8b f8                	mov    %eax,%edi
ab3469:	85 ff                	test   %edi,%edi
ab346b:	74 4e                	je     0xab34bb
ab346d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
ab3471:	74 48                	je     0xab34bb
ab3473:	8b 75 08             	mov    0x8(%ebp),%esi
ab3476:	8d 4e 01             	lea    0x1(%esi),%ecx
ab3479:	8a 06                	mov    (%esi),%al
ab347b:	46                   	inc    %esi
ab347c:	84 c0                	test   %al,%al
ab347e:	75 f9                	jne    0xab3479
ab3480:	2b f1                	sub    %ecx,%esi
ab3482:	eb 32                	jmp    0xab34b6
ab3484:	8b 17                	mov    (%edi),%edx
ab3486:	8b ca                	mov    %edx,%ecx
ab3488:	8d 41 01             	lea    0x1(%ecx),%eax
ab348b:	89 45 fc             	mov    %eax,-0x4(%ebp)
ab348e:	8a 01                	mov    (%ecx),%al
ab3490:	41                   	inc    %ecx
ab3491:	84 c0                	test   %al,%al
ab3493:	75 f9                	jne    0xab348e
ab3495:	2b 4d fc             	sub    -0x4(%ebp),%ecx
ab3498:	3b ce                	cmp    %esi,%ecx
ab349a:	76 17                	jbe    0xab34b3
ab349c:	80 3c 32 3d          	cmpb   $0x3d,(%edx,%esi,1)
ab34a0:	75 11                	jne    0xab34b3
ab34a2:	56                   	push   %esi
ab34a3:	ff 75 08             	push   0x8(%ebp)
ab34a6:	52                   	push   %edx
ab34a7:	e8 cc b7 95 ff       	call   0x40ec78
ab34ac:	83 c4 0c             	add    $0xc,%esp
ab34af:	85 c0                	test   %eax,%eax
ab34b1:	74 10                	je     0xab34c3
ab34b3:	83 c7 04             	add    $0x4,%edi
ab34b6:	83 3f 00             	cmpl   $0x0,(%edi)
ab34b9:	75 c9                	jne    0xab3484
ab34bb:	33 c0                	xor    %eax,%eax
ab34bd:	5f                   	pop    %edi
ab34be:	5e                   	pop    %esi
ab34bf:	8b e5                	mov    %ebp,%esp
ab34c1:	5d                   	pop    %ebp
ab34c2:	c3                   	ret
ab34c3:	8b 07                	mov    (%edi),%eax
ab34c5:	40                   	inc    %eax
ab34c6:	03 c6                	add    %esi,%eax
ab34c8:	eb f3                	jmp    0xab34bd
ab34ca:	cc                   	int3
ab34cb:	cc                   	int3
ab34cc:	cc                   	int3
ab34cd:	cc                   	int3
ab34ce:	cc                   	int3
ab34cf:	cc                   	int3
ab34d0:	cc                   	int3
ab34d1:	cc                   	int3
ab34d2:	cc                   	int3
ab34d3:	cc                   	int3
ab34d4:	cc                   	int3
ab34d5:	cc                   	int3
ab34d6:	cc                   	int3
ab34d7:	cc                   	int3
ab34d8:	cc                   	int3
ab34d9:	cc                   	int3
ab34da:	cc                   	int3
ab34db:	cc                   	int3
ab34dc:	cc                   	int3
ab34dd:	cc                   	int3
ab34de:	cc                   	int3
ab34df:	cc                   	int3
ab34e0:	cc                   	int3
ab34e1:	cc                   	int3
ab34e2:	cc                   	int3
ab34e3:	cc                   	int3
ab34e4:	cc                   	int3
ab34e5:	cc                   	int3
ab34e6:	8b ff                	mov    %edi,%edi
ab34e8:	55                   	push   %ebp
ab34e9:	8b ec                	mov    %esp,%ebp
ab34eb:	51                   	push   %ecx
ab34ec:	51                   	push   %ecx
ab34ed:	56                   	push   %esi
ab34ee:	57                   	push   %edi
ab34ef:	e8 cd a9 96 ff       	call   0x41dec1
ab34f4:	8b f8                	mov    %eax,%edi
ab34f6:	85 ff                	test   %edi,%edi
ab34f8:	74 64                	je     0xab355e
ab34fa:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
ab34fe:	74 5e                	je     0xab355e
ab3500:	8b 75 08             	mov    0x8(%ebp),%esi
ab3503:	33 d2                	xor    %edx,%edx
ab3505:	89 55 fc             	mov    %edx,-0x4(%ebp)
ab3508:	8d 4e 02             	lea    0x2(%esi),%ecx
ab350b:	66 8b 06             	mov    (%esi),%ax
ab350e:	83 c6 02             	add    $0x2,%esi
ab3511:	66 3b c2             	cmp    %dx,%ax
ab3514:	75 f5                	jne    0xab350b
ab3516:	2b f1                	sub    %ecx,%esi
ab3518:	d1 fe                	sar    $1,%esi
ab351a:	39 17                	cmp    %edx,(%edi)
ab351c:	74 40                	je     0xab355e
ab351e:	8b 17                	mov    (%edi),%edx
ab3520:	8b ca                	mov    %edx,%ecx
ab3522:	8d 41 02             	lea    0x2(%ecx),%eax
ab3525:	89 45 f8             	mov    %eax,-0x8(%ebp)
ab3528:	66 8b 01             	mov    (%ecx),%ax
ab352b:	83 c1 02             	add    $0x2,%ecx
ab352e:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
ab3532:	75 f4                	jne    0xab3528
ab3534:	2b 4d f8             	sub    -0x8(%ebp),%ecx
ab3537:	d1 f9                	sar    $1,%ecx
ab3539:	3b ce                	cmp    %esi,%ecx
ab353b:	76 18                	jbe    0xab3555
ab353d:	66 83 3c 72 3d       	cmpw   $0x3d,(%edx,%esi,2)
ab3542:	75 11                	jne    0xab3555
ab3544:	56                   	push   %esi
ab3545:	ff 75 08             	push   0x8(%ebp)
ab3548:	52                   	push   %edx
ab3549:	e8 9a 06 95 ff       	call   0x403be8
ab354e:	83 c4 0c             	add    $0xc,%esp
ab3551:	85 c0                	test   %eax,%eax
ab3553:	74 11                	je     0xab3566
ab3555:	83 c7 04             	add    $0x4,%edi
ab3558:	33 c0                	xor    %eax,%eax
ab355a:	39 07                	cmp    %eax,(%edi)
ab355c:	75 c0                	jne    0xab351e
ab355e:	33 c0                	xor    %eax,%eax
ab3560:	5f                   	pop    %edi
ab3561:	5e                   	pop    %esi
ab3562:	8b e5                	mov    %ebp,%esp
ab3564:	5d                   	pop    %ebp
ab3565:	c3                   	ret
ab3566:	8b 07                	mov    (%edi),%eax
ab3568:	8d 04 70             	lea    (%eax,%esi,2),%eax
ab356b:	83 c0 02             	add    $0x2,%eax
ab356e:	eb f0                	jmp    0xab3560
ab3570:	cc                   	int3
ab3571:	cc                   	int3
ab3572:	cc                   	int3
ab3573:	cc                   	int3
ab3574:	cc                   	int3
ab3575:	cc                   	int3
ab3576:	cc                   	int3
ab3577:	cc                   	int3
ab3578:	cc                   	int3
ab3579:	cc                   	int3
ab357a:	cc                   	int3
ab357b:	cc                   	int3
ab357c:	cc                   	int3
ab357d:	cc                   	int3
ab357e:	cc                   	int3
ab357f:	cc                   	int3
ab3580:	cc                   	int3
ab3581:	cc                   	int3
ab3582:	cc                   	int3
ab3583:	cc                   	int3
ab3584:	cc                   	int3
ab3585:	cc                   	int3
ab3586:	cc                   	int3
ab3587:	cc                   	int3
ab3588:	cc                   	int3
ab3589:	cc                   	int3
ab358a:	cc                   	int3
ab358b:	cc                   	int3
ab358c:	cc                   	int3
ab358d:	cc                   	int3
ab358e:	cc                   	int3
ab358f:	cc                   	int3
ab3590:	cc                   	int3
ab3591:	cc                   	int3
ab3592:	6a 0c                	push   $0xc
ab3594:	68 90 bc d4 00       	push   $0xd4bc90
ab3599:	e8 d6 0d 98 ff       	call   0x434374
ab359e:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
ab35a2:	6a 0b                	push   $0xb
ab35a4:	e8 e7 fc 96 ff       	call   0x423290
ab35a9:	59                   	pop    %ecx
ab35aa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
ab35ae:	ff 75 14             	push   0x14(%ebp)
ab35b1:	ff 75 10             	push   0x10(%ebp)
ab35b4:	ff 75 0c             	push   0xc(%ebp)
ab35b7:	ff 75 08             	push   0x8(%ebp)
ab35ba:	e8 a7 00 00 00       	call   0xab3666
ab35bf:	83 c4 10             	add    $0x10,%esp
ab35c2:	8b f0                	mov    %eax,%esi
ab35c4:	89 75 e4             	mov    %esi,-0x1c(%ebp)
ab35c7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
ab35ce:	e8 0b 00 00 00       	call   0xab35de
ab35d3:	8b c6                	mov    %esi,%eax
ab35d5:	e8 db 63 97 ff       	call   0x4299b5
ab35da:	c3                   	ret
ab35db:	8b 75 e4             	mov    -0x1c(%ebp),%esi
ab35de:	6a 0b                	push   $0xb
ab35e0:	e8 47 db 94 ff       	call   0x40112c
ab35e5:	59                   	pop    %ecx
ab35e6:	c3                   	ret
ab35e7:	cc                   	int3
ab35e8:	cc                   	int3
ab35e9:	cc                   	int3
ab35ea:	cc                   	int3
ab35eb:	cc                   	int3
ab35ec:	cc                   	int3
ab35ed:	cc                   	int3
ab35ee:	cc                   	int3
ab35ef:	cc                   	int3
ab35f0:	cc                   	int3
ab35f1:	cc                   	int3
ab35f2:	cc                   	int3
ab35f3:	cc                   	int3
ab35f4:	cc                   	int3
ab35f5:	cc                   	int3
ab35f6:	cc                   	int3
ab35f7:	cc                   	int3
ab35f8:	cc                   	int3
ab35f9:	cc                   	int3
ab35fa:	cc                   	int3
ab35fb:	cc                   	int3
ab35fc:	6a 0c                	push   $0xc
ab35fe:	68 b0 bc d4 00       	push   $0xd4bcb0
ab3603:	e8 6c 0d 98 ff       	call   0x434374
ab3608:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
ab360c:	6a 0b                	push   $0xb
ab360e:	e8 7d fc 96 ff       	call   0x423290
ab3613:	59                   	pop    %ecx
ab3614:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
ab3618:	ff 75 14             	push   0x14(%ebp)
ab361b:	ff 75 10             	push   0x10(%ebp)
ab361e:	ff 75 0c             	push   0xc(%ebp)
ab3621:	ff 75 08             	push   0x8(%ebp)
ab3624:	e8 0f 01 00 00       	call   0xab3738
ab3629:	83 c4 10             	add    $0x10,%esp
ab362c:	8b f0                	mov    %eax,%esi
ab362e:	89 75 e4             	mov    %esi,-0x1c(%ebp)
ab3631:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
ab3638:	e8 0b 00 00 00       	call   0xab3648
ab363d:	8b c6                	mov    %esi,%eax
ab363f:	e8 71 63 97 ff       	call   0x4299b5
ab3644:	c3                   	ret
ab3645:	8b 75 e4             	mov    -0x1c(%ebp),%esi
ab3648:	6a 0b                	push   $0xb
ab364a:	e8 dd da 94 ff       	call   0x40112c
ab364f:	59                   	pop    %ecx
ab3650:	c3                   	ret
ab3651:	cc                   	int3
ab3652:	cc                   	int3
ab3653:	cc                   	int3
ab3654:	cc                   	int3
ab3655:	cc                   	int3
ab3656:	cc                   	int3
ab3657:	cc                   	int3
ab3658:	cc                   	int3
ab3659:	cc                   	int3
ab365a:	cc                   	int3
ab365b:	cc                   	int3
ab365c:	cc                   	int3
ab365d:	cc                   	int3
ab365e:	cc                   	int3
ab365f:	cc                   	int3
ab3660:	cc                   	int3
ab3661:	cc                   	int3
ab3662:	cc                   	int3
ab3663:	cc                   	int3
ab3664:	cc                   	int3
ab3665:	cc                   	int3
ab3666:	8b ff                	mov    %edi,%edi
ab3668:	55                   	push   %ebp
ab3669:	8b ec                	mov    %esp,%ebp
ab366b:	51                   	push   %ecx
ab366c:	53                   	push   %ebx
ab366d:	8b 5d 08             	mov    0x8(%ebp),%ebx
ab3670:	56                   	push   %esi
ab3671:	85 db                	test   %ebx,%ebx
ab3673:	75 13                	jne    0xab3688
ab3675:	e8 f5 b1 98 ff       	call   0x43e86f
ab367a:	6a 16                	push   $0x16
ab367c:	5e                   	pop    %esi
ab367d:	89 30                	mov    %esi,(%eax)
ab367f:	e8 74 bc 96 ff       	call   0x41f2f8
ab3684:	8b c6                	mov    %esi,%eax
ab3686:	eb 49                	jmp    0xab36d1
ab3688:	83 23 00             	andl   $0x0,(%ebx)
ab368b:	8b 75 10             	mov    0x10(%ebp),%esi
ab368e:	57                   	push   %edi
ab368f:	8b 7d 0c             	mov    0xc(%ebp),%edi
ab3692:	85 ff                	test   %edi,%edi
ab3694:	74 41                	je     0xab36d7
ab3696:	85 f6                	test   %esi,%esi
ab3698:	74 41                	je     0xab36db
ab369a:	85 ff                	test   %edi,%edi
ab369c:	74 03                	je     0xab36a1
ab369e:	c6 07 00             	movb   $0x0,(%edi)
ab36a1:	ff 75 14             	push   0x14(%ebp)
ab36a4:	e8 b1 fd ff ff       	call   0xab345a
ab36a9:	8b d0                	mov    %eax,%edx
ab36ab:	59                   	pop    %ecx
ab36ac:	85 d2                	test   %edx,%edx
ab36ae:	74 4d                	je     0xab36fd
ab36b0:	8b ca                	mov    %edx,%ecx
ab36b2:	8d 41 01             	lea    0x1(%ecx),%eax
ab36b5:	89 45 fc             	mov    %eax,-0x4(%ebp)
ab36b8:	8a 01                	mov    (%ecx),%al
ab36ba:	41                   	inc    %ecx
ab36bb:	84 c0                	test   %al,%al
ab36bd:	75 f9                	jne    0xab36b8
ab36bf:	2b 4d fc             	sub    -0x4(%ebp),%ecx
ab36c2:	41                   	inc    %ecx
ab36c3:	89 0b                	mov    %ecx,(%ebx)
ab36c5:	85 f6                	test   %esi,%esi
ab36c7:	74 34                	je     0xab36fd
ab36c9:	3b ce                	cmp    %esi,%ecx
ab36cb:	76 21                	jbe    0xab36ee
ab36cd:	6a 22                	push   $0x22
ab36cf:	58                   	pop    %eax
ab36d0:	5f                   	pop    %edi
ab36d1:	5e                   	pop    %esi
ab36d2:	5b                   	pop    %ebx
ab36d3:	8b e5                	mov    %ebp,%esp
ab36d5:	5d                   	pop    %ebp
ab36d6:	c3                   	ret
ab36d7:	85 f6                	test   %esi,%esi
ab36d9:	74 bf                	je     0xab369a
ab36db:	e8 8f b1 98 ff       	call   0x43e86f
ab36e0:	6a 16                	push   $0x16
ab36e2:	5e                   	pop    %esi
ab36e3:	89 30                	mov    %esi,(%eax)
ab36e5:	e8 0e bc 96 ff       	call   0x41f2f8
ab36ea:	8b c6                	mov    %esi,%eax
ab36ec:	eb e2                	jmp    0xab36d0
ab36ee:	52                   	push   %edx
ab36ef:	56                   	push   %esi
ab36f0:	57                   	push   %edi
ab36f1:	e8 9e e8 96 ff       	call   0x421f94
ab36f6:	83 c4 0c             	add    $0xc,%esp
ab36f9:	85 c0                	test   %eax,%eax