4ebb78:	ff 74 24 18          	push   0x18(%esp)
4ebb7c:	57                   	push   %edi
4ebb7d:	50                   	push   %eax
4ebb7e:	e8 5d eb 01 00       	call   0x50a6e0
4ebb83:	83 c4 0c             	add    $0xc,%esp
4ebb86:	5f                   	pop    %edi
4ebb87:	b8 01 00 00 00       	mov    $0x1,%eax
4ebb8c:	5e                   	pop    %esi
4ebb8d:	c3                   	ret
4ebb8e:	5f                   	pop    %edi
4ebb8f:	33 c0                	xor    %eax,%eax
4ebb91:	5e                   	pop    %esi
4ebb92:	c3                   	ret
4ebb93:	cc                   	int3
4ebb94:	cc                   	int3
4ebb95:	cc                   	int3
4ebb96:	cc                   	int3
4ebb97:	cc                   	int3
4ebb98:	cc                   	int3
4ebb99:	cc                   	int3
4ebb9a:	cc                   	int3
4ebb9b:	cc                   	int3
4ebb9c:	cc                   	int3
4ebb9d:	cc                   	int3
4ebb9e:	cc                   	int3
4ebb9f:	cc                   	int3
4ebba0:	8b 44 24 08          	mov    0x8(%esp),%eax
4ebba4:	b9 05 00 00 00       	mov    $0x5,%ecx
4ebba9:	53                   	push   %ebx
4ebbaa:	55                   	push   %ebp
4ebbab:	56                   	push   %esi
4ebbac:	57                   	push   %edi
4ebbad:	8b 78 0c             	mov    0xc(%eax),%edi
4ebbb0:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
4ebbb5:	83 e7 08             	and    $0x8,%edi
4ebbb8:	50                   	push   %eax
4ebbb9:	0f 44 d9             	cmove  %ecx,%ebx
4ebbbc:	e8 ff 44 00 00       	call   0x4f00c0
4ebbc1:	50                   	push   %eax
4ebbc2:	e8 19 39 00 00       	call   0x4ef4e0
4ebbc7:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4ebbcb:	83 c4 08             	add    $0x8,%esp
4ebbce:	8b e8                	mov    %eax,%ebp
4ebbd0:	85 f6                	test   %esi,%esi
4ebbd2:	74 4b                	je     0x4ebc1f
4ebbd4:	85 ff                	test   %edi,%edi
4ebbd6:	75 13                	jne    0x4ebbeb
4ebbd8:	8b 46 04             	mov    0x4(%esi),%eax
4ebbdb:	85 c0                	test   %eax,%eax
4ebbdd:	75 0c                	jne    0x4ebbeb
4ebbdf:	e8 0c fd ff ff       	call   0x4eb8f0
4ebbe4:	89 46 04             	mov    %eax,0x4(%esi)
4ebbe7:	85 c0                	test   %eax,%eax
4ebbe9:	74 34                	je     0x4ebc1f
4ebbeb:	ff 36                	push   (%esi)
4ebbed:	e8 1e ec 01 00       	call   0x50a810
4ebbf2:	8b 46 04             	mov    0x4(%esi),%eax
4ebbf5:	83 c4 04             	add    $0x4,%esp
4ebbf8:	89 2e                	mov    %ebp,(%esi)
4ebbfa:	85 ff                	test   %edi,%edi
4ebbfc:	74 15                	je     0x4ebc13
4ebbfe:	50                   	push   %eax
4ebbff:	e8 cc fc ff ff       	call   0x4eb8d0
4ebc04:	83 c4 04             	add    $0x4,%esp
4ebc07:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
4ebc0e:	5f                   	pop    %edi
4ebc0f:	5e                   	pop    %esi
4ebc10:	5d                   	pop    %ebp
4ebc11:	5b                   	pop    %ebx
4ebc12:	c3                   	ret
4ebc13:	6a 00                	push   $0x0
4ebc15:	53                   	push   %ebx
4ebc16:	50                   	push   %eax
4ebc17:	e8 c4 ea 01 00       	call   0x50a6e0
4ebc1c:	83 c4 0c             	add    $0xc,%esp
4ebc1f:	5f                   	pop    %edi
4ebc20:	5e                   	pop    %esi
4ebc21:	5d                   	pop    %ebp
4ebc22:	5b                   	pop    %ebx
4ebc23:	c3                   	ret
4ebc24:	cc                   	int3
4ebc25:	cc                   	int3
4ebc26:	cc                   	int3
4ebc27:	cc                   	int3
4ebc28:	cc                   	int3
4ebc29:	cc                   	int3
4ebc2a:	cc                   	int3
4ebc2b:	cc                   	int3
4ebc2c:	cc                   	int3
4ebc2d:	cc                   	int3
4ebc2e:	cc                   	int3
4ebc2f:	cc                   	int3
4ebc30:	68 b8 57 61 00       	push   $0x6157b8
4ebc35:	ff 74 24 10          	push   0x10(%esp)
4ebc39:	ff 74 24 10          	push   0x10(%esp)
4ebc3d:	ff 74 24 10          	push   0x10(%esp)
4ebc41:	e8 0a 0a 00 00       	call   0x4ec650
4ebc46:	83 c4 10             	add    $0x10,%esp
4ebc49:	c3                   	ret
4ebc4a:	cc                   	int3
4ebc4b:	cc                   	int3
4ebc4c:	cc                   	int3
4ebc4d:	cc                   	int3
4ebc4e:	cc                   	int3
4ebc4f:	cc                   	int3
4ebc50:	68 b8 57 61 00       	push   $0x6157b8
4ebc55:	ff 74 24 0c          	push   0xc(%esp)
4ebc59:	ff 74 24 0c          	push   0xc(%esp)
4ebc5d:	e8 8e 2a 00 00       	call   0x4ee6f0
4ebc62:	83 c4 0c             	add    $0xc,%esp
4ebc65:	c3                   	ret
4ebc66:	cc                   	int3
4ebc67:	cc                   	int3
4ebc68:	cc                   	int3
4ebc69:	cc                   	int3
4ebc6a:	cc                   	int3
4ebc6b:	cc                   	int3
4ebc6c:	cc                   	int3
4ebc6d:	cc                   	int3
4ebc6e:	cc                   	int3
4ebc6f:	cc                   	int3
4ebc70:	b8 04 00 00 00       	mov    $0x4,%eax
4ebc75:	e8 36 5b 0e 00       	call   0x5d17b0
4ebc7a:	8b 44 24 0c          	mov    0xc(%esp),%eax
4ebc7e:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
4ebc85:	85 c0                	test   %eax,%eax
4ebc87:	75 02                	jne    0x4ebc8b
4ebc89:	59                   	pop    %ecx
4ebc8a:	c3                   	ret
4ebc8b:	56                   	push   %esi
4ebc8c:	8b 74 24 0c          	mov    0xc(%esp),%esi
4ebc90:	8d 4c 24 04          	lea    0x4(%esp),%ecx
4ebc94:	56                   	push   %esi
4ebc95:	51                   	push   %ecx
4ebc96:	50                   	push   %eax
4ebc97:	e8 54 2a 00 00       	call   0x4ee6f0
4ebc9c:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4ebca0:	83 c4 0c             	add    $0xc,%esp
4ebca3:	85 c9                	test   %ecx,%ecx
4ebca5:	75 1d                	jne    0x4ebcc4
4ebca7:	6a 3d                	push   $0x3d
4ebca9:	68 40 58 61 00       	push   $0x615840
4ebcae:	6a 41                	push   $0x41
4ebcb0:	68 bf 00 00 00       	push   $0xbf
4ebcb5:	6a 0d                	push   $0xd
4ebcb7:	e8 c4 d2 fe ff       	call   0x4d8f80
4ebcbc:	83 c4 14             	add    $0x14,%esp
4ebcbf:	33 c0                	xor    %eax,%eax
4ebcc1:	5e                   	pop    %esi
4ebcc2:	59                   	pop    %ecx
4ebcc3:	c3                   	ret
4ebcc4:	56                   	push   %esi
4ebcc5:	50                   	push   %eax
4ebcc6:	8d 44 24 18          	lea    0x18(%esp),%eax
4ebcca:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4ebcce:	50                   	push   %eax
4ebccf:	6a 00                	push   $0x0
4ebcd1:	e8 7a 09 00 00       	call   0x4ec650
4ebcd6:	6a 42                	push   $0x42
4ebcd8:	68 40 58 61 00       	push   $0x615840
4ebcdd:	ff 74 24 1c          	push   0x1c(%esp)
4ebce1:	8b f0                	mov    %eax,%esi
4ebce3:	e8 98 4a ff ff       	call   0x4e0780
4ebce8:	83 c4 1c             	add    $0x1c,%esp
4ebceb:	8b c6                	mov    %esi,%eax
4ebced:	5e                   	pop    %esi
4ebcee:	59                   	pop    %ecx
4ebcef:	c3                   	ret
4ebcf0:	6a 00                	push   $0x0
4ebcf2:	ff 74 24 0c          	push   0xc(%esp)
4ebcf6:	ff 74 24 0c          	push   0xc(%esp)
4ebcfa:	e8 51 00 00 00       	call   0x4ebd50
4ebcff:	83 c4 0c             	add    $0xc,%esp
4ebd02:	c3                   	ret
4ebd03:	cc                   	int3
4ebd04:	cc                   	int3
4ebd05:	cc                   	int3
4ebd06:	cc                   	int3
4ebd07:	cc                   	int3
4ebd08:	cc                   	int3
4ebd09:	cc                   	int3
4ebd0a:	cc                   	int3
4ebd0b:	cc                   	int3
4ebd0c:	cc                   	int3
4ebd0d:	cc                   	int3
4ebd0e:	cc                   	int3
4ebd0f:	cc                   	int3
4ebd10:	b8 04 00 00 00       	mov    $0x4,%eax
4ebd15:	e8 96 5a 0e 00       	call   0x5d17b0
4ebd1a:	6a 00                	push   $0x0
4ebd1c:	ff 74 24 0c          	push   0xc(%esp)
4ebd20:	8d 44 24 08          	lea    0x8(%esp),%eax
4ebd24:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
4ebd2b:	00
4ebd2c:	50                   	push   %eax
4ebd2d:	e8 1e 00 00 00       	call   0x4ebd50
4ebd32:	33 c9                	xor    %ecx,%ecx
4ebd34:	85 c0                	test   %eax,%eax
4ebd36:	0f 4f 4c 24 0c       	cmovg  0xc(%esp),%ecx
4ebd3b:	8b c1                	mov    %ecx,%eax
4ebd3d:	83 c4 10             	add    $0x10,%esp
4ebd40:	c3                   	ret
4ebd41:	cc                   	int3
4ebd42:	cc                   	int3
4ebd43:	cc                   	int3
4ebd44:	cc                   	int3
4ebd45:	cc                   	int3
4ebd46:	cc                   	int3
4ebd47:	cc                   	int3
4ebd48:	cc                   	int3
4ebd49:	cc                   	int3
4ebd4a:	cc                   	int3
4ebd4b:	cc                   	int3
4ebd4c:	cc                   	int3
4ebd4d:	cc                   	int3
4ebd4e:	cc                   	int3
4ebd4f:	cc                   	int3
4ebd50:	53                   	push   %ebx
4ebd51:	55                   	push   %ebp
4ebd52:	56                   	push   %esi
4ebd53:	8b 74 24 14          	mov    0x14(%esp),%esi
4ebd57:	57                   	push   %edi
4ebd58:	8b 46 10             	mov    0x10(%esi),%eax
4ebd5b:	85 c0                	test   %eax,%eax
4ebd5d:	74 07                	je     0x4ebd66
4ebd5f:	8b 68 10             	mov    0x10(%eax),%ebp
4ebd62:	85 ed                	test   %ebp,%ebp
4ebd64:	75 02                	jne    0x4ebd68
4ebd66:	33 ed                	xor    %ebp,%ebp
4ebd68:	0f be 0e             	movsbl (%esi),%ecx
4ebd6b:	83 f9 06             	cmp    $0x6,%ecx
4ebd6e:	77 24                	ja     0x4ebd94
4ebd70:	ff 24 8d 84 bf 4e 00 	jmp    *0x4ebf84(,%ecx,4)
4ebd77:	85 c0                	test   %eax,%eax
4ebd79:	74 19                	je     0x4ebd94
4ebd7b:	8b 40 04             	mov    0x4(%eax),%eax
4ebd7e:	85 c0                	test   %eax,%eax
4ebd80:	74 12                	je     0x4ebd94
4ebd82:	56                   	push   %esi
4ebd83:	ff 74 24 18          	push   0x18(%esp)
4ebd87:	ff d0                	call   *%eax
4ebd89:	83 c4 08             	add    $0x8,%esp
4ebd8c:	85 c0                	test   %eax,%eax
4ebd8e:	0f 84 33 01 00 00    	je     0x4ebec7
4ebd94:	5f                   	pop    %edi
4ebd95:	5e                   	pop    %esi
4ebd96:	5d                   	pop    %ebp
4ebd97:	b8 01 00 00 00       	mov    $0x1,%eax
4ebd9c:	5b                   	pop    %ebx
4ebd9d:	c3                   	ret
4ebd9e:	8b 46 08             	mov    0x8(%esi),%eax
4ebda1:	85 c0                	test   %eax,%eax
4ebda3:	74 0c                	je     0x4ebdb1
4ebda5:	50                   	push   %eax
4ebda6:	ff 74 24 18          	push   0x18(%esp)
4ebdaa:	e8 41 04 00 00       	call   0x4ec1f0
4ebdaf:	eb d8                	jmp    0x4ebd89
4ebdb1:	ff 74 24 1c          	push   0x1c(%esp)
4ebdb5:	56                   	push   %esi
4ebdb6:	ff 74 24 1c          	push   0x1c(%esp)
4ebdba:	e8 21 02 00 00       	call   0x4ebfe0
4ebdbf:	83 c4 0c             	add    $0xc,%esp
4ebdc2:	eb c8                	jmp    0x4ebd8c
4ebdc4:	8b 7c 24 14          	mov    0x14(%esp),%edi
4ebdc8:	85 ed                	test   %ebp,%ebp
4ebdca:	74 18                	je     0x4ebde4
4ebdcc:	6a 00                	push   $0x0
4ebdce:	56                   	push   %esi
4ebdcf:	57                   	push   %edi
4ebdd0:	6a 00                	push   $0x0
4ebdd2:	ff d5                	call   *%ebp
4ebdd4:	83 c4 10             	add    $0x10,%esp
4ebdd7:	85 c0                	test   %eax,%eax
4ebdd9:	0f 84 72 01 00 00    	je     0x4ebf51
4ebddf:	83 f8 02             	cmp    $0x2,%eax
4ebde2:	74 b0                	je     0x4ebd94
4ebde4:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4ebde8:	8b 46 14             	mov    0x14(%esi),%eax
4ebdeb:	85 db                	test   %ebx,%ebx
4ebded:	74 0f                	je     0x4ebdfe
4ebdef:	50                   	push   %eax
4ebdf0:	6a 00                	push   $0x0
4ebdf2:	ff 37                	push   (%edi)
4ebdf4:	e8 77 6e 0e 00       	call   0x5d2c70
4ebdf9:	83 c4 0c             	add    $0xc,%esp
4ebdfc:	eb 1a                	jmp    0x4ebe18
4ebdfe:	6a 61                	push   $0x61
4ebe00:	68 54 58 61 00       	push   $0x615854
4ebe05:	50                   	push   %eax
4ebe06:	e8 35 4c ff ff       	call   0x4e0a40
4ebe0b:	83 c4 0c             	add    $0xc,%esp
4ebe0e:	89 07                	mov    %eax,(%edi)
4ebe10:	85 c0                	test   %eax,%eax
4ebe12:	0f 84 af 00 00 00    	je     0x4ebec7
4ebe18:	56                   	push   %esi
4ebe19:	6a ff                	push   $0xffffffff
4ebe1b:	57                   	push   %edi
4ebe1c:	e8 4f f7 01 00       	call   0x50b570
4ebe21:	83 c4 0c             	add    $0xc,%esp
4ebe24:	85 ed                	test   %ebp,%ebp
4ebe26:	0f 84 68 ff ff ff    	je     0x4ebd94
4ebe2c:	6a 00                	push   $0x0
4ebe2e:	56                   	push   %esi
4ebe2f:	57                   	push   %edi
4ebe30:	6a 01                	push   $0x1
4ebe32:	ff d5                	call   *%ebp
4ebe34:	83 c4 10             	add    $0x10,%esp
4ebe37:	85 c0                	test   %eax,%eax
4ebe39:	0f 84 07 01 00 00    	je     0x4ebf46
4ebe3f:	5f                   	pop    %edi
4ebe40:	5e                   	pop    %esi
4ebe41:	5d                   	pop    %ebp
4ebe42:	b8 01 00 00 00       	mov    $0x1,%eax
4ebe47:	5b                   	pop    %ebx
4ebe48:	c3                   	ret
4ebe49:	8b 7c 24 14          	mov    0x14(%esp),%edi
4ebe4d:	85 ed                	test   %ebp,%ebp
4ebe4f:	74 1c                	je     0x4ebe6d
4ebe51:	6a 00                	push   $0x0
4ebe53:	56                   	push   %esi
4ebe54:	57                   	push   %edi
4ebe55:	6a 00                	push   $0x0
4ebe57:	ff d5                	call   *%ebp
4ebe59:	83 c4 10             	add    $0x10,%esp
4ebe5c:	85 c0                	test   %eax,%eax
4ebe5e:	0f 84 ed 00 00 00    	je     0x4ebf51
4ebe64:	83 f8 02             	cmp    $0x2,%eax
4ebe67:	0f 84 27 ff ff ff    	je     0x4ebd94
4ebe6d:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4ebe71:	8b 46 14             	mov    0x14(%esi),%eax
4ebe74:	85 db                	test   %ebx,%ebx
4ebe76:	74 0f                	je     0x4ebe87
4ebe78:	50                   	push   %eax
4ebe79:	6a 00                	push   $0x0
4ebe7b:	ff 37                	push   (%edi)
4ebe7d:	e8 ee 6d 0e 00       	call   0x5d2c70
4ebe82:	83 c4 0c             	add    $0xc,%esp
4ebe85:	eb 16                	jmp    0x4ebe9d
4ebe87:	6a 7a                	push   $0x7a
4ebe89:	68 54 58 61 00       	push   $0x615854
4ebe8e:	50                   	push   %eax
4ebe8f:	e8 ac 4b ff ff       	call   0x4e0a40
4ebe94:	83 c4 0c             	add    $0xc,%esp
4ebe97:	89 07                	mov    %eax,(%edi)
4ebe99:	85 c0                	test   %eax,%eax
4ebe9b:	74 2a                	je     0x4ebec7
4ebe9d:	56                   	push   %esi
4ebe9e:	6a 00                	push   $0x0
4ebea0:	57                   	push   %edi
4ebea1:	e8 2a f4 01 00       	call   0x50b2d0