43f487:	56                   	push   %esi
43f488:	ff 33                	push   (%ebx)
43f48a:	e8 e3 45 fc ff       	call   0x403a72
43f48f:	85 c0                	test   %eax,%eax
43f491:	75 0d                	jne    0x43f4a0
43f493:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
43f498:	50                   	push   %eax
43f499:	68 97 01 00 00       	push   $0x197
43f49e:	eb 1d                	jmp    0x43f4bd
43f4a0:	89 03                	mov    %eax,(%ebx)
43f4a2:	eb 25                	jmp    0x43f4c9
43f4a4:	6a 01                	push   $0x1
43f4a6:	56                   	push   %esi
43f4a7:	e8 28 44 fc ff       	call   0x4038d4
43f4ac:	89 03                	mov    %eax,(%ebx)
43f4ae:	85 c0                	test   %eax,%eax
43f4b0:	75 17                	jne    0x43f4c9
43f4b2:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
43f4b7:	50                   	push   %eax
43f4b8:	68 9e 01 00 00       	push   $0x19e
43f4bd:	68 90 61 46 00       	push   $0x466190
43f4c2:	8b f8                	mov    %eax,%edi
43f4c4:	e8 0a 43 fc ff       	call   0x4037d3
43f4c9:	8b c7                	mov    %edi,%eax
43f4cb:	5f                   	pop    %edi
43f4cc:	5e                   	pop    %esi
43f4cd:	5b                   	pop    %ebx
43f4ce:	5d                   	pop    %ebp
43f4cf:	c2 08 00             	ret    $0x8
43f4d2:	55                   	push   %ebp
43f4d3:	8b ec                	mov    %esp,%ebp
43f4d5:	51                   	push   %ecx
43f4d6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43f4da:	8d 45 fc             	lea    -0x4(%ebp),%eax
43f4dd:	53                   	push   %ebx
43f4de:	56                   	push   %esi
43f4df:	57                   	push   %edi
43f4e0:	8b 7d 10             	mov    0x10(%ebp),%edi
43f4e3:	50                   	push   %eax
43f4e4:	8b 1f                	mov    (%edi),%ebx
43f4e6:	53                   	push   %ebx
43f4e7:	ff 75 0c             	push   0xc(%ebp)
43f4ea:	e8 a3 48 00 00       	call   0x443d92
43f4ef:	8b f0                	mov    %eax,%esi
43f4f1:	85 f6                	test   %esi,%esi
43f4f3:	79 0f                	jns    0x43f504
43f4f5:	56                   	push   %esi
43f4f6:	6a 45                	push   $0x45
43f4f8:	68 90 61 46 00       	push   $0x466190
43f4fd:	e8 d1 42 fc ff       	call   0x4037d3
43f502:	eb 25                	jmp    0x43f529
43f504:	83 7d fc 08          	cmpl   $0x8,-0x4(%ebp)
43f508:	73 0a                	jae    0x43f514
43f50a:	be 57 00 07 80       	mov    $0x80070057,%esi
43f50f:	56                   	push   %esi
43f510:	6a 4b                	push   $0x4b
43f512:	eb e4                	jmp    0x43f4f8
43f514:	8b 55 08             	mov    0x8(%ebp),%edx
43f517:	8b 4d 14             	mov    0x14(%ebp),%ecx
43f51a:	8b 04 13             	mov    (%ebx,%edx,1),%eax
43f51d:	89 01                	mov    %eax,(%ecx)
43f51f:	8b 44 13 04          	mov    0x4(%ebx,%edx,1),%eax
43f523:	89 41 04             	mov    %eax,0x4(%ecx)
43f526:	83 07 08             	addl   $0x8,(%edi)
43f529:	5f                   	pop    %edi
43f52a:	8b c6                	mov    %esi,%eax
43f52c:	5e                   	pop    %esi
43f52d:	5b                   	pop    %ebx
43f52e:	8b e5                	mov    %ebp,%esp
43f530:	5d                   	pop    %ebp
43f531:	c2 10 00             	ret    $0x10
43f534:	55                   	push   %ebp
43f535:	8b ec                	mov    %esp,%ebp
43f537:	51                   	push   %ecx
43f538:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43f53c:	8d 45 fc             	lea    -0x4(%ebp),%eax
43f53f:	53                   	push   %ebx
43f540:	56                   	push   %esi
43f541:	57                   	push   %edi
43f542:	8b 7d 10             	mov    0x10(%ebp),%edi
43f545:	50                   	push   %eax
43f546:	8b 1f                	mov    (%edi),%ebx
43f548:	53                   	push   %ebx
43f549:	ff 75 0c             	push   0xc(%ebp)
43f54c:	e8 41 48 00 00       	call   0x443d92
43f551:	8b f0                	mov    %eax,%esi
43f553:	85 f6                	test   %esi,%esi
43f555:	79 0f                	jns    0x43f566
43f557:	56                   	push   %esi
43f558:	6a 25                	push   $0x25
43f55a:	68 90 61 46 00       	push   $0x466190
43f55f:	e8 6f 42 fc ff       	call   0x4037d3
43f564:	eb 1e                	jmp    0x43f584
43f566:	83 7d fc 04          	cmpl   $0x4,-0x4(%ebp)
43f56a:	73 0a                	jae    0x43f576
43f56c:	be 57 00 07 80       	mov    $0x80070057,%esi
43f571:	56                   	push   %esi
43f572:	6a 2b                	push   $0x2b
43f574:	eb e4                	jmp    0x43f55a
43f576:	8b 45 08             	mov    0x8(%ebp),%eax
43f579:	8b 0c 03             	mov    (%ebx,%eax,1),%ecx
43f57c:	8b 45 14             	mov    0x14(%ebp),%eax
43f57f:	89 08                	mov    %ecx,(%eax)
43f581:	83 07 04             	addl   $0x4,(%edi)
43f584:	5f                   	pop    %edi
43f585:	8b c6                	mov    %esi,%eax
43f587:	5e                   	pop    %esi
43f588:	5b                   	pop    %ebx
43f589:	8b e5                	mov    %ebp,%esp
43f58b:	5d                   	pop    %ebp
43f58c:	c2 10 00             	ret    $0x10
43f58f:	55                   	push   %ebp
43f590:	8b ec                	mov    %esp,%ebp
43f592:	51                   	push   %ecx
43f593:	51                   	push   %ecx
43f594:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
43f598:	8d 45 fc             	lea    -0x4(%ebp),%eax
43f59b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43f59f:	53                   	push   %ebx
43f5a0:	56                   	push   %esi
43f5a1:	57                   	push   %edi
43f5a2:	8b 7d 10             	mov    0x10(%ebp),%edi
43f5a5:	50                   	push   %eax
43f5a6:	8b 1f                	mov    (%edi),%ebx
43f5a8:	53                   	push   %ebx
43f5a9:	ff 75 0c             	push   0xc(%ebp)
43f5ac:	e8 e1 47 00 00       	call   0x443d92
43f5b1:	8b f0                	mov    %eax,%esi
43f5b3:	85 f6                	test   %esi,%esi
43f5b5:	79 12                	jns    0x43f5c9
43f5b7:	56                   	push   %esi
43f5b8:	6a 67                	push   $0x67
43f5ba:	68 90 61 46 00       	push   $0x466190
43f5bf:	e8 0f 42 fc ff       	call   0x4037d3
43f5c4:	e9 ab 00 00 00       	jmp    0x43f674
43f5c9:	83 7d fc 04          	cmpl   $0x4,-0x4(%ebp)
43f5cd:	73 0c                	jae    0x43f5db
43f5cf:	b8 57 00 07 80       	mov    $0x80070057,%eax
43f5d4:	50                   	push   %eax
43f5d5:	8b f0                	mov    %eax,%esi
43f5d7:	6a 6d                	push   $0x6d
43f5d9:	eb df                	jmp    0x43f5ba
43f5db:	8b 45 08             	mov    0x8(%ebp),%eax
43f5de:	8d 4d f8             	lea    -0x8(%ebp),%ecx
43f5e1:	51                   	push   %ecx
43f5e2:	6a 02                	push   $0x2
43f5e4:	59                   	pop    %ecx
43f5e5:	8b 04 03             	mov    (%ebx,%eax,1),%eax
43f5e8:	89 45 10             	mov    %eax,0x10(%ebp)
43f5eb:	f7 e1                	mul    %ecx
43f5ed:	52                   	push   %edx
43f5ee:	50                   	push   %eax
43f5ef:	e8 3a 78 fc ff       	call   0x406e2e
43f5f4:	8b f0                	mov    %eax,%esi
43f5f6:	85 f6                	test   %esi,%esi
43f5f8:	79 05                	jns    0x43f5ff
43f5fa:	56                   	push   %esi
43f5fb:	6a 74                	push   $0x74
43f5fd:	eb bb                	jmp    0x43f5ba
43f5ff:	8d 4b 04             	lea    0x4(%ebx),%ecx
43f602:	83 c8 ff             	or     $0xffffffff,%eax
43f605:	3b cb                	cmp    %ebx,%ecx
43f607:	0f 43 c1             	cmovae %ecx,%eax
43f60a:	1b f6                	sbb    %esi,%esi
43f60c:	81 e6 16 02 07 80    	and    $0x80070216,%esi
43f612:	89 07                	mov    %eax,(%edi)
43f614:	3b cb                	cmp    %ebx,%ecx
43f616:	73 05                	jae    0x43f61d
43f618:	56                   	push   %esi
43f619:	6a 77                	push   $0x77
43f61b:	eb 9d                	jmp    0x43f5ba
43f61d:	8d 4d fc             	lea    -0x4(%ebp),%ecx
43f620:	51                   	push   %ecx
43f621:	50                   	push   %eax
43f622:	ff 75 0c             	push   0xc(%ebp)
43f625:	e8 68 47 00 00       	call   0x443d92
43f62a:	8b f0                	mov    %eax,%esi
43f62c:	85 f6                	test   %esi,%esi
43f62e:	79 05                	jns    0x43f635
43f630:	56                   	push   %esi
43f631:	6a 7b                	push   $0x7b
43f633:	eb 85                	jmp    0x43f5ba
43f635:	8b 5d f8             	mov    -0x8(%ebp),%ebx
43f638:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
43f63b:	76 12                	jbe    0x43f64f
43f63d:	b8 57 00 07 80       	mov    $0x80070057,%eax
43f642:	50                   	push   %eax
43f643:	8b f0                	mov    %eax,%esi
43f645:	68 81 00 00 00       	push   $0x81
43f64a:	e9 6b ff ff ff       	jmp    0x43f5ba
43f64f:	8b 4d 10             	mov    0x10(%ebp),%ecx
43f652:	85 c9                	test   %ecx,%ecx
43f654:	74 07                	je     0x43f65d
43f656:	8b 07                	mov    (%edi),%eax
43f658:	03 45 08             	add    0x8(%ebp),%eax
43f65b:	eb 05                	jmp    0x43f662
43f65d:	b8 24 b5 44 00       	mov    $0x44b524,%eax
43f662:	51                   	push   %ecx
43f663:	50                   	push   %eax
43f664:	ff 75 14             	push   0x14(%ebp)
43f667:	e8 39 2b fc ff       	call   0x4021a5
43f66c:	8b f0                	mov    %eax,%esi
43f66e:	85 f6                	test   %esi,%esi
43f670:	78 02                	js     0x43f674
43f672:	01 1f                	add    %ebx,(%edi)
43f674:	5f                   	pop    %edi
43f675:	8b c6                	mov    %esi,%eax
43f677:	5e                   	pop    %esi
43f678:	5b                   	pop    %ebx
43f679:	8b e5                	mov    %ebp,%esp
43f67b:	5d                   	pop    %ebp
43f67c:	c2 10 00             	ret    $0x10
43f67f:	55                   	push   %ebp
43f680:	8b ec                	mov    %esp,%ebp
43f682:	51                   	push   %ecx
43f683:	51                   	push   %ecx
43f684:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
43f688:	8d 45 fc             	lea    -0x4(%ebp),%eax
43f68b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43f68f:	53                   	push   %ebx
43f690:	56                   	push   %esi
43f691:	57                   	push   %edi
43f692:	8b 7d 10             	mov    0x10(%ebp),%edi
43f695:	50                   	push   %eax
43f696:	8b 1f                	mov    (%edi),%ebx
43f698:	53                   	push   %ebx
43f699:	ff 75 0c             	push   0xc(%ebp)
43f69c:	e8 f1 46 00 00       	call   0x443d92
43f6a1:	8b f0                	mov    %eax,%esi
43f6a3:	85 f6                	test   %esi,%esi
43f6a5:	79 15                	jns    0x43f6bc
43f6a7:	56                   	push   %esi
43f6a8:	68 a0 00 00 00       	push   $0xa0
43f6ad:	68 90 61 46 00       	push   $0x466190
43f6b2:	e8 1c 41 fc ff       	call   0x4037d3
43f6b7:	e9 b6 00 00 00       	jmp    0x43f772
43f6bc:	83 7d fc 04          	cmpl   $0x4,-0x4(%ebp)
43f6c0:	73 0f                	jae    0x43f6d1
43f6c2:	b8 57 00 07 80       	mov    $0x80070057,%eax
43f6c7:	50                   	push   %eax
43f6c8:	8b f0                	mov    %eax,%esi
43f6ca:	68 a6 00 00 00       	push   $0xa6
43f6cf:	eb dc                	jmp    0x43f6ad
43f6d1:	8b 45 08             	mov    0x8(%ebp),%eax
43f6d4:	8d 4d f8             	lea    -0x8(%ebp),%ecx
43f6d7:	51                   	push   %ecx
43f6d8:	6a 00                	push   $0x0
43f6da:	8b 04 03             	mov    (%ebx,%eax,1),%eax
43f6dd:	50                   	push   %eax
43f6de:	89 45 10             	mov    %eax,0x10(%ebp)
43f6e1:	e8 48 77 fc ff       	call   0x406e2e
43f6e6:	8b f0                	mov    %eax,%esi
43f6e8:	85 f6                	test   %esi,%esi
43f6ea:	79 08                	jns    0x43f6f4
43f6ec:	56                   	push   %esi
43f6ed:	68 ad 00 00 00       	push   $0xad
43f6f2:	eb b9                	jmp    0x43f6ad
43f6f4:	8d 4b 04             	lea    0x4(%ebx),%ecx
43f6f7:	83 c8 ff             	or     $0xffffffff,%eax
43f6fa:	3b cb                	cmp    %ebx,%ecx
43f6fc:	0f 43 c1             	cmovae %ecx,%eax
43f6ff:	1b f6                	sbb    %esi,%esi
43f701:	81 e6 16 02 07 80    	and    $0x80070216,%esi
43f707:	89 07                	mov    %eax,(%edi)
43f709:	3b cb                	cmp    %ebx,%ecx
43f70b:	73 08                	jae    0x43f715
43f70d:	56                   	push   %esi
43f70e:	68 b0 00 00 00       	push   $0xb0
43f713:	eb 98                	jmp    0x43f6ad
43f715:	8d 4d fc             	lea    -0x4(%ebp),%ecx
43f718:	51                   	push   %ecx
43f719:	50                   	push   %eax
43f71a:	ff 75 0c             	push   0xc(%ebp)
43f71d:	e8 70 46 00 00       	call   0x443d92
43f722:	8b f0                	mov    %eax,%esi
43f724:	85 f6                	test   %esi,%esi
43f726:	79 0b                	jns    0x43f733
43f728:	56                   	push   %esi
43f729:	68 b4 00 00 00       	push   $0xb4
43f72e:	e9 7a ff ff ff       	jmp    0x43f6ad
43f733:	8b 5d f8             	mov    -0x8(%ebp),%ebx
43f736:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
43f739:	76 12                	jbe    0x43f74d
43f73b:	b8 57 00 07 80       	mov    $0x80070057,%eax
43f740:	50                   	push   %eax
43f741:	8b f0                	mov    %eax,%esi
43f743:	68 ba 00 00 00       	push   $0xba
43f748:	e9 60 ff ff ff       	jmp    0x43f6ad
43f74d:	8b 4d 10             	mov    0x10(%ebp),%ecx
43f750:	85 c9                	test   %ecx,%ecx
43f752:	74 07                	je     0x43f75b
43f754:	8b 07                	mov    (%edi),%eax
43f756:	03 45 08             	add    0x8(%ebp),%eax
43f759:	eb 05                	jmp    0x43f760
43f75b:	b8 8c b5 44 00       	mov    $0x44b58c,%eax
43f760:	51                   	push   %ecx
43f761:	50                   	push   %eax
43f762:	ff 75 14             	push   0x14(%ebp)
43f765:	e8 06 2e fc ff       	call   0x402570
43f76a:	8b f0                	mov    %eax,%esi
43f76c:	85 f6                	test   %esi,%esi
43f76e:	78 02                	js     0x43f772
43f770:	01 1f                	add    %ebx,(%edi)
43f772:	5f                   	pop    %edi
43f773:	8b c6                	mov    %esi,%eax
43f775:	5e                   	pop    %esi
43f776:	5b                   	pop    %ebx
43f777:	8b e5                	mov    %ebp,%esp
43f779:	5d                   	pop    %ebp
43f77a:	c2 10 00             	ret    $0x10
43f77d:	55                   	push   %ebp
43f77e:	8b ec                	mov    %esp,%ebp
43f780:	56                   	push   %esi
43f781:	8b 75 08             	mov    0x8(%ebp),%esi
43f784:	57                   	push   %edi
43f785:	8b 7d 0c             	mov    0xc(%ebp),%edi
43f788:	8b 07                	mov    (%edi),%eax
43f78a:	83 c0 08             	add    $0x8,%eax
43f78d:	50                   	push   %eax
43f78e:	56                   	push   %esi
43f78f:	e8 ce fc ff ff       	call   0x43f462
43f794:	85 c0                	test   %eax,%eax
43f796:	78 14                	js     0x43f7ac
43f798:	8b 36                	mov    (%esi),%esi
43f79a:	8b 17                	mov    (%edi),%edx
43f79c:	8b 4d 10             	mov    0x10(%ebp),%ecx
43f79f:	89 0c 16             	mov    %ecx,(%esi,%edx,1)
43f7a2:	8b 4d 14             	mov    0x14(%ebp),%ecx
43f7a5:	89 4c 16 04          	mov    %ecx,0x4(%esi,%edx,1)
43f7a9:	83 07 08             	addl   $0x8,(%edi)
43f7ac:	5f                   	pop    %edi
43f7ad:	5e                   	pop    %esi
43f7ae:	5d                   	pop    %ebp
43f7af:	c2 10 00             	ret    $0x10
43f7b2:	55                   	push   %ebp
43f7b3:	8b ec                	mov    %esp,%ebp
43f7b5:	56                   	push   %esi
43f7b6:	8b 75 08             	mov    0x8(%ebp),%esi
43f7b9:	57                   	push   %edi
43f7ba:	8b 7d 0c             	mov    0xc(%ebp),%edi
43f7bd:	8b 07                	mov    (%edi),%eax
43f7bf:	83 c0 04             	add    $0x4,%eax
43f7c2:	50                   	push   %eax
43f7c3:	56                   	push   %esi
43f7c4:	e8 99 fc ff ff       	call   0x43f462
43f7c9:	85 c0                	test   %eax,%eax
43f7cb:	78 0d                	js     0x43f7da
43f7cd:	8b 36                	mov    (%esi),%esi
43f7cf:	8b 17                	mov    (%edi),%edx
43f7d1:	8b 4d 10             	mov    0x10(%ebp),%ecx