ab54fa:	cc                   	int3
ab54fb:	cc                   	int3
ab54fc:	cc                   	int3
ab54fd:	cc                   	int3
ab54fe:	8b ff                	mov    %edi,%edi
ab5500:	55                   	push   %ebp
ab5501:	8b ec                	mov    %esp,%ebp
ab5503:	83 ec 44             	sub    $0x44,%esp
ab5506:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
ab550b:	33 c5                	xor    %ebp,%eax
ab550d:	89 45 fc             	mov    %eax,-0x4(%ebp)
ab5510:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab5513:	89 4d c0             	mov    %ecx,-0x40(%ebp)
ab5516:	57                   	push   %edi
ab5517:	85 c9                	test   %ecx,%ecx
ab5519:	75 1c                	jne    0xab5537
ab551b:	e8 4f 93 98 ff       	call   0x43e86f
ab5520:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
ab5526:	e8 cd 9d 96 ff       	call   0x41f2f8
ab552b:	83 cf ff             	or     $0xffffffff,%edi
ab552e:	8b c7                	mov    %edi,%eax
ab5530:	8b d7                	mov    %edi,%edx
ab5532:	e9 ef 03 00 00       	jmp    0xab5926
ab5537:	8b 41 14             	mov    0x14(%ecx),%eax
ab553a:	53                   	push   %ebx
ab553b:	99                   	cltd
ab553c:	56                   	push   %esi
ab553d:	8b f2                	mov    %edx,%esi
ab553f:	8b d8                	mov    %eax,%ebx
ab5541:	89 5d c8             	mov    %ebx,-0x38(%ebp)
ab5544:	89 75 c4             	mov    %esi,-0x3c(%ebp)
ab5547:	89 75 cc             	mov    %esi,-0x34(%ebp)
ab554a:	85 f6                	test   %esi,%esi
ab554c:	0f 8c c0 03 00 00    	jl     0xab5912
ab5552:	7f 0b                	jg     0xab555f
ab5554:	83 fb 45             	cmp    $0x45,%ebx
ab5557:	0f 82 b5 03 00 00    	jb     0xab5912
ab555d:	85 f6                	test   %esi,%esi
ab555f:	0f 87 ad 03 00 00    	ja     0xab5912
ab5565:	72 0c                	jb     0xab5573
ab5567:	81 fb 4d 04 00 00    	cmp    $0x44d,%ebx
ab556d:	0f 87 9f 03 00 00    	ja     0xab5912
ab5573:	8b 41 10             	mov    0x10(%ecx),%eax
ab5576:	83 cf ff             	or     $0xffffffff,%edi
ab5579:	85 c0                	test   %eax,%eax
ab557b:	78 05                	js     0xab5582
ab557d:	83 f8 0b             	cmp    $0xb,%eax
ab5580:	7e 62                	jle    0xab55e4
ab5582:	99                   	cltd
ab5583:	c7 45 d4 0c 00 00 00 	movl   $0xc,-0x2c(%ebp)
ab558a:	f7 7d d4             	idivl  -0x2c(%ebp)
ab558d:	89 55 d4             	mov    %edx,-0x2c(%ebp)
ab5590:	99                   	cltd
ab5591:	03 d8                	add    %eax,%ebx
ab5593:	8b 45 d4             	mov    -0x2c(%ebp),%eax
ab5596:	89 5d c8             	mov    %ebx,-0x38(%ebp)
ab5599:	13 f2                	adc    %edx,%esi
ab559b:	89 41 10             	mov    %eax,0x10(%ecx)
ab559e:	89 75 c4             	mov    %esi,-0x3c(%ebp)
ab55a1:	89 75 cc             	mov    %esi,-0x34(%ebp)
ab55a4:	85 c0                	test   %eax,%eax
ab55a6:	79 13                	jns    0xab55bb
ab55a8:	83 c0 0c             	add    $0xc,%eax
ab55ab:	03 df                	add    %edi,%ebx
ab55ad:	89 41 10             	mov    %eax,0x10(%ecx)
ab55b0:	13 f7                	adc    %edi,%esi
ab55b2:	89 5d c8             	mov    %ebx,-0x38(%ebp)
ab55b5:	89 75 c4             	mov    %esi,-0x3c(%ebp)
ab55b8:	89 75 cc             	mov    %esi,-0x34(%ebp)
ab55bb:	85 f6                	test   %esi,%esi
ab55bd:	0f 8c 60 01 00 00    	jl     0xab5723
ab55c3:	7f 0b                	jg     0xab55d0
ab55c5:	83 fb 45             	cmp    $0x45,%ebx
ab55c8:	0f 82 55 01 00 00    	jb     0xab5723
ab55ce:	85 f6                	test   %esi,%esi
ab55d0:	0f 87 4d 01 00 00    	ja     0xab5723
ab55d6:	72 0c                	jb     0xab55e4
ab55d8:	81 fb 4d 04 00 00    	cmp    $0x44d,%ebx
ab55de:	0f 87 3f 01 00 00    	ja     0xab5723
ab55e4:	8b 41 10             	mov    0x10(%ecx),%eax
ab55e7:	89 45 bc             	mov    %eax,-0x44(%ebp)
ab55ea:	56                   	push   %esi
ab55eb:	53                   	push   %ebx
ab55ec:	8b 04 85 fc 1f c8 00 	mov    0xc81ffc(,%eax,4),%eax
ab55f3:	99                   	cltd
ab55f4:	89 45 d0             	mov    %eax,-0x30(%ebp)
ab55f7:	89 55 d4             	mov    %edx,-0x2c(%ebp)
ab55fa:	e8 ef ee 94 ff       	call   0x4044ee
ab55ff:	59                   	pop    %ecx
ab5600:	59                   	pop    %ecx
ab5601:	84 c0                	test   %al,%al
ab5603:	74 0e                	je     0xab5613
ab5605:	83 7d bc 01          	cmpl   $0x1,-0x44(%ebp)
ab5609:	7e 08                	jle    0xab5613
ab560b:	83 45 d0 01          	addl   $0x1,-0x30(%ebp)
ab560f:	83 55 d4 00          	adcl   $0x0,-0x2c(%ebp)
ab5613:	56                   	push   %esi
ab5614:	53                   	push   %ebx
ab5615:	e8 06 6e 98 ff       	call   0x43c420
ab561a:	59                   	pop    %ecx
ab561b:	59                   	pop    %ecx
ab561c:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
ab561f:	83 eb 46             	sub    $0x46,%ebx
ab5622:	6a 00                	push   $0x0
ab5624:	68 6d 01 00 00       	push   $0x16d
ab5629:	83 d9 00             	sbb    $0x0,%ecx
ab562c:	89 45 bc             	mov    %eax,-0x44(%ebp)
ab562f:	51                   	push   %ecx
ab5630:	53                   	push   %ebx
ab5631:	8b f2                	mov    %edx,%esi
ab5633:	e8 b3 53 97 ff       	call   0x42a9eb
ab5638:	8b 4d bc             	mov    -0x44(%ebp),%ecx
ab563b:	8b 5d c0             	mov    -0x40(%ebp),%ebx
ab563e:	03 c8                	add    %eax,%ecx
ab5640:	13 f2                	adc    %edx,%esi
ab5642:	03 4d d0             	add    -0x30(%ebp),%ecx
ab5645:	89 4d bc             	mov    %ecx,-0x44(%ebp)
ab5648:	8b 43 0c             	mov    0xc(%ebx),%eax
ab564b:	13 75 d4             	adc    -0x2c(%ebp),%esi
ab564e:	99                   	cltd
ab564f:	8b c8                	mov    %eax,%ecx
ab5651:	8b 45 bc             	mov    -0x44(%ebp),%eax
ab5654:	03 c1                	add    %ecx,%eax
ab5656:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
ab5659:	8b ce                	mov    %esi,%ecx
ab565b:	89 45 c0             	mov    %eax,-0x40(%ebp)
ab565e:	13 ca                	adc    %edx,%ecx
ab5660:	89 45 c8             	mov    %eax,-0x38(%ebp)
ab5663:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
ab5666:	89 4d cc             	mov    %ecx,-0x34(%ebp)
ab5669:	85 f6                	test   %esi,%esi
ab566b:	0f 8c 98 00 00 00    	jl     0xab5709
ab5671:	7f 0a                	jg     0xab567d
ab5673:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
ab5677:	0f 82 8c 00 00 00    	jb     0xab5709
ab567d:	85 d2                	test   %edx,%edx
ab567f:	7c 1a                	jl     0xab569b
ab5681:	7f 06                	jg     0xab5689
ab5683:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
ab5687:	72 12                	jb     0xab569b
ab5689:	85 c9                	test   %ecx,%ecx
ab568b:	0f 8c 92 00 00 00    	jl     0xab5723
ab5691:	7f 08                	jg     0xab569b
ab5693:	85 c0                	test   %eax,%eax
ab5695:	0f 82 88 00 00 00    	jb     0xab5723
ab569b:	6a 00                	push   $0x0
ab569d:	6a 18                	push   $0x18
ab569f:	51                   	push   %ecx
ab56a0:	50                   	push   %eax
ab56a1:	e8 45 53 97 ff       	call   0x42a9eb
ab56a6:	8b 75 c0             	mov    -0x40(%ebp),%esi
ab56a9:	8b ce                	mov    %esi,%ecx
ab56ab:	89 45 d4             	mov    %eax,-0x2c(%ebp)
ab56ae:	8b 45 c4             	mov    -0x3c(%ebp),%eax
ab56b1:	0b c8                	or     %eax,%ecx
ab56b3:	89 55 d0             	mov    %edx,-0x30(%ebp)
ab56b6:	74 14                	je     0xab56cc
ab56b8:	50                   	push   %eax
ab56b9:	56                   	push   %esi
ab56ba:	52                   	push   %edx
ab56bb:	ff 75 d4             	push   -0x2c(%ebp)
ab56be:	e8 03 55 97 ff       	call   0x42abc6
ab56c3:	83 f8 18             	cmp    $0x18,%eax
ab56c6:	75 5b                	jne    0xab5723
ab56c8:	85 d2                	test   %edx,%edx
ab56ca:	75 57                	jne    0xab5723
ab56cc:	8b 43 08             	mov    0x8(%ebx),%eax
ab56cf:	99                   	cltd
ab56d0:	8b c8                	mov    %eax,%ecx
ab56d2:	8b c2                	mov    %edx,%eax
ab56d4:	8b f1                	mov    %ecx,%esi
ab56d6:	03 75 d4             	add    -0x2c(%ebp),%esi
ab56d9:	89 75 c8             	mov    %esi,-0x38(%ebp)
ab56dc:	13 45 d0             	adc    -0x30(%ebp),%eax
ab56df:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
ab56e3:	89 45 c0             	mov    %eax,-0x40(%ebp)
ab56e6:	89 45 cc             	mov    %eax,-0x34(%ebp)
ab56e9:	7c 42                	jl     0xab572d
ab56eb:	7f 06                	jg     0xab56f3
ab56ed:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
ab56f1:	72 3a                	jb     0xab572d
ab56f3:	85 d2                	test   %edx,%edx
ab56f5:	7c 4a                	jl     0xab5741
ab56f7:	7f 04                	jg     0xab56fd
ab56f9:	85 c9                	test   %ecx,%ecx
ab56fb:	72 44                	jb     0xab5741
ab56fd:	85 c0                	test   %eax,%eax
ab56ff:	7c 22                	jl     0xab5723
ab5701:	7f 3e                	jg     0xab5741
ab5703:	85 f6                	test   %esi,%esi
ab5705:	72 1c                	jb     0xab5723
ab5707:	eb 38                	jmp    0xab5741
ab5709:	85 d2                	test   %edx,%edx
ab570b:	7f 8e                	jg     0xab569b
ab570d:	7c 06                	jl     0xab5715
ab570f:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
ab5713:	73 86                	jae    0xab569b
ab5715:	85 c9                	test   %ecx,%ecx
ab5717:	7c 82                	jl     0xab569b
ab5719:	7f 08                	jg     0xab5723
ab571b:	85 c0                	test   %eax,%eax
ab571d:	0f 82 78 ff ff ff    	jb     0xab569b
ab5723:	e8 47 91 98 ff       	call   0x43e86f
ab5728:	e9 ed 01 00 00       	jmp    0xab591a
ab572d:	85 d2                	test   %edx,%edx
ab572f:	7f 10                	jg     0xab5741
ab5731:	7c 04                	jl     0xab5737
ab5733:	85 c9                	test   %ecx,%ecx
ab5735:	73 0a                	jae    0xab5741
ab5737:	85 c0                	test   %eax,%eax
ab5739:	7c 06                	jl     0xab5741
ab573b:	7f e6                	jg     0xab5723
ab573d:	85 f6                	test   %esi,%esi
ab573f:	73 e2                	jae    0xab5723
ab5741:	6a 00                	push   $0x0
ab5743:	6a 3c                	push   $0x3c
ab5745:	50                   	push   %eax
ab5746:	56                   	push   %esi
ab5747:	e8 9f 52 97 ff       	call   0x42a9eb
ab574c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
ab574f:	8b ce                	mov    %esi,%ecx
ab5751:	8b 45 c0             	mov    -0x40(%ebp),%eax
ab5754:	0b c8                	or     %eax,%ecx
ab5756:	89 55 d0             	mov    %edx,-0x30(%ebp)
ab5759:	74 14                	je     0xab576f
ab575b:	50                   	push   %eax
ab575c:	56                   	push   %esi
ab575d:	52                   	push   %edx
ab575e:	ff 75 d4             	push   -0x2c(%ebp)
ab5761:	e8 60 54 97 ff       	call   0x42abc6
ab5766:	83 f8 3c             	cmp    $0x3c,%eax
ab5769:	75 b8                	jne    0xab5723
ab576b:	85 d2                	test   %edx,%edx
ab576d:	75 b4                	jne    0xab5723
ab576f:	8b 43 04             	mov    0x4(%ebx),%eax
ab5772:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
ab5775:	99                   	cltd
ab5776:	8b f0                	mov    %eax,%esi
ab5778:	89 45 c4             	mov    %eax,-0x3c(%ebp)
ab577b:	03 f1                	add    %ecx,%esi
ab577d:	8b c2                	mov    %edx,%eax
ab577f:	89 75 c8             	mov    %esi,-0x38(%ebp)
ab5782:	13 45 d0             	adc    -0x30(%ebp),%eax
ab5785:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
ab5789:	89 45 c0             	mov    %eax,-0x40(%ebp)
ab578c:	89 45 cc             	mov    %eax,-0x34(%ebp)
ab578f:	7c 26                	jl     0xab57b7
ab5791:	7f 04                	jg     0xab5797
ab5793:	85 c9                	test   %ecx,%ecx
ab5795:	72 20                	jb     0xab57b7
ab5797:	85 d2                	test   %edx,%edx
ab5799:	7c 3a                	jl     0xab57d5
ab579b:	7f 06                	jg     0xab57a3
ab579d:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
ab57a1:	72 32                	jb     0xab57d5
ab57a3:	85 c0                	test   %eax,%eax
ab57a5:	0f 8c 78 ff ff ff    	jl     0xab5723
ab57ab:	7f 28                	jg     0xab57d5
ab57ad:	85 f6                	test   %esi,%esi
ab57af:	0f 82 6e ff ff ff    	jb     0xab5723
ab57b5:	eb 1e                	jmp    0xab57d5
ab57b7:	85 d2                	test   %edx,%edx
ab57b9:	7f 1a                	jg     0xab57d5
ab57bb:	7c 06                	jl     0xab57c3
ab57bd:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
ab57c1:	73 12                	jae    0xab57d5
ab57c3:	85 c0                	test   %eax,%eax
ab57c5:	7c 0e                	jl     0xab57d5
ab57c7:	0f 8f 56 ff ff ff    	jg     0xab5723
ab57cd:	85 f6                	test   %esi,%esi
ab57cf:	0f 83 4e ff ff ff    	jae    0xab5723
ab57d5:	6a 00                	push   $0x0
ab57d7:	6a 3c                	push   $0x3c
ab57d9:	50                   	push   %eax
ab57da:	56                   	push   %esi
ab57db:	e8 0b 52 97 ff       	call   0x42a9eb
ab57e0:	89 45 d4             	mov    %eax,-0x2c(%ebp)
ab57e3:	8b ce                	mov    %esi,%ecx
ab57e5:	8b 45 c0             	mov    -0x40(%ebp),%eax
ab57e8:	0b c8                	or     %eax,%ecx
ab57ea:	89 55 d0             	mov    %edx,-0x30(%ebp)
ab57ed:	74 1c                	je     0xab580b
ab57ef:	50                   	push   %eax
ab57f0:	56                   	push   %esi
ab57f1:	52                   	push   %edx
ab57f2:	ff 75 d4             	push   -0x2c(%ebp)
ab57f5:	e8 cc 53 97 ff       	call   0x42abc6
ab57fa:	83 f8 3c             	cmp    $0x3c,%eax
ab57fd:	0f 85 20 ff ff ff    	jne    0xab5723
ab5803:	85 d2                	test   %edx,%edx
ab5805:	0f 85 18 ff ff ff    	jne    0xab5723
ab580b:	8b 03                	mov    (%ebx),%eax
ab580d:	99                   	cltd
ab580e:	8b f0                	mov    %eax,%esi
ab5810:	8b ca                	mov    %edx,%ecx
ab5812:	03 75 d4             	add    -0x2c(%ebp),%esi
ab5815:	89 75 c8             	mov    %esi,-0x38(%ebp)
ab5818:	13 4d d0             	adc    -0x30(%ebp),%ecx
ab581b:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
ab581f:	89 4d cc             	mov    %ecx,-0x34(%ebp)
ab5822:	7c 26                	jl     0xab584a
ab5824:	7f 06                	jg     0xab582c
ab5826:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
ab582a:	72 1e                	jb     0xab584a
ab582c:	85 d2                	test   %edx,%edx
ab582e:	7c 36                	jl     0xab5866
ab5830:	7f 04                	jg     0xab5836
ab5832:	85 c0                	test   %eax,%eax
ab5834:	72 30                	jb     0xab5866
ab5836:	85 c9                	test   %ecx,%ecx
ab5838:	0f 8c e5 fe ff ff    	jl     0xab5723
ab583e:	7f 26                	jg     0xab5866
ab5840:	85 f6                	test   %esi,%esi
ab5842:	0f 82 db fe ff ff    	jb     0xab5723
ab5848:	eb 1c                	jmp    0xab5866
ab584a:	85 d2                	test   %edx,%edx
ab584c:	7f 18                	jg     0xab5866
ab584e:	7c 04                	jl     0xab5854
ab5850:	85 c0                	test   %eax,%eax
ab5852:	73 12                	jae    0xab5866
ab5854:	85 c9                	test   %ecx,%ecx
ab5856:	7c 0e                	jl     0xab5866
ab5858:	0f 8f c5 fe ff ff    	jg     0xab5723
ab585e:	85 f6                	test   %esi,%esi
ab5860:	0f 83 bd fe ff ff    	jae    0xab5723
ab5866:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
ab586a:	0f 84 93 00 00 00    	je     0xab5903
ab5870:	e8 5d 51 97 ff       	call   0x42a9d2
ab5875:	8d 45 d0             	lea    -0x30(%ebp),%eax
ab5878:	33 f6                	xor    %esi,%esi
ab587a:	50                   	push   %eax
ab587b:	89 75 d0             	mov    %esi,-0x30(%ebp)
ab587e:	89 75 d4             	mov    %esi,-0x2c(%ebp)
ab5881:	e8 74 66 96 ff       	call   0x41befa
ab5886:	59                   	pop    %ecx
ab5887:	85 c0                	test   %eax,%eax
ab5889:	0f 85 a6 00 00 00    	jne    0xab5935
ab588f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
ab5892:	50                   	push   %eax
ab5893:	e8 74 8e 98 ff       	call   0x43e70c
ab5898:	59                   	pop    %ecx
ab5899:	85 c0                	test   %eax,%eax
ab589b:	0f 85 94 00 00 00    	jne    0xab5935
ab58a1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
ab58a4:	99                   	cltd
ab58a5:	01 45 c8             	add    %eax,-0x38(%ebp)
ab58a8:	8d 45 c8             	lea    -0x38(%ebp),%eax
ab58ab:	50                   	push   %eax
ab58ac:	11 55 cc             	adc    %edx,-0x34(%ebp)
ab58af:	8d 45 d8             	lea    -0x28(%ebp),%eax