4598ee:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
4598f4:	57                   	push   %edi
4598f5:	e8 e6 c9 fb ff       	call   0x4162e0
4598fa:	ff 33                	push   (%ebx)
4598fc:	6a 34                	push   $0x34
4598fe:	e8 eb 7f 00 00       	call   0x4618ee
459903:	ff 33                	push   (%ebx)
459905:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
45990b:	8b f0                	mov    %eax,%esi
45990d:	68 00 08 00 00       	push   $0x800
459912:	e8 d7 7f 00 00       	call   0x4618ee
459917:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45991a:	8b f8                	mov    %eax,%edi
45991c:	6a 34                	push   $0x34
45991e:	56                   	push   %esi
45991f:	8d 45 c8             	lea    -0x38(%ebp),%eax
459922:	89 4d d0             	mov    %ecx,-0x30(%ebp)
459925:	50                   	push   %eax
459926:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
45992c:	c7 45 e0 00 04 00 00 	movl   $0x400,-0x20(%ebp)
459933:	89 7d dc             	mov    %edi,-0x24(%ebp)
459936:	e8 91 80 00 00       	call   0x4619cc
45993b:	56                   	push   %esi
45993c:	ff 75 08             	push   0x8(%ebp)
45993f:	68 73 10 00 00       	push   $0x1073
459944:	ff 33                	push   (%ebx)
459946:	ff 15 88 f6 48 00    	call   *0x48f688
45994c:	68 00 08 00 00       	push   $0x800
459951:	8d 85 44 f7 ff ff    	lea    -0x8bc(%ebp),%eax
459957:	50                   	push   %eax
459958:	57                   	push   %edi
459959:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
45995f:	e8 33 80 00 00       	call   0x461997
459964:	8b 4d 10             	mov    0x10(%ebp),%ecx
459967:	8d 85 44 f7 ff ff    	lea    -0x8bc(%ebp),%eax
45996d:	50                   	push   %eax
45996e:	e8 b9 e3 fa ff       	call   0x407d2c
459973:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
459979:	e8 47 c9 fb ff       	call   0x4162c5
45997e:	5f                   	pop    %edi
45997f:	5e                   	pop    %esi
459980:	b0 01                	mov    $0x1,%al
459982:	5b                   	pop    %ebx
459983:	8b e5                	mov    %ebp,%esp
459985:	5d                   	pop    %ebp
459986:	c2 0c 00             	ret    $0xc
459989:	55                   	push   %ebp
45998a:	8b ec                	mov    %esp,%ebp
45998c:	81 ec c0 00 00 00    	sub    $0xc0,%esp
459992:	53                   	push   %ebx
459993:	56                   	push   %esi
459994:	57                   	push   %edi
459995:	8b f9                	mov    %ecx,%edi
459997:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
45999d:	e8 3e c9 fb ff       	call   0x4162e0
4599a2:	8b 45 08             	mov    0x8(%ebp),%eax
4599a5:	0f b6 c0             	movzbl %al,%eax
4599a8:	6a 02                	push   $0x2
4599aa:	59                   	pop    %ecx
4599ab:	ff 37                	push   (%edi)
4599ad:	f7 d8                	neg    %eax
4599af:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4599b2:	6a 34                	push   $0x34
4599b4:	1b c0                	sbb    %eax,%eax
4599b6:	23 c1                	and    %ecx,%eax
4599b8:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
4599be:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4599c1:	e8 28 7f 00 00       	call   0x4618ee
4599c6:	8b d8                	mov    %eax,%ebx
4599c8:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
4599ce:	6a 34                	push   $0x34
4599d0:	53                   	push   %ebx
4599d1:	8d 45 c8             	lea    -0x38(%ebp),%eax
4599d4:	50                   	push   %eax
4599d5:	e8 f2 7f 00 00       	call   0x4619cc
4599da:	8b 75 0c             	mov    0xc(%ebp),%esi
4599dd:	83 fe ff             	cmp    $0xffffffff,%esi
4599e0:	75 35                	jne    0x459a17
4599e2:	53                   	push   %ebx
4599e3:	56                   	push   %esi
4599e4:	68 2b 10 00 00       	push   $0x102b
4599e9:	ff 37                	push   (%edi)
4599eb:	ff 15 88 f6 48 00    	call   *0x48f688
4599f1:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
4599f7:	e8 c9 c8 fb ff       	call   0x4162c5
4599fc:	5f                   	pop    %edi
4599fd:	5e                   	pop    %esi
4599fe:	b0 01                	mov    $0x1,%al
459a00:	5b                   	pop    %ebx
459a01:	8b e5                	mov    %ebp,%esp
459a03:	5d                   	pop    %ebp
459a04:	c2 0c 00             	ret    $0xc
459a07:	53                   	push   %ebx
459a08:	56                   	push   %esi
459a09:	68 2b 10 00 00       	push   $0x102b
459a0e:	ff 37                	push   (%edi)
459a10:	ff 15 88 f6 48 00    	call   *0x48f688
459a16:	46                   	inc    %esi
459a17:	3b 75 10             	cmp    0x10(%ebp),%esi
459a1a:	7e eb                	jle    0x459a07
459a1c:	eb d3                	jmp    0x4599f1
459a1e:	53                   	push   %ebx
459a1f:	56                   	push   %esi
459a20:	57                   	push   %edi
459a21:	6a 00                	push   $0x0
459a23:	8b f9                	mov    %ecx,%edi
459a25:	6a 00                	push   $0x0
459a27:	68 04 10 00 00       	push   $0x1004
459a2c:	ff 37                	push   (%edi)
459a2e:	ff 15 88 f6 48 00    	call   *0x48f688
459a34:	8b d8                	mov    %eax,%ebx
459a36:	33 f6                	xor    %esi,%esi
459a38:	85 db                	test   %ebx,%ebx
459a3a:	7e 28                	jle    0x459a64
459a3c:	6a 02                	push   $0x2
459a3e:	56                   	push   %esi
459a3f:	68 2c 10 00 00       	push   $0x102c
459a44:	ff 37                	push   (%edi)
459a46:	ff 15 88 f6 48 00    	call   *0x48f688
459a4c:	8b cf                	mov    %edi,%ecx
459a4e:	56                   	push   %esi
459a4f:	56                   	push   %esi
459a50:	85 c0                	test   %eax,%eax
459a52:	74 04                	je     0x459a58
459a54:	6a 00                	push   $0x0
459a56:	eb 02                	jmp    0x459a5a
459a58:	6a 01                	push   $0x1
459a5a:	e8 2a ff ff ff       	call   0x459989
459a5f:	46                   	inc    %esi
459a60:	3b f3                	cmp    %ebx,%esi
459a62:	7c d8                	jl     0x459a3c
459a64:	5f                   	pop    %edi
459a65:	5e                   	pop    %esi
459a66:	b0 01                	mov    $0x1,%al
459a68:	5b                   	pop    %ebx
459a69:	c3                   	ret
459a6a:	55                   	push   %ebp
459a6b:	8b ec                	mov    %esp,%ebp
459a6d:	56                   	push   %esi
459a6e:	8b f1                	mov    %ecx,%esi
459a70:	ff 36                	push   (%esi)
459a72:	e8 d4 14 00 00       	call   0x45af4b
459a77:	ff 36                	push   (%esi)
459a79:	ff 75 08             	push   0x8(%ebp)
459a7c:	68 11 01 00 00       	push   $0x111
459a81:	50                   	push   %eax
459a82:	ff 15 88 f6 48 00    	call   *0x48f688
459a88:	b0 01                	mov    $0x1,%al
459a8a:	5e                   	pop    %esi
459a8b:	5d                   	pop    %ebp
459a8c:	c2 04 00             	ret    $0x4
459a8f:	56                   	push   %esi
459a90:	57                   	push   %edi
459a91:	8b f9                	mov    %ecx,%edi
459a93:	6a 01                	push   $0x1
459a95:	ff 37                	push   (%edi)
459a97:	e8 bb 13 00 00       	call   0x45ae57
459a9c:	ff 37                	push   (%edi)
459a9e:	ff 15 04 f7 48 00    	call   *0x48f704
459aa4:	6a 00                	push   $0x0
459aa6:	ff 37                	push   (%edi)
459aa8:	8b f0                	mov    %eax,%esi
459aaa:	e8 a8 13 00 00       	call   0x45ae57
459aaf:	85 f6                	test   %esi,%esi
459ab1:	5f                   	pop    %edi
459ab2:	0f 95 c0             	setne  %al
459ab5:	5e                   	pop    %esi
459ab6:	c3                   	ret
459ab7:	55                   	push   %ebp
459ab8:	8b ec                	mov    %esp,%ebp
459aba:	81 ec 88 08 00 00    	sub    $0x888,%esp
459ac0:	53                   	push   %ebx
459ac1:	56                   	push   %esi
459ac2:	8b f1                	mov    %ecx,%esi
459ac4:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
459aca:	89 75 fc             	mov    %esi,-0x4(%ebp)
459acd:	e8 0e c8 fb ff       	call   0x4162e0
459ad2:	33 db                	xor    %ebx,%ebx
459ad4:	53                   	push   %ebx
459ad5:	53                   	push   %ebx
459ad6:	68 06 04 00 00       	push   $0x406
459adb:	ff 36                	push   (%esi)
459add:	ff 15 88 f6 48 00    	call   *0x48f688
459ae3:	39 5d 08             	cmp    %ebx,0x8(%ebp)
459ae6:	7c 53                	jl     0x459b3b
459ae8:	39 45 08             	cmp    %eax,0x8(%ebp)
459aeb:	7d 4e                	jge    0x459b3b
459aed:	ff 36                	push   (%esi)
459aef:	bb 00 08 00 00       	mov    $0x800,%ebx
459af4:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
459afa:	53                   	push   %ebx
459afb:	e8 ee 7d 00 00       	call   0x4618ee
459b00:	8b f0                	mov    %eax,%esi
459b02:	8b 45 fc             	mov    -0x4(%ebp),%eax
459b05:	56                   	push   %esi
459b06:	ff 75 08             	push   0x8(%ebp)
459b09:	68 0d 04 00 00       	push   $0x40d
459b0e:	ff 30                	push   (%eax)
459b10:	ff 15 88 f6 48 00    	call   *0x48f688
459b16:	53                   	push   %ebx
459b17:	8d 85 78 f7 ff ff    	lea    -0x888(%ebp),%eax
459b1d:	50                   	push   %eax
459b1e:	56                   	push   %esi
459b1f:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
459b25:	e8 6d 7e 00 00       	call   0x461997
459b2a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
459b2d:	8d 85 78 f7 ff ff    	lea    -0x888(%ebp),%eax
459b33:	50                   	push   %eax
459b34:	e8 f3 e1 fa ff       	call   0x407d2c
459b39:	b3 01                	mov    $0x1,%bl
459b3b:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
459b41:	e8 7f c7 fb ff       	call   0x4162c5
459b46:	5e                   	pop    %esi
459b47:	8a c3                	mov    %bl,%al
459b49:	5b                   	pop    %ebx
459b4a:	8b e5                	mov    %ebp,%esp
459b4c:	5d                   	pop    %ebp
459b4d:	c2 08 00             	ret    $0x8
459b50:	55                   	push   %ebp
459b51:	8b ec                	mov    %esp,%ebp
459b53:	51                   	push   %ecx
459b54:	53                   	push   %ebx
459b55:	56                   	push   %esi
459b56:	8b f1                	mov    %ecx,%esi
459b58:	57                   	push   %edi
459b59:	6a 01                	push   $0x1
459b5b:	89 75 fc             	mov    %esi,-0x4(%ebp)
459b5e:	ff 36                	push   (%esi)
459b60:	e8 f2 12 00 00       	call   0x45ae57
459b65:	8b 3d 8c f6 48 00    	mov    0x48f68c,%edi
459b6b:	33 db                	xor    %ebx,%ebx
459b6d:	53                   	push   %ebx
459b6e:	6a 25                	push   $0x25
459b70:	ff d7                	call   *%edi
459b72:	c1 e0 10             	shl    $0x10,%eax
459b75:	83 c8 01             	or     $0x1,%eax
459b78:	50                   	push   %eax
459b79:	39 5d 08             	cmp    %ebx,0x8(%ebp)
459b7c:	7d 2a                	jge    0x459ba8
459b7e:	6a 25                	push   $0x25
459b80:	68 00 01 00 00       	push   $0x100
459b85:	ff 36                	push   (%esi)
459b87:	8b 35 90 f6 48 00    	mov    0x48f690,%esi
459b8d:	ff d6                	call   *%esi
459b8f:	53                   	push   %ebx
459b90:	ff 15 7c f1 48 00    	call   *0x48f17c
459b96:	53                   	push   %ebx
459b97:	6a 25                	push   $0x25
459b99:	ff d7                	call   *%edi
459b9b:	c1 e0 10             	shl    $0x10,%eax
459b9e:	0d 01 00 00 c0       	or     $0xc0000001,%eax
459ba3:	50                   	push   %eax
459ba4:	6a 25                	push   $0x25
459ba6:	eb 28                	jmp    0x459bd0
459ba8:	6a 27                	push   $0x27
459baa:	68 00 01 00 00       	push   $0x100
459baf:	ff 36                	push   (%esi)
459bb1:	8b 35 90 f6 48 00    	mov    0x48f690,%esi
459bb7:	ff d6                	call   *%esi
459bb9:	53                   	push   %ebx
459bba:	ff 15 7c f1 48 00    	call   *0x48f17c
459bc0:	53                   	push   %ebx
459bc1:	6a 25                	push   $0x25
459bc3:	ff d7                	call   *%edi
459bc5:	c1 e0 10             	shl    $0x10,%eax
459bc8:	0d 01 00 00 c0       	or     $0xc0000001,%eax
459bcd:	50                   	push   %eax
459bce:	6a 27                	push   $0x27
459bd0:	8b 7d fc             	mov    -0x4(%ebp),%edi
459bd3:	68 01 01 00 00       	push   $0x101
459bd8:	ff 37                	push   (%edi)
459bda:	ff d6                	call   *%esi
459bdc:	53                   	push   %ebx
459bdd:	ff 15 7c f1 48 00    	call   *0x48f17c
459be3:	53                   	push   %ebx
459be4:	ff 37                	push   (%edi)
459be6:	e8 6c 12 00 00       	call   0x45ae57
459beb:	5f                   	pop    %edi
459bec:	5e                   	pop    %esi
459bed:	b0 01                	mov    $0x1,%al
459bef:	5b                   	pop    %ebx
459bf0:	8b e5                	mov    %ebp,%esp
459bf2:	5d                   	pop    %ebp
459bf3:	c2 04 00             	ret    $0x4
459bf6:	55                   	push   %ebp
459bf7:	8b ec                	mov    %esp,%ebp
459bf9:	6a 00                	push   $0x0
459bfb:	6a 00                	push   $0x0
459bfd:	68 0b 13 00 00       	push   $0x130b
459c02:	ff 31                	push   (%ecx)
459c04:	ff 15 88 f6 48 00    	call   *0x48f688
459c0a:	8b 4d 08             	mov    0x8(%ebp),%ecx
459c0d:	89 01                	mov    %eax,(%ecx)
459c0f:	83 f8 ff             	cmp    $0xffffffff,%eax
459c12:	75 04                	jne    0x459c18
459c14:	32 c0                	xor    %al,%al
459c16:	eb 05                	jmp    0x459c1d
459c18:	40                   	inc    %eax
459c19:	89 01                	mov    %eax,(%ecx)
459c1b:	b0 01                	mov    $0x1,%al
459c1d:	5d                   	pop    %ebp
459c1e:	c2 04 00             	ret    $0x4
459c21:	55                   	push   %ebp
459c22:	8b ec                	mov    %esp,%ebp
459c24:	51                   	push   %ecx
459c25:	51                   	push   %ecx
459c26:	56                   	push   %esi
459c27:	57                   	push   %edi
459c28:	ff 75 08             	push   0x8(%ebp)
459c2b:	8b f1                	mov    %ecx,%esi
459c2d:	e8 fc 01 00 00       	call   0x459e2e
459c32:	8b f8                	mov    %eax,%edi
459c34:	85 ff                	test   %edi,%edi
459c36:	74 56                	je     0x459c8e
459c38:	68 00 f0 00 00       	push   $0xf000
459c3d:	57                   	push   %edi
459c3e:	68 27 11 00 00       	push   $0x1127
459c43:	ff 36                	push   (%esi)
459c45:	ff 15 88 f6 48 00    	call   *0x48f688
459c4b:	c1 e8 0c             	shr    $0xc,%eax
459c4e:	48                   	dec    %eax
459c4f:	83 f8 ff             	cmp    $0xffffffff,%eax
459c52:	74 3a                	je     0x459c8e
459c54:	8a 4d 0c             	mov    0xc(%ebp),%cl
459c57:	84 c9                	test   %cl,%cl
459c59:	75 04                	jne    0x459c5f
459c5b:	85 c0                	test   %eax,%eax
459c5d:	74 2f                	je     0x459c8e
459c5f:	80 f9 01             	cmp    $0x1,%cl
459c62:	75 05                	jne    0x459c69
459c64:	83 f8 01             	cmp    $0x1,%eax
459c67:	74 25                	je     0x459c8e
459c69:	8d 45 f8             	lea    -0x8(%ebp),%eax
459c6c:	8b ce                	mov    %esi,%ecx
459c6e:	50                   	push   %eax
459c6f:	57                   	push   %edi
459c70:	e8 62 00 00 00       	call   0x459cd7
459c75:	84 c0                	test   %al,%al
459c77:	74 15                	je     0x459c8e
459c79:	ff 75 fc             	push   -0x4(%ebp)
459c7c:	8b ce                	mov    %esi,%ecx
459c7e:	ff 75 f8             	push   -0x8(%ebp)
459c81:	6a 01                	push   $0x1
459c83:	6a 00                	push   $0x0
459c85:	e8 77 f2 ff ff       	call   0x458f01
459c8a:	b0 01                	mov    $0x1,%al
459c8c:	eb 02                	jmp    0x459c90
459c8e:	32 c0                	xor    %al,%al
459c90:	5f                   	pop    %edi
459c91:	5e                   	pop    %esi