43d48f:	ff 36                	push   (%esi)
43d491:	ff 15 7c d6 48 00    	call   *0x48d67c
43d497:	85 c0                	test   %eax,%eax
43d499:	74 4f                	je     0x43d4ea
43d49b:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
43d49f:	74 45                	je     0x43d4e6
43d4a1:	8b ce                	mov    %esi,%ecx
43d4a3:	e8 83 ff ff ff       	call   0x43d42b
43d4a8:	8b c8                	mov    %eax,%ecx
43d4aa:	85 c9                	test   %ecx,%ecx
43d4ac:	74 3c                	je     0x43d4ea
43d4ae:	8b 03                	mov    (%ebx),%eax
43d4b0:	8b 73 0c             	mov    0xc(%ebx),%esi
43d4b3:	89 45 f8             	mov    %eax,-0x8(%ebp)
43d4b6:	8b 43 04             	mov    0x4(%ebx),%eax
43d4b9:	57                   	push   %edi
43d4ba:	8b 7b 08             	mov    0x8(%ebx),%edi
43d4bd:	2b 3b                	sub    (%ebx),%edi
43d4bf:	89 45 fc             	mov    %eax,-0x4(%ebp)
43d4c2:	2b f0                	sub    %eax,%esi
43d4c4:	8d 45 f8             	lea    -0x8(%ebp),%eax
43d4c7:	50                   	push   %eax
43d4c8:	51                   	push   %ecx
43d4c9:	ff 15 54 d6 48 00    	call   *0x48d654
43d4cf:	8b 45 f8             	mov    -0x8(%ebp),%eax
43d4d2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43d4d5:	89 03                	mov    %eax,(%ebx)
43d4d7:	03 c7                	add    %edi,%eax
43d4d9:	89 43 08             	mov    %eax,0x8(%ebx)
43d4dc:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
43d4df:	89 4b 04             	mov    %ecx,0x4(%ebx)
43d4e2:	89 43 0c             	mov    %eax,0xc(%ebx)
43d4e5:	5f                   	pop    %edi
43d4e6:	b0 01                	mov    $0x1,%al
43d4e8:	eb 02                	jmp    0x43d4ec
43d4ea:	32 c0                	xor    %al,%al
43d4ec:	5e                   	pop    %esi
43d4ed:	5b                   	pop    %ebx
43d4ee:	c9                   	leave
43d4ef:	c2 08 00             	ret    $0x8
43d4f2:	55                   	push   %ebp
43d4f3:	8b ec                	mov    %esp,%ebp
43d4f5:	83 ec 18             	sub    $0x18,%esp
43d4f8:	53                   	push   %ebx
43d4f9:	56                   	push   %esi
43d4fa:	8b d9                	mov    %ecx,%ebx
43d4fc:	8b 4d 08             	mov    0x8(%ebp),%ecx
43d4ff:	57                   	push   %edi
43d500:	89 5d f8             	mov    %ebx,-0x8(%ebp)
43d503:	e8 c6 e7 fc ff       	call   0x40bcce
43d508:	ff 33                	push   (%ebx)
43d50a:	e8 2c 3b fc ff       	call   0x40103b
43d50f:	84 c0                	test   %al,%al
43d511:	74 04                	je     0x43d517
43d513:	32 c0                	xor    %al,%al
43d515:	eb 7c                	jmp    0x43d593
43d517:	8b cb                	mov    %ebx,%ecx
43d519:	e8 7c 00 00 00       	call   0x43d59a
43d51e:	8b d8                	mov    %eax,%ebx
43d520:	85 db                	test   %ebx,%ebx
43d522:	75 05                	jne    0x43d529
43d524:	bb ff 7f 00 00       	mov    $0x7fff,%ebx
43d529:	33 c9                	xor    %ecx,%ecx
43d52b:	6a 02                	push   $0x2
43d52d:	8d 73 01             	lea    0x1(%ebx),%esi
43d530:	5a                   	pop    %edx
43d531:	8b c6                	mov    %esi,%eax
43d533:	f7 e2                	mul    %edx
43d535:	0f 90 c1             	seto   %cl
43d538:	f7 d9                	neg    %ecx
43d53a:	0b c8                	or     %eax,%ecx
43d53c:	51                   	push   %ecx
43d53d:	e8 a8 1f fe ff       	call   0x41f4ea
43d542:	59                   	pop    %ecx
43d543:	8b f8                	mov    %eax,%edi
43d545:	8b 45 f8             	mov    -0x8(%ebp),%eax
43d548:	57                   	push   %edi
43d549:	56                   	push   %esi
43d54a:	6a 0d                	push   $0xd
43d54c:	ff 30                	push   (%eax)
43d54e:	ff 15 70 d6 48 00    	call   *0x48d670
43d554:	85 c0                	test   %eax,%eax
43d556:	7e 32                	jle    0x43d58a
43d558:	57                   	push   %edi
43d559:	e8 72 42 fe ff       	call   0x4217d0
43d55e:	59                   	pop    %ecx
43d55f:	57                   	push   %edi
43d560:	3b c3                	cmp    %ebx,%eax
43d562:	75 1e                	jne    0x43d582
43d564:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43d567:	e8 93 fd ff ff       	call   0x43d2ff
43d56c:	ff 75 08             	push   0x8(%ebp)
43d56f:	8d 45 e8             	lea    -0x18(%ebp),%eax
43d572:	50                   	push   %eax
43d573:	e8 66 ec fc ff       	call   0x40c1de
43d578:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43d57b:	e8 b7 f5 fc ff       	call   0x40cb37
43d580:	eb 08                	jmp    0x43d58a
43d582:	8b 4d 08             	mov    0x8(%ebp),%ecx
43d585:	e8 d9 94 fc ff       	call   0x406a63
43d58a:	57                   	push   %edi
43d58b:	e8 ce 1f fe ff       	call   0x41f55e
43d590:	59                   	pop    %ecx
43d591:	b0 01                	mov    $0x1,%al
43d593:	5f                   	pop    %edi
43d594:	5e                   	pop    %esi
43d595:	5b                   	pop    %ebx
43d596:	c9                   	leave
43d597:	c2 04 00             	ret    $0x4
43d59a:	56                   	push   %esi
43d59b:	8b f1                	mov    %ecx,%esi
43d59d:	ff 36                	push   (%esi)
43d59f:	e8 97 3a fc ff       	call   0x40103b
43d5a4:	84 c0                	test   %al,%al
43d5a6:	74 04                	je     0x43d5ac
43d5a8:	33 c0                	xor    %eax,%eax
43d5aa:	5e                   	pop    %esi
43d5ab:	c3                   	ret
43d5ac:	6a 00                	push   $0x0
43d5ae:	6a 00                	push   $0x0
43d5b0:	6a 0e                	push   $0xe
43d5b2:	ff 36                	push   (%esi)
43d5b4:	ff 15 70 d6 48 00    	call   *0x48d670
43d5ba:	5e                   	pop    %esi
43d5bb:	c3                   	ret
43d5bc:	55                   	push   %ebp
43d5bd:	8b ec                	mov    %esp,%ebp
43d5bf:	83 ec 10             	sub    $0x10,%esp
43d5c2:	53                   	push   %ebx
43d5c3:	56                   	push   %esi
43d5c4:	8b f1                	mov    %ecx,%esi
43d5c6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43d5c9:	e8 29 02 fd ff       	call   0x40d7f7
43d5ce:	8d 45 f0             	lea    -0x10(%ebp),%eax
43d5d1:	50                   	push   %eax
43d5d2:	8b ce                	mov    %esi,%ecx
43d5d4:	e8 22 fe ff ff       	call   0x43d3fb
43d5d9:	8b 45 08             	mov    0x8(%ebp),%eax
43d5dc:	51                   	push   %ecx
43d5dd:	ff 30                	push   (%eax)
43d5df:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43d5e2:	e8 c1 fd ff ff       	call   0x43d3a8
43d5e7:	83 f8 ff             	cmp    $0xffffffff,%eax
43d5ea:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43d5ed:	0f 95 c3             	setne  %bl
43d5f0:	e8 42 f5 fc ff       	call   0x40cb37
43d5f5:	5e                   	pop    %esi
43d5f6:	8a c3                	mov    %bl,%al
43d5f8:	5b                   	pop    %ebx
43d5f9:	c9                   	leave
43d5fa:	c2 08 00             	ret    $0x8
43d5fd:	ff 31                	push   (%ecx)
43d5ff:	ff 15 34 d6 48 00    	call   *0x48d634
43d605:	85 c0                	test   %eax,%eax
43d607:	0f 95 c0             	setne  %al
43d60a:	c3                   	ret
43d60b:	ff 31                	push   (%ecx)
43d60d:	ff 15 38 d6 48 00    	call   *0x48d638
43d613:	85 c0                	test   %eax,%eax
43d615:	0f 95 c0             	setne  %al
43d618:	c3                   	ret
43d619:	55                   	push   %ebp
43d61a:	8b ec                	mov    %esp,%ebp
43d61c:	6a 01                	push   $0x1
43d61e:	ff 75 14             	push   0x14(%ebp)
43d621:	ff 75 10             	push   0x10(%ebp)
43d624:	ff 75 0c             	push   0xc(%ebp)
43d627:	ff 75 08             	push   0x8(%ebp)
43d62a:	ff 31                	push   (%ecx)
43d62c:	ff 15 e8 d6 48 00    	call   *0x48d6e8
43d632:	85 c0                	test   %eax,%eax
43d634:	0f 95 c0             	setne  %al
43d637:	5d                   	pop    %ebp
43d638:	c2 10 00             	ret    $0x10
43d63b:	55                   	push   %ebp
43d63c:	8b ec                	mov    %esp,%ebp
43d63e:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
43d642:	74 04                	je     0x43d648
43d644:	6a 04                	push   $0x4
43d646:	eb 02                	jmp    0x43d64a
43d648:	6a 00                	push   $0x0
43d64a:	ff 31                	push   (%ecx)
43d64c:	ff 15 04 d7 48 00    	call   *0x48d704
43d652:	b0 01                	mov    $0x1,%al
43d654:	5d                   	pop    %ebp
43d655:	c2 04 00             	ret    $0x4
43d658:	55                   	push   %ebp
43d659:	8b ec                	mov    %esp,%ebp
43d65b:	53                   	push   %ebx
43d65c:	8b 5d 08             	mov    0x8(%ebp),%ebx
43d65f:	56                   	push   %esi
43d660:	8b f1                	mov    %ecx,%esi
43d662:	3b f3                	cmp    %ebx,%esi
43d664:	0f 84 82 00 00 00    	je     0x43d6ec
43d66a:	57                   	push   %edi
43d66b:	e8 9b 5d fc ff       	call   0x40340b
43d670:	8b 43 08             	mov    0x8(%ebx),%eax
43d673:	6a 04                	push   $0x4
43d675:	59                   	pop    %ecx
43d676:	39 46 0c             	cmp    %eax,0xc(%esi)
43d679:	73 3a                	jae    0x43d6b5
43d67b:	6a 08                	push   $0x8
43d67d:	5a                   	pop    %edx
43d67e:	3b c2                	cmp    %edx,%eax
43d680:	72 02                	jb     0x43d684
43d682:	8b d0                	mov    %eax,%edx
43d684:	89 56 0c             	mov    %edx,0xc(%esi)
43d687:	33 c9                	xor    %ecx,%ecx
43d689:	8b c2                	mov    %edx,%eax
43d68b:	6a 04                	push   $0x4
43d68d:	5a                   	pop    %edx
43d68e:	f7 e2                	mul    %edx
43d690:	0f 90 c1             	seto   %cl
43d693:	f7 d9                	neg    %ecx
43d695:	0b c8                	or     %eax,%ecx
43d697:	51                   	push   %ecx
43d698:	e8 4d 1e fe ff       	call   0x41f4ea
43d69d:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
43d6a1:	59                   	pop    %ecx
43d6a2:	8b f8                	mov    %eax,%edi
43d6a4:	74 09                	je     0x43d6af
43d6a6:	ff 76 04             	push   0x4(%esi)
43d6a9:	e8 b0 1e fe ff       	call   0x41f55e
43d6ae:	59                   	pop    %ecx
43d6af:	6a 04                	push   $0x4
43d6b1:	89 7e 04             	mov    %edi,0x4(%esi)
43d6b4:	59                   	pop    %ecx
43d6b5:	8b 43 08             	mov    0x8(%ebx),%eax
43d6b8:	33 ff                	xor    %edi,%edi
43d6ba:	89 46 08             	mov    %eax,0x8(%esi)
43d6bd:	85 c0                	test   %eax,%eax
43d6bf:	74 2a                	je     0x43d6eb
43d6c1:	51                   	push   %ecx
43d6c2:	e8 23 1e fe ff       	call   0x41f4ea
43d6c7:	8b d0                	mov    %eax,%edx
43d6c9:	59                   	pop    %ecx
43d6ca:	85 d2                	test   %edx,%edx
43d6cc:	74 0c                	je     0x43d6da
43d6ce:	8b 4b 04             	mov    0x4(%ebx),%ecx
43d6d1:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
43d6d4:	8b 09                	mov    (%ecx),%ecx
43d6d6:	89 0a                	mov    %ecx,(%edx)
43d6d8:	eb 02                	jmp    0x43d6dc
43d6da:	33 d2                	xor    %edx,%edx
43d6dc:	8b 46 04             	mov    0x4(%esi),%eax
43d6df:	6a 04                	push   $0x4
43d6e1:	89 14 b8             	mov    %edx,(%eax,%edi,4)
43d6e4:	47                   	inc    %edi
43d6e5:	59                   	pop    %ecx
43d6e6:	3b 7e 08             	cmp    0x8(%esi),%edi
43d6e9:	72 d6                	jb     0x43d6c1
43d6eb:	5f                   	pop    %edi
43d6ec:	8b c6                	mov    %esi,%eax
43d6ee:	5e                   	pop    %esi
43d6ef:	5b                   	pop    %ebx
43d6f0:	5d                   	pop    %ebp
43d6f1:	c2 04 00             	ret    $0x4
43d6f4:	55                   	push   %ebp
43d6f5:	8b ec                	mov    %esp,%ebp
43d6f7:	83 ec 38             	sub    $0x38,%esp
43d6fa:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43d6fd:	56                   	push   %esi
43d6fe:	e8 f4 00 fd ff       	call   0x40d7f7
43d703:	8d 4d dc             	lea    -0x24(%ebp),%ecx
43d706:	e8 ec 00 fd ff       	call   0x40d7f7
43d70b:	8b 75 08             	mov    0x8(%ebp),%esi
43d70e:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
43d712:	0f 84 e8 00 00 00    	je     0x43d800
43d718:	68 90 2b 4b 00       	push   $0x4b2b90
43d71d:	ff 36                	push   (%esi)
43d71f:	e8 83 38 fe ff       	call   0x420fa7
43d724:	59                   	pop    %ecx
43d725:	59                   	pop    %ecx
43d726:	85 c0                	test   %eax,%eax
43d728:	0f 84 d2 00 00 00    	je     0x43d800
43d72e:	68 a8 2b 4b 00       	push   $0x4b2ba8
43d733:	ff 36                	push   (%esi)
43d735:	e8 6d 38 fe ff       	call   0x420fa7
43d73a:	59                   	pop    %ecx
43d73b:	59                   	pop    %ecx
43d73c:	85 c0                	test   %eax,%eax
43d73e:	75 0a                	jne    0x43d74a
43d740:	68 b8 2b 4b 00       	push   $0x4b2bb8
43d745:	e9 bb 00 00 00       	jmp    0x43d805
43d74a:	6a 07                	push   $0x7
43d74c:	68 c8 2b 4b 00       	push   $0x4b2bc8
43d751:	ff 36                	push   (%esi)
43d753:	e8 03 41 fe ff       	call   0x42185b
43d758:	83 c4 0c             	add    $0xc,%esp
43d75b:	85 c0                	test   %eax,%eax
43d75d:	75 07                	jne    0x43d766
43d75f:	68 d8 2b 4b 00       	push   $0x4b2bd8
43d764:	eb 1a                	jmp    0x43d780
43d766:	6a 07                	push   $0x7
43d768:	68 ec 2b 4b 00       	push   $0x4b2bec
43d76d:	ff 36                	push   (%esi)
43d76f:	e8 e7 40 fe ff       	call   0x42185b
43d774:	83 c4 0c             	add    $0xc,%esp
43d777:	85 c0                	test   %eax,%eax
43d779:	75 13                	jne    0x43d78e
43d77b:	68 fc 2b 4b 00       	push   $0x4b2bfc
43d780:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43d783:	e8 db 92 fc ff       	call   0x406a63
43d788:	6a ff                	push   $0xffffffff
43d78a:	6a 07                	push   $0x7
43d78c:	eb 26                	jmp    0x43d7b4
43d78e:	6a 0a                	push   $0xa
43d790:	68 18 2c 4b 00       	push   $0x4b2c18
43d795:	ff 36                	push   (%esi)
43d797:	e8 bf 40 fe ff       	call   0x42185b
43d79c:	83 c4 0c             	add    $0xc,%esp
43d79f:	85 c0                	test   %eax,%eax
43d7a1:	75 44                	jne    0x43d7e7
43d7a3:	68 30 2c 4b 00       	push   $0x4b2c30
43d7a8:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43d7ab:	e8 b3 92 fc ff       	call   0x406a63
43d7b0:	6a ff                	push   $0xffffffff
43d7b2:	6a 0a                	push   $0xa
43d7b4:	8d 45 cc             	lea    -0x34(%ebp),%eax
43d7b7:	50                   	push   %eax
43d7b8:	8b ce                	mov    %esi,%ecx
43d7ba:	e8 81 f3 ff ff       	call   0x43cb40
43d7bf:	50                   	push   %eax
43d7c0:	8d 4d dc             	lea    -0x24(%ebp),%ecx
43d7c3:	e8 25 97 fc ff       	call   0x406eed
43d7c8:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43d7cb:	e8 67 f3 fc ff       	call   0x40cb37
43d7d0:	8d 45 dc             	lea    -0x24(%ebp),%eax
43d7d3:	50                   	push   %eax
43d7d4:	e8 61 00 00 00       	call   0x43d83a
43d7d9:	8d 45 dc             	lea    -0x24(%ebp),%eax
43d7dc:	50                   	push   %eax
43d7dd:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43d7e0:	e8 28 79 fc ff       	call   0x40510d
43d7e5:	eb 26                	jmp    0x43d80d
43d7e7:	68 40 2c 4b 00       	push   $0x4b2c40
43d7ec:	ff 36                	push   (%esi)
43d7ee:	e8 b4 37 fe ff       	call   0x420fa7
43d7f3:	59                   	pop    %ecx
43d7f4:	59                   	pop    %ecx
43d7f5:	85 c0                	test   %eax,%eax
43d7f7:	75 2c                	jne    0x43d825
43d7f9:	68 48 2c 4b 00       	push   $0x4b2c48
43d7fe:	eb 05                	jmp    0x43d805
43d800:	68 9c 2b 4b 00       	push   $0x4b2b9c
43d805:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43d808:	e8 56 92 fc ff       	call   0x406a63
43d80d:	68 54 2c 4b 00       	push   $0x4b2c54
43d812:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43d815:	e8 72 79 fc ff       	call   0x40518c