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
43d81a:	8d 45 ec             	lea    -0x14(%ebp),%eax
43d81d:	50                   	push   %eax
43d81e:	8b ce                	mov    %esi,%ecx
43d820:	e8 c8 96 fc ff       	call   0x406eed
43d825:	8d 4d dc             	lea    -0x24(%ebp),%ecx
43d828:	e8 0a f3 fc ff       	call   0x40cb37
43d82d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43d830:	e8 02 f3 fc ff       	call   0x40cb37
43d835:	5e                   	pop    %esi
43d836:	c9                   	leave
43d837:	c2 04 00             	ret    $0x4
43d83a:	55                   	push   %ebp
43d83b:	8b ec                	mov    %esp,%ebp
43d83d:	83 ec 14             	sub    $0x14,%esp
43d840:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43d843:	53                   	push   %ebx
43d844:	57                   	push   %edi
43d845:	e8 ad ff fc ff       	call   0x40d7f7
43d84a:	33 c0                	xor    %eax,%eax
43d84c:	6a 3b                	push   $0x3b
43d84e:	8b f8                	mov    %eax,%edi
43d850:	5b                   	pop    %ebx
43d851:	8b 4d 08             	mov    0x8(%ebp),%ecx
43d854:	57                   	push   %edi
43d855:	e8 4c 89 fc ff       	call   0x4061a6
43d85a:	33 c9                	xor    %ecx,%ecx
43d85c:	66 39 08             	cmp    %cx,(%eax)
43d85f:	8b 4d 08             	mov    0x8(%ebp),%ecx
43d862:	74 2c                	je     0x43d890
43d864:	57                   	push   %edi
43d865:	e8 3c 89 fc ff       	call   0x4061a6
43d86a:	66 39 18             	cmp    %bx,(%eax)
43d86d:	75 09                	jne    0x43d878
43d86f:	53                   	push   %ebx
43d870:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43d873:	e8 21 ef fc ff       	call   0x40c799
43d878:	8b 4d 08             	mov    0x8(%ebp),%ecx
43d87b:	57                   	push   %edi
43d87c:	e8 25 89 fc ff       	call   0x4061a6
43d881:	0f b7 00             	movzwl (%eax),%eax
43d884:	50                   	push   %eax
43d885:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43d888:	e8 0c ef fc ff       	call   0x40c799
43d88d:	47                   	inc    %edi
43d88e:	eb c1                	jmp    0x43d851
43d890:	8d 45 ec             	lea    -0x14(%ebp),%eax
43d893:	50                   	push   %eax
43d894:	e8 54 96 fc ff       	call   0x406eed
43d899:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43d89c:	e8 96 f2 fc ff       	call   0x40cb37
43d8a1:	5f                   	pop    %edi
43d8a2:	5b                   	pop    %ebx
43d8a3:	c9                   	leave
43d8a4:	c2 04 00             	ret    $0x4
43d8a7:	55                   	push   %ebp
43d8a8:	8b ec                	mov    %esp,%ebp
43d8aa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43d8ad:	5d                   	pop    %ebp
43d8ae:	e9 00 00 00 00       	jmp    0x43d8b3
43d8b3:	55                   	push   %ebp
43d8b4:	8b ec                	mov    %esp,%ebp
43d8b6:	83 e4 f8             	and    $0xfffffff8,%esp
43d8b9:	81 ec 1c 08 00 00    	sub    $0x81c,%esp
43d8bf:	53                   	push   %ebx
43d8c0:	56                   	push   %esi
43d8c1:	8b d9                	mov    %ecx,%ebx
43d8c3:	57                   	push   %edi
43d8c4:	33 ff                	xor    %edi,%edi
43d8c6:	f6 43 08 40          	testb  $0x40,0x8(%ebx)
43d8ca:	8b f7                	mov    %edi,%esi
43d8cc:	89 7c 24 0c          	mov    %edi,0xc(%esp)
43d8d0:	74 06                	je     0x43d8d8
43d8d2:	47                   	inc    %edi
43d8d3:	46                   	inc    %esi
43d8d4:	89 74 24 0c          	mov    %esi,0xc(%esp)
43d8d8:	f6 43 08 08          	testb  $0x8,0x8(%ebx)
43d8dc:	74 2f                	je     0x43d90d
43d8de:	68 00 04 00 00       	push   $0x400
43d8e3:	8d 44 24 24          	lea    0x24(%esp),%eax
43d8e7:	50                   	push   %eax
43d8e8:	ff 75 08             	push   0x8(%ebp)
43d8eb:	ff 15 64 d6 48 00    	call   *0x48d664
43d8f1:	8d 44 24 20          	lea    0x20(%esp),%eax
43d8f5:	50                   	push   %eax
43d8f6:	ff b3 bc 00 00 00    	push   0xbc(%ebx)
43d8fc:	e8 e2 3c fe ff       	call   0x4215e3
43d901:	59                   	pop    %ecx
43d902:	59                   	pop    %ecx
43d903:	85 c0                	test   %eax,%eax
43d905:	75 01                	jne    0x43d908
43d907:	47                   	inc    %edi
43d908:	46                   	inc    %esi
43d909:	89 74 24 0c          	mov    %esi,0xc(%esp)
43d90d:	f6 43 08 01          	testb  $0x1,0x8(%ebx)
43d911:	0f 84 b5 00 00 00    	je     0x43d9cc
43d917:	68 00 04 00 00       	push   $0x400
43d91c:	8d 44 24 24          	lea    0x24(%esp),%eax
43d920:	50                   	push   %eax
43d921:	ff 75 08             	push   0x8(%ebp)
43d924:	ff 15 30 d7 48 00    	call   *0x48d730
43d92a:	80 7b 0c 00          	cmpb   $0x0,0xc(%ebx)
43d92e:	75 17                	jne    0x43d947
43d930:	8d 44 24 20          	lea    0x20(%esp),%eax
43d934:	50                   	push   %eax
43d935:	e8 a1 33 fe ff       	call   0x420cdb
43d93a:	59                   	pop    %ecx
43d93b:	50                   	push   %eax
43d93c:	8d 44 24 24          	lea    0x24(%esp),%eax
43d940:	50                   	push   %eax
43d941:	ff 15 60 d6 48 00    	call   *0x48d660
43d947:	8b 43 10             	mov    0x10(%ebx),%eax
43d94a:	89 7c 24 0c          	mov    %edi,0xc(%esp)
43d94e:	48                   	dec    %eax
43d94f:	74 2c                	je     0x43d97d
43d951:	48                   	dec    %eax
43d952:	74 14                	je     0x43d968
43d954:	48                   	dec    %eax
43d955:	75 3e                	jne    0x43d995
43d957:	ff 73 14             	push   0x14(%ebx)
43d95a:	8d 44 24 24          	lea    0x24(%esp),%eax
43d95e:	50                   	push   %eax
43d95f:	e8 7f 3c fe ff       	call   0x4215e3
43d964:	59                   	pop    %ecx
43d965:	59                   	pop    %ecx
43d966:	eb 28                	jmp    0x43d990
43d968:	ff 73 14             	push   0x14(%ebx)
43d96b:	8d 44 24 24          	lea    0x24(%esp),%eax
43d96f:	50                   	push   %eax
43d970:	e8 91 40 fe ff       	call   0x421a06
43d975:	59                   	pop    %ecx
43d976:	59                   	pop    %ecx
43d977:	85 c0                	test   %eax,%eax
43d979:	74 1a                	je     0x43d995
43d97b:	eb 17                	jmp    0x43d994
43d97d:	ff 73 18             	push   0x18(%ebx)
43d980:	8d 44 24 24          	lea    0x24(%esp),%eax
43d984:	50                   	push   %eax
43d985:	ff 73 14             	push   0x14(%ebx)
43d988:	e8 68 3d fe ff       	call   0x4216f5
43d98d:	83 c4 0c             	add    $0xc,%esp
43d990:	85 c0                	test   %eax,%eax
43d992:	75 01                	jne    0x43d995
43d994:	47                   	inc    %edi
43d995:	f6 43 08 18          	testb  $0x18,0x8(%ebx)
43d999:	75 2c                	jne    0x43d9c7
43d99b:	68 00 04 00 00       	push   $0x400
43d9a0:	8d 44 24 24          	lea    0x24(%esp),%eax
43d9a4:	50                   	push   %eax
43d9a5:	ff 75 08             	push   0x8(%ebp)
43d9a8:	ff 15 64 d6 48 00    	call   *0x48d664
43d9ae:	8d 44 24 20          	lea    0x20(%esp),%eax
43d9b2:	50                   	push   %eax
43d9b3:	68 8c 2c 4b 00       	push   $0x4b2c8c
43d9b8:	e8 26 3c fe ff       	call   0x4215e3
43d9bd:	59                   	pop    %ecx
43d9be:	59                   	pop    %ecx
43d9bf:	85 c0                	test   %eax,%eax
43d9c1:	75 04                	jne    0x43d9c7
43d9c3:	8b 7c 24 0c          	mov    0xc(%esp),%edi
43d9c7:	46                   	inc    %esi
43d9c8:	89 74 24 0c          	mov    %esi,0xc(%esp)
43d9cc:	f6 43 08 02          	testb  $0x2,0x8(%ebx)
43d9d0:	74 7b                	je     0x43da4d
43d9d2:	68 00 04 00 00       	push   $0x400
43d9d7:	8d 44 24 24          	lea    0x24(%esp),%eax
43d9db:	50                   	push   %eax
43d9dc:	ff 75 08             	push   0x8(%ebp)
43d9df:	ff 15 30 d7 48 00    	call   *0x48d730
43d9e5:	8d 44 24 20          	lea    0x20(%esp),%eax
43d9e9:	50                   	push   %eax
43d9ea:	8d 4c 24 14          	lea    0x14(%esp),%ecx
43d9ee:	e8 26 f4 fc ff       	call   0x40ce19
43d9f3:	8d 44 24 10          	lea    0x10(%esp),%eax
43d9f7:	50                   	push   %eax
43d9f8:	8d 4b 34             	lea    0x34(%ebx),%ecx