587d9f:	55                   	push   %ebp
587da0:	56                   	push   %esi
587da1:	ff 74 24 1c          	push   0x1c(%esp)
587da5:	ff 74 24 28          	push   0x28(%esp)
587da9:	ff 74 24 30          	push   0x30(%esp)
587dad:	ff 74 24 38          	push   0x38(%esp)
587db1:	ff 34 85 60 42 72 00 	push   0x724260(,%eax,4)
587db8:	68 58 3b 6c 00       	push   $0x6c3b58
587dbd:	ff 74 24 50          	push   0x50(%esp)
587dc1:	e8 0a 71 f2 ff       	call   0x4aeed0
587dc6:	83 c4 2c             	add    $0x2c,%esp
587dc9:	33 c9                	xor    %ecx,%ecx
587dcb:	85 c0                	test   %eax,%eax
587dcd:	0f 9f c1             	setg   %cl
587dd0:	5f                   	pop    %edi
587dd1:	5e                   	pop    %esi
587dd2:	8b c1                	mov    %ecx,%eax
587dd4:	5d                   	pop    %ebp
587dd5:	83 c4 18             	add    $0x18,%esp
587dd8:	c3                   	ret
587dd9:	6a 0e                	push   $0xe
587ddb:	68 40 3b 6c 00       	push   $0x6c3b40
587de0:	ff 74 24 30          	push   0x30(%esp)
587de4:	e8 67 ad f2 ff       	call   0x4b2b50
587de9:	83 c4 0c             	add    $0xc,%esp
587dec:	33 c0                	xor    %eax,%eax
587dee:	5f                   	pop    %edi
587def:	5e                   	pop    %esi
587df0:	5d                   	pop    %ebp
587df1:	83 c4 18             	add    $0x18,%esp
587df4:	c3                   	ret
587df5:	cc                   	int3
587df6:	cc                   	int3
587df7:	cc                   	int3
587df8:	cc                   	int3
587df9:	cc                   	int3
587dfa:	cc                   	int3
587dfb:	cc                   	int3
587dfc:	cc                   	int3
587dfd:	cc                   	int3
587dfe:	cc                   	int3
587dff:	cc                   	int3
587e00:	b8 54 00 00 00       	mov    $0x54,%eax
587e05:	e8 e6 96 05 00       	call   0x5e14f0
587e0a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
587e0f:	33 c4                	xor    %esp,%eax
587e11:	89 44 24 50          	mov    %eax,0x50(%esp)
587e15:	53                   	push   %ebx
587e16:	8b 5c 24 5c          	mov    0x5c(%esp),%ebx
587e1a:	33 c0                	xor    %eax,%eax
587e1c:	57                   	push   %edi
587e1d:	8b 7c 24 64          	mov    0x64(%esp),%edi
587e21:	85 ff                	test   %edi,%edi
587e23:	0f 84 80 00 00 00    	je     0x587ea9
587e29:	55                   	push   %ebp
587e2a:	8b 6f 08             	mov    0x8(%edi),%ebp
587e2d:	56                   	push   %esi
587e2e:	33 f6                	xor    %esi,%esi
587e30:	39 07                	cmp    %eax,(%edi)
587e32:	7e 6e                	jle    0x587ea2
587e34:	8a 0c 2e             	mov    (%esi,%ebp,1),%cl
587e37:	80 f9 7e             	cmp    $0x7e,%cl
587e3a:	7f 15                	jg     0x587e51
587e3c:	80 f9 20             	cmp    $0x20,%cl
587e3f:	7d 0a                	jge    0x587e4b
587e41:	80 f9 0a             	cmp    $0xa,%cl
587e44:	74 05                	je     0x587e4b
587e46:	80 f9 0d             	cmp    $0xd,%cl
587e49:	75 06                	jne    0x587e51
587e4b:	88 4c 04 10          	mov    %cl,0x10(%esp,%eax,1)
587e4f:	eb 05                	jmp    0x587e56
587e51:	c6 44 04 10 2e       	movb   $0x2e,0x10(%esp,%eax,1)
587e56:	40                   	inc    %eax
587e57:	83 f8 50             	cmp    $0x50,%eax
587e5a:	7c 15                	jl     0x587e71
587e5c:	50                   	push   %eax
587e5d:	8d 44 24 14          	lea    0x14(%esp),%eax
587e61:	50                   	push   %eax
587e62:	53                   	push   %ebx
587e63:	e8 e8 ac f2 ff       	call   0x4b2b50
587e68:	83 c4 0c             	add    $0xc,%esp
587e6b:	85 c0                	test   %eax,%eax
587e6d:	7e 1e                	jle    0x587e8d
587e6f:	33 c0                	xor    %eax,%eax
587e71:	46                   	inc    %esi
587e72:	3b 37                	cmp    (%edi),%esi
587e74:	7c be                	jl     0x587e34
587e76:	85 c0                	test   %eax,%eax
587e78:	7e 28                	jle    0x587ea2
587e7a:	50                   	push   %eax
587e7b:	8d 44 24 14          	lea    0x14(%esp),%eax
587e7f:	50                   	push   %eax
587e80:	53                   	push   %ebx
587e81:	e8 ca ac f2 ff       	call   0x4b2b50
587e86:	83 c4 0c             	add    $0xc,%esp
587e89:	85 c0                	test   %eax,%eax
587e8b:	7f 15                	jg     0x587ea2
587e8d:	5e                   	pop    %esi
587e8e:	5d                   	pop    %ebp
587e8f:	5f                   	pop    %edi
587e90:	33 c0                	xor    %eax,%eax
587e92:	5b                   	pop    %ebx
587e93:	8b 4c 24 50          	mov    0x50(%esp),%ecx
587e97:	33 cc                	xor    %esp,%ecx
587e99:	e8 3c 96 05 00       	call   0x5e14da
587e9e:	83 c4 54             	add    $0x54,%esp
587ea1:	c3                   	ret
587ea2:	5e                   	pop    %esi
587ea3:	b8 01 00 00 00       	mov    $0x1,%eax
587ea8:	5d                   	pop    %ebp
587ea9:	8b 4c 24 58          	mov    0x58(%esp),%ecx
587ead:	5f                   	pop    %edi
587eae:	5b                   	pop    %ebx
587eaf:	33 cc                	xor    %esp,%ecx
587eb1:	e8 24 96 05 00       	call   0x5e14da
587eb6:	83 c4 54             	add    $0x54,%esp
587eb9:	c3                   	ret
587eba:	cc                   	int3
587ebb:	cc                   	int3
587ebc:	cc                   	int3
587ebd:	cc                   	int3
587ebe:	cc                   	int3
587ebf:	cc                   	int3
587ec0:	b8 08 00 00 00       	mov    $0x8,%eax
587ec5:	e8 26 96 05 00       	call   0x5e14f0
587eca:	6a 00                	push   $0x0
587ecc:	6a 00                	push   $0x0
587ece:	ff 74 24 18          	push   0x18(%esp)
587ed2:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
587ed9:	00
587eda:	e8 81 ae 00 00       	call   0x592d60
587edf:	83 c4 0c             	add    $0xc,%esp
587ee2:	89 44 24 04          	mov    %eax,0x4(%esp)
587ee6:	85 c0                	test   %eax,%eax
587ee8:	75 04                	jne    0x587eee
587eea:	83 c4 08             	add    $0x8,%esp
587eed:	c3                   	ret
587eee:	80 38 00             	cmpb   $0x0,(%eax)
587ef1:	75 12                	jne    0x587f05
587ef3:	50                   	push   %eax
587ef4:	e8 37 82 f1 ff       	call   0x4a0130
587ef9:	83 c4 04             	add    $0x4,%esp
587efc:	b8 01 00 00 00       	mov    $0x1,%eax
587f01:	83 c4 08             	add    $0x8,%esp
587f04:	c3                   	ret
587f05:	53                   	push   %ebx
587f06:	55                   	push   %ebp
587f07:	8b 6c 24 14          	mov    0x14(%esp),%ebp
587f0b:	56                   	push   %esi
587f0c:	57                   	push   %edi
587f0d:	8d 78 01             	lea    0x1(%eax),%edi
587f10:	8b df                	mov    %edi,%ebx
587f12:	8a 0f                	mov    (%edi),%cl
587f14:	80 f9 2f             	cmp    $0x2f,%cl
587f17:	75 20                	jne    0x587f39
587f19:	8a 47 01             	mov    0x1(%edi),%al
587f1c:	3c 41                	cmp    $0x41,%al
587f1e:	7c 19                	jl     0x587f39
587f20:	3c 5a                	cmp    $0x5a,%al
587f22:	7f 15                	jg     0x587f39
587f24:	8a 47 02             	mov    0x2(%edi),%al
587f27:	3c 3d                	cmp    $0x3d,%al
587f29:	74 12                	je     0x587f3d
587f2b:	3c 41                	cmp    $0x41,%al
587f2d:	7c 0a                	jl     0x587f39
587f2f:	3c 5a                	cmp    $0x5a,%al
587f31:	7f 06                	jg     0x587f39
587f33:	80 7f 03 3d          	cmpb   $0x3d,0x3(%edi)
587f37:	74 04                	je     0x587f3d
587f39:	84 c9                	test   %cl,%cl
587f3b:	75 35                	jne    0x587f72
587f3d:	8b f7                	mov    %edi,%esi
587f3f:	2b f3                	sub    %ebx,%esi
587f41:	56                   	push   %esi
587f42:	53                   	push   %ebx
587f43:	55                   	push   %ebp
587f44:	e8 07 ac f2 ff       	call   0x4b2b50
587f49:	83 c4 0c             	add    $0xc,%esp
587f4c:	3b c6                	cmp    %esi,%eax
587f4e:	75 2f                	jne    0x587f7f
587f50:	80 3f 00             	cmpb   $0x0,(%edi)
587f53:	8d 5f 01             	lea    0x1(%edi),%ebx
587f56:	74 1d                	je     0x587f75
587f58:	6a 02                	push   $0x2
587f5a:	68 04 a7 6b 00       	push   $0x6ba704
587f5f:	55                   	push   %ebp
587f60:	e8 eb ab f2 ff       	call   0x4b2b50
587f65:	83 c4 0c             	add    $0xc,%esp
587f68:	83 f8 02             	cmp    $0x2,%eax
587f6b:	75 12                	jne    0x587f7f
587f6d:	80 3f 00             	cmpb   $0x0,(%edi)
587f70:	74 03                	je     0x587f75
587f72:	47                   	inc    %edi
587f73:	eb 9d                	jmp    0x587f12
587f75:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
587f7c:	00
587f7d:	eb 18                	jmp    0x587f97
587f7f:	68 28 02 00 00       	push   $0x228
587f84:	68 20 3b 6c 00       	push   $0x6c3b20
587f89:	6a 07                	push   $0x7
587f8b:	6a 75                	push   $0x75
587f8d:	6a 0b                	push   $0xb
587f8f:	e8 0c 95 f1 ff       	call   0x4a14a0
587f94:	83 c4 14             	add    $0x14,%esp
587f97:	ff 74 24 14          	push   0x14(%esp)
587f9b:	e8 90 81 f1 ff       	call   0x4a0130
587fa0:	8b 44 24 14          	mov    0x14(%esp),%eax
587fa4:	83 c4 04             	add    $0x4,%esp
587fa7:	5f                   	pop    %edi
587fa8:	5e                   	pop    %esi
587fa9:	5d                   	pop    %ebp
587faa:	5b                   	pop    %ebx
587fab:	83 c4 08             	add    $0x8,%esp
587fae:	c3                   	ret
587faf:	cc                   	int3
587fb0:	b8 04 00 00 00       	mov    $0x4,%eax
587fb5:	e8 36 95 05 00       	call   0x5e14f0
587fba:	8b 44 24 0c          	mov    0xc(%esp),%eax
587fbe:	53                   	push   %ebx
587fbf:	55                   	push   %ebp
587fc0:	56                   	push   %esi
587fc1:	8b 18                	mov    (%eax),%ebx
587fc3:	33 f6                	xor    %esi,%esi
587fc5:	8b 48 08             	mov    0x8(%eax),%ecx
587fc8:	89 4c 24 18          	mov    %ecx,0x18(%esp)
587fcc:	57                   	push   %edi
587fcd:	8b 7c 24 18          	mov    0x18(%esp),%edi
587fd1:	85 db                	test   %ebx,%ebx
587fd3:	0f 8e 8d 00 00 00    	jle    0x588066
587fd9:	8b 6c 24 20          	mov    0x20(%esp),%ebp
587fdd:	b8 01 00 00 00       	mov    $0x1,%eax
587fe2:	2b c1                	sub    %ecx,%eax
587fe4:	89 44 24 10          	mov    %eax,0x10(%esp)
587fe8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
587fef:	00
587ff0:	b8 39 8e e3 38       	mov    $0x38e38e39,%eax
587ff5:	f7 ee                	imul   %esi
587ff7:	c1 fa 02             	sar    $0x2,%edx
587ffa:	8b c2                	mov    %edx,%eax
587ffc:	c1 e8 1f             	shr    $0x1f,%eax
587fff:	03 c2                	add    %edx,%eax
588001:	8d 0c c0             	lea    (%eax,%eax,8),%ecx
588004:	8b c6                	mov    %esi,%eax
588006:	03 c9                	add    %ecx,%ecx
588008:	2b c1                	sub    %ecx,%eax
58800a:	75 23                	jne    0x58802f
58800c:	6a 01                	push   $0x1
58800e:	68 b8 82 6b 00       	push   $0x6b82b8
588013:	57                   	push   %edi
588014:	e8 37 ab f2 ff       	call   0x4b2b50
588019:	83 c4 0c             	add    $0xc,%esp
58801c:	85 c0                	test   %eax,%eax
58801e:	7e 62                	jle    0x588082
588020:	55                   	push   %ebp
588021:	55                   	push   %ebp
588022:	57                   	push   %edi
588023:	e8 18 a7 f2 ff       	call   0x4b2740
588028:	83 c4 0c             	add    $0xc,%esp
58802b:	85 c0                	test   %eax,%eax
58802d:	7e 53                	jle    0x588082
58802f:	8b 54 24 1c          	mov    0x1c(%esp),%edx
588033:	b9 ad 57 6e 00       	mov    $0x6e57ad,%ecx
588038:	8b 44 24 10          	mov    0x10(%esp),%eax
58803c:	03 d6                	add    %esi,%edx
58803e:	03 c2                	add    %edx,%eax
588040:	3b c3                	cmp    %ebx,%eax
588042:	b8 40 d1 6b 00       	mov    $0x6bd140,%eax
588047:	0f 45 c8             	cmovne %eax,%ecx
58804a:	0f b6 02             	movzbl (%edx),%eax
58804d:	51                   	push   %ecx
58804e:	50                   	push   %eax
58804f:	68 44 d1 6b 00       	push   $0x6bd144
588054:	57                   	push   %edi
588055:	e8 76 6e f2 ff       	call   0x4aeed0
58805a:	83 c4 10             	add    $0x10,%esp
58805d:	85 c0                	test   %eax,%eax
58805f:	7e 21                	jle    0x588082
588061:	46                   	inc    %esi
588062:	3b f3                	cmp    %ebx,%esi
588064:	7c 8a                	jl     0x587ff0
588066:	6a 01                	push   $0x1
588068:	68 b8 82 6b 00       	push   $0x6b82b8
58806d:	57                   	push   %edi
58806e:	e8 dd aa f2 ff       	call   0x4b2b50
588073:	83 c4 0c             	add    $0xc,%esp
588076:	48                   	dec    %eax
588077:	f7 d8                	neg    %eax
588079:	1b c0                	sbb    %eax,%eax
58807b:	5f                   	pop    %edi
58807c:	5e                   	pop    %esi
58807d:	5d                   	pop    %ebp
58807e:	40                   	inc    %eax
58807f:	5b                   	pop    %ebx
588080:	59                   	pop    %ecx
588081:	c3                   	ret
588082:	5f                   	pop    %edi
588083:	5e                   	pop    %esi
588084:	5d                   	pop    %ebp
588085:	33 c0                	xor    %eax,%eax
588087:	5b                   	pop    %ebx
588088:	59                   	pop    %ecx
588089:	c3                   	ret
58808a:	cc                   	int3
58808b:	cc                   	int3
58808c:	cc                   	int3
58808d:	cc                   	int3
58808e:	cc                   	int3
58808f:	cc                   	int3
588090:	83 7c 24 04 03       	cmpl   $0x3,0x4(%esp)
588095:	75 11                	jne    0x5880a8
588097:	8b 44 24 08          	mov    0x8(%esp),%eax
58809b:	8b 00                	mov    (%eax),%eax
58809d:	ff 70 08             	push   0x8(%eax)
5880a0:	e8 0b d6 f4 ff       	call   0x4d56b0
5880a5:	83 c4 04             	add    $0x4,%esp
5880a8:	b8 01 00 00 00       	mov    $0x1,%eax
5880ad:	c3                   	ret
5880ae:	cc                   	int3
5880af:	cc                   	int3
5880b0:	56                   	push   %esi
5880b1:	57                   	push   %edi
5880b2:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5880b6:	85 ff                	test   %edi,%edi
5880b8:	0f 84 41 01 00 00    	je     0x5881ff
5880be:	8b 47 08             	mov    0x8(%edi),%eax
5880c1:	85 c0                	test   %eax,%eax
5880c3:	74 20                	je     0x5880e5
5880c5:	68 87 00 00 00       	push   $0x87
5880ca:	68 ec 3b 6c 00       	push   $0x6c3bec
5880cf:	6a 0a                	push   $0xa
5880d1:	83 c0 08             	add    $0x8,%eax
5880d4:	6a 01                	push   $0x1
5880d6:	50                   	push   %eax
5880d7:	e8 44 83 f1 ff       	call   0x4a0420
5880dc:	8b 47 08             	mov    0x8(%edi),%eax
5880df:	83 c4 14             	add    $0x14,%esp
5880e2:	5f                   	pop    %edi
5880e3:	5e                   	pop    %esi
5880e4:	c3                   	ret
5880e5:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
5880e9:	0f 84 10 01 00 00    	je     0x5881ff
5880ef:	e8 cc d6 f4 ff       	call   0x4d57c0
5880f4:	8b f0                	mov    %eax,%esi
5880f6:	85 f6                	test   %esi,%esi
5880f8:	75 1d                	jne    0x588117
5880fa:	68 8f 00 00 00       	push   $0x8f
5880ff:	68 ec 3b 6c 00       	push   $0x6c3bec
588104:	6a 41                	push   $0x41
588106:	6a 77                	push   $0x77
588108:	6a 0b                	push   $0xb