42b544:	ff 77 20             	push   0x20(%edi)
42b547:	ff 77 1c             	push   0x1c(%edi)
42b54a:	ff 77 08             	push   0x8(%edi)
42b54d:	ff 75 08             	push   0x8(%ebp)
42b550:	e8 93 f5 ff ff       	call   0x42aae8
42b555:	8b f0                	mov    %eax,%esi
42b557:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b55a:	85 f6                	test   %esi,%esi
42b55c:	78 05                	js     0x42b563
42b55e:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b561:	eb d3                	jmp    0x42b536
42b563:	8b 47 08             	mov    0x8(%edi),%eax
42b566:	6a 00                	push   $0x0
42b568:	ff 77 1c             	push   0x1c(%edi)
42b56b:	ff 30                	push   (%eax)
42b56d:	6a 00                	push   $0x0
42b56f:	68 38 01 00 e0       	push   $0xe0000138
42b574:	e9 e4 fe ff ff       	jmp    0x42b45d
42b579:	8d 45 ec             	lea    -0x14(%ebp),%eax
42b57c:	50                   	push   %eax
42b57d:	ff 77 14             	push   0x14(%edi)
42b580:	ff 77 20             	push   0x20(%edi)
42b583:	ff 77 1c             	push   0x1c(%edi)
42b586:	ff 77 18             	push   0x18(%edi)
42b589:	ff 73 24             	push   0x24(%ebx)
42b58c:	ff 73 20             	push   0x20(%ebx)
42b58f:	51                   	push   %ecx
42b590:	52                   	push   %edx
42b591:	6a 00                	push   $0x0
42b593:	ff 77 08             	push   0x8(%edi)
42b596:	ff 77 0c             	push   0xc(%edi)
42b599:	ff 75 18             	push   0x18(%ebp)
42b59c:	ff 75 0c             	push   0xc(%ebp)
42b59f:	e8 b0 f9 ff ff       	call   0x42af54
42b5a4:	8b f0                	mov    %eax,%esi
42b5a6:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b5a9:	85 f6                	test   %esi,%esi
42b5ab:	0f 89 a3 01 00 00    	jns    0x42b754
42b5b1:	ff 77 1c             	push   0x1c(%edi)
42b5b4:	8b 47 0c             	mov    0xc(%edi),%eax
42b5b7:	ff 77 18             	push   0x18(%edi)
42b5ba:	ff 30                	push   (%eax)
42b5bc:	6a 00                	push   $0x0
42b5be:	68 3c 01 00 e0       	push   $0xe000013c
42b5c3:	56                   	push   %esi
42b5c4:	e8 06 4b 01 00       	call   0x4400cf
42b5c9:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
42b5cd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42b5d0:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b5d3:	0f 84 81 01 00 00    	je     0x42b75a
42b5d9:	8b 47 0c             	mov    0xc(%edi),%eax
42b5dc:	8b 00                	mov    (%eax),%eax
42b5de:	ff 47 14             	incl   0x14(%edi)
42b5e1:	89 45 e0             	mov    %eax,-0x20(%ebp)
42b5e4:	8b 47 10             	mov    0x10(%edi),%eax
42b5e7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42b5ea:	e9 6b 01 00 00       	jmp    0x42b75a
42b5ef:	ff 73 24             	push   0x24(%ebx)
42b5f2:	ff 73 20             	push   0x20(%ebx)
42b5f5:	51                   	push   %ecx
42b5f6:	52                   	push   %edx
42b5f7:	ff 77 10             	push   0x10(%edi)
42b5fa:	ff 77 0c             	push   0xc(%edi)
42b5fd:	ff 77 08             	push   0x8(%edi)
42b600:	6a 00                	push   $0x0
42b602:	ff 75 10             	push   0x10(%ebp)
42b605:	ff 75 0c             	push   0xc(%ebp)
42b608:	e8 0f df ff ff       	call   0x42951c
42b60d:	8b f0                	mov    %eax,%esi
42b60f:	8b 47 0c             	mov    0xc(%edi),%eax
42b612:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b615:	85 f6                	test   %esi,%esi
42b617:	78 11                	js     0x42b62a
42b619:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b61c:	03 50 10             	add    0x10(%eax),%edx
42b61f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42b622:	13 48 14             	adc    0x14(%eax),%ecx
42b625:	e9 d7 fe ff ff       	jmp    0x42b501
42b62a:	6a 00                	push   $0x0
42b62c:	ff 77 10             	push   0x10(%edi)
42b62f:	ff 30                	push   (%eax)
42b631:	6a 00                	push   $0x0
42b633:	68 39 01 00 e0       	push   $0xe0000139
42b638:	e9 20 fe ff ff       	jmp    0x42b45d
42b63d:	8b 4f 08             	mov    0x8(%edi),%ecx
42b640:	8d 45 ec             	lea    -0x14(%ebp),%eax
42b643:	50                   	push   %eax
42b644:	ff 77 14             	push   0x14(%edi)
42b647:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b64a:	33 f6                	xor    %esi,%esi
42b64c:	ff 77 1c             	push   0x1c(%edi)
42b64f:	ff 77 18             	push   0x18(%edi)
42b652:	56                   	push   %esi
42b653:	ff 73 24             	push   0x24(%ebx)
42b656:	ff 73 20             	push   0x20(%ebx)
42b659:	50                   	push   %eax
42b65a:	52                   	push   %edx
42b65b:	ff 77 0c             	push   0xc(%edi)
42b65e:	83 c8 ff             	or     $0xffffffff,%eax
42b661:	39 71 14             	cmp    %esi,0x14(%ecx)
42b664:	51                   	push   %ecx
42b665:	0f 45 45 18          	cmovne 0x18(%ebp),%eax
42b669:	56                   	push   %esi
42b66a:	50                   	push   %eax
42b66b:	ff 75 0c             	push   0xc(%ebp)
42b66e:	e8 e1 f8 ff ff       	call   0x42af54
42b673:	8b f0                	mov    %eax,%esi
42b675:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b678:	85 f6                	test   %esi,%esi
42b67a:	0f 89 d4 00 00 00    	jns    0x42b754
42b680:	8b 47 0c             	mov    0xc(%edi),%eax
42b683:	6a 00                	push   $0x0
42b685:	ff 77 18             	push   0x18(%edi)
42b688:	ff 30                	push   (%eax)
42b68a:	6a 00                	push   $0x0
42b68c:	68 3a 01 00 e0       	push   $0xe000013a
42b691:	e9 2d ff ff ff       	jmp    0x42b5c3
42b696:	8d 45 ec             	lea    -0x14(%ebp),%eax
42b699:	50                   	push   %eax
42b69a:	ff 77 14             	push   0x14(%edi)
42b69d:	ff 77 20             	push   0x20(%edi)
42b6a0:	ff 77 1c             	push   0x1c(%edi)
42b6a3:	ff 77 18             	push   0x18(%edi)
42b6a6:	ff 73 24             	push   0x24(%ebx)
42b6a9:	ff 73 20             	push   0x20(%ebx)
42b6ac:	51                   	push   %ecx
42b6ad:	52                   	push   %edx
42b6ae:	ff 77 0c             	push   0xc(%edi)
42b6b1:	ff 77 08             	push   0x8(%edi)
42b6b4:	6a 00                	push   $0x0
42b6b6:	ff 75 18             	push   0x18(%ebp)
42b6b9:	ff 75 0c             	push   0xc(%ebp)
42b6bc:	e8 93 f8 ff ff       	call   0x42af54
42b6c1:	8b f0                	mov    %eax,%esi
42b6c3:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b6c6:	85 f6                	test   %esi,%esi
42b6c8:	0f 89 86 00 00 00    	jns    0x42b754
42b6ce:	ff 77 1c             	push   0x1c(%edi)
42b6d1:	8b 47 0c             	mov    0xc(%edi),%eax
42b6d4:	ff 77 18             	push   0x18(%edi)
42b6d7:	ff 30                	push   (%eax)
42b6d9:	6a 00                	push   $0x0
42b6db:	68 3d 01 00 e0       	push   $0xe000013d
42b6e0:	e9 de fe ff ff       	jmp    0x42b5c3
42b6e5:	8b 45 1c             	mov    0x1c(%ebp),%eax
42b6e8:	8b 7d 0c             	mov    0xc(%ebp),%edi
42b6eb:	8b 00                	mov    (%eax),%eax
42b6ed:	40                   	inc    %eax
42b6ee:	50                   	push   %eax
42b6ef:	ff 73 34             	push   0x34(%ebx)
42b6f2:	6a 00                	push   $0x0
42b6f4:	57                   	push   %edi
42b6f5:	e8 c9 fb ff ff       	call   0x42b2c3
42b6fa:	8b f0                	mov    %eax,%esi
42b6fc:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b6ff:	85 f6                	test   %esi,%esi
42b701:	79 0f                	jns    0x42b712
42b703:	33 c0                	xor    %eax,%eax
42b705:	50                   	push   %eax
42b706:	50                   	push   %eax
42b707:	68 28 eb 45 00       	push   $0x45eb28
42b70c:	50                   	push   %eax
42b70d:	e9 46 fd ff ff       	jmp    0x42b458
42b712:	8b 45 1c             	mov    0x1c(%ebp),%eax
42b715:	6a 00                	push   $0x0
42b717:	56                   	push   %esi
42b718:	ff 00                	incl   (%eax)
42b71a:	8b 47 10             	mov    0x10(%edi),%eax
42b71d:	8b 7d f4             	mov    -0xc(%ebp),%edi
42b720:	8b 08                	mov    (%eax),%ecx
42b722:	ff 37                	push   (%edi)
42b724:	50                   	push   %eax
42b725:	ff 91 a8 00 00 00    	call   *0xa8(%ecx)
42b72b:	89 77 78             	mov    %esi,0x78(%edi)
42b72e:	b8 00 00 00 80       	mov    $0x80000000,%eax
42b733:	33 ff                	xor    %edi,%edi
42b735:	89 45 dc             	mov    %eax,-0x24(%ebp)
42b738:	89 45 d8             	mov    %eax,-0x28(%ebp)
42b73b:	89 7d f4             	mov    %edi,-0xc(%ebp)
42b73e:	e9 7e fd ff ff       	jmp    0x42b4c1
42b743:	ff 77 08             	push   0x8(%edi)
42b746:	ff 15 28 b2 44 00    	call   *0x44b228
42b74c:	85 c0                	test   %eax,%eax
42b74e:	0f 84 0a 01 00 00    	je     0x42b85e
42b754:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42b757:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b75a:	8b 7d f4             	mov    -0xc(%ebp),%edi
42b75d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
42b760:	83 45 d0 28          	addl   $0x28,-0x30(%ebp)
42b764:	40                   	inc    %eax
42b765:	89 45 d4             	mov    %eax,-0x2c(%ebp)
42b768:	85 f6                	test   %esi,%esi
42b76a:	0f 89 2d fc ff ff    	jns    0x42b39d
42b770:	81 7d e4 00 00 00 80 	cmpl   $0x80000000,-0x1c(%ebp)
42b777:	74 39                	je     0x42b7b2
42b779:	8b 45 e0             	mov    -0x20(%ebp),%eax
42b77c:	33 c9                	xor    %ecx,%ecx
42b77e:	51                   	push   %ecx
42b77f:	51                   	push   %ecx
42b780:	50                   	push   %eax
42b781:	51                   	push   %ecx
42b782:	68 5d 01 00 a0       	push   $0xa000015d
42b787:	56                   	push   %esi
42b788:	e8 42 49 01 00       	call   0x4400cf
42b78d:	8b 75 e4             	mov    -0x1c(%ebp),%esi
42b790:	6b c6 28             	imul   $0x28,%esi,%eax
42b793:	03 43 4c             	add    0x4c(%ebx),%eax
42b796:	50                   	push   %eax
42b797:	e8 fe f4 ff ff       	call   0x42ac9a
42b79c:	29 45 fc             	sub    %eax,-0x4(%ebp)
42b79f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42b7a2:	8b 7d f4             	mov    -0xc(%ebp),%edi
42b7a5:	1b ca                	sbb    %edx,%ecx
42b7a7:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b7aa:	89 75 e8             	mov    %esi,-0x18(%ebp)
42b7ad:	e9 bd fb ff ff       	jmp    0x42b36f
42b7b2:	85 ff                	test   %edi,%edi
42b7b4:	0f 84 e2 00 00 00    	je     0x42b89c
42b7ba:	85 f6                	test   %esi,%esi
42b7bc:	79 0b                	jns    0x42b7c9
42b7be:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
42b7c2:	75 05                	jne    0x42b7c9
42b7c4:	6a 05                	push   $0x5
42b7c6:	5a                   	pop    %edx
42b7c7:	eb 02                	jmp    0x42b7cb
42b7c9:	33 d2                	xor    %edx,%edx
42b7cb:	8b 45 0c             	mov    0xc(%ebp),%eax
42b7ce:	52                   	push   %edx
42b7cf:	56                   	push   %esi
42b7d0:	ff 37                	push   (%edi)
42b7d2:	8b 40 10             	mov    0x10(%eax),%eax
42b7d5:	50                   	push   %eax
42b7d6:	8b 08                	mov    (%eax),%ecx
42b7d8:	ff 91 a8 00 00 00    	call   *0xa8(%ecx)
42b7de:	50                   	push   %eax
42b7df:	6a 02                	push   $0x2
42b7e1:	6a 00                	push   $0x0
42b7e3:	ff 75 0c             	push   0xc(%ebp)
42b7e6:	e8 1e 1c fe ff       	call   0x40d409
42b7eb:	85 f6                	test   %esi,%esi
42b7ed:	79 4a                	jns    0x42b839
42b7ef:	83 f8 04             	cmp    $0x4,%eax
42b7f2:	75 1d                	jne    0x42b811
42b7f4:	33 c0                	xor    %eax,%eax
42b7f6:	50                   	push   %eax
42b7f7:	50                   	push   %eax
42b7f8:	ff 37                	push   (%edi)
42b7fa:	50                   	push   %eax
42b7fb:	68 5c 01 00 a0       	push   $0xa000015c
42b800:	56                   	push   %esi
42b801:	e8 c9 48 01 00       	call   0x4400cf
42b806:	8b 45 dc             	mov    -0x24(%ebp),%eax
42b809:	89 45 e8             	mov    %eax,-0x18(%ebp)
42b80c:	33 c0                	xor    %eax,%eax
42b80e:	40                   	inc    %eax
42b80f:	eb 2b                	jmp    0x42b83c
42b811:	83 f8 05             	cmp    $0x5,%eax
42b814:	75 23                	jne    0x42b839
42b816:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
42b81a:	75 1d                	jne    0x42b839
42b81c:	56                   	push   %esi
42b81d:	ff 37                	push   (%edi)
42b81f:	68 5e 01 00 a0       	push   $0xa000015e
42b824:	6a 02                	push   $0x2
42b826:	e8 e4 9c fd ff       	call   0x40550f
42b82b:	8b 45 1c             	mov    0x1c(%ebp),%eax
42b82e:	83 c4 10             	add    $0x10,%esp
42b831:	ff 00                	incl   (%eax)
42b833:	8b 45 d8             	mov    -0x28(%ebp),%eax
42b836:	40                   	inc    %eax
42b837:	eb d0                	jmp    0x42b809
42b839:	8b 45 cc             	mov    -0x34(%ebp),%eax
42b83c:	89 77 78             	mov    %esi,0x78(%edi)
42b83f:	b9 00 00 00 80       	mov    $0x80000000,%ecx
42b844:	33 ff                	xor    %edi,%edi
42b846:	89 4d dc             	mov    %ecx,-0x24(%ebp)
42b849:	89 4d d8             	mov    %ecx,-0x28(%ebp)
42b84c:	89 7d f4             	mov    %edi,-0xc(%ebp)
42b84f:	85 c0                	test   %eax,%eax
42b851:	74 49                	je     0x42b89c
42b853:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42b856:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b859:	e9 14 fb ff ff       	jmp    0x42b372
42b85e:	ff 15 e8 b0 44 00    	call   *0x44b0e8
42b864:	0f b7 f0             	movzwl %ax,%esi
42b867:	81 ce 00 00 07 80    	or     $0x80070000,%esi
42b86d:	85 c0                	test   %eax,%eax
42b86f:	0f 4e f0             	cmovle %eax,%esi
42b872:	b8 05 40 00 80       	mov    $0x80004005,%eax
42b877:	85 f6                	test   %esi,%esi
42b879:	0f 49 f0             	cmovns %eax,%esi
42b87c:	56                   	push   %esi
42b87d:	68 70 02 00 00       	push   $0x270
42b882:	68 74 e9 45 00       	push   $0x45e974
42b887:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b88a:	e8 44 7f fd ff       	call   0x4037d3
42b88f:	68 4c eb 45 00       	push   $0x45eb4c
42b894:	56                   	push   %esi
42b895:	e8 95 48 01 00       	call   0x44012f
42b89a:	59                   	pop    %ecx
42b89b:	59                   	pop    %ecx
42b89c:	85 f6                	test   %esi,%esi
42b89e:	79 5d                	jns    0x42b8fd
42b8a0:	33 ff                	xor    %edi,%edi
42b8a2:	39 7b 58             	cmp    %edi,0x58(%ebx)
42b8a5:	76 4d                	jbe    0x42b8f4
42b8a7:	8b 43 54             	mov    0x54(%ebx),%eax
42b8aa:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
42b8ad:	83 38 01             	cmpl   $0x1,(%eax)
42b8b0:	75 05                	jne    0x42b8b7
42b8b2:	39 48 08             	cmp    %ecx,0x8(%eax)
42b8b5:	74 0b                	je     0x42b8c2
42b8b7:	47                   	inc    %edi
42b8b8:	83 c0 28             	add    $0x28,%eax
42b8bb:	3b 7b 58             	cmp    0x58(%ebx),%edi
42b8be:	72 ed                	jb     0x42b8ad
42b8c0:	eb 32                	jmp    0x42b8f4
42b8c2:	85 ff                	test   %edi,%edi
42b8c4:	74 2e                	je     0x42b8f4
42b8c6:	83 ef 01             	sub    $0x1,%edi
42b8c9:	78 29                	js     0x42b8f4
42b8cb:	8b 75 14             	mov    0x14(%ebp),%esi
42b8ce:	6b df 28             	imul   $0x28,%edi,%ebx
42b8d1:	8b 46 54             	mov    0x54(%esi),%eax
42b8d4:	83 3c 18 05          	cmpl   $0x5,(%eax,%ebx,1)
42b8d8:	75 0c                	jne    0x42b8e6
42b8da:	ff 74 18 08          	push   0x8(%eax,%ebx,1)
42b8de:	ff 75 18             	push   0x18(%ebp)
42b8e1:	e8 4a e1 ff ff       	call   0x429a30
42b8e6:	83 eb 28             	sub    $0x28,%ebx
42b8e9:	83 ef 01             	sub    $0x1,%edi
42b8ec:	79 e3                	jns    0x42b8d1
42b8ee:	8b 75 f0             	mov    -0x10(%ebp),%esi
42b8f1:	8b 5d 14             	mov    0x14(%ebp),%ebx
42b8f4:	8b 45 20             	mov    0x20(%ebp),%eax
42b8f7:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
42b8fd:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
42b901:	74 08                	je     0x42b90b
42b903:	ff 75 18             	push   0x18(%ebp)
42b906:	e8 9f 15 ff ff       	call   0x41ceaa
42b90b:	ff 73 04             	push   0x4(%ebx)
42b90e:	6a 00                	push   $0x0
42b910:	e8 29 e0 fe ff       	call   0x41993e
42b915:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42b918:	56                   	push   %esi
42b919:	8b 41 10             	mov    0x10(%ecx),%eax
42b91c:	50                   	push   %eax
42b91d:	8b 08                	mov    (%eax),%ecx
42b91f:	ff 91 ac 00 00 00    	call   *0xac(%ecx)
42b925:	5f                   	pop    %edi