43f4b1:	8b 75 08             	mov    0x8(%ebp),%esi
43f4b4:	8d 46 04             	lea    0x4(%esi),%eax
43f4b7:	50                   	push   %eax
43f4b8:	ff 15 30 d3 48 00    	call   *0x48d330
43f4be:	85 c0                	test   %eax,%eax
43f4c0:	75 0e                	jne    0x43f4d0
43f4c2:	85 f6                	test   %esi,%esi
43f4c4:	74 08                	je     0x43f4ce
43f4c6:	51                   	push   %ecx
43f4c7:	8b ce                	mov    %esi,%ecx
43f4c9:	e8 4d fe ff ff       	call   0x43f31b
43f4ce:	33 c0                	xor    %eax,%eax
43f4d0:	5e                   	pop    %esi
43f4d1:	5d                   	pop    %ebp
43f4d2:	c2 04 00             	ret    $0x4
43f4d5:	56                   	push   %esi
43f4d6:	57                   	push   %edi
43f4d7:	8b f1                	mov    %ecx,%esi
43f4d9:	33 ff                	xor    %edi,%edi
43f4db:	39 7e 08             	cmp    %edi,0x8(%esi)
43f4de:	76 1d                	jbe    0x43f4fd
43f4e0:	8b 46 04             	mov    0x4(%esi),%eax
43f4e3:	8b 0c b8             	mov    (%eax,%edi,4),%ecx
43f4e6:	85 c9                	test   %ecx,%ecx
43f4e8:	74 06                	je     0x43f4f0
43f4ea:	51                   	push   %ecx
43f4eb:	e8 0c fe ff ff       	call   0x43f2fc
43f4f0:	8b 46 04             	mov    0x4(%esi),%eax
43f4f3:	83 24 b8 00          	andl   $0x0,(%eax,%edi,4)
43f4f7:	47                   	inc    %edi
43f4f8:	3b 7e 08             	cmp    0x8(%esi),%edi
43f4fb:	72 e3                	jb     0x43f4e0
43f4fd:	83 66 08 00          	andl   $0x0,0x8(%esi)
43f501:	5f                   	pop    %edi
43f502:	5e                   	pop    %esi
43f503:	c3                   	ret
43f504:	55                   	push   %ebp
43f505:	8b ec                	mov    %esp,%ebp
43f507:	56                   	push   %esi
43f508:	8b f1                	mov    %ecx,%esi
43f50a:	8b 46 0c             	mov    0xc(%esi),%eax
43f50d:	39 46 08             	cmp    %eax,0x8(%esi)
43f510:	75 50                	jne    0x43f562
43f512:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
43f515:	6a 08                	push   $0x8
43f517:	58                   	pop    %eax
43f518:	3b c8                	cmp    %eax,%ecx
43f51a:	72 02                	jb     0x43f51e
43f51c:	8b c1                	mov    %ecx,%eax
43f51e:	57                   	push   %edi
43f51f:	33 c9                	xor    %ecx,%ecx
43f521:	6a 04                	push   $0x4
43f523:	5a                   	pop    %edx
43f524:	89 46 0c             	mov    %eax,0xc(%esi)
43f527:	f7 e2                	mul    %edx
43f529:	0f 90 c1             	seto   %cl
43f52c:	f7 d9                	neg    %ecx
43f52e:	0b c8                	or     %eax,%ecx
43f530:	51                   	push   %ecx
43f531:	e8 b4 ff fd ff       	call   0x41f4ea
43f536:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
43f53a:	59                   	pop    %ecx
43f53b:	8b f8                	mov    %eax,%edi
43f53d:	74 1f                	je     0x43f55e
43f53f:	8b 46 08             	mov    0x8(%esi),%eax
43f542:	85 c0                	test   %eax,%eax
43f544:	74 18                	je     0x43f55e
43f546:	c1 e0 02             	shl    $0x2,%eax
43f549:	50                   	push   %eax
43f54a:	ff 76 04             	push   0x4(%esi)
43f54d:	57                   	push   %edi
43f54e:	e8 2d f9 fd ff       	call   0x41ee80
43f553:	ff 76 04             	push   0x4(%esi)
43f556:	e8 03 00 fe ff       	call   0x41f55e
43f55b:	83 c4 10             	add    $0x10,%esp
43f55e:	89 7e 04             	mov    %edi,0x4(%esi)
43f561:	5f                   	pop    %edi
43f562:	6a 10                	push   $0x10
43f564:	e8 81 ff fd ff       	call   0x41f4ea
43f569:	59                   	pop    %ecx
43f56a:	85 c0                	test   %eax,%eax
43f56c:	74 0e                	je     0x43f57c
43f56e:	ff 75 08             	push   0x8(%ebp)
43f571:	8b c8                	mov    %eax,%ecx
43f573:	e8 36 9c ff ff       	call   0x4391ae
43f578:	8b d0                	mov    %eax,%edx
43f57a:	eb 02                	jmp    0x43f57e
43f57c:	33 d2                	xor    %edx,%edx
43f57e:	8b 4e 08             	mov    0x8(%esi),%ecx
43f581:	8b 46 04             	mov    0x4(%esi),%eax
43f584:	89 14 88             	mov    %edx,(%eax,%ecx,4)
43f587:	ff 46 08             	incl   0x8(%esi)
43f58a:	5e                   	pop    %esi
43f58b:	5d                   	pop    %ebp
43f58c:	c2 04 00             	ret    $0x4
43f58f:	33 c0                	xor    %eax,%eax
43f591:	89 41 04             	mov    %eax,0x4(%ecx)
43f594:	89 41 08             	mov    %eax,0x8(%ecx)
43f597:	89 41 0c             	mov    %eax,0xc(%ecx)
43f59a:	c7 01 50 dc 49 00    	movl   $0x49dc50,(%ecx)
43f5a0:	8b c1                	mov    %ecx,%eax
43f5a2:	c3                   	ret
43f5a3:	55                   	push   %ebp
43f5a4:	8b ec                	mov    %esp,%ebp
43f5a6:	51                   	push   %ecx
43f5a7:	53                   	push   %ebx
43f5a8:	56                   	push   %esi
43f5a9:	8b f1                	mov    %ecx,%esi
43f5ab:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43f5ae:	c7 06 4c 2f 4b 00    	movl   $0x4b2f4c,(%esi)
43f5b4:	57                   	push   %edi
43f5b5:	ff 75 08             	push   0x8(%ebp)
43f5b8:	33 ff                	xor    %edi,%edi
43f5ba:	89 7e 04             	mov    %edi,0x4(%esi)
43f5bd:	89 7e 08             	mov    %edi,0x8(%esi)
43f5c0:	89 7e 0c             	mov    %edi,0xc(%esi)
43f5c3:	8d 5e 20             	lea    0x20(%esi),%ebx
43f5c6:	89 3b                	mov    %edi,(%ebx)
43f5c8:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
43f5cf:	8b 01                	mov    (%ecx),%eax
43f5d1:	89 46 28             	mov    %eax,0x28(%esi)
43f5d4:	8b 41 04             	mov    0x4(%ecx),%eax
43f5d7:	89 46 2c             	mov    %eax,0x2c(%esi)
43f5da:	8b 41 08             	mov    0x8(%ecx),%eax
43f5dd:	89 46 30             	mov    %eax,0x30(%esi)
43f5e0:	8b 41 0c             	mov    0xc(%ecx),%eax
43f5e3:	89 46 34             	mov    %eax,0x34(%esi)
43f5e6:	ff 00                	incl   (%eax)
43f5e8:	8b 45 18             	mov    0x18(%ebp),%eax
43f5eb:	89 46 38             	mov    %eax,0x38(%esi)
43f5ee:	8b 45 14             	mov    0x14(%ebp),%eax
43f5f1:	89 46 3c             	mov    %eax,0x3c(%esi)
43f5f4:	8d 4e 40             	lea    0x40(%esi),%ecx
43f5f7:	89 7e 48             	mov    %edi,0x48(%esi)
43f5fa:	e8 21 21 fd ff       	call   0x411720
43f5ff:	83 7e 4c 08          	cmpl   $0x8,0x4c(%esi)
43f603:	75 03                	jne    0x43f608
43f605:	8b 7e 40             	mov    0x40(%esi),%edi
43f608:	8b 7f 08             	mov    0x8(%edi),%edi
43f60b:	85 ff                	test   %edi,%edi
43f60d:	74 6d                	je     0x43f67c
43f60f:	8b 07                	mov    (%edi),%eax
43f611:	8d 4d fc             	lea    -0x4(%ebp),%ecx
43f614:	51                   	push   %ecx
43f615:	68 7c d9 48 00       	push   $0x48d97c
43f61a:	57                   	push   %edi
43f61b:	ff 10                	call   *(%eax)
43f61d:	85 c0                	test   %eax,%eax
43f61f:	78 56                	js     0x43f677
43f621:	8b 55 10             	mov    0x10(%ebp),%edx
43f624:	8d 46 10             	lea    0x10(%esi),%eax
43f627:	50                   	push   %eax
43f628:	8d 46 0c             	lea    0xc(%esi),%eax
43f62b:	50                   	push   %eax
43f62c:	8b cf                	mov    %edi,%ecx
43f62e:	e8 99 ac ff ff       	call   0x43a2cc
43f633:	59                   	pop    %ecx
43f634:	59                   	pop    %ecx
43f635:	85 c0                	test   %eax,%eax
43f637:	78 30                	js     0x43f669
43f639:	8b 46 0c             	mov    0xc(%esi),%eax
43f63c:	50                   	push   %eax
43f63d:	8b 08                	mov    (%eax),%ecx
43f63f:	ff 51 04             	call   *0x4(%ecx)
43f642:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f645:	53                   	push   %ebx
43f646:	8b 08                	mov    (%eax),%ecx
43f648:	8d 56 10             	lea    0x10(%esi),%edx
43f64b:	52                   	push   %edx
43f64c:	50                   	push   %eax
43f64d:	ff 51 10             	call   *0x10(%ecx)
43f650:	85 c0                	test   %eax,%eax
43f652:	78 15                	js     0x43f669
43f654:	8b 03                	mov    (%ebx),%eax
43f656:	50                   	push   %eax
43f657:	8b 08                	mov    (%eax),%ecx
43f659:	ff 51 04             	call   *0x4(%ecx)
43f65c:	8b 03                	mov    (%ebx),%eax
43f65e:	8d 56 08             	lea    0x8(%esi),%edx
43f661:	8b 08                	mov    (%eax),%ecx
43f663:	52                   	push   %edx
43f664:	56                   	push   %esi
43f665:	50                   	push   %eax
43f666:	ff 51 14             	call   *0x14(%ecx)
43f669:	89 46 04             	mov    %eax,0x4(%esi)
43f66c:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f66f:	50                   	push   %eax
43f670:	8b 08                	mov    (%eax),%ecx
43f672:	ff 51 08             	call   *0x8(%ecx)
43f675:	eb 0c                	jmp    0x43f683
43f677:	89 46 04             	mov    %eax,0x4(%esi)
43f67a:	eb 07                	jmp    0x43f683
43f67c:	c7 46 04 03 40 00 80 	movl   $0x80004003,0x4(%esi)
43f683:	5f                   	pop    %edi
43f684:	8b c6                	mov    %esi,%eax
43f686:	5e                   	pop    %esi
43f687:	5b                   	pop    %ebx
43f688:	c9                   	leave
43f689:	c2 14 00             	ret    $0x14
43f68c:	56                   	push   %esi
43f68d:	8b f1                	mov    %ecx,%esi
43f68f:	c7 06 50 dc 49 00    	movl   $0x49dc50,(%esi)
43f695:	e8 db 0a 00 00       	call   0x440175
43f69a:	ff 76 04             	push   0x4(%esi)
43f69d:	e8 bc fe fd ff       	call   0x41f55e
43f6a2:	59                   	pop    %ecx
43f6a3:	5e                   	pop    %esi
43f6a4:	c3                   	ret
43f6a5:	56                   	push   %esi
43f6a6:	8b f1                	mov    %ecx,%esi
43f6a8:	c7 06 4c dc 49 00    	movl   $0x49dc4c,(%esi)
43f6ae:	e8 f0 29 fc ff       	call   0x4020a3
43f6b3:	ff 76 04             	push   0x4(%esi)
43f6b6:	e8 a3 fe fd ff       	call   0x41f55e
43f6bb:	59                   	pop    %ecx
43f6bc:	5e                   	pop    %esi
43f6bd:	c3                   	ret
43f6be:	56                   	push   %esi
43f6bf:	8b f1                	mov    %ecx,%esi
43f6c1:	c7 06 4c 2f 4b 00    	movl   $0x4b2f4c,(%esi)
43f6c7:	e8 17 09 00 00       	call   0x43ffe3
43f6cc:	8b 4e 0c             	mov    0xc(%esi),%ecx
43f6cf:	85 c9                	test   %ecx,%ecx
43f6d1:	74 06                	je     0x43f6d9
43f6d3:	8b 01                	mov    (%ecx),%eax
43f6d5:	51                   	push   %ecx
43f6d6:	ff 50 08             	call   *0x8(%eax)
43f6d9:	8d 4e 40             	lea    0x40(%esi),%ecx
43f6dc:	e8 3f 35 fd ff       	call   0x412c20
43f6e1:	8d 4e 28             	lea    0x28(%esi),%ecx
43f6e4:	5e                   	pop    %esi
43f6e5:	e9 4d d4 fc ff       	jmp    0x40cb37
43f6ea:	55                   	push   %ebp
43f6eb:	8b ec                	mov    %esp,%ebp
43f6ed:	53                   	push   %ebx
43f6ee:	8b 5d 08             	mov    0x8(%ebp),%ebx
43f6f1:	56                   	push   %esi
43f6f2:	8b f1                	mov    %ecx,%esi
43f6f4:	3b f3                	cmp    %ebx,%esi
43f6f6:	0f 84 85 00 00 00    	je     0x43f781
43f6fc:	57                   	push   %edi
43f6fd:	e8 73 0a 00 00       	call   0x440175
43f702:	8b 43 08             	mov    0x8(%ebx),%eax
43f705:	39 46 0c             	cmp    %eax,0xc(%esi)
43f708:	73 37                	jae    0x43f741
43f70a:	6a 08                	push   $0x8
43f70c:	5a                   	pop    %edx
43f70d:	3b c2                	cmp    %edx,%eax
43f70f:	72 02                	jb     0x43f713
43f711:	8b d0                	mov    %eax,%edx
43f713:	89 56 0c             	mov    %edx,0xc(%esi)
43f716:	33 c9                	xor    %ecx,%ecx
43f718:	8b c2                	mov    %edx,%eax
43f71a:	6a 04                	push   $0x4
43f71c:	5a                   	pop    %edx
43f71d:	f7 e2                	mul    %edx
43f71f:	0f 90 c1             	seto   %cl
43f722:	f7 d9                	neg    %ecx
43f724:	0b c8                	or     %eax,%ecx
43f726:	51                   	push   %ecx
43f727:	e8 be fd fd ff       	call   0x41f4ea
43f72c:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
43f730:	59                   	pop    %ecx
43f731:	8b f8                	mov    %eax,%edi
43f733:	74 09                	je     0x43f73e
43f735:	ff 76 04             	push   0x4(%esi)
43f738:	e8 21 fe fd ff       	call   0x41f55e
43f73d:	59                   	pop    %ecx
43f73e:	89 7e 04             	mov    %edi,0x4(%esi)
43f741:	8b 43 08             	mov    0x8(%ebx),%eax
43f744:	33 db                	xor    %ebx,%ebx
43f746:	89 46 08             	mov    %eax,0x8(%esi)
43f749:	85 c0                	test   %eax,%eax
43f74b:	74 33                	je     0x43f780
43f74d:	6a 10                	push   $0x10
43f74f:	e8 96 fd fd ff       	call   0x41f4ea
43f754:	8b f8                	mov    %eax,%edi
43f756:	59                   	pop    %ecx
43f757:	85 ff                	test   %edi,%edi
43f759:	74 17                	je     0x43f772
43f75b:	8b 45 08             	mov    0x8(%ebp),%eax
43f75e:	8b 48 04             	mov    0x4(%eax),%ecx
43f761:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
43f764:	83 67 08 00          	andl   $0x0,0x8(%edi)
43f768:	51                   	push   %ecx
43f769:	8b cf                	mov    %edi,%ecx
43f76b:	e8 b0 1f fd ff       	call   0x411720
43f770:	eb 02                	jmp    0x43f774
43f772:	33 ff                	xor    %edi,%edi
43f774:	8b 46 04             	mov    0x4(%esi),%eax
43f777:	89 3c 98             	mov    %edi,(%eax,%ebx,4)
43f77a:	43                   	inc    %ebx
43f77b:	3b 5e 08             	cmp    0x8(%esi),%ebx
43f77e:	72 cd                	jb     0x43f74d
43f780:	5f                   	pop    %edi
43f781:	8b c6                	mov    %esi,%eax
43f783:	5e                   	pop    %esi
43f784:	5b                   	pop    %ebx
43f785:	5d                   	pop    %ebp
43f786:	c2 04 00             	ret    $0x4
43f789:	56                   	push   %esi
43f78a:	8b f1                	mov    %ecx,%esi
43f78c:	e8 fb fe ff ff       	call   0x43f68c
43f791:	56                   	push   %esi
43f792:	e8 c7 fd fd ff       	call   0x41f55e
43f797:	59                   	pop    %ecx
43f798:	8b c6                	mov    %esi,%eax
43f79a:	5e                   	pop    %esi
43f79b:	c2 04 00             	ret    $0x4
43f79e:	55                   	push   %ebp
43f79f:	8b ec                	mov    %esp,%ebp
43f7a1:	56                   	push   %esi
43f7a2:	8b f1                	mov    %ecx,%esi
43f7a4:	e8 e3 fe ff ff       	call   0x43f68c
43f7a9:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
43f7ad:	74 07                	je     0x43f7b6
43f7af:	56                   	push   %esi
43f7b0:	e8 a9 fd fd ff       	call   0x41f55e
43f7b5:	59                   	pop    %ecx
43f7b6:	8b c6                	mov    %esi,%eax
43f7b8:	5e                   	pop    %esi
43f7b9:	5d                   	pop    %ebp
43f7ba:	c2 04 00             	ret    $0x4
43f7bd:	55                   	push   %ebp
43f7be:	8b ec                	mov    %esp,%ebp
43f7c0:	56                   	push   %esi
43f7c1:	8b f1                	mov    %ecx,%esi
43f7c3:	e8 dd fe ff ff       	call   0x43f6a5
43f7c8:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
43f7cc:	74 07                	je     0x43f7d5
43f7ce:	56                   	push   %esi
43f7cf:	e8 8a fd fd ff       	call   0x41f55e
43f7d4:	59                   	pop    %ecx
43f7d5:	8b c6                	mov    %esi,%eax
43f7d7:	5e                   	pop    %esi
43f7d8:	5d                   	pop    %ebp
43f7d9:	c2 04 00             	ret    $0x4
43f7dc:	56                   	push   %esi
43f7dd:	8b f1                	mov    %ecx,%esi
43f7df:	e8 da fe ff ff       	call   0x43f6be
43f7e4:	56                   	push   %esi
43f7e5:	e8 74 fd fd ff       	call   0x41f55e
43f7ea:	59                   	pop    %ecx
43f7eb:	8b c6                	mov    %esi,%eax
43f7ed:	5e                   	pop    %esi
43f7ee:	c2 04 00             	ret    $0x4
43f7f1:	56                   	push   %esi
43f7f2:	8b f1                	mov    %ecx,%esi
43f7f4:	e8 77 e8 fc ff       	call   0x40e070
43f7f9:	56                   	push   %esi