599e2e:	53                   	push   %ebx
599e2f:	57                   	push   %edi
599e30:	e8 fb 48 f1 ff       	call   0x4ae730
599e35:	8b f8                	mov    %eax,%edi
599e37:	83 c4 10             	add    $0x10,%esp
599e3a:	8b 07                	mov    (%edi),%eax
599e3c:	85 c0                	test   %eax,%eax
599e3e:	74 0b                	je     0x599e4b
599e40:	55                   	push   %ebp
599e41:	50                   	push   %eax
599e42:	56                   	push   %esi
599e43:	e8 28 03 00 00       	call   0x59a170
599e48:	83 c4 0c             	add    $0xc,%esp
599e4b:	8b 47 04             	mov    0x4(%edi),%eax
599e4e:	85 c0                	test   %eax,%eax
599e50:	74 10                	je     0x599e62
599e52:	55                   	push   %ebp
599e53:	50                   	push   %eax
599e54:	68 e8 9f 6c 00       	push   $0x6c9fe8
599e59:	56                   	push   %esi
599e5a:	e8 21 04 00 00       	call   0x59a280
599e5f:	83 c4 10             	add    $0x10,%esp
599e62:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
599e66:	74 1e                	je     0x599e86
599e68:	68 ad 57 6e 00       	push   $0x6e57ad
599e6d:	55                   	push   %ebp
599e6e:	68 f0 9f 6c 00       	push   $0x6c9ff0
599e73:	56                   	push   %esi
599e74:	e8 57 50 f1 ff       	call   0x4aeed0
599e79:	55                   	push   %ebp
599e7a:	ff 77 08             	push   0x8(%edi)
599e7d:	56                   	push   %esi
599e7e:	e8 8d 03 00 00       	call   0x59a210
599e83:	83 c4 1c             	add    $0x1c,%esp
599e86:	8b 7c 24 18          	mov    0x18(%esp),%edi
599e8a:	43                   	inc    %ebx
599e8b:	57                   	push   %edi
599e8c:	e8 7f 47 f1 ff       	call   0x4ae610
599e91:	83 c4 04             	add    $0x4,%esp
599e94:	3b d8                	cmp    %eax,%ebx
599e96:	7c 8b                	jl     0x599e23
599e98:	5e                   	pop    %esi
599e99:	5d                   	pop    %ebp
599e9a:	5f                   	pop    %edi
599e9b:	b8 01 00 00 00       	mov    $0x1,%eax
599ea0:	5b                   	pop    %ebx
599ea1:	c3                   	ret
599ea2:	cc                   	int3
599ea3:	cc                   	int3
599ea4:	cc                   	int3
599ea5:	cc                   	int3
599ea6:	cc                   	int3
599ea7:	cc                   	int3
599ea8:	cc                   	int3
599ea9:	cc                   	int3
599eaa:	cc                   	int3
599eab:	cc                   	int3
599eac:	cc                   	int3
599ead:	cc                   	int3
599eae:	cc                   	int3
599eaf:	cc                   	int3
599eb0:	68 b0 9c 6c 00       	push   $0x6c9cb0
599eb5:	ff 74 24 08          	push   0x8(%esp)
599eb9:	e8 d2 7f f1 ff       	call   0x4b1e90
599ebe:	83 c4 08             	add    $0x8,%esp
599ec1:	c3                   	ret
599ec2:	cc                   	int3
599ec3:	cc                   	int3
599ec4:	cc                   	int3
599ec5:	cc                   	int3
599ec6:	cc                   	int3
599ec7:	cc                   	int3
599ec8:	cc                   	int3
599ec9:	cc                   	int3
599eca:	cc                   	int3
599ecb:	cc                   	int3
599ecc:	cc                   	int3
599ecd:	cc                   	int3
599ece:	cc                   	int3
599ecf:	cc                   	int3
599ed0:	68 80 9c 6c 00       	push   $0x6c9c80
599ed5:	ff 74 24 08          	push   0x8(%esp)
599ed9:	e8 b2 7f f1 ff       	call   0x4b1e90
599ede:	83 c4 08             	add    $0x8,%esp
599ee1:	c3                   	ret
599ee2:	cc                   	int3
599ee3:	cc                   	int3
599ee4:	cc                   	int3
599ee5:	cc                   	int3
599ee6:	cc                   	int3
599ee7:	cc                   	int3
599ee8:	cc                   	int3
599ee9:	cc                   	int3
599eea:	cc                   	int3
599eeb:	cc                   	int3
599eec:	cc                   	int3
599eed:	cc                   	int3
599eee:	cc                   	int3
599eef:	cc                   	int3
599ef0:	57                   	push   %edi
599ef1:	8b 7c 24 08          	mov    0x8(%esp),%edi
599ef5:	85 ff                	test   %edi,%edi
599ef7:	0f 84 94 00 00 00    	je     0x599f91
599efd:	83 3f 01             	cmpl   $0x1,(%edi)
599f00:	0f 85 8b 00 00 00    	jne    0x599f91
599f06:	53                   	push   %ebx
599f07:	ff 74 24 10          	push   0x10(%esp)
599f0b:	8b 5f 04             	mov    0x4(%edi),%ebx
599f0e:	e8 ed 81 ff ff       	call   0x592100
599f13:	83 c4 04             	add    $0x4,%esp
599f16:	89 47 08             	mov    %eax,0x8(%edi)
599f19:	85 c0                	test   %eax,%eax
599f1b:	75 03                	jne    0x599f20
599f1d:	5b                   	pop    %ebx
599f1e:	5f                   	pop    %edi
599f1f:	c3                   	ret
599f20:	56                   	push   %esi
599f21:	53                   	push   %ebx
599f22:	33 f6                	xor    %esi,%esi
599f24:	e8 e7 46 f1 ff       	call   0x4ae610
599f29:	83 c4 04             	add    $0x4,%esp
599f2c:	85 c0                	test   %eax,%eax
599f2e:	7e 2f                	jle    0x599f5f
599f30:	56                   	push   %esi
599f31:	53                   	push   %ebx
599f32:	e8 f9 47 f1 ff       	call   0x4ae730
599f37:	33 c9                	xor    %ecx,%ecx
599f39:	85 f6                	test   %esi,%esi
599f3b:	0f 94 c1             	sete   %cl
599f3e:	51                   	push   %ecx
599f3f:	6a ff                	push   $0xffffffff
599f41:	50                   	push   %eax
599f42:	ff 77 08             	push   0x8(%edi)
599f45:	e8 a6 3a ff ff       	call   0x58d9f0
599f4a:	83 c4 18             	add    $0x18,%esp
599f4d:	85 c0                	test   %eax,%eax
599f4f:	74 1f                	je     0x599f70
599f51:	53                   	push   %ebx
599f52:	46                   	inc    %esi
599f53:	e8 b8 46 f1 ff       	call   0x4ae610
599f58:	83 c4 04             	add    $0x4,%esp
599f5b:	3b f0                	cmp    %eax,%esi
599f5d:	7c d1                	jl     0x599f30
599f5f:	6a 00                	push   $0x0
599f61:	ff 77 08             	push   0x8(%edi)
599f64:	e8 17 83 ff ff       	call   0x592280
599f69:	83 c4 08             	add    $0x8,%esp
599f6c:	85 c0                	test   %eax,%eax
599f6e:	79 18                	jns    0x599f88
599f70:	ff 77 08             	push   0x8(%edi)
599f73:	e8 a8 81 ff ff       	call   0x592120
599f78:	83 c4 04             	add    $0x4,%esp
599f7b:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
599f82:	33 c0                	xor    %eax,%eax
599f84:	5e                   	pop    %esi
599f85:	5b                   	pop    %ebx
599f86:	5f                   	pop    %edi
599f87:	c3                   	ret
599f88:	5e                   	pop    %esi
599f89:	5b                   	pop    %ebx
599f8a:	b8 01 00 00 00       	mov    $0x1,%eax
599f8f:	5f                   	pop    %edi
599f90:	c3                   	ret
599f91:	b8 01 00 00 00       	mov    $0x1,%eax
599f96:	5f                   	pop    %edi
599f97:	c3                   	ret
599f98:	cc                   	int3
599f99:	cc                   	int3
599f9a:	cc                   	int3
599f9b:	cc                   	int3
599f9c:	cc                   	int3
599f9d:	cc                   	int3
599f9e:	cc                   	int3
599f9f:	cc                   	int3
599fa0:	68 cc 9c 6c 00       	push   $0x6c9ccc
599fa5:	ff 74 24 08          	push   0x8(%esp)
599fa9:	e8 e2 7e f1 ff       	call   0x4b1e90
599fae:	83 c4 08             	add    $0x8,%esp
599fb1:	c3                   	ret
599fb2:	cc                   	int3
599fb3:	cc                   	int3
599fb4:	cc                   	int3
599fb5:	cc                   	int3
599fb6:	cc                   	int3
599fb7:	cc                   	int3
599fb8:	cc                   	int3
599fb9:	cc                   	int3
599fba:	cc                   	int3
599fbb:	cc                   	int3
599fbc:	cc                   	int3
599fbd:	cc                   	int3
599fbe:	cc                   	int3
599fbf:	cc                   	int3
599fc0:	53                   	push   %ebx
599fc1:	55                   	push   %ebp
599fc2:	56                   	push   %esi
599fc3:	57                   	push   %edi
599fc4:	68 80 9c 6c 00       	push   $0x6c9c80
599fc9:	e8 82 1b f3 ff       	call   0x4cbb50
599fce:	8b e8                	mov    %eax,%ebp
599fd0:	83 c4 04             	add    $0x4,%esp
599fd3:	85 ed                	test   %ebp,%ebp
599fd5:	0f 84 f3 00 00 00    	je     0x59a0ce
599fdb:	8b 7c 24 18          	mov    0x18(%esp),%edi
599fdf:	33 f6                	xor    %esi,%esi
599fe1:	57                   	push   %edi
599fe2:	e8 29 46 f1 ff       	call   0x4ae610
599fe7:	83 c4 04             	add    $0x4,%esp
599fea:	85 c0                	test   %eax,%eax
599fec:	0f 8e 80 00 00 00    	jle    0x59a072
599ff2:	8b 5c 24 14          	mov    0x14(%esp),%ebx
599ff6:	56                   	push   %esi
599ff7:	57                   	push   %edi
599ff8:	e8 33 47 f1 ff       	call   0x4ae730
599ffd:	8b f8                	mov    %eax,%edi
599fff:	57                   	push   %edi
59a000:	53                   	push   %ebx
59a001:	55                   	push   %ebp
59a002:	e8 29 03 00 00       	call   0x59a330
59a007:	83 c4 14             	add    $0x14,%esp
59a00a:	85 c0                	test   %eax,%eax
59a00c:	7f 52                	jg     0x59a060
59a00e:	0f 88 ac 00 00 00    	js     0x59a0c0
59a014:	8b 57 04             	mov    0x4(%edi),%edx
59a017:	b9 10 9e 6c 00       	mov    $0x6c9e10,%ecx
59a01c:	8b c2                	mov    %edx,%eax
59a01e:	66 90                	xchg   %ax,%ax
59a020:	8a 18                	mov    (%eax),%bl
59a022:	3a 19                	cmp    (%ecx),%bl
59a024:	75 1a                	jne    0x59a040
59a026:	84 db                	test   %bl,%bl
59a028:	74 12                	je     0x59a03c
59a02a:	8a 58 01             	mov    0x1(%eax),%bl
59a02d:	3a 59 01             	cmp    0x1(%ecx),%bl
59a030:	75 0e                	jne    0x59a040
59a032:	83 c0 02             	add    $0x2,%eax
59a035:	83 c1 02             	add    $0x2,%ecx
59a038:	84 db                	test   %bl,%bl
59a03a:	75 e4                	jne    0x59a020
59a03c:	33 c0                	xor    %eax,%eax
59a03e:	eb 05                	jmp    0x59a045
59a040:	1b c0                	sbb    %eax,%eax
59a042:	83 c8 01             	or     $0x1,%eax
59a045:	85 c0                	test   %eax,%eax
59a047:	75 30                	jne    0x59a079
59a049:	ff 77 08             	push   0x8(%edi)
59a04c:	8d 45 04             	lea    0x4(%ebp),%eax
59a04f:	50                   	push   %eax
59a050:	e8 ab 04 00 00       	call   0x59a500
59a055:	83 c4 08             	add    $0x8,%esp
59a058:	85 c0                	test   %eax,%eax
59a05a:	74 64                	je     0x59a0c0
59a05c:	8b 5c 24 14          	mov    0x14(%esp),%ebx
59a060:	8b 7c 24 18          	mov    0x18(%esp),%edi
59a064:	46                   	inc    %esi
59a065:	57                   	push   %edi
59a066:	e8 a5 45 f1 ff       	call   0x4ae610
59a06b:	83 c4 04             	add    $0x4,%esp
59a06e:	3b f0                	cmp    %eax,%esi
59a070:	7c 84                	jl     0x599ff6
59a072:	5f                   	pop    %edi
59a073:	5e                   	pop    %esi
59a074:	8b c5                	mov    %ebp,%eax
59a076:	5d                   	pop    %ebp
59a077:	5b                   	pop    %ebx
59a078:	c3                   	ret
59a079:	b8 18 9e 6c 00       	mov    $0x6c9e18,%eax
59a07e:	66 90                	xchg   %ax,%ax
59a080:	8a 0a                	mov    (%edx),%cl
59a082:	3a 08                	cmp    (%eax),%cl
59a084:	75 1a                	jne    0x59a0a0
59a086:	84 c9                	test   %cl,%cl
59a088:	74 12                	je     0x59a09c
59a08a:	8a 4a 01             	mov    0x1(%edx),%cl
59a08d:	3a 48 01             	cmp    0x1(%eax),%cl
59a090:	75 0e                	jne    0x59a0a0
59a092:	83 c2 02             	add    $0x2,%edx
59a095:	83 c0 02             	add    $0x2,%eax
59a098:	84 c9                	test   %cl,%cl
59a09a:	75 e4                	jne    0x59a080
59a09c:	33 c0                	xor    %eax,%eax
59a09e:	eb 05                	jmp    0x59a0a5
59a0a0:	1b c0                	sbb    %eax,%eax
59a0a2:	83 c8 01             	or     $0x1,%eax
59a0a5:	85 c0                	test   %eax,%eax
59a0a7:	75 b3                	jne    0x59a05c
59a0a9:	ff 77 08             	push   0x8(%edi)
59a0ac:	8b 5c 24 18          	mov    0x18(%esp),%ebx
59a0b0:	53                   	push   %ebx
59a0b1:	e8 2a 00 00 00       	call   0x59a0e0
59a0b6:	83 c4 08             	add    $0x8,%esp
59a0b9:	89 45 08             	mov    %eax,0x8(%ebp)
59a0bc:	85 c0                	test   %eax,%eax
59a0be:	75 a0                	jne    0x59a060
59a0c0:	68 80 9c 6c 00       	push   $0x6c9c80
59a0c5:	55                   	push   %ebp
59a0c6:	e8 c5 7d f1 ff       	call   0x4b1e90
59a0cb:	83 c4 08             	add    $0x8,%esp
59a0ce:	5f                   	pop    %edi
59a0cf:	5e                   	pop    %esi
59a0d0:	5d                   	pop    %ebp
59a0d1:	33 c0                	xor    %eax,%eax
59a0d3:	5b                   	pop    %ebx
59a0d4:	c3                   	ret
59a0d5:	cc                   	int3
59a0d6:	cc                   	int3
59a0d7:	cc                   	int3
59a0d8:	cc                   	int3
59a0d9:	cc                   	int3
59a0da:	cc                   	int3
59a0db:	cc                   	int3
59a0dc:	cc                   	int3
59a0dd:	cc                   	int3
59a0de:	cc                   	int3
59a0df:	cc                   	int3
59a0e0:	53                   	push   %ebx
59a0e1:	8b 5c 24 08          	mov    0x8(%esp),%ebx
59a0e5:	56                   	push   %esi
59a0e6:	57                   	push   %edi
59a0e7:	8b 7c 24 14          	mov    0x14(%esp),%edi
59a0eb:	80 3f 40             	cmpb   $0x40,(%edi)
59a0ee:	75 0f                	jne    0x59a0ff
59a0f0:	8d 47 01             	lea    0x1(%edi),%eax
59a0f3:	50                   	push   %eax
59a0f4:	53                   	push   %ebx
59a0f5:	e8 c6 1b 00 00       	call   0x59bcc0
59a0fa:	83 c4 08             	add    $0x8,%esp
59a0fd:	eb 09                	jmp    0x59a108
59a0ff:	57                   	push   %edi
59a100:	e8 db e4 fd ff       	call   0x5785e0
59a105:	83 c4 04             	add    $0x4,%esp
59a108:	8b f0                	mov    %eax,%esi
59a10a:	85 f6                	test   %esi,%esi
59a10c:	75 21                	jne    0x59a12f
59a10e:	6a 66                	push   $0x66
59a110:	68 e8 9e 6c 00       	push   $0x6c9ee8
59a115:	68 96 00 00 00       	push   $0x96
59a11a:	68 9c 00 00 00       	push   $0x9c
59a11f:	6a 22                	push   $0x22
59a121:	e8 7a 73 f0 ff       	call   0x4a14a0
59a126:	83 c4 14             	add    $0x14,%esp
59a129:	33 c0                	xor    %eax,%eax
59a12b:	5f                   	pop    %edi
59a12c:	5e                   	pop    %esi
59a12d:	5b                   	pop    %ebx
59a12e:	c3                   	ret
59a12f:	55                   	push   %ebp
59a130:	56                   	push   %esi
59a131:	53                   	push   %ebx
59a132:	6a 00                	push   $0x0