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
43f7d4:	89 0c 16             	mov    %ecx,(%esi,%edx,1)
43f7d7:	83 07 04             	addl   $0x4,(%edi)
43f7da:	5f                   	pop    %edi
43f7db:	5e                   	pop    %esi
43f7dc:	5d                   	pop    %ebp
43f7dd:	c2 0c 00             	ret    $0xc
43f7e0:	55                   	push   %ebp
43f7e1:	8b ec                	mov    %esp,%ebp
43f7e3:	51                   	push   %ecx
43f7e4:	53                   	push   %ebx
43f7e5:	56                   	push   %esi
43f7e6:	57                   	push   %edi
43f7e7:	ff 75 10             	push   0x10(%ebp)
43f7ea:	ff 15 f8 b0 44 00    	call   *0x44b0f8
43f7f0:	8b 75 0c             	mov    0xc(%ebp),%esi
43f7f3:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f7f6:	8d 3c 00             	lea    (%eax,%eax,1),%edi
43f7f9:	8b 0e                	mov    (%esi),%ecx
43f7fb:	83 c1 04             	add    $0x4,%ecx
43f7fe:	03 cf                	add    %edi,%ecx
43f800:	51                   	push   %ecx
43f801:	ff 75 08             	push   0x8(%ebp)
43f804:	e8 59 fc ff ff       	call   0x43f462
43f809:	8b d8                	mov    %eax,%ebx
43f80b:	85 db                	test   %ebx,%ebx
43f80d:	78 27                	js     0x43f836
43f80f:	8b 45 08             	mov    0x8(%ebp),%eax
43f812:	8b 0e                	mov    (%esi),%ecx
43f814:	57                   	push   %edi
43f815:	ff 75 10             	push   0x10(%ebp)
43f818:	8b 10                	mov    (%eax),%edx
43f81a:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f81d:	57                   	push   %edi
43f81e:	89 04 0a             	mov    %eax,(%edx,%ecx,1)
43f821:	8b 45 08             	mov    0x8(%ebp),%eax
43f824:	83 06 04             	addl   $0x4,(%esi)
43f827:	8b 00                	mov    (%eax),%eax
43f829:	03 06                	add    (%esi),%eax
43f82b:	50                   	push   %eax
43f82c:	e8 33 1e fe ff       	call   0x421664
43f831:	83 c4 10             	add    $0x10,%esp
43f834:	01 3e                	add    %edi,(%esi)
43f836:	5f                   	pop    %edi
43f837:	5e                   	pop    %esi
43f838:	8b c3                	mov    %ebx,%eax
43f83a:	5b                   	pop    %ebx
43f83b:	8b e5                	mov    %ebp,%esp
43f83d:	5d                   	pop    %ebp
43f83e:	c2 0c 00             	ret    $0xc
43f841:	55                   	push   %ebp
43f842:	8b ec                	mov    %esp,%ebp
43f844:	53                   	push   %ebx
43f845:	56                   	push   %esi
43f846:	57                   	push   %edi
43f847:	ff 75 10             	push   0x10(%ebp)
43f84a:	ff 15 f4 b0 44 00    	call   *0x44b0f4
43f850:	8b 75 0c             	mov    0xc(%ebp),%esi
43f853:	8b f8                	mov    %eax,%edi
43f855:	8b 0e                	mov    (%esi),%ecx
43f857:	83 c1 04             	add    $0x4,%ecx
43f85a:	03 cf                	add    %edi,%ecx
43f85c:	51                   	push   %ecx
43f85d:	ff 75 08             	push   0x8(%ebp)
43f860:	e8 fd fb ff ff       	call   0x43f462
43f865:	8b d8                	mov    %eax,%ebx
43f867:	85 db                	test   %ebx,%ebx
43f869:	78 21                	js     0x43f88c
43f86b:	8b 45 08             	mov    0x8(%ebp),%eax
43f86e:	8b 0e                	mov    (%esi),%ecx
43f870:	57                   	push   %edi
43f871:	ff 75 10             	push   0x10(%ebp)
43f874:	8b 10                	mov    (%eax),%edx
43f876:	57                   	push   %edi
43f877:	89 3c 0a             	mov    %edi,(%edx,%ecx,1)
43f87a:	83 06 04             	addl   $0x4,(%esi)
43f87d:	8b 00                	mov    (%eax),%eax
43f87f:	03 06                	add    (%esi),%eax
43f881:	50                   	push   %eax
43f882:	e8 dd 1d fe ff       	call   0x421664
43f887:	83 c4 10             	add    $0x10,%esp
43f88a:	01 3e                	add    %edi,(%esi)
43f88c:	5f                   	pop    %edi
43f88d:	5e                   	pop    %esi
43f88e:	8b c3                	mov    %ebx,%eax
43f890:	5b                   	pop    %ebx
43f891:	5d                   	pop    %ebp
43f892:	c2 0c 00             	ret    $0xc
43f895:	55                   	push   %ebp
43f896:	8b ec                	mov    %esp,%ebp
43f898:	f7 45 0c 0f 00 00 00 	testl  $0xf,0xc(%ebp)
43f89f:	b9 05 40 00 80       	mov    $0x80004005,%ecx
43f8a4:	74 07                	je     0x43f8ad
43f8a6:	b9 57 00 07 80       	mov    $0x80070057,%ecx
43f8ab:	eb 48                	jmp    0x43f8f5
43f8ad:	a1 f4 b5 46 00       	mov    0x46b5f4,%eax
43f8b2:	85 c0                	test   %eax,%eax
43f8b4:	74 0f                	je     0x43f8c5
43f8b6:	ff 75 10             	push   0x10(%ebp)
43f8b9:	ff 75 0c             	push   0xc(%ebp)
43f8bc:	ff 75 08             	push   0x8(%ebp)
43f8bf:	ff d0                	call   *%eax
43f8c1:	8b c8                	mov    %eax,%ecx
43f8c3:	eb 30                	jmp    0x43f8f5
43f8c5:	a1 fc b5 46 00       	mov    0x46b5fc,%eax
43f8ca:	85 c0                	test   %eax,%eax
43f8cc:	74 27                	je     0x43f8f5
43f8ce:	ff 75 10             	push   0x10(%ebp)
43f8d1:	ff 75 0c             	push   0xc(%ebp)
43f8d4:	ff 75 08             	push   0x8(%ebp)
43f8d7:	ff d0                	call   *%eax
43f8d9:	85 c0                	test   %eax,%eax
43f8db:	74 04                	je     0x43f8e1
43f8dd:	33 c9                	xor    %ecx,%ecx
43f8df:	eb 14                	jmp    0x43f8f5
43f8e1:	ff 15 e8 b0 44 00    	call   *0x44b0e8
43f8e7:	0f b7 c8             	movzwl %ax,%ecx
43f8ea:	81 c9 00 00 07 80    	or     $0x80070000,%ecx
43f8f0:	85 c0                	test   %eax,%eax
43f8f2:	0f 4e c8             	cmovle %eax,%ecx
43f8f5:	8b c1                	mov    %ecx,%eax
43f8f7:	5d                   	pop    %ebp
43f8f8:	c2 0c 00             	ret    $0xc
43f8fb:	55                   	push   %ebp
43f8fc:	8b ec                	mov    %esp,%ebp
43f8fe:	f7 45 0c 0f 00 00 00 	testl  $0xf,0xc(%ebp)
43f905:	b9 05 40 00 80       	mov    $0x80004005,%ecx
43f90a:	74 07                	je     0x43f913
43f90c:	b9 57 00 07 80       	mov    $0x80070057,%ecx
43f911:	eb 48                	jmp    0x43f95b
43f913:	a1 f0 b5 46 00       	mov    0x46b5f0,%eax
43f918:	85 c0                	test   %eax,%eax
43f91a:	74 0f                	je     0x43f92b
43f91c:	ff 75 10             	push   0x10(%ebp)
43f91f:	ff 75 0c             	push   0xc(%ebp)
43f922:	ff 75 08             	push   0x8(%ebp)
43f925:	ff d0                	call   *%eax
43f927:	8b c8                	mov    %eax,%ecx
43f929:	eb 30                	jmp    0x43f95b
43f92b:	a1 f8 b5 46 00       	mov    0x46b5f8,%eax
43f930:	85 c0                	test   %eax,%eax
43f932:	74 27                	je     0x43f95b
43f934:	ff 75 10             	push   0x10(%ebp)
43f937:	ff 75 0c             	push   0xc(%ebp)
43f93a:	ff 75 08             	push   0x8(%ebp)
43f93d:	ff d0                	call   *%eax
43f93f:	85 c0                	test   %eax,%eax
43f941:	74 04                	je     0x43f947
43f943:	33 c9                	xor    %ecx,%ecx
43f945:	eb 14                	jmp    0x43f95b
43f947:	ff 15 e8 b0 44 00    	call   *0x44b0e8
43f94d:	0f b7 c8             	movzwl %ax,%ecx
43f950:	81 c9 00 00 07 80    	or     $0x80070000,%ecx
43f956:	85 c0                	test   %eax,%eax
43f958:	0f 4e c8             	cmovle %eax,%ecx
43f95b:	8b c1                	mov    %ecx,%eax
43f95d:	5d                   	pop    %ebp
43f95e:	c2 0c 00             	ret    $0xc
43f961:	55                   	push   %ebp
43f962:	8b ec                	mov    %esp,%ebp
43f964:	b8 14 10 00 00       	mov    $0x1014,%eax
43f969:	e8 92 a5 00 00       	call   0x449f00
43f96e:	a1 08 a0 46 00       	mov    0x46a008,%eax
43f973:	33 c5                	xor    %ebp,%eax
43f975:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f978:	8b 45 14             	mov    0x14(%ebp),%eax
43f97b:	53                   	push   %ebx
43f97c:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
43f97f:	56                   	push   %esi
43f980:	57                   	push   %edi
43f981:	8b 7d 08             	mov    0x8(%ebp),%edi
43f984:	89 85 ec ef ff ff    	mov    %eax,-0x1014(%ebp)
43f98a:	33 c0                	xor    %eax,%eax
43f98c:	68 00 10 00 00       	push   $0x1000
43f991:	50                   	push   %eax
43f992:	8b f0                	mov    %eax,%esi