585e53:	85 ff                	test   %edi,%edi
585e55:	78 18                	js     0x585e6f
585e57:	57                   	push   %edi
585e58:	6a 5a                	push   $0x5a
585e5a:	55                   	push   %ebp
585e5b:	e8 d0 bc fe ff       	call   0x571b30
585e60:	83 c4 0c             	add    $0xc,%esp
585e63:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
585e6a:	00
585e6b:	85 c0                	test   %eax,%eax
585e6d:	79 08                	jns    0x585e77
585e6f:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
585e76:	00
585e77:	6a ff                	push   $0xffffffff
585e79:	6a 5a                	push   $0x5a
585e7b:	56                   	push   %esi
585e7c:	e8 af bc fe ff       	call   0x571b30
585e81:	8b d8                	mov    %eax,%ebx
585e83:	83 c4 0c             	add    $0xc,%esp
585e86:	85 db                	test   %ebx,%ebx
585e88:	78 17                	js     0x585ea1
585e8a:	53                   	push   %ebx
585e8b:	6a 5a                	push   $0x5a
585e8d:	56                   	push   %esi
585e8e:	e8 9d bc fe ff       	call   0x571b30
585e93:	83 c4 0c             	add    $0xc,%esp
585e96:	85 c0                	test   %eax,%eax
585e98:	78 07                	js     0x585ea1
585e9a:	b8 01 00 00 00       	mov    $0x1,%eax
585e9f:	eb 02                	jmp    0x585ea3
585ea1:	33 c0                	xor    %eax,%eax
585ea3:	83 ff ff             	cmp    $0xffffffff,%edi
585ea6:	0f 8c 8f 00 00 00    	jl     0x585f3b
585eac:	83 fb ff             	cmp    $0xffffffff,%ebx
585eaf:	0f 8c 86 00 00 00    	jl     0x585f3b
585eb5:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
585eba:	75 7f                	jne    0x585f3b
585ebc:	85 c0                	test   %eax,%eax
585ebe:	75 7b                	jne    0x585f3b
585ec0:	85 ff                	test   %edi,%edi
585ec2:	78 07                	js     0x585ecb
585ec4:	83 fb ff             	cmp    $0xffffffff,%ebx
585ec7:	75 0b                	jne    0x585ed4
585ec9:	eb 70                	jmp    0x585f3b
585ecb:	83 ff ff             	cmp    $0xffffffff,%edi
585ece:	75 04                	jne    0x585ed4
585ed0:	85 db                	test   %ebx,%ebx
585ed2:	79 67                	jns    0x585f3b
585ed4:	55                   	push   %ebp
585ed5:	e8 b6 b9 f6 ff       	call   0x4f1890
585eda:	50                   	push   %eax
585edb:	56                   	push   %esi
585edc:	e8 af af f9 ff       	call   0x520e90
585ee1:	83 c4 0c             	add    $0xc,%esp
585ee4:	85 c0                	test   %eax,%eax
585ee6:	74 53                	je     0x585f3b
585ee8:	83 ff ff             	cmp    $0xffffffff,%edi
585eeb:	74 38                	je     0x585f25
585eed:	57                   	push   %edi
585eee:	55                   	push   %ebp
585eef:	e8 1c bc fe ff       	call   0x571b10
585ef4:	53                   	push   %ebx
585ef5:	56                   	push   %esi
585ef6:	8b e8                	mov    %eax,%ebp
585ef8:	e8 13 bc fe ff       	call   0x571b10
585efd:	83 c4 10             	add    $0x10,%esp
585f00:	8b f8                	mov    %eax,%edi
585f02:	85 ed                	test   %ebp,%ebp
585f04:	74 35                	je     0x585f3b
585f06:	85 ff                	test   %edi,%edi
585f08:	74 31                	je     0x585f3b
585f0a:	55                   	push   %ebp
585f0b:	e8 90 bc fe ff       	call   0x571ba0
585f10:	83 c4 04             	add    $0x4,%esp
585f13:	85 c0                	test   %eax,%eax
585f15:	74 24                	je     0x585f3b
585f17:	50                   	push   %eax
585f18:	57                   	push   %edi
585f19:	e8 92 bc fe ff       	call   0x571bb0
585f1e:	83 c4 08             	add    $0x8,%esp
585f21:	85 c0                	test   %eax,%eax
585f23:	74 16                	je     0x585f3b
585f25:	8d 44 24 14          	lea    0x14(%esp),%eax
585f29:	50                   	push   %eax
585f2a:	56                   	push   %esi
585f2b:	e8 f0 13 fd ff       	call   0x557320
585f30:	83 c4 08             	add    $0x8,%esp
585f33:	89 44 24 20          	mov    %eax,0x20(%esp)
585f37:	85 c0                	test   %eax,%eax
585f39:	7f 39                	jg     0x585f74
585f3b:	68 bc 00 00 00       	push   $0xbc
585f40:	68 48 d4 65 00       	push   $0x65d448
585f45:	ff 74 24 18          	push   0x18(%esp)
585f49:	e8 32 a8 f5 ff       	call   0x4e0780
585f4e:	68 bd 00 00 00       	push   $0xbd
585f53:	68 48 d4 65 00       	push   $0x65d448
585f58:	ff 74 24 28          	push   0x28(%esp)
585f5c:	e8 1f a8 f5 ff       	call   0x4e0780
585f61:	56                   	push   %esi
585f62:	e8 79 12 fd ff       	call   0x5571e0
585f67:	83 c4 1c             	add    $0x1c,%esp
585f6a:	33 c0                	xor    %eax,%eax
585f6c:	5f                   	pop    %edi
585f6d:	5e                   	pop    %esi
585f6e:	5d                   	pop    %ebp
585f6f:	5b                   	pop    %ebx
585f70:	83 c4 14             	add    $0x14,%esp
585f73:	c3                   	ret
585f74:	56                   	push   %esi
585f75:	e8 66 12 fd ff       	call   0x5571e0
585f7a:	8b 74 24 2c          	mov    0x2c(%esp),%esi
585f7e:	68 b2 00 00 00       	push   $0xb2
585f83:	68 48 d4 65 00       	push   $0x65d448
585f88:	ff 76 14             	push   0x14(%esi)
585f8b:	e8 f0 a7 f5 ff       	call   0x4e0780
585f90:	8b 44 24 20          	mov    0x20(%esp),%eax
585f94:	68 b6 00 00 00       	push   $0xb6
585f99:	68 48 d4 65 00       	push   $0x65d448
585f9e:	ff 76 1c             	push   0x1c(%esi)
585fa1:	89 46 14             	mov    %eax,0x14(%esi)
585fa4:	8b 44 24 38          	mov    0x38(%esp),%eax
585fa8:	89 46 18             	mov    %eax,0x18(%esi)
585fab:	e8 d0 a7 f5 ff       	call   0x4e0780
585fb0:	8b 44 24 30          	mov    0x30(%esp),%eax
585fb4:	83 c4 1c             	add    $0x1c,%esp
585fb7:	89 46 1c             	mov    %eax,0x1c(%esi)
585fba:	8b 44 24 20          	mov    0x20(%esp),%eax
585fbe:	89 46 20             	mov    %eax,0x20(%esi)
585fc1:	b8 01 00 00 00       	mov    $0x1,%eax
585fc6:	5f                   	pop    %edi
585fc7:	5e                   	pop    %esi
585fc8:	5d                   	pop    %ebp
585fc9:	5b                   	pop    %ebx
585fca:	83 c4 14             	add    $0x14,%esp
585fcd:	c3                   	ret
585fce:	cc                   	int3
585fcf:	cc                   	int3
585fd0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
585fd4:	8d 41 10             	lea    0x10(%ecx),%eax
585fd7:	50                   	push   %eax
585fd8:	8d 41 0c             	lea    0xc(%ecx),%eax
585fdb:	50                   	push   %eax
585fdc:	ff 74 24 10          	push   0x10(%esp)
585fe0:	e8 8b 00 00 00       	call   0x586070
585fe5:	83 c4 0c             	add    $0xc,%esp
585fe8:	c3                   	ret
585fe9:	cc                   	int3
585fea:	cc                   	int3
585feb:	cc                   	int3
585fec:	cc                   	int3
585fed:	cc                   	int3
585fee:	cc                   	int3
585fef:	cc                   	int3
585ff0:	56                   	push   %esi
585ff1:	ff 74 24 0c          	push   0xc(%esp)
585ff5:	e8 d6 5c f5 ff       	call   0x4dbcd0
585ffa:	8b f0                	mov    %eax,%esi
585ffc:	83 c4 04             	add    $0x4,%esp
585fff:	85 f6                	test   %esi,%esi
586001:	75 02                	jne    0x586005
586003:	5e                   	pop    %esi
586004:	c3                   	ret
586005:	57                   	push   %edi
586006:	8b 7c 24 0c          	mov    0xc(%esp),%edi
58600a:	8d 47 08             	lea    0x8(%edi),%eax
58600d:	50                   	push   %eax
58600e:	8d 47 04             	lea    0x4(%edi),%eax
586011:	50                   	push   %eax
586012:	ff 74 24 18          	push   0x18(%esp)
586016:	e8 55 00 00 00       	call   0x586070
58601b:	83 c4 0c             	add    $0xc,%esp
58601e:	85 c0                	test   %eax,%eax
586020:	75 0e                	jne    0x586030
586022:	56                   	push   %esi
586023:	e8 b8 ac f6 ff       	call   0x4f0ce0
586028:	83 c4 04             	add    $0x4,%esp
58602b:	33 c0                	xor    %eax,%eax
58602d:	5f                   	pop    %edi
58602e:	5e                   	pop    %esi
58602f:	c3                   	ret
586030:	ff 37                	push   (%edi)
586032:	e8 a9 ac f6 ff       	call   0x4f0ce0
586037:	83 c4 04             	add    $0x4,%esp
58603a:	89 37                	mov    %esi,(%edi)
58603c:	b8 01 00 00 00       	mov    $0x1,%eax
586041:	5f                   	pop    %edi
586042:	5e                   	pop    %esi
586043:	c3                   	ret
586044:	cc                   	int3
586045:	cc                   	int3
586046:	cc                   	int3
586047:	cc                   	int3
586048:	cc                   	int3
586049:	cc                   	int3
58604a:	cc                   	int3
58604b:	cc                   	int3
58604c:	cc                   	int3
58604d:	cc                   	int3
58604e:	cc                   	int3
58604f:	cc                   	int3
586050:	8b 4c 24 04          	mov    0x4(%esp),%ecx
586054:	8b 44 24 08          	mov    0x8(%esp),%eax
586058:	89 41 28             	mov    %eax,0x28(%ecx)
58605b:	8b 44 24 0c          	mov    0xc(%esp),%eax
58605f:	89 41 2c             	mov    %eax,0x2c(%ecx)
586062:	c3                   	ret
586063:	cc                   	int3
586064:	cc                   	int3
586065:	cc                   	int3
586066:	cc                   	int3
586067:	cc                   	int3
586068:	cc                   	int3
586069:	cc                   	int3
58606a:	cc                   	int3
58606b:	cc                   	int3
58606c:	cc                   	int3
58606d:	cc                   	int3
58606e:	cc                   	int3
58606f:	cc                   	int3
586070:	b8 08 00 00 00       	mov    $0x8,%eax
586075:	e8 36 b7 04 00       	call   0x5d17b0
58607a:	53                   	push   %ebx
58607b:	55                   	push   %ebp
58607c:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
586080:	33 db                	xor    %ebx,%ebx
586082:	56                   	push   %esi
586083:	57                   	push   %edi
586084:	8b 7c 24 20          	mov    0x20(%esp),%edi
586088:	89 5c 24 10          	mov    %ebx,0x10(%esp)
58608c:	8b 37                	mov    (%edi),%esi
58608e:	85 f6                	test   %esi,%esi
586090:	74 06                	je     0x586098
586092:	83 7d 00 20          	cmpl   $0x20,0x0(%ebp)
586096:	73 1a                	jae    0x5860b2
586098:	68 ce 00 00 00       	push   $0xce
58609d:	68 48 d4 65 00       	push   $0x65d448
5860a2:	6a 20                	push   $0x20
5860a4:	e8 a7 a6 f5 ff       	call   0x4e0750
5860a9:	8b f0                	mov    %eax,%esi
5860ab:	83 c4 0c             	add    $0xc,%esp
5860ae:	85 f6                	test   %esi,%esi
5860b0:	74 62                	je     0x586114
5860b2:	8d 44 24 10          	lea    0x10(%esp),%eax
5860b6:	50                   	push   %eax
5860b7:	ff 74 24 20          	push   0x20(%esp)
5860bb:	e8 b0 60 f5 ff       	call   0x4dc170
5860c0:	83 c4 08             	add    $0x8,%esp
5860c3:	89 44 24 20          	mov    %eax,0x20(%esp)
5860c7:	85 c0                	test   %eax,%eax
5860c9:	7e 49                	jle    0x586114
5860cb:	6a 00                	push   $0x0
5860cd:	e8 5e 04 f9 ff       	call   0x516530
5860d2:	50                   	push   %eax
5860d3:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5860d7:	50                   	push   %eax
5860d8:	56                   	push   %esi
5860d9:	ff 74 24 30          	push   0x30(%esp)
5860dd:	ff 74 24 24          	push   0x24(%esp)
5860e1:	e8 fa 48 f9 ff       	call   0x51a9e0
5860e6:	83 c4 18             	add    $0x18,%esp
5860e9:	85 c0                	test   %eax,%eax
5860eb:	74 27                	je     0x586114
5860ed:	8b 07                	mov    (%edi),%eax
5860ef:	3b f0                	cmp    %eax,%esi
5860f1:	74 1c                	je     0x58610f
5860f3:	68 dc 00 00 00       	push   $0xdc
5860f8:	68 48 d4 65 00       	push   $0x65d448
5860fd:	50                   	push   %eax
5860fe:	e8 7d a6 f5 ff       	call   0x4e0780
586103:	89 37                	mov    %esi,(%edi)
586105:	83 c4 0c             	add    $0xc,%esp
586108:	c7 45 00 20 00 00 00 	movl   $0x20,0x0(%ebp)
58610f:	33 f6                	xor    %esi,%esi
586111:	8d 5e 01             	lea    0x1(%esi),%ebx
586114:	68 e4 00 00 00       	push   $0xe4
586119:	68 48 d4 65 00       	push   $0x65d448
58611e:	56                   	push   %esi
58611f:	e8 5c a6 f5 ff       	call   0x4e0780
586124:	68 e5 00 00 00       	push   $0xe5
586129:	68 48 d4 65 00       	push   $0x65d448
58612e:	ff 74 24 24          	push   0x24(%esp)
586132:	e8 49 a6 f5 ff       	call   0x4e0780
586137:	83 c4 18             	add    $0x18,%esp
58613a:	8b c3                	mov    %ebx,%eax
58613c:	5f                   	pop    %edi
58613d:	5e                   	pop    %esi
58613e:	5d                   	pop    %ebp
58613f:	5b                   	pop    %ebx
586140:	83 c4 08             	add    $0x8,%esp
586143:	c3                   	ret
586144:	cc                   	int3
586145:	cc                   	int3
586146:	cc                   	int3
586147:	cc                   	int3
586148:	cc                   	int3
586149:	cc                   	int3
58614a:	cc                   	int3
58614b:	cc                   	int3
58614c:	cc                   	int3
58614d:	cc                   	int3
58614e:	cc                   	int3
58614f:	cc                   	int3
586150:	b8 14 00 00 00       	mov    $0x14,%eax
586155:	e8 56 b6 04 00       	call   0x5d17b0
58615a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
58615f:	33 c4                	xor    %esp,%eax
586161:	89 44 24 10          	mov    %eax,0x10(%esp)
586165:	53                   	push   %ebx
586166:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
58616a:	56                   	push   %esi
58616b:	8b 74 24 24          	mov    0x24(%esp),%esi
58616f:	56                   	push   %esi
586170:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
586177:	00
586178:	e8 73 eb ff ff       	call   0x584cf0
58617d:	83 c4 04             	add    $0x4,%esp
586180:	85 c0                	test   %eax,%eax
586182:	0f 84 be 02 00 00    	je     0x586446
586188:	83 3b 00             	cmpl   $0x0,(%ebx)
58618b:	0f 84 b5 02 00 00    	je     0x586446
586191:	8b 46 34             	mov    0x34(%esi),%eax
586194:	83 f8 ff             	cmp    $0xffffffff,%eax
586197:	0f 84 a9 02 00 00    	je     0x586446
58619d:	83 f8 01             	cmp    $0x1,%eax
5861a0:	75 0a                	jne    0x5861ac
5861a2:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
5861a6:	0f 84 9a 02 00 00    	je     0x586446
5861ac:	83 3e 00             	cmpl   $0x0,(%esi)
5861af:	74 2b                	je     0x5861dc
5861b1:	6a 6c                	push   $0x6c
5861b3:	68 60 d4 65 00       	push   $0x65d460
5861b8:	6a 73                	push   $0x73
5861ba:	68 80 00 00 00       	push   $0x80
5861bf:	6a 32                	push   $0x32
5861c1:	e8 ba 2d f5 ff       	call   0x4d8f80
5861c6:	83 c4 14             	add    $0x14,%esp
5861c9:	33 c0                	xor    %eax,%eax
5861cb:	5e                   	pop    %esi
5861cc:	5b                   	pop    %ebx
5861cd:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5861d1:	33 cc                	xor    %esp,%ecx
5861d3:	e8 4e b8 04 00       	call   0x5d1a26
5861d8:	83 c4 14             	add    $0x14,%esp
5861db:	c3                   	ret
5861dc:	8b 4b 08             	mov    0x8(%ebx),%ecx
5861df:	57                   	push   %edi
5861e0:	39 4e 10             	cmp    %ecx,0x10(%esi)
5861e3:	0f 85 31 02 00 00    	jne    0x58641a
5861e9:	8b 56 0c             	mov    0xc(%esi),%edx
5861ec:	8b 7b 04             	mov    0x4(%ebx),%edi