42b51e:	50                   	push   %eax
42b51f:	8b 55 f8             	mov    -0x8(%ebp),%edx
42b522:	8b 45 c8             	mov    -0x38(%ebp),%eax
42b525:	e8 be 31 ff ff       	call   0x41e6e8
42b52a:	8b d6                	mov    %esi,%edx
42b52c:	f7 da                	neg    %edx
42b52e:	66 b9 02 00          	mov    $0x2,%cx
42b532:	8b 45 c8             	mov    -0x38(%ebp),%eax
42b535:	8b 18                	mov    (%eax),%ebx
42b537:	ff 53 14             	call   *0x14(%ebx)
42b53a:	8b 45 c8             	mov    -0x38(%ebp),%eax
42b53d:	89 45 f8             	mov    %eax,-0x8(%ebp)
42b540:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
42b543:	8b 45 e0             	mov    -0x20(%ebp),%eax
42b546:	89 03                	mov    %eax,(%ebx)
42b548:	8b 45 e8             	mov    -0x18(%ebp),%eax
42b54b:	03 45 e0             	add    -0x20(%ebp),%eax
42b54e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42b551:	66 83 7b 0c 01       	cmpw   $0x1,0xc(%ebx)
42b556:	74 05                	je     0x42b55d
42b558:	e8 17 cf ff ff       	call   0x428474
42b55d:	83 7d e0 28          	cmpl   $0x28,-0x20(%ebp)
42b561:	75 2d                	jne    0x42b590
42b563:	66 8b 43 0e          	mov    0xe(%ebx),%ax
42b567:	66 83 f8 10          	cmp    $0x10,%ax
42b56b:	74 06                	je     0x42b573
42b56d:	66 83 f8 20          	cmp    $0x20,%ax
42b571:	75 1d                	jne    0x42b590
42b573:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
42b577:	75 17                	jne    0x42b590
42b579:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42b57c:	b9 0c 00 00 00       	mov    $0xc,%ecx
42b581:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b584:	e8 ef 30 ff ff       	call   0x41e678
42b589:	83 45 e4 0c          	addl   $0xc,-0x1c(%ebp)
42b58d:	83 ee 0c             	sub    $0xc,%esi
42b590:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
42b594:	75 0c                	jne    0x42b5a2
42b596:	66 8b 43 0e          	mov    0xe(%ebx),%ax
42b59a:	e8 59 d1 ff ff       	call   0x4286f8
42b59f:	89 43 20             	mov    %eax,0x20(%ebx)
42b5a2:	8b 4b 20             	mov    0x20(%ebx),%ecx
42b5a5:	0f b6 7d df          	movzbl -0x21(%ebp),%edi
42b5a9:	33 c0                	xor    %eax,%eax
42b5ab:	8a 87 b8 d8 48 00    	mov    0x48d8b8(%edi),%al
42b5b1:	0f af c8             	imul   %eax,%ecx
42b5b4:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42b5b7:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b5ba:	e8 b9 30 ff ff       	call   0x41e678
42b5bf:	8b 43 20             	mov    0x20(%ebx),%eax
42b5c2:	33 d2                	xor    %edx,%edx
42b5c4:	8a 97 b8 d8 48 00    	mov    0x48d8b8(%edi),%dl
42b5ca:	f7 ea                	imul   %edx
42b5cc:	2b f0                	sub    %eax,%esi
42b5ce:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
42b5d2:	75 21                	jne    0x42b5f5
42b5d4:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
42b5d8:	8b 43 04             	mov    0x4(%ebx),%eax
42b5db:	b9 20 00 00 00       	mov    $0x20,%ecx
42b5e0:	e8 33 d1 ff ff       	call   0x428718
42b5e5:	8b c8                	mov    %eax,%ecx
42b5e7:	8b 43 08             	mov    0x8(%ebx),%eax
42b5ea:	99                   	cltd
42b5eb:	33 c2                	xor    %edx,%eax
42b5ed:	2b c2                	sub    %edx,%eax
42b5ef:	0f af c8             	imul   %eax,%ecx
42b5f2:	89 4b 14             	mov    %ecx,0x14(%ebx)
42b5f5:	8b 43 14             	mov    0x14(%ebx),%eax
42b5f8:	3b f0                	cmp    %eax,%esi
42b5fa:	76 02                	jbe    0x42b5fe
42b5fc:	8b f0                	mov    %eax,%esi
42b5fe:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
42b602:	74 08                	je     0x42b60c
42b604:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42b607:	e8 b4 d3 ff ff       	call   0x4289c0
42b60c:	6a 00                	push   $0x0
42b60e:	e8 b5 b6 fd ff       	call   0x406cc8
42b613:	e8 70 cf ff ff       	call   0x428588
42b618:	89 45 f4             	mov    %eax,-0xc(%ebp)
42b61b:	33 d2                	xor    %edx,%edx
42b61d:	55                   	push   %ebp
42b61e:	68 0f b8 42 00       	push   $0x42b80f
42b623:	64 ff 32             	push   %fs:(%edx)
42b626:	64 89 22             	mov    %esp,%fs:(%edx)
42b629:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42b62c:	8b 40 10             	mov    0x10(%eax),%eax
42b62f:	85 c0                	test   %eax,%eax
42b631:	74 05                	je     0x42b638
42b633:	83 f8 03             	cmp    $0x3,%eax
42b636:	75 0d                	jne    0x42b645
42b638:	80 3d 28 d6 48 00 00 	cmpb   $0x0,0x48d628
42b63f:	0f 84 39 01 00 00    	je     0x42b77e
42b645:	33 c0                	xor    %eax,%eax
42b647:	89 45 f0             	mov    %eax,-0x10(%ebp)
42b64a:	8b c6                	mov    %esi,%eax
42b64c:	e8 27 71 fd ff       	call   0x402778
42b651:	89 45 ec             	mov    %eax,-0x14(%ebp)
42b654:	33 d2                	xor    %edx,%edx
42b656:	55                   	push   %ebp
42b657:	68 77 b7 42 00       	push   $0x42b777
42b65c:	64 ff 32             	push   %fs:(%edx)
42b65f:	64 89 22             	mov    %esp,%fs:(%edx)
42b662:	8b 55 ec             	mov    -0x14(%ebp),%edx
42b665:	8b ce                	mov    %esi,%ecx
42b667:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b66a:	e8 09 30 ff ff       	call   0x41e678
42b66f:	8b 45 f4             	mov    -0xc(%ebp),%eax
42b672:	50                   	push   %eax
42b673:	e8 38 b3 fd ff       	call   0x4069b0
42b678:	e8 0b cf ff ff       	call   0x428588
42b67d:	89 45 f0             	mov    %eax,-0x10(%ebp)
42b680:	6a 01                	push   $0x1
42b682:	6a 01                	push   $0x1
42b684:	8b 45 f4             	mov    -0xc(%ebp),%eax
42b687:	50                   	push   %eax
42b688:	e8 1b b3 fd ff       	call   0x4069a8
42b68d:	50                   	push   %eax
42b68e:	8b 45 f0             	mov    -0x10(%ebp),%eax
42b691:	50                   	push   %eax
42b692:	e8 41 b4 fd ff       	call   0x406ad8
42b697:	89 45 d4             	mov    %eax,-0x2c(%ebp)
42b69a:	33 c0                	xor    %eax,%eax
42b69c:	89 45 cc             	mov    %eax,-0x34(%ebp)
42b69f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42b6a2:	8b 40 20             	mov    0x20(%eax),%eax
42b6a5:	85 c0                	test   %eax,%eax
42b6a7:	76 2a                	jbe    0x42b6d3
42b6a9:	8b c8                	mov    %eax,%ecx
42b6ab:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42b6ae:	33 c0                	xor    %eax,%eax
42b6b0:	e8 c3 d5 ff ff       	call   0x428c78
42b6b5:	89 45 d0             	mov    %eax,-0x30(%ebp)
42b6b8:	6a 00                	push   $0x0
42b6ba:	8b 45 d0             	mov    -0x30(%ebp),%eax
42b6bd:	50                   	push   %eax
42b6be:	8b 45 f0             	mov    -0x10(%ebp),%eax
42b6c1:	50                   	push   %eax
42b6c2:	e8 19 b4 fd ff       	call   0x406ae0
42b6c7:	89 45 cc             	mov    %eax,-0x34(%ebp)
42b6ca:	8b 45 f0             	mov    -0x10(%ebp),%eax
42b6cd:	50                   	push   %eax
42b6ce:	e8 dd b3 fd ff       	call   0x406ab0
42b6d3:	33 d2                	xor    %edx,%edx
42b6d5:	55                   	push   %ebp
42b6d6:	68 4b b7 42 00       	push   $0x42b74b
42b6db:	64 ff 32             	push   %fs:(%edx)
42b6de:	64 89 22             	mov    %esp,%fs:(%edx)
42b6e1:	6a 00                	push   $0x0
42b6e3:	8b 45 e8             	mov    -0x18(%ebp),%eax
42b6e6:	50                   	push   %eax
42b6e7:	8b 55 ec             	mov    -0x14(%ebp),%edx
42b6ea:	52                   	push   %edx
42b6eb:	6a 04                	push   $0x4
42b6ed:	50                   	push   %eax
42b6ee:	8b 45 f0             	mov    -0x10(%ebp),%eax
42b6f1:	50                   	push   %eax
42b6f2:	e8 c9 b2 fd ff       	call   0x4069c0
42b6f7:	89 45 d8             	mov    %eax,-0x28(%ebp)
42b6fa:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
42b6fe:	75 15                	jne    0x42b715
42b700:	e8 d3 b0 fd ff       	call   0x4067d8
42b705:	85 c0                	test   %eax,%eax
42b707:	75 07                	jne    0x42b710
42b709:	e8 66 cd ff ff       	call   0x428474
42b70e:	eb 05                	jmp    0x42b715
42b710:	e8 27 23 fe ff       	call   0x40da3c
42b715:	33 c0                	xor    %eax,%eax
42b717:	5a                   	pop    %edx
42b718:	59                   	pop    %ecx
42b719:	59                   	pop    %ecx
42b71a:	64 89 10             	mov    %edx,%fs:(%eax)
42b71d:	68 52 b7 42 00       	push   $0x42b752
42b722:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
42b726:	74 0f                	je     0x42b737
42b728:	6a ff                	push   $0xffffffff
42b72a:	8b 45 cc             	mov    -0x34(%ebp),%eax
42b72d:	50                   	push   %eax
42b72e:	8b 45 f0             	mov    -0x10(%ebp),%eax
42b731:	50                   	push   %eax
42b732:	e8 a9 b3 fd ff       	call   0x406ae0
42b737:	8b 45 d4             	mov    -0x2c(%ebp),%eax
42b73a:	50                   	push   %eax
42b73b:	8b 45 f0             	mov    -0x10(%ebp),%eax
42b73e:	50                   	push   %eax
42b73f:	e8 94 b3 fd ff       	call   0x406ad8
42b744:	50                   	push   %eax
42b745:	e8 ae b2 fd ff       	call   0x4069f8
42b74a:	c3                   	ret
42b74b:	e9 18 84 fd ff       	jmp    0x403b68
42b750:	eb d0                	jmp    0x42b722
42b752:	33 c0                	xor    %eax,%eax
42b754:	5a                   	pop    %edx
42b755:	59                   	pop    %ecx
42b756:	59                   	pop    %ecx
42b757:	64 89 10             	mov    %edx,%fs:(%eax)
42b75a:	68 f6 b7 42 00       	push   $0x42b7f6
42b75f:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
42b763:	74 09                	je     0x42b76e
42b765:	8b 45 f0             	mov    -0x10(%ebp),%eax
42b768:	50                   	push   %eax
42b769:	e8 82 b2 fd ff       	call   0x4069f0
42b76e:	8b 45 ec             	mov    -0x14(%ebp),%eax
42b771:	e8 22 70 fd ff       	call   0x402798
42b776:	c3                   	ret
42b777:	e9 ec 83 fd ff       	jmp    0x403b68
42b77c:	eb e1                	jmp    0x42b75f
42b77e:	6a 00                	push   $0x0
42b780:	6a 00                	push   $0x0
42b782:	8d 45 ec             	lea    -0x14(%ebp),%eax
42b785:	50                   	push   %eax
42b786:	6a 00                	push   $0x0
42b788:	8b 45 e8             	mov    -0x18(%ebp),%eax
42b78b:	50                   	push   %eax
42b78c:	8b 45 f4             	mov    -0xc(%ebp),%eax
42b78f:	50                   	push   %eax
42b790:	e8 23 b2 fd ff       	call   0x4069b8
42b795:	89 45 d8             	mov    %eax,-0x28(%ebp)
42b798:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
42b79c:	74 06                	je     0x42b7a4
42b79e:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
42b7a2:	75 15                	jne    0x42b7b9
42b7a4:	e8 2f b0 fd ff       	call   0x4067d8
42b7a9:	85 c0                	test   %eax,%eax
42b7ab:	75 07                	jne    0x42b7b4
42b7ad:	e8 c2 cc ff ff       	call   0x428474
42b7b2:	eb 05                	jmp    0x42b7b9
42b7b4:	e8 83 22 fe ff       	call   0x40da3c
42b7b9:	33 c0                	xor    %eax,%eax
42b7bb:	55                   	push   %ebp
42b7bc:	68 de b7 42 00       	push   $0x42b7de
42b7c1:	64 ff 30             	push   %fs:(%eax)
42b7c4:	64 89 20             	mov    %esp,%fs:(%eax)
42b7c7:	8b 55 ec             	mov    -0x14(%ebp),%edx
42b7ca:	8b ce                	mov    %esi,%ecx
42b7cc:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b7cf:	e8 a4 2e ff ff       	call   0x41e678
42b7d4:	33 c0                	xor    %eax,%eax
42b7d6:	5a                   	pop    %edx
42b7d7:	59                   	pop    %ecx
42b7d8:	59                   	pop    %ecx
42b7d9:	64 89 10             	mov    %edx,%fs:(%eax)
42b7dc:	eb 18                	jmp    0x42b7f6
42b7de:	e9 d1 80 fd ff       	jmp    0x4038b4
42b7e3:	8b 45 d8             	mov    -0x28(%ebp),%eax
42b7e6:	50                   	push   %eax
42b7e7:	e8 0c b2 fd ff       	call   0x4069f8
42b7ec:	e8 d7 83 fd ff       	call   0x403bc8
42b7f1:	e8 26 84 fd ff       	call   0x403c1c
42b7f6:	33 c0                	xor    %eax,%eax
42b7f8:	5a                   	pop    %edx
42b7f9:	59                   	pop    %ecx
42b7fa:	59                   	pop    %ecx
42b7fb:	64 89 10             	mov    %edx,%fs:(%eax)
42b7fe:	68 16 b8 42 00       	push   $0x42b816
42b803:	8b 45 f4             	mov    -0xc(%ebp),%eax
42b806:	50                   	push   %eax
42b807:	6a 00                	push   $0x0
42b809:	e8 0a b7 fd ff       	call   0x406f18
42b80e:	c3                   	ret
42b80f:	e9 54 83 fd ff       	jmp    0x403b68
42b814:	eb ed                	jmp    0x42b803
42b816:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42b819:	66 83 78 0e 08       	cmpw   $0x8,0xe(%eax)
42b81e:	76 22                	jbe    0x42b842
42b820:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42b823:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
42b827:	76 19                	jbe    0x42b842
42b829:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
42b82d:	75 13                	jne    0x42b842
42b82f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42b832:	8b 48 20             	mov    0x20(%eax),%ecx
42b835:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42b838:	33 c0                	xor    %eax,%eax
42b83a:	e8 39 d4 ff ff       	call   0x428c78
42b83f:	89 45 d0             	mov    %eax,-0x30(%ebp)
42b842:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
42b848:	33 c9                	xor    %ecx,%ecx
42b84a:	ba 54 00 00 00       	mov    $0x54,%edx
42b84f:	e8 18 75 fd ff       	call   0x402d6c
42b854:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
42b85a:	50                   	push   %eax
42b85b:	6a 54                	push   $0x54
42b85d:	8b 45 d8             	mov    -0x28(%ebp),%eax
42b860:	50                   	push   %eax
42b861:	e8 e2 b1 fd ff       	call   0x406a48
42b866:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42b869:	8b 40 18             	mov    0x18(%eax),%eax
42b86c:	89 45 94             	mov    %eax,-0x6c(%ebp)
42b86f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42b872:	8b 40 1c             	mov    0x1c(%eax),%eax
42b875:	89 45 98             	mov    %eax,-0x68(%ebp)
42b878:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42b87b:	8b 40 20             	mov    0x20(%eax),%eax
42b87e:	89 45 9c             	mov    %eax,-0x64(%ebp)
42b881:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42b884:	8b 40 24             	mov    0x24(%eax),%eax
42b887:	89 45 a0             	mov    %eax,-0x60(%ebp)
42b88a:	33 c0                	xor    %eax,%eax
42b88c:	5a                   	pop    %edx
42b88d:	59                   	pop    %ecx
42b88e:	59                   	pop    %ecx
42b88f:	64 89 10             	mov    %edx,%fs:(%eax)
42b892:	eb 17                	jmp    0x42b8ab
42b894:	e9 1b 80 fd ff       	jmp    0x4038b4
42b899:	8b 45 c8             	mov    -0x38(%ebp),%eax
42b89c:	e8 4b 7b fd ff       	call   0x4033ec
42b8a1:	e8 22 83 fd ff       	call   0x403bc8
42b8a6:	e8 71 83 fd ff       	call   0x403c1c
42b8ab:	33 c0                	xor    %eax,%eax
42b8ad:	5a                   	pop    %edx
42b8ae:	59                   	pop    %ecx
42b8af:	59                   	pop    %ecx
42b8b0:	64 89 10             	mov    %edx,%fs:(%eax)
42b8b3:	68 c8 b8 42 00       	push   $0x42b8c8
42b8b8:	8b 45 e8             	mov    -0x18(%ebp),%eax
42b8bb:	e8 d8 6e fd ff       	call   0x402798
42b8c0:	c3                   	ret
42b8c1:	e9 a2 82 fd ff       	jmp    0x403b68
42b8c6:	eb f0                	jmp    0x42b8b8
42b8c8:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
42b8ce:	50                   	push   %eax
42b8cf:	8a 45 df             	mov    -0x21(%ebp),%al
42b8d2:	50                   	push   %eax
42b8d3:	8b 45 c8             	mov    -0x38(%ebp),%eax
42b8d6:	50                   	push   %eax
42b8d7:	8b 4d d0             	mov    -0x30(%ebp),%ecx
42b8da:	8b 55 d8             	mov    -0x28(%ebp),%edx
42b8dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b8e0:	e8 97 f9 ff ff       	call   0x42b27c
42b8e5:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b8e8:	8b 10                	mov    (%eax),%edx
42b8ea:	ff 52 24             	call   *0x24(%edx)
42b8ed:	85 c0                	test   %eax,%eax
42b8ef:	0f 95 c0             	setne  %al
42b8f2:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b8f5:	88 42 22             	mov    %al,0x22(%edx)
42b8f8:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b8fb:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b8fe:	8b 08                	mov    (%eax),%ecx
42b900:	ff 51 10             	call   *0x10(%ecx)
42b903:	5f                   	pop    %edi
42b904:	5e                   	pop    %esi
42b905:	5b                   	pop    %ebx
42b906:	8b e5                	mov    %ebp,%esp
42b908:	5d                   	pop    %ebp
42b909:	c2 04 00             	ret    $0x4
42b90c:	53                   	push   %ebx
42b90d:	56                   	push   %esi
42b90e:	57                   	push   %edi
42b90f:	83 c4 9c             	add    $0xffffff9c,%esp