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
51bc25:	c7 46 10 02 00 00 00 	movl   $0x2,0x10(%esi)
51bc2c:	8b 40 14             	mov    0x14(%eax),%eax
51bc2f:	85 c0                	test   %eax,%eax
51bc31:	75 07                	jne    0x51bc3a
51bc33:	b8 01 00 00 00       	mov    $0x1,%eax
51bc38:	5e                   	pop    %esi
51bc39:	c3                   	ret
51bc3a:	56                   	push   %esi
51bc3b:	ff d0                	call   *%eax
51bc3d:	83 c4 04             	add    $0x4,%esp
51bc40:	85 c0                	test   %eax,%eax
51bc42:	7f 29                	jg     0x51bc6d
51bc44:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
51bc4b:	5e                   	pop    %esi
51bc4c:	c3                   	ret
51bc4d:	6a 18                	push   $0x18
51bc4f:	68 14 08 64 00       	push   $0x640814
51bc54:	68 96 00 00 00       	push   $0x96
51bc59:	68 95 00 00 00       	push   $0x95
51bc5e:	6a 06                	push   $0x6
51bc60:	e8 1b d3 fb ff       	call   0x4d8f80
51bc65:	83 c4 14             	add    $0x14,%esp
51bc68:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
51bc6d:	5e                   	pop    %esi
51bc6e:	c3                   	ret
51bc6f:	cc                   	int3
51bc70:	ff 74 24 08          	push   0x8(%esp)
51bc74:	68 90 bc 51 00       	push   $0x51bc90
51bc79:	ff 74 24 0c          	push   0xc(%esp)
51bc7d:	e8 9e d9 fb ff       	call   0x4d9620
51bc82:	83 c4 0c             	add    $0xc,%esp
51bc85:	c3                   	ret
51bc86:	cc                   	int3
51bc87:	cc                   	int3
51bc88:	cc                   	int3
51bc89:	cc                   	int3
51bc8a:	cc                   	int3
51bc8b:	cc                   	int3
51bc8c:	cc                   	int3
51bc8d:	cc                   	int3
51bc8e:	cc                   	int3
51bc8f:	cc                   	int3
51bc90:	ff 74 24 0c          	push   0xc(%esp)
51bc94:	e8 37 d9 fb ff       	call   0x4d95d0
51bc99:	8b 4c 24 08          	mov    0x8(%esp),%ecx
51bc9d:	50                   	push   %eax
51bc9e:	8b 50 20             	mov    0x20(%eax),%edx
51bca1:	89 0a                	mov    %ecx,(%edx)
51bca3:	8b 50 20             	mov    0x20(%eax),%edx
51bca6:	8b 4c 24 10          	mov    0x10(%esp),%ecx
51bcaa:	89 4a 04             	mov    %ecx,0x4(%edx)
51bcad:	8b 40 1c             	mov    0x1c(%eax),%eax
51bcb0:	ff d0                	call   *%eax
51bcb2:	83 c4 08             	add    $0x8,%esp
51bcb5:	c3                   	ret
51bcb6:	cc                   	int3
51bcb7:	cc                   	int3
51bcb8:	cc                   	int3
51bcb9:	cc                   	int3
51bcba:	cc                   	int3
51bcbb:	cc                   	int3
51bcbc:	cc                   	int3
51bcbd:	cc                   	int3
51bcbe:	cc                   	int3
51bcbf:	cc                   	int3
51bcc0:	b8 d8 00 00 00       	mov    $0xd8,%eax
51bcc5:	e8 e6 5a 0b 00       	call   0x5d17b0
51bcca:	a1 c0 14 69 00       	mov    0x6914c0,%eax
51bccf:	33 c4                	xor    %esp,%eax
51bcd1:	89 84 24 d4 00 00 00 	mov    %eax,0xd4(%esp)
51bcd8:	8b 84 24 dc 00 00 00 	mov    0xdc(%esp),%eax
51bcdf:	89 44 24 44          	mov    %eax,0x44(%esp)
51bce3:	8b 84 24 f4 00 00 00 	mov    0xf4(%esp),%eax
51bcea:	53                   	push   %ebx
51bceb:	8b 9c 24 f0 00 00 00 	mov    0xf0(%esp),%ebx
51bcf2:	56                   	push   %esi
51bcf3:	8b b4 24 ec 00 00 00 	mov    0xec(%esp),%esi
51bcfa:	89 44 24 58          	mov    %eax,0x58(%esp)
51bcfe:	8b 84 24 00 01 00 00 	mov    0x100(%esp),%eax
51bd05:	89 44 24 50          	mov    %eax,0x50(%esp)
51bd09:	8b 84 24 04 01 00 00 	mov    0x104(%esp),%eax
51bd10:	c1 ee 03             	shr    $0x3,%esi
51bd13:	89 44 24 54          	mov    %eax,0x54(%esp)
51bd17:	8b 84 24 08 01 00 00 	mov    0x108(%esp),%eax
51bd1e:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
51bd22:	89 44 24 14          	mov    %eax,0x14(%esp)
51bd26:	c7 44 24 40 00 00 00 	movl   $0x0,0x40(%esp)
51bd2d:	00
51bd2e:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
51bd35:	00
51bd36:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
51bd3d:	00
51bd3e:	c7 44 24 3c 02 00 00 	movl   $0x2,0x3c(%esp)
51bd45:	00
51bd46:	57                   	push   %edi
51bd47:	8b bc 24 f4 00 00 00 	mov    0xf4(%esp),%edi
51bd4e:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
51bd52:	83 fe 14             	cmp    $0x14,%esi
51bd55:	74 0e                	je     0x51bd65
51bd57:	83 fe 1c             	cmp    $0x1c,%esi
51bd5a:	74 09                	je     0x51bd65
51bd5c:	83 fe 20             	cmp    $0x20,%esi
51bd5f:	0f 85 82 00 00 00    	jne    0x51bde7
51bd65:	85 ff                	test   %edi,%edi
51bd67:	75 31                	jne    0x51bd9a
51bd69:	83 fe 14             	cmp    $0x14,%esi
51bd6c:	75 0d                	jne    0x51bd7b
51bd6e:	e8 9d a7 ff ff       	call   0x516510
51bd73:	8b f8                	mov    %eax,%edi
51bd75:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
51bd79:	eb 2a                	jmp    0x51bda5
51bd7b:	83 fe 1c             	cmp    $0x1c,%esi
51bd7e:	75 0d                	jne    0x51bd8d
51bd80:	e8 9b a7 ff ff       	call   0x516520
51bd85:	8b f8                	mov    %eax,%edi
51bd87:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
51bd8b:	eb 18                	jmp    0x51bda5
51bd8d:	e8 9e a7 ff ff       	call   0x516530
51bd92:	8b f8                	mov    %eax,%edi
51bd94:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
51bd98:	eb 0b                	jmp    0x51bda5
51bd9a:	57                   	push   %edi
51bd9b:	e8 20 4b fd ff       	call   0x4f08c0
51bda0:	83 c4 04             	add    $0x4,%esp
51bda3:	8b f0                	mov    %eax,%esi
51bda5:	b8 00 02 00 00       	mov    $0x200,%eax
51bdaa:	39 84 24 ec 00 00 00 	cmp    %eax,0xec(%esp)
51bdb1:	0f 43 84 24 ec 00 00 	cmovae 0xec(%esp),%eax
51bdb8:	00
51bdb9:	83 c0 3f             	add    $0x3f,%eax
51bdbc:	83 e0 c0             	and    $0xffffffc0,%eax
51bdbf:	89 44 24 34          	mov    %eax,0x34(%esp)
51bdc3:	85 db                	test   %ebx,%ebx
51bdc5:	74 4f                	je     0x51be16
51bdc7:	8b 84 24 fc 00 00 00 	mov    0xfc(%esp),%eax
51bdce:	3b c6                	cmp    %esi,%eax
51bdd0:	73 2f                	jae    0x51be01
51bdd2:	6a 55                	push   $0x55
51bdd4:	68 30 08 64 00       	push   $0x640830
51bdd9:	6a 6e                	push   $0x6e
51bddb:	6a 7d                	push   $0x7d
51bddd:	6a 0a                	push   $0xa
51bddf:	e8 9c d1 fb ff       	call   0x4d8f80
51bde4:	83 c4 14             	add    $0x14,%esp
51bde7:	5f                   	pop    %edi
51bde8:	5e                   	pop    %esi
51bde9:	33 c0                	xor    %eax,%eax
51bdeb:	5b                   	pop    %ebx
51bdec:	8b 8c 24 d4 00 00 00 	mov    0xd4(%esp),%ecx
51bdf3:	33 cc                	xor    %esp,%ecx
51bdf5:	e8 2c 5c 0b 00       	call   0x5d1a26
51bdfa:	81 c4 d8 00 00 00    	add    $0xd8,%esp
51be00:	c3                   	ret
51be01:	0f 47 c6             	cmova  %esi,%eax
51be04:	50                   	push   %eax
51be05:	8d 84 24 c4 00 00 00 	lea    0xc4(%esp),%eax
51be0c:	53                   	push   %ebx
51be0d:	50                   	push   %eax
51be0e:	e8 bd 6f 0b 00       	call   0x5d2dd0
51be13:	83 c4 0c             	add    $0xc,%esp
51be16:	e8 f5 83 fc ff       	call   0x4e4210
51be1b:	89 44 24 28          	mov    %eax,0x28(%esp)
51be1f:	85 c0                	test   %eax,%eax
51be21:	0f 84 2d 06 00 00    	je     0x51c454
51be27:	e8 f4 be fc ff       	call   0x4e7d20
51be2c:	8b d8                	mov    %eax,%ebx
51be2e:	89 5c 24 14          	mov    %ebx,0x14(%esp)
51be32:	85 db                	test   %ebx,%ebx
51be34:	0f 84 1a 06 00 00    	je     0x51c454
51be3a:	55                   	push   %ebp
51be3b:	53                   	push   %ebx
51be3c:	e8 cf bf fc ff       	call   0x4e7e10
51be41:	53                   	push   %ebx
51be42:	e8 89 bd fc ff       	call   0x4e7bd0
51be47:	53                   	push   %ebx