4e85af:	50                   	push   %eax
4e85b0:	e8 bb 1d ff ff       	call   0x4da370
4e85b5:	83 c0 04             	add    $0x4,%eax
4e85b8:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
4e85bb:	03 c1                	add    %ecx,%eax
4e85bd:	83 c4 20             	add    $0x20,%esp
4e85c0:	83 f8 08             	cmp    $0x8,%eax
4e85c3:	0f 87 00 01 00 00    	ja     0x4e86c9
4e85c9:	ff 24 85 74 89 4e 00 	jmp    *0x4e8974(,%eax,4)
4e85d0:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4e85d4:	8d 34 ad 00 00 00 00 	lea    0x0(,%ebp,4),%esi
4e85db:	8b c7                	mov    %edi,%eax
4e85dd:	2b c5                	sub    %ebp,%eax
4e85df:	8b 6c 24 48          	mov    0x48(%esp),%ebp
4e85e3:	50                   	push   %eax
4e85e4:	57                   	push   %edi
4e85e5:	51                   	push   %ecx
4e85e6:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
4e85e9:	50                   	push   %eax
4e85ea:	55                   	push   %ebp
4e85eb:	e8 a0 8c f2 ff       	call   0x411290
4e85f0:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
4e85f4:	8b 44 24 50          	mov    0x50(%esp),%eax
4e85f8:	2b c3                	sub    %ebx,%eax
4e85fa:	50                   	push   %eax
4e85fb:	53                   	push   %ebx
4e85fc:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
4e85ff:	50                   	push   %eax
4e8600:	51                   	push   %ecx
4e8601:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
4e8604:	50                   	push   %eax
4e8605:	e8 86 8c f2 ff       	call   0x411290
4e860a:	8b 6c 24 64          	mov    0x64(%esp),%ebp
4e860e:	83 c4 28             	add    $0x28,%esp
4e8611:	e9 ba 00 00 00       	jmp    0x4e86d0
4e8616:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4e861a:	8d 34 ad 00 00 00 00 	lea    0x0(,%ebp,4),%esi
4e8621:	8b c7                	mov    %edi,%eax
4e8623:	2b c5                	sub    %ebp,%eax
4e8625:	8b 6c 24 48          	mov    0x48(%esp),%ebp
4e8629:	50                   	push   %eax
4e862a:	57                   	push   %edi
4e862b:	51                   	push   %ecx
4e862c:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
4e862f:	50                   	push   %eax
4e8630:	55                   	push   %ebp
4e8631:	e8 5a 8c f2 ff       	call   0x411290
4e8636:	ff 74 24 28          	push   0x28(%esp)
4e863a:	8b 4c 24 50          	mov    0x50(%esp),%ecx
4e863e:	53                   	push   %ebx
4e863f:	51                   	push   %ecx
4e8640:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
4e8643:	50                   	push   %eax
4e8644:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
4e8647:	50                   	push   %eax
4e8648:	e8 43 8c f2 ff       	call   0x411290
4e864d:	8b 6c 24 64          	mov    0x64(%esp),%ebp
4e8651:	83 c4 28             	add    $0x28,%esp
4e8654:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%esp)
4e865b:	00
4e865c:	eb 72                	jmp    0x4e86d0
4e865e:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4e8662:	ff 74 24 18          	push   0x18(%esp)
4e8666:	8b 74 24 14          	mov    0x14(%esp),%esi
4e866a:	8b 6c 24 4c          	mov    0x4c(%esp),%ebp
4e866e:	57                   	push   %edi
4e866f:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
4e8672:	50                   	push   %eax
4e8673:	51                   	push   %ecx
4e8674:	55                   	push   %ebp
4e8675:	e8 16 8c f2 ff       	call   0x411290
4e867a:	8b 44 24 50          	mov    0x50(%esp),%eax
4e867e:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
4e8682:	2b c3                	sub    %ebx,%eax
4e8684:	50                   	push   %eax
4e8685:	53                   	push   %ebx
4e8686:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
4e8689:	50                   	push   %eax
4e868a:	51                   	push   %ecx
4e868b:	eb b7                	jmp    0x4e8644
4e868d:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4e8691:	ff 74 24 18          	push   0x18(%esp)
4e8695:	8b 74 24 14          	mov    0x14(%esp),%esi
4e8699:	8b 6c 24 4c          	mov    0x4c(%esp),%ebp
4e869d:	57                   	push   %edi
4e869e:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
4e86a1:	50                   	push   %eax
4e86a2:	51                   	push   %ecx
4e86a3:	55                   	push   %ebp
4e86a4:	e8 e7 8b f2 ff       	call   0x411290
4e86a9:	ff 74 24 28          	push   0x28(%esp)
4e86ad:	8b 4c 24 50          	mov    0x50(%esp),%ecx
4e86b1:	53                   	push   %ebx
4e86b2:	51                   	push   %ecx
4e86b3:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
4e86b6:	50                   	push   %eax
4e86b7:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
4e86ba:	50                   	push   %eax
4e86bb:	e8 d0 8b f2 ff       	call   0x411290
4e86c0:	8b 6c 24 64          	mov    0x64(%esp),%ebp
4e86c4:	83 c4 28             	add    $0x28,%esp
4e86c7:	eb 07                	jmp    0x4e86d0
4e86c9:	8d 34 ad 00 00 00 00 	lea    0x0(,%ebp,4),%esi
4e86d0:	8b 44 24 48          	mov    0x48(%esp),%eax
4e86d4:	8d 14 06             	lea    (%esi,%eax,1),%edx
4e86d7:	8d 34 6d 00 00 00 00 	lea    0x0(,%ebp,2),%esi
4e86de:	8d 0c b5 00 00 00 00 	lea    0x0(,%esi,4),%ecx
4e86e5:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4e86e9:	03 c8                	add    %eax,%ecx
4e86eb:	83 fd 08             	cmp    $0x8,%ebp
4e86ee:	75 5e                	jne    0x4e874e
4e86f0:	52                   	push   %edx
4e86f1:	50                   	push   %eax
4e86f2:	51                   	push   %ecx
4e86f3:	e8 88 97 f2 ff       	call   0x411e80
4e86f8:	ff 74 24 44          	push   0x44(%esp)
4e86fc:	8b 6c 24 40          	mov    0x40(%esp),%ebp
4e8700:	ff 74 24 44          	push   0x44(%esp)
4e8704:	55                   	push   %ebp
4e8705:	e8 76 97 f2 ff       	call   0x411e80
4e870a:	8b 44 24 50          	mov    0x50(%esp),%eax
4e870e:	03 44 24 28          	add    0x28(%esp),%eax
4e8712:	03 6c 24 30          	add    0x30(%esp),%ebp
4e8716:	53                   	push   %ebx
4e8717:	50                   	push   %eax
4e8718:	8b 44 24 54          	mov    0x54(%esp),%eax
4e871c:	03 44 24 30          	add    0x30(%esp),%eax
4e8720:	57                   	push   %edi
4e8721:	50                   	push   %eax
4e8722:	55                   	push   %ebp
4e8723:	e8 f8 fc ff ff       	call   0x4e8420
4e8728:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
4e872c:	8b c6                	mov    %esi,%eax
4e872e:	2b c7                	sub    %edi,%eax
4e8730:	2b c3                	sub    %ebx,%eax
4e8732:	c1 e0 02             	shl    $0x2,%eax
4e8735:	50                   	push   %eax
4e8736:	8d 04 3e             	lea    (%esi,%edi,1),%eax
4e8739:	03 c3                	add    %ebx,%eax
4e873b:	6a 00                	push   $0x0
4e873d:	8d 04 81             	lea    (%ecx,%eax,4),%eax
4e8740:	50                   	push   %eax
4e8741:	e8 2a a5 0e 00       	call   0x5d2c70
4e8746:	83 c4 38             	add    $0x38,%esp
4e8749:	e9 71 01 00 00       	jmp    0x4e88bf
4e874e:	8d 34 f0             	lea    (%eax,%esi,8),%esi
4e8751:	56                   	push   %esi
4e8752:	6a 00                	push   $0x0
4e8754:	6a 00                	push   $0x0
4e8756:	55                   	push   %ebp
4e8757:	52                   	push   %edx
4e8758:	50                   	push   %eax
4e8759:	51                   	push   %ecx
4e875a:	89 74 24 30          	mov    %esi,0x30(%esp)
4e875e:	e8 3d 02 00 00       	call   0x4e89a0
4e8763:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
4e8767:	56                   	push   %esi
4e8768:	6a 00                	push   $0x0
4e876a:	6a 00                	push   $0x0
4e876c:	55                   	push   %ebp
4e876d:	ff 74 24 64          	push   0x64(%esp)
4e8771:	ff 74 24 64          	push   0x64(%esp)
4e8775:	51                   	push   %ecx
4e8776:	e8 25 02 00 00       	call   0x4e89a0
4e877b:	8b f5                	mov    %ebp,%esi
4e877d:	8b c3                	mov    %ebx,%eax
4e877f:	8b 6c 24 68          	mov    0x68(%esp),%ebp
4e8783:	8b d7                	mov    %edi,%edx
4e8785:	d1 ee                	shr    $1,%esi
4e8787:	83 c4 38             	add    $0x38,%esp
4e878a:	2b c6                	sub    %esi,%eax
4e878c:	2b d6                	sub    %esi,%edx
4e878e:	3b fb                	cmp    %ebx,%edi
4e8790:	89 44 24 24          	mov    %eax,0x24(%esp)
4e8794:	8b ca                	mov    %edx,%ecx
4e8796:	0f 4e c8             	cmovle %eax,%ecx
4e8799:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4e879d:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4e87a1:	03 e9                	add    %ecx,%ebp
4e87a3:	8b 44 24 28          	mov    0x28(%esp),%eax
4e87a7:	85 c0                	test   %eax,%eax
4e87a9:	75 4a                	jne    0x4e87f5
4e87ab:	ff 74 24 14          	push   0x14(%esp)
4e87af:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4e87b3:	ff 74 24 28          	push   0x28(%esp)
4e87b7:	03 44 24 18          	add    0x18(%esp),%eax
4e87bb:	52                   	push   %edx
4e87bc:	56                   	push   %esi
4e87bd:	50                   	push   %eax
4e87be:	8b 44 24 48          	mov    0x48(%esp),%eax
4e87c2:	03 44 24 24          	add    0x24(%esp),%eax
4e87c6:	50                   	push   %eax
4e87c7:	55                   	push   %ebp
4e87c8:	e8 d3 01 00 00       	call   0x4e89a0
4e87cd:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4e87d1:	03 f6                	add    %esi,%esi
4e87d3:	8b c1                	mov    %ecx,%eax
4e87d5:	2b c6                	sub    %esi,%eax
4e87d7:	c1 e0 02             	shl    $0x2,%eax
4e87da:	50                   	push   %eax
4e87db:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
4e87de:	8b 4c 24 50          	mov    0x50(%esp),%ecx
4e87e2:	6a 00                	push   $0x0
4e87e4:	8d 04 81             	lea    (%ecx,%eax,4),%eax
4e87e7:	50                   	push   %eax
4e87e8:	e8 83 a4 0e 00       	call   0x5d2c70
4e87ed:	83 c4 28             	add    $0x28,%esp
4e87f0:	e9 ca 00 00 00       	jmp    0x4e88bf
4e87f5:	7e 49                	jle    0x4e8840
4e87f7:	ff 74 24 14          	push   0x14(%esp)
4e87fb:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4e87ff:	ff 74 24 28          	push   0x28(%esp)
4e8803:	03 44 24 18          	add    0x18(%esp),%eax
4e8807:	52                   	push   %edx
4e8808:	56                   	push   %esi
4e8809:	50                   	push   %eax
4e880a:	8b 44 24 48          	mov    0x48(%esp),%eax
4e880e:	03 44 24 24          	add    0x24(%esp),%eax
4e8812:	50                   	push   %eax
4e8813:	55                   	push   %ebp
4e8814:	e8 07 fd ff ff       	call   0x4e8520
4e8819:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4e881d:	8b c1                	mov    %ecx,%eax
4e881f:	2b c7                	sub    %edi,%eax
4e8821:	2b c3                	sub    %ebx,%eax
4e8823:	c1 e0 02             	shl    $0x2,%eax
4e8826:	50                   	push   %eax
4e8827:	8d 04 39             	lea    (%ecx,%edi,1),%eax
4e882a:	8b 4c 24 50          	mov    0x50(%esp),%ecx
4e882e:	03 c3                	add    %ebx,%eax
4e8830:	6a 00                	push   $0x0
4e8832:	8d 04 81             	lea    (%ecx,%eax,4),%eax
4e8835:	50                   	push   %eax
4e8836:	e8 35 a4 0e 00       	call   0x5d2c70
4e883b:	83 c4 28             	add    $0x28,%esp
4e883e:	eb 7f                	jmp    0x4e88bf
4e8840:	51                   	push   %ecx
4e8841:	6a 00                	push   $0x0
4e8843:	55                   	push   %ebp
4e8844:	e8 27 a4 0e 00       	call   0x5d2c70
4e8849:	83 c4 0c             	add    $0xc,%esp
4e884c:	83 ff 10             	cmp    $0x10,%edi
4e884f:	7d 24                	jge    0x4e8875
4e8851:	83 fb 10             	cmp    $0x10,%ebx
4e8854:	7d 1f                	jge    0x4e8875
4e8856:	8b 44 24 38          	mov    0x38(%esp),%eax
4e885a:	03 44 24 10          	add    0x10(%esp),%eax
4e885e:	53                   	push   %ebx
4e885f:	50                   	push   %eax
4e8860:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4e8864:	03 44 24 18          	add    0x18(%esp),%eax
4e8868:	57                   	push   %edi
4e8869:	50                   	push   %eax
4e886a:	55                   	push   %ebp
4e886b:	e8 b0 fb ff ff       	call   0x4e8420
4e8870:	83 c4 14             	add    $0x14,%esp
4e8873:	eb 4a                	jmp    0x4e88bf
4e8875:	d1 ee                	shr    $1,%esi
4e8877:	3b f7                	cmp    %edi,%esi
4e8879:	7c 1e                	jl     0x4e8899
4e887b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4e8880:	3b f3                	cmp    %ebx,%esi
4e8882:	7c 15                	jl     0x4e8899
4e8884:	3b f7                	cmp    %edi,%esi
4e8886:	74 6d                	je     0x4e88f5
4e8888:	3b f3                	cmp    %ebx,%esi
4e888a:	74 69                	je     0x4e88f5
4e888c:	8b c6                	mov    %esi,%eax
4e888e:	99                   	cltd
4e888f:	2b c2                	sub    %edx,%eax
4e8891:	8b f0                	mov    %eax,%esi
4e8893:	d1 fe                	sar    $1,%esi
4e8895:	3b f7                	cmp    %edi,%esi
4e8897:	7d e7                	jge    0x4e8880
4e8899:	ff 74 24 14          	push   0x14(%esp)
4e889d:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4e88a1:	2b de                	sub    %esi,%ebx
4e88a3:	03 44 24 14          	add    0x14(%esp),%eax
4e88a7:	2b fe                	sub    %esi,%edi
4e88a9:	53                   	push   %ebx
4e88aa:	57                   	push   %edi
4e88ab:	56                   	push   %esi
4e88ac:	50                   	push   %eax
4e88ad:	8b 44 24 48          	mov    0x48(%esp),%eax
4e88b1:	03 44 24 24          	add    0x24(%esp),%eax
4e88b5:	50                   	push   %eax
4e88b6:	55                   	push   %ebp
4e88b7:	e8 64 fc ff ff       	call   0x4e8520
4e88bc:	83 c4 1c             	add    $0x1c,%esp
4e88bf:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4e88c3:	53                   	push   %ebx
4e88c4:	55                   	push   %ebp
4e88c5:	ff 74 24 38          	push   0x38(%esp)
4e88c9:	8b 6c 24 54          	mov    0x54(%esp),%ebp
4e88cd:	55                   	push   %ebp
4e88ce:	e8 3d 86 f2 ff       	call   0x410f10
4e88d3:	8b 7c 24 28          	mov    0x28(%esp),%edi
4e88d7:	83 c4 10             	add    $0x10,%esp
4e88da:	03 fd                	add    %ebp,%edi
4e88dc:	8b f0                	mov    %eax,%esi
4e88de:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
4e88e3:	53                   	push   %ebx
4e88e4:	74 34                	je     0x4e891a
4e88e6:	57                   	push   %edi
4e88e7:	55                   	push   %ebp
4e88e8:	57                   	push   %edi
4e88e9:	e8 e2 87 f2 ff       	call   0x4110d0
4e88ee:	83 c4 10             	add    $0x10,%esp
4e88f1:	2b f0                	sub    %eax,%esi
4e88f3:	eb 32                	jmp    0x4e8927
4e88f5:	ff 74 24 14          	push   0x14(%esp)
4e88f9:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4e88fd:	2b de                	sub    %esi,%ebx
4e88ff:	03 44 24 14          	add    0x14(%esp),%eax
4e8903:	2b fe                	sub    %esi,%edi
4e8905:	53                   	push   %ebx
4e8906:	57                   	push   %edi
4e8907:	56                   	push   %esi
4e8908:	50                   	push   %eax
4e8909:	8b 44 24 48          	mov    0x48(%esp),%eax
4e890d:	03 44 24 24          	add    0x24(%esp),%eax
4e8911:	50                   	push   %eax
4e8912:	55                   	push   %ebp
4e8913:	e8 88 00 00 00       	call   0x4e89a0
4e8918:	eb a2                	jmp    0x4e88bc
4e891a:	55                   	push   %ebp
4e891b:	57                   	push   %edi
4e891c:	57                   	push   %edi
4e891d:	e8 ee 85 f2 ff       	call   0x410f10
4e8922:	83 c4 10             	add    $0x10,%esp
4e8925:	03 f0                	add    %eax,%esi
4e8927:	8b 44 24 10          	mov    0x10(%esp),%eax
4e892b:	8b 6c 24 30          	mov    0x30(%esp),%ebp
4e892f:	03 c5                	add    %ebp,%eax
4e8931:	53                   	push   %ebx
4e8932:	57                   	push   %edi
4e8933:	50                   	push   %eax
4e8934:	50                   	push   %eax
4e8935:	e8 d6 85 f2 ff       	call   0x410f10
4e893a:	83 c4 10             	add    $0x10,%esp
4e893d:	03 f0                	add    %eax,%esi
4e893f:	74 28                	je     0x4e8969
4e8941:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4e8945:	03 c3                	add    %ebx,%eax
4e8947:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
4e894e:	8b 04 29             	mov    (%ecx,%ebp,1),%eax
4e8951:	03 cd                	add    %ebp,%ecx
4e8953:	03 c6                	add    %esi,%eax
4e8955:	89 01                	mov    %eax,(%ecx)
4e8957:	3b c6                	cmp    %esi,%eax