51b6a4:	50                   	push   %eax
51b6a5:	8d 44 24 40          	lea    0x40(%esp),%eax
51b6a9:	50                   	push   %eax
51b6aa:	8d 44 24 28          	lea    0x28(%esp),%eax
51b6ae:	50                   	push   %eax
51b6af:	e8 2c ef 03 00       	call   0x55a5e0
51b6b4:	8b c8                	mov    %eax,%ecx
51b6b6:	83 c4 10             	add    $0x10,%esp
51b6b9:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
51b6bd:	85 c9                	test   %ecx,%ecx
51b6bf:	0f 8e 7a 01 00 00    	jle    0x51b83f
51b6c5:	8b 44 24 1c          	mov    0x1c(%esp),%eax
51b6c9:	89 44 24 10          	mov    %eax,0x10(%esp)
51b6cd:	8d 44 24 14          	lea    0x14(%esp),%eax
51b6d1:	6a 10                	push   $0x10
51b6d3:	50                   	push   %eax
51b6d4:	8d 44 24 18          	lea    0x18(%esp),%eax
51b6d8:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
51b6dc:	50                   	push   %eax
51b6dd:	e8 be 01 00 00       	call   0x51b8a0
51b6e2:	83 c4 0c             	add    $0xc,%esp
51b6e5:	85 c0                	test   %eax,%eax
51b6e7:	0f 84 52 01 00 00    	je     0x51b83f
51b6ed:	6a 10                	push   $0x10
51b6ef:	8d 44 24 18          	lea    0x18(%esp),%eax
51b6f3:	50                   	push   %eax
51b6f4:	8d 44 24 18          	lea    0x18(%esp),%eax
51b6f8:	50                   	push   %eax
51b6f9:	e8 a2 01 00 00       	call   0x51b8a0
51b6fe:	83 c4 0c             	add    $0xc,%esp
51b701:	85 c0                	test   %eax,%eax
51b703:	0f 84 36 01 00 00    	je     0x51b83f
51b709:	6a 06                	push   $0x6
51b70b:	8d 44 24 18          	lea    0x18(%esp),%eax
51b70f:	50                   	push   %eax
51b710:	8d 44 24 18          	lea    0x18(%esp),%eax
51b714:	50                   	push   %eax
51b715:	e8 86 01 00 00       	call   0x51b8a0
51b71a:	83 c4 0c             	add    $0xc,%esp
51b71d:	85 c0                	test   %eax,%eax
51b71f:	0f 84 1a 01 00 00    	je     0x51b83f
51b725:	6a 04                	push   $0x4
51b727:	8d 44 24 18          	lea    0x18(%esp),%eax
51b72b:	50                   	push   %eax
51b72c:	8d 44 24 18          	lea    0x18(%esp),%eax
51b730:	50                   	push   %eax
51b731:	e8 6a 01 00 00       	call   0x51b8a0
51b736:	83 c4 0c             	add    $0xc,%esp
51b739:	85 c0                	test   %eax,%eax
51b73b:	0f 84 fe 00 00 00    	je     0x51b83f
51b741:	6a 04                	push   $0x4
51b743:	68 08 e3 68 00       	push   $0x68e308
51b748:	ff 74 24 18          	push   0x18(%esp)
51b74c:	e8 ff 62 ee ff       	call   0x401a50
51b751:	83 c4 0c             	add    $0xc,%esp
51b754:	85 c0                	test   %eax,%eax
51b756:	0f 85 e3 00 00 00    	jne    0x51b83f
51b75c:	50                   	push   %eax
51b75d:	ff 74 24 24          	push   0x24(%esp)
51b761:	8d 58 01             	lea    0x1(%eax),%ebx
51b764:	56                   	push   %esi
51b765:	e8 b6 f4 ff ff       	call   0x51ac20
51b76a:	83 c4 0c             	add    $0xc,%esp
51b76d:	85 c0                	test   %eax,%eax
51b76f:	0f 84 ca 00 00 00    	je     0x51b83f
51b775:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
51b77c:	00 00 00 00
51b780:	ff b4 24 b4 00 00 00 	push   0xb4(%esp)
51b787:	ff 74 24 2c          	push   0x2c(%esp)
51b78b:	56                   	push   %esi
51b78c:	e8 3f f6 ff ff       	call   0x51add0
51b791:	83 c4 0c             	add    $0xc,%esp
51b794:	85 c0                	test   %eax,%eax
51b796:	0f 84 a3 00 00 00    	je     0x51b83f
51b79c:	8b 4c 24 10          	mov    0x10(%esp),%ecx
51b7a0:	8b c3                	mov    %ebx,%eax
51b7a2:	ff 74 24 2c          	push   0x2c(%esp)
51b7a6:	c1 e8 08             	shr    $0x8,%eax
51b7a9:	88 41 02             	mov    %al,0x2(%ecx)
51b7ac:	8b c3                	mov    %ebx,%eax
51b7ae:	c1 e8 10             	shr    $0x10,%eax
51b7b1:	88 41 01             	mov    %al,0x1(%ecx)
51b7b4:	8b c3                	mov    %ebx,%eax
51b7b6:	c1 e8 18             	shr    $0x18,%eax
51b7b9:	88 59 03             	mov    %bl,0x3(%ecx)
51b7bc:	88 01                	mov    %al,(%ecx)
51b7be:	ff 74 24 20          	push   0x20(%esp)
51b7c2:	56                   	push   %esi
51b7c3:	e8 08 f6 ff ff       	call   0x51add0
51b7c8:	83 c4 0c             	add    $0xc,%esp
51b7cb:	85 c0                	test   %eax,%eax
51b7cd:	74 70                	je     0x51b83f
51b7cf:	6a 00                	push   $0x0
51b7d1:	3b fd                	cmp    %ebp,%edi
51b7d3:	72 33                	jb     0x51b808
51b7d5:	ff 74 24 1c          	push   0x1c(%esp)
51b7d9:	56                   	push   %esi
51b7da:	e8 91 f2 ff ff       	call   0x51aa70
51b7df:	83 c4 0c             	add    $0xc,%esp
51b7e2:	85 c0                	test   %eax,%eax
51b7e4:	74 59                	je     0x51b83f
51b7e6:	2b fd                	sub    %ebp,%edi
51b7e8:	74 4d                	je     0x51b837
51b7ea:	01 6c 24 18          	add    %ebp,0x18(%esp)
51b7ee:	43                   	inc    %ebx
51b7ef:	6a 00                	push   $0x0
51b7f1:	ff 74 24 24          	push   0x24(%esp)
51b7f5:	56                   	push   %esi
51b7f6:	e8 25 f4 ff ff       	call   0x51ac20
51b7fb:	83 c4 0c             	add    $0xc,%esp
51b7fe:	85 c0                	test   %eax,%eax
51b800:	0f 85 7a ff ff ff    	jne    0x51b780
51b806:	eb 37                	jmp    0x51b83f
51b808:	8d 44 24 64          	lea    0x64(%esp),%eax
51b80c:	50                   	push   %eax
51b80d:	56                   	push   %esi
51b80e:	e8 5d f2 ff ff       	call   0x51aa70
51b813:	83 c4 0c             	add    $0xc,%esp
51b816:	85 c0                	test   %eax,%eax
51b818:	74 25                	je     0x51b83f
51b81a:	57                   	push   %edi
51b81b:	8d 44 24 64          	lea    0x64(%esp),%eax
51b81f:	50                   	push   %eax
51b820:	ff 74 24 20          	push   0x20(%esp)
51b824:	e8 a7 75 0b 00       	call   0x5d2dd0
51b829:	8d 44 24 6c          	lea    0x6c(%esp),%eax
51b82d:	55                   	push   %ebp
51b82e:	50                   	push   %eax
51b82f:	e8 ac 61 ee ff       	call   0x4019e0
51b834:	83 c4 14             	add    $0x14,%esp
51b837:	c7 44 24 24 01 00 00 	movl   $0x1,0x24(%esp)
51b83e:	00
51b83f:	5f                   	pop    %edi
51b840:	68 92 00 00 00       	push   $0x92
51b845:	68 00 08 64 00       	push   $0x640800
51b84a:	ff 74 24 20          	push   0x20(%esp)
51b84e:	e8 2d 4f fc ff       	call   0x4e0780
51b853:	56                   	push   %esi
51b854:	e8 97 f8 ff ff       	call   0x51b0f0
51b859:	8b 44 24 30          	mov    0x30(%esp),%eax
51b85d:	83 c4 10             	add    $0x10,%esp
51b860:	5e                   	pop    %esi
51b861:	5d                   	pop    %ebp
51b862:	5b                   	pop    %ebx
51b863:	8b 8c 24 90 00 00 00 	mov    0x90(%esp),%ecx
51b86a:	33 cc                	xor    %esp,%ecx
51b86c:	e8 b5 61 0b 00       	call   0x5d1a26
51b871:	81 c4 94 00 00 00    	add    $0x94,%esp
51b877:	c3                   	ret
51b878:	8b 8c 24 9c 00 00 00 	mov    0x9c(%esp),%ecx
51b87f:	33 c0                	xor    %eax,%eax
51b881:	5e                   	pop    %esi
51b882:	5d                   	pop    %ebp
51b883:	5b                   	pop    %ebx
51b884:	33 cc                	xor    %esp,%ecx
51b886:	e8 9b 61 0b 00       	call   0x5d1a26
51b88b:	81 c4 94 00 00 00    	add    $0x94,%esp
51b891:	c3                   	ret
51b892:	cc                   	int3
51b893:	cc                   	int3
51b894:	cc                   	int3
51b895:	cc                   	int3
51b896:	cc                   	int3
51b897:	cc                   	int3
51b898:	cc                   	int3
51b899:	cc                   	int3
51b89a:	cc                   	int3
51b89b:	cc                   	int3
51b89c:	cc                   	int3
51b89d:	cc                   	int3
51b89e:	cc                   	int3
51b89f:	cc                   	int3
51b8a0:	b8 0c 00 00 00       	mov    $0xc,%eax
51b8a5:	e8 06 5f 0b 00       	call   0x5d17b0
51b8aa:	56                   	push   %esi
51b8ab:	8b 74 24 14          	mov    0x14(%esp),%esi
51b8af:	57                   	push   %edi
51b8b0:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
51b8b4:	8b 06                	mov    (%esi),%eax
51b8b6:	89 44 24 18          	mov    %eax,0x18(%esp)
51b8ba:	8d 44 24 0c          	lea    0xc(%esp),%eax
51b8be:	ff 37                	push   (%edi)
51b8c0:	50                   	push   %eax
51b8c1:	8d 44 24 10          	lea    0x10(%esp),%eax
51b8c5:	50                   	push   %eax
51b8c6:	8d 44 24 1c          	lea    0x1c(%esp),%eax
51b8ca:	50                   	push   %eax
51b8cb:	8d 44 24 28          	lea    0x28(%esp),%eax
51b8cf:	50                   	push   %eax
51b8d0:	e8 bb ea fe ff       	call   0x50a390
51b8d5:	83 c4 14             	add    $0x14,%esp
51b8d8:	84 c0                	test   %al,%al
51b8da:	78 31                	js     0x51b90d
51b8dc:	8b 44 24 08          	mov    0x8(%esp),%eax
51b8e0:	3b 44 24 20          	cmp    0x20(%esp),%eax
51b8e4:	75 27                	jne    0x51b90d
51b8e6:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
51b8eb:	75 20                	jne    0x51b90d
51b8ed:	8b 4c 24 18          	mov    0x18(%esp),%ecx
51b8f1:	83 f8 06             	cmp    $0x6,%eax
51b8f4:	75 04                	jne    0x51b8fa
51b8f6:	03 4c 24 10          	add    0x10(%esp),%ecx
51b8fa:	8b 06                	mov    (%esi),%eax
51b8fc:	2b c1                	sub    %ecx,%eax
51b8fe:	01 07                	add    %eax,(%edi)
51b900:	b8 01 00 00 00       	mov    $0x1,%eax
51b905:	5f                   	pop    %edi
51b906:	89 0e                	mov    %ecx,(%esi)
51b908:	5e                   	pop    %esi
51b909:	83 c4 0c             	add    $0xc,%esp
51b90c:	c3                   	ret
51b90d:	5f                   	pop    %edi
51b90e:	33 c0                	xor    %eax,%eax
51b910:	5e                   	pop    %esi
51b911:	83 c4 0c             	add    $0xc,%esp
51b914:	c3                   	ret
51b915:	cc                   	int3
51b916:	cc                   	int3
51b917:	cc                   	int3
51b918:	cc                   	int3
51b919:	cc                   	int3
51b91a:	cc                   	int3
51b91b:	cc                   	int3
51b91c:	cc                   	int3
51b91d:	cc                   	int3
51b91e:	cc                   	int3
51b91f:	cc                   	int3
51b920:	57                   	push   %edi
51b921:	8b 7c 24 08          	mov    0x8(%esp),%edi
51b925:	85 ff                	test   %edi,%edi
51b927:	74 7b                	je     0x51b9a4
51b929:	8b 07                	mov    (%edi),%eax
51b92b:	85 c0                	test   %eax,%eax
51b92d:	74 75                	je     0x51b9a4
51b92f:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
51b933:	74 6f                	je     0x51b9a4
51b935:	83 7f 10 04          	cmpl   $0x4,0x10(%edi)
51b939:	74 20                	je     0x51b95b
51b93b:	6a 60                	push   $0x60
51b93d:	68 14 08 64 00       	push   $0x640814
51b942:	68 97 00 00 00       	push   $0x97
51b947:	68 92 00 00 00       	push   $0x92
51b94c:	6a 06                	push   $0x6
51b94e:	e8 2d d6 fb ff       	call   0x4d8f80
51b953:	83 c4 14             	add    $0x14,%esp
51b956:	83 c8 ff             	or     $0xffffffff,%eax
51b959:	5f                   	pop    %edi
51b95a:	c3                   	ret
51b95b:	56                   	push   %esi
51b95c:	8b 74 24 10          	mov    0x10(%esp),%esi
51b960:	85 f6                	test   %esi,%esi
51b962:	74 3a                	je     0x51b99e
51b964:	8b 0e                	mov    (%esi),%ecx
51b966:	85 c9                	test   %ecx,%ecx
51b968:	75 0d                	jne    0x51b977
51b96a:	e8 e1 55 fd ff       	call   0x4f0f50
51b96f:	8b c8                	mov    %eax,%ecx
51b971:	89 0e                	mov    %ecx,(%esi)
51b973:	85 c9                	test   %ecx,%ecx
51b975:	74 27                	je     0x51b99e
51b977:	8b 07                	mov    (%edi),%eax
51b979:	51                   	push   %ecx
51b97a:	57                   	push   %edi
51b97b:	8b 40 20             	mov    0x20(%eax),%eax
51b97e:	ff d0                	call   *%eax
51b980:	8b f8                	mov    %eax,%edi
51b982:	83 c4 08             	add    $0x8,%esp
51b985:	85 ff                	test   %edi,%edi
51b987:	7f 10                	jg     0x51b999
51b989:	ff 36                	push   (%esi)
51b98b:	e8 50 53 fd ff       	call   0x4f0ce0
51b990:	83 c4 04             	add    $0x4,%esp
51b993:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
51b999:	5e                   	pop    %esi
51b99a:	8b c7                	mov    %edi,%eax
51b99c:	5f                   	pop    %edi
51b99d:	c3                   	ret
51b99e:	5e                   	pop    %esi
51b99f:	83 c8 ff             	or     $0xffffffff,%eax
51b9a2:	5f                   	pop    %edi
51b9a3:	c3                   	ret
51b9a4:	6a 5c                	push   $0x5c
51b9a6:	68 14 08 64 00       	push   $0x640814
51b9ab:	68 96 00 00 00       	push   $0x96
51b9b0:	68 92 00 00 00       	push   $0x92
51b9b5:	6a 06                	push   $0x6
51b9b7:	e8 c4 d5 fb ff       	call   0x4d8f80
51b9bc:	83 c4 14             	add    $0x14,%esp
51b9bf:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
51b9c4:	5f                   	pop    %edi
51b9c5:	c3                   	ret
51b9c6:	cc                   	int3
51b9c7:	cc                   	int3
51b9c8:	cc                   	int3
51b9c9:	cc                   	int3
51b9ca:	cc                   	int3
51b9cb:	cc                   	int3
51b9cc:	cc                   	int3
51b9cd:	cc                   	int3
51b9ce:	cc                   	int3
51b9cf:	cc                   	int3
51b9d0:	56                   	push   %esi
51b9d1:	8b 74 24 08          	mov    0x8(%esp),%esi
51b9d5:	85 f6                	test   %esi,%esi
51b9d7:	74 34                	je     0x51ba0d
51b9d9:	8b 06                	mov    (%esi),%eax
51b9db:	85 c0                	test   %eax,%eax
51b9dd:	74 2e                	je     0x51ba0d
51b9df:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
51b9e3:	74 28                	je     0x51ba0d
51b9e5:	c7 46 10 04 00 00 00 	movl   $0x4,0x10(%esi)
51b9ec:	8b 40 1c             	mov    0x1c(%eax),%eax
51b9ef:	85 c0                	test   %eax,%eax
51b9f1:	75 07                	jne    0x51b9fa
51b9f3:	b8 01 00 00 00       	mov    $0x1,%eax
51b9f8:	5e                   	pop    %esi
51b9f9:	c3                   	ret
51b9fa:	56                   	push   %esi
51b9fb:	ff d0                	call   *%eax
51b9fd:	83 c4 04             	add    $0x4,%esp
51ba00:	85 c0                	test   %eax,%eax
51ba02:	7f 29                	jg     0x51ba2d
51ba04:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
51ba0b:	5e                   	pop    %esi
51ba0c:	c3                   	ret
51ba0d:	6a 4a                	push   $0x4a
51ba0f:	68 14 08 64 00       	push   $0x640814
51ba14:	68 96 00 00 00       	push   $0x96
51ba19:	68 93 00 00 00       	push   $0x93
51ba1e:	6a 06                	push   $0x6
51ba20:	e8 5b d5 fb ff       	call   0x4d8f80
51ba25:	83 c4 14             	add    $0x14,%esp
51ba28:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
51ba2d:	5e                   	pop    %esi
51ba2e:	c3                   	ret
51ba2f:	cc                   	int3
51ba30:	56                   	push   %esi
51ba31:	57                   	push   %edi
51ba32:	ff 74 24 10          	push   0x10(%esp)
51ba36:	33 ff                	xor    %edi,%edi
51ba38:	ff 74 24 10          	push   0x10(%esp)
51ba3c:	e8 ff b8 fc ff       	call   0x4e7340
51ba41:	8b f0                	mov    %eax,%esi
51ba43:	83 c4 08             	add    $0x8,%esp
51ba46:	85 f6                	test   %esi,%esi
51ba48:	75 03                	jne    0x51ba4d
51ba4a:	5f                   	pop    %edi
51ba4b:	5e                   	pop    %esi
51ba4c:	c3                   	ret
51ba4d:	8b 06                	mov    (%esi),%eax