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
51ba4f:	85 c0                	test   %eax,%eax
51ba51:	0f 84 bc 00 00 00    	je     0x51bb13
51ba57:	39 78 20             	cmp    %edi,0x20(%eax)
51ba5a:	0f 84 b3 00 00 00    	je     0x51bb13
51ba60:	c7 46 10 04 00 00 00 	movl   $0x4,0x10(%esi)
51ba67:	8b 40 1c             	mov    0x1c(%eax),%eax
51ba6a:	85 c0                	test   %eax,%eax
51ba6c:	74 1b                	je     0x51ba89
51ba6e:	56                   	push   %esi
51ba6f:	ff d0                	call   *%eax
51ba71:	83 c4 04             	add    $0x4,%esp
51ba74:	85 c0                	test   %eax,%eax
51ba76:	7f 11                	jg     0x51ba89
51ba78:	56                   	push   %esi
51ba79:	89 7e 10             	mov    %edi,0x10(%esi)
51ba7c:	e8 6f b7 fc ff       	call   0x4e71f0
51ba81:	83 c4 04             	add    $0x4,%esp
51ba84:	8b c7                	mov    %edi,%eax
51ba86:	5f                   	pop    %edi
51ba87:	5e                   	pop    %esi
51ba88:	c3                   	ret
51ba89:	ff 74 24 14          	push   0x14(%esp)
51ba8d:	ff 74 24 1c          	push   0x1c(%esp)
51ba91:	6a 06                	push   $0x6
51ba93:	6a 04                	push   $0x4
51ba95:	6a ff                	push   $0xffffffff
51ba97:	56                   	push   %esi
51ba98:	e8 33 b5 fc ff       	call   0x4e6fd0
51ba9d:	83 c4 18             	add    $0x18,%esp
51baa0:	85 c0                	test   %eax,%eax
51baa2:	0f 8e 86 00 00 00    	jle    0x51bb2e
51baa8:	8b 06                	mov    (%esi),%eax
51baaa:	85 c0                	test   %eax,%eax
51baac:	74 52                	je     0x51bb00
51baae:	39 78 20             	cmp    %edi,0x20(%eax)
51bab1:	74 4d                	je     0x51bb00
51bab3:	83 7e 10 04          	cmpl   $0x4,0x10(%esi)
51bab7:	74 13                	je     0x51bacc
51bab9:	6a 60                	push   $0x60
51babb:	68 14 08 64 00       	push   $0x640814
51bac0:	68 97 00 00 00       	push   $0x97
51bac5:	68 92 00 00 00       	push   $0x92
51baca:	eb 58                	jmp    0x51bb24
51bacc:	e8 7f 54 fd ff       	call   0x4f0f50
51bad1:	8b f8                	mov    %eax,%edi
51bad3:	85 ff                	test   %edi,%edi
51bad5:	74 57                	je     0x51bb2e
51bad7:	8b 0e                	mov    (%esi),%ecx
51bad9:	57                   	push   %edi
51bada:	56                   	push   %esi
51badb:	8b 49 20             	mov    0x20(%ecx),%ecx
51bade:	ff d1                	call   *%ecx
51bae0:	83 c4 08             	add    $0x8,%esp
51bae3:	85 c0                	test   %eax,%eax
51bae5:	7f 47                	jg     0x51bb2e
51bae7:	57                   	push   %edi
51bae8:	e8 f3 51 fd ff       	call   0x4f0ce0
51baed:	83 c4 04             	add    $0x4,%esp
51baf0:	33 ff                	xor    %edi,%edi
51baf2:	56                   	push   %esi
51baf3:	e8 f8 b6 fc ff       	call   0x4e71f0
51baf8:	83 c4 04             	add    $0x4,%esp
51bafb:	8b c7                	mov    %edi,%eax
51bafd:	5f                   	pop    %edi
51bafe:	5e                   	pop    %esi
51baff:	c3                   	ret
51bb00:	6a 5c                	push   $0x5c
51bb02:	68 14 08 64 00       	push   $0x640814
51bb07:	68 96 00 00 00       	push   $0x96
51bb0c:	68 92 00 00 00       	push   $0x92
51bb11:	eb 11                	jmp    0x51bb24
51bb13:	6a 4a                	push   $0x4a
51bb15:	68 14 08 64 00       	push   $0x640814
51bb1a:	68 96 00 00 00       	push   $0x96
51bb1f:	68 93 00 00 00       	push   $0x93
51bb24:	6a 06                	push   $0x6
51bb26:	e8 55 d4 fb ff       	call   0x4d8f80
51bb2b:	83 c4 14             	add    $0x14,%esp
51bb2e:	56                   	push   %esi
51bb2f:	e8 bc b6 fc ff       	call   0x4e71f0
51bb34:	83 c4 04             	add    $0x4,%esp
51bb37:	8b c7                	mov    %edi,%eax
51bb39:	5f                   	pop    %edi
51bb3a:	5e                   	pop    %esi
51bb3b:	c3                   	ret
51bb3c:	cc                   	int3
51bb3d:	cc                   	int3
51bb3e:	cc                   	int3
51bb3f:	cc                   	int3
51bb40:	57                   	push   %edi
51bb41:	8b 7c 24 08          	mov    0x8(%esp),%edi
51bb45:	85 ff                	test   %edi,%edi
51bb47:	0f 84 9b 00 00 00    	je     0x51bbe8
51bb4d:	8b 07                	mov    (%edi),%eax
51bb4f:	85 c0                	test   %eax,%eax
51bb51:	0f 84 91 00 00 00    	je     0x51bbe8
51bb57:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
51bb5b:	0f 84 87 00 00 00    	je     0x51bbe8
51bb61:	83 7f 10 02          	cmpl   $0x2,0x10(%edi)
51bb65:	74 20                	je     0x51bb87
51bb67:	6a 2e                	push   $0x2e
51bb69:	68 14 08 64 00       	push   $0x640814
51bb6e:	68 97 00 00 00       	push   $0x97
51bb73:	68 94 00 00 00       	push   $0x94
51bb78:	6a 06                	push   $0x6
51bb7a:	e8 01 d4 fb ff       	call   0x4d8f80
51bb7f:	83 c4 14             	add    $0x14,%esp
51bb82:	83 c8 ff             	or     $0xffffffff,%eax
51bb85:	5f                   	pop    %edi
51bb86:	c3                   	ret
51bb87:	56                   	push   %esi
51bb88:	8b 74 24 10          	mov    0x10(%esp),%esi
51bb8c:	85 f6                	test   %esi,%esi
51bb8e:	74 2b                	je     0x51bbbb
51bb90:	8b 0e                	mov    (%esi),%ecx
51bb92:	85 c9                	test   %ecx,%ecx
51bb94:	75 2b                	jne    0x51bbc1
51bb96:	e8 b5 53 fd ff       	call   0x4f0f50
51bb9b:	8b c8                	mov    %eax,%ecx
51bb9d:	89 0e                	mov    %ecx,(%esi)
51bb9f:	85 c9                	test   %ecx,%ecx
51bba1:	75 1e                	jne    0x51bbc1
51bba3:	6a 39                	push   $0x39
51bba5:	68 14 08 64 00       	push   $0x640814
51bbaa:	6a 41                	push   $0x41
51bbac:	68 94 00 00 00       	push   $0x94
51bbb1:	6a 06                	push   $0x6
51bbb3:	e8 c8 d3 fb ff       	call   0x4d8f80
51bbb8:	83 c4 14             	add    $0x14,%esp
51bbbb:	5e                   	pop    %esi
51bbbc:	83 c8 ff             	or     $0xffffffff,%eax
51bbbf:	5f                   	pop    %edi
51bbc0:	c3                   	ret
51bbc1:	8b 07                	mov    (%edi),%eax
51bbc3:	51                   	push   %ecx
51bbc4:	57                   	push   %edi
51bbc5:	8b 40 18             	mov    0x18(%eax),%eax
51bbc8:	ff d0                	call   *%eax
51bbca:	8b f8                	mov    %eax,%edi
51bbcc:	83 c4 08             	add    $0x8,%esp
51bbcf:	85 ff                	test   %edi,%edi
51bbd1:	7f 10                	jg     0x51bbe3
51bbd3:	ff 36                	push   (%esi)
51bbd5:	e8 06 51 fd ff       	call   0x4f0ce0
51bbda:	83 c4 04             	add    $0x4,%esp
51bbdd:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
51bbe3:	5e                   	pop    %esi
51bbe4:	8b c7                	mov    %edi,%eax
51bbe6:	5f                   	pop    %edi
51bbe7:	c3                   	ret
51bbe8:	6a 29                	push   $0x29
51bbea:	68 14 08 64 00       	push   $0x640814
51bbef:	68 96 00 00 00       	push   $0x96
51bbf4:	68 94 00 00 00       	push   $0x94
51bbf9:	6a 06                	push   $0x6
51bbfb:	e8 80 d3 fb ff       	call   0x4d8f80
51bc00:	83 c4 14             	add    $0x14,%esp
51bc03:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
51bc08:	5f                   	pop    %edi
51bc09:	c3                   	ret
51bc0a:	cc                   	int3
51bc0b:	cc                   	int3
51bc0c:	cc                   	int3
51bc0d:	cc                   	int3
51bc0e:	cc                   	int3
51bc0f:	cc                   	int3
51bc10:	56                   	push   %esi
51bc11:	8b 74 24 08          	mov    0x8(%esp),%esi
51bc15:	85 f6                	test   %esi,%esi
51bc17:	74 34                	je     0x51bc4d
51bc19:	8b 06                	mov    (%esi),%eax
51bc1b:	85 c0                	test   %eax,%eax
51bc1d:	74 2e                	je     0x51bc4d
51bc1f:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
51bc23:	74 28                	je     0x51bc4d