57af2e:	85 ff                	test   %edi,%edi
57af30:	7e 16                	jle    0x57af48
57af32:	57                   	push   %edi
57af33:	ff 74 24 28          	push   0x28(%esp)
57af37:	e8 14 54 f2 ff       	call   0x4a0350
57af3c:	ff 74 24 2c          	push   0x2c(%esp)
57af40:	e8 eb 51 f2 ff       	call   0x4a0130
57af45:	83 c4 0c             	add    $0xc,%esp
57af48:	5f                   	pop    %edi
57af49:	ff 74 24 08          	push   0x8(%esp)
57af4d:	e8 ce e1 00 00       	call   0x589120
57af52:	83 c4 04             	add    $0x4,%esp
57af55:	8b c5                	mov    %ebp,%eax
57af57:	5e                   	pop    %esi
57af58:	5d                   	pop    %ebp
57af59:	83 c4 08             	add    $0x8,%esp
57af5c:	c3                   	ret
57af5d:	cc                   	int3
57af5e:	cc                   	int3
57af5f:	cc                   	int3
57af60:	68 0c db 6b 00       	push   $0x6bdb0c
57af65:	ff 74 24 10          	push   0x10(%esp)
57af69:	ff 74 24 10          	push   0x10(%esp)
57af6d:	ff 74 24 10          	push   0x10(%esp)
57af71:	e8 ca 10 f5 ff       	call   0x4cc040
57af76:	83 c4 10             	add    $0x10,%esp
57af79:	c3                   	ret
57af7a:	cc                   	int3
57af7b:	cc                   	int3
57af7c:	cc                   	int3
57af7d:	cc                   	int3
57af7e:	cc                   	int3
57af7f:	cc                   	int3
57af80:	68 d8 da 6b 00       	push   $0x6bdad8
57af85:	ff 74 24 10          	push   0x10(%esp)
57af89:	ff 74 24 10          	push   0x10(%esp)
57af8d:	ff 74 24 10          	push   0x10(%esp)
57af91:	e8 aa 10 f5 ff       	call   0x4cc040
57af96:	83 c4 10             	add    $0x10,%esp
57af99:	c3                   	ret
57af9a:	cc                   	int3
57af9b:	cc                   	int3
57af9c:	cc                   	int3
57af9d:	cc                   	int3
57af9e:	cc                   	int3
57af9f:	cc                   	int3
57afa0:	68 f4 db 6b 00       	push   $0x6bdbf4
57afa5:	ff 74 24 10          	push   0x10(%esp)
57afa9:	ff 74 24 10          	push   0x10(%esp)
57afad:	ff 74 24 10          	push   0x10(%esp)
57afb1:	e8 8a 10 f5 ff       	call   0x4cc040
57afb6:	83 c4 10             	add    $0x10,%esp
57afb9:	c3                   	ret
57afba:	cc                   	int3
57afbb:	cc                   	int3
57afbc:	cc                   	int3
57afbd:	cc                   	int3
57afbe:	cc                   	int3
57afbf:	cc                   	int3
57afc0:	68 0c db 6b 00       	push   $0x6bdb0c
57afc5:	ff 74 24 0c          	push   0xc(%esp)
57afc9:	ff 74 24 0c          	push   0xc(%esp)
57afcd:	e8 2e 2c f5 ff       	call   0x4cdc00
57afd2:	83 c4 0c             	add    $0xc,%esp
57afd5:	c3                   	ret
57afd6:	cc                   	int3
57afd7:	cc                   	int3
57afd8:	cc                   	int3
57afd9:	cc                   	int3
57afda:	cc                   	int3
57afdb:	cc                   	int3
57afdc:	cc                   	int3
57afdd:	cc                   	int3
57afde:	cc                   	int3
57afdf:	cc                   	int3
57afe0:	68 bc dc 6b 00       	push   $0x6bdcbc
57afe5:	ff 74 24 0c          	push   0xc(%esp)
57afe9:	ff 74 24 0c          	push   0xc(%esp)
57afed:	e8 0e 2c f5 ff       	call   0x4cdc00
57aff2:	83 c4 0c             	add    $0xc,%esp
57aff5:	c3                   	ret
57aff6:	cc                   	int3
57aff7:	cc                   	int3
57aff8:	cc                   	int3
57aff9:	cc                   	int3
57affa:	cc                   	int3
57affb:	cc                   	int3
57affc:	cc                   	int3
57affd:	cc                   	int3
57affe:	cc                   	int3
57afff:	cc                   	int3
57b000:	68 f4 db 6b 00       	push   $0x6bdbf4
57b005:	ff 74 24 0c          	push   0xc(%esp)
57b009:	ff 74 24 0c          	push   0xc(%esp)
57b00d:	e8 ee 2b f5 ff       	call   0x4cdc00
57b012:	83 c4 0c             	add    $0xc,%esp
57b015:	c3                   	ret
57b016:	cc                   	int3
57b017:	cc                   	int3
57b018:	cc                   	int3
57b019:	cc                   	int3
57b01a:	cc                   	int3
57b01b:	cc                   	int3
57b01c:	cc                   	int3
57b01d:	cc                   	int3
57b01e:	cc                   	int3
57b01f:	cc                   	int3
57b020:	8b 4c 24 04          	mov    0x4(%esp),%ecx
57b024:	8b 41 3c             	mov    0x3c(%ecx),%eax
57b027:	8b 40 2c             	mov    0x2c(%eax),%eax
57b02a:	85 c0                	test   %eax,%eax
57b02c:	74 06                	je     0x57b034
57b02e:	89 4c 24 04          	mov    %ecx,0x4(%esp)
57b032:	ff e0                	jmp    *%eax
57b034:	89 4c 24 04          	mov    %ecx,0x4(%esp)
57b038:	e9 03 00 00 00       	jmp    0x57b040
57b03d:	cc                   	int3
57b03e:	cc                   	int3
57b03f:	cc                   	int3
57b040:	b8 18 00 00 00       	mov    $0x18,%eax
57b045:	e8 a6 64 06 00       	call   0x5e14f0
57b04a:	53                   	push   %ebx
57b04b:	55                   	push   %ebp
57b04c:	33 ed                	xor    %ebp,%ebp
57b04e:	e8 cd cd f5 ff       	call   0x4d7e20
57b053:	8b d8                	mov    %eax,%ebx
57b055:	89 5c 24 08          	mov    %ebx,0x8(%esp)
57b059:	85 db                	test   %ebx,%ebx
57b05b:	0f 84 f2 00 00 00    	je     0x57b153
57b061:	56                   	push   %esi
57b062:	57                   	push   %edi
57b063:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
57b067:	8b 77 1c             	mov    0x1c(%edi),%esi
57b06a:	85 f6                	test   %esi,%esi
57b06c:	75 12                	jne    0x57b080
57b06e:	e8 9d 82 f3 ff       	call   0x4b3310
57b073:	8b f0                	mov    %eax,%esi
57b075:	85 f6                	test   %esi,%esi
57b077:	0f 84 cb 00 00 00    	je     0x57b148
57b07d:	0f 1f 00             	nopl   (%eax)
57b080:	ff 77 10             	push   0x10(%edi)
57b083:	56                   	push   %esi
57b084:	e8 07 36 ff ff       	call   0x56e690
57b089:	83 c4 08             	add    $0x8,%esp
57b08c:	85 c0                	test   %eax,%eax
57b08e:	0f 84 a1 00 00 00    	je     0x57b135
57b094:	39 6e 04             	cmp    %ebp,0x4(%esi)
57b097:	74 e7                	je     0x57b080
57b099:	8b 5f 18             	mov    0x18(%edi),%ebx
57b09c:	85 db                	test   %ebx,%ebx
57b09e:	75 0f                	jne    0x57b0af
57b0a0:	e8 6b 82 f3 ff       	call   0x4b3310
57b0a5:	8b d8                	mov    %eax,%ebx
57b0a7:	85 db                	test   %ebx,%ebx
57b0a9:	0f 84 82 00 00 00    	je     0x57b131
57b0af:	f6 47 28 02          	testb  $0x2,0x28(%edi)
57b0b3:	75 44                	jne    0x57b0f9
57b0b5:	8d 44 24 14          	lea    0x14(%esp),%eax
57b0b9:	50                   	push   %eax
57b0ba:	e8 61 81 f3 ff       	call   0x4b3220
57b0bf:	8b 06                	mov    (%esi),%eax
57b0c1:	8d 54 24 18          	lea    0x18(%esp),%edx
57b0c5:	8b 4e 10             	mov    0x10(%esi),%ecx
57b0c8:	83 c4 04             	add    $0x4,%esp
57b0cb:	89 44 24 14          	mov    %eax,0x14(%esp)
57b0cf:	83 e1 fe             	and    $0xfffffffe,%ecx
57b0d2:	8b 46 04             	mov    0x4(%esi),%eax
57b0d5:	89 44 24 18          	mov    %eax,0x18(%esp)
57b0d9:	8b 46 08             	mov    0x8(%esi),%eax
57b0dc:	89 44 24 1c          	mov    %eax,0x1c(%esp)
57b0e0:	8b 46 0c             	mov    0xc(%esi),%eax
57b0e3:	89 44 24 20          	mov    %eax,0x20(%esp)
57b0e7:	8b 44 24 24          	mov    0x24(%esp),%eax
57b0eb:	83 e0 01             	and    $0x1,%eax
57b0ee:	0b c8                	or     %eax,%ecx
57b0f0:	83 c9 06             	or     $0x6,%ecx
57b0f3:	89 4c 24 24          	mov    %ecx,0x24(%esp)
57b0f7:	eb 02                	jmp    0x57b0fb
57b0f9:	8b d6                	mov    %esi,%edx
57b0fb:	ff 74 24 10          	push   0x10(%esp)
57b0ff:	ff 77 0c             	push   0xc(%edi)
57b102:	52                   	push   %edx
57b103:	ff 77 14             	push   0x14(%edi)
57b106:	53                   	push   %ebx
57b107:	e8 94 3c ff ff       	call   0x56eda0
57b10c:	83 c4 14             	add    $0x14,%esp
57b10f:	85 c0                	test   %eax,%eax
57b111:	74 0b                	je     0x57b11e
57b113:	89 77 1c             	mov    %esi,0x1c(%edi)
57b116:	bd 01 00 00 00       	mov    $0x1,%ebp
57b11b:	89 5f 18             	mov    %ebx,0x18(%edi)
57b11e:	85 db                	test   %ebx,%ebx
57b120:	74 0f                	je     0x57b131
57b122:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
57b126:	75 09                	jne    0x57b131
57b128:	53                   	push   %ebx
57b129:	e8 b2 80 f3 ff       	call   0x4b31e0
57b12e:	83 c4 04             	add    $0x4,%esp
57b131:	8b 5c 24 10          	mov    0x10(%esp),%ebx
57b135:	85 f6                	test   %esi,%esi
57b137:	74 0f                	je     0x57b148
57b139:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
57b13d:	75 09                	jne    0x57b148
57b13f:	56                   	push   %esi
57b140:	e8 9b 80 f3 ff       	call   0x4b31e0
57b145:	83 c4 04             	add    $0x4,%esp
57b148:	53                   	push   %ebx
57b149:	e8 42 cc f5 ff       	call   0x4d7d90
57b14e:	83 c4 04             	add    $0x4,%esp
57b151:	5f                   	pop    %edi
57b152:	5e                   	pop    %esi
57b153:	8b c5                	mov    %ebp,%eax
57b155:	5d                   	pop    %ebp
57b156:	5b                   	pop    %ebx
57b157:	83 c4 18             	add    $0x18,%esp
57b15a:	c3                   	ret
57b15b:	cc                   	int3
57b15c:	cc                   	int3
57b15d:	cc                   	int3
57b15e:	cc                   	int3
57b15f:	cc                   	int3
57b160:	53                   	push   %ebx
57b161:	8b 5c 24 08          	mov    0x8(%esp),%ebx
57b165:	85 db                	test   %ebx,%ebx
57b167:	74 29                	je     0x57b192
57b169:	56                   	push   %esi
57b16a:	8b 33                	mov    (%ebx),%esi
57b16c:	85 f6                	test   %esi,%esi
57b16e:	74 1b                	je     0x57b18b
57b170:	57                   	push   %edi
57b171:	ff 76 04             	push   0x4(%esi)
57b174:	8b 46 10             	mov    0x10(%esi),%eax
57b177:	8b 3e                	mov    (%esi),%edi
57b179:	ff d0                	call   *%eax
57b17b:	56                   	push   %esi
57b17c:	e8 af 4f f2 ff       	call   0x4a0130
57b181:	83 c4 08             	add    $0x8,%esp
57b184:	8b f7                	mov    %edi,%esi
57b186:	85 ff                	test   %edi,%edi
57b188:	75 e7                	jne    0x57b171
57b18a:	5f                   	pop    %edi
57b18b:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
57b191:	5e                   	pop    %esi
57b192:	5b                   	pop    %ebx
57b193:	c3                   	ret
57b194:	cc                   	int3
57b195:	cc                   	int3
57b196:	cc                   	int3
57b197:	cc                   	int3
57b198:	cc                   	int3
57b199:	cc                   	int3
57b19a:	cc                   	int3
57b19b:	cc                   	int3
57b19c:	cc                   	int3
57b19d:	cc                   	int3
57b19e:	cc                   	int3
57b19f:	cc                   	int3
57b1a0:	53                   	push   %ebx
57b1a1:	8b 5c 24 08          	mov    0x8(%esp),%ebx
57b1a5:	85 db                	test   %ebx,%ebx
57b1a7:	74 29                	je     0x57b1d2
57b1a9:	56                   	push   %esi
57b1aa:	8b 33                	mov    (%ebx),%esi
57b1ac:	85 f6                	test   %esi,%esi
57b1ae:	74 1b                	je     0x57b1cb
57b1b0:	57                   	push   %edi
57b1b1:	ff 76 04             	push   0x4(%esi)
57b1b4:	8b 46 0c             	mov    0xc(%esi),%eax
57b1b7:	8b 3e                	mov    (%esi),%edi
57b1b9:	ff d0                	call   *%eax
57b1bb:	56                   	push   %esi
57b1bc:	e8 6f 4f f2 ff       	call   0x4a0130
57b1c1:	83 c4 08             	add    $0x8,%esp
57b1c4:	8b f7                	mov    %edi,%esi
57b1c6:	85 ff                	test   %edi,%edi
57b1c8:	75 e7                	jne    0x57b1b1
57b1ca:	5f                   	pop    %edi
57b1cb:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
57b1d1:	5e                   	pop    %esi
57b1d2:	5b                   	pop    %ebx
57b1d3:	c3                   	ret
57b1d4:	cc                   	int3
57b1d5:	cc                   	int3
57b1d6:	cc                   	int3
57b1d7:	cc                   	int3
57b1d8:	cc                   	int3
57b1d9:	cc                   	int3
57b1da:	cc                   	int3
57b1db:	cc                   	int3
57b1dc:	cc                   	int3
57b1dd:	cc                   	int3
57b1de:	cc                   	int3
57b1df:	cc                   	int3
57b1e0:	57                   	push   %edi
57b1e1:	8b 7c 24 08          	mov    0x8(%esp),%edi
57b1e5:	85 ff                	test   %edi,%edi
57b1e7:	74 49                	je     0x57b232
57b1e9:	83 3f 00             	cmpl   $0x0,(%edi)
57b1ec:	74 44                	je     0x57b232
57b1ee:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57b1f2:	8b 54 24 10          	mov    0x10(%esp),%edx
57b1f6:	56                   	push   %esi
57b1f7:	8b 74 24 10          	mov    0x10(%esp),%esi
57b1fb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
57b200:	8b 07                	mov    (%edi),%eax
57b202:	39 70 08             	cmp    %esi,0x8(%eax)
57b205:	75 0a                	jne    0x57b211
57b207:	39 50 0c             	cmp    %edx,0xc(%eax)
57b20a:	75 05                	jne    0x57b211
57b20c:	39 48 10             	cmp    %ecx,0x10(%eax)
57b20f:	74 0a                	je     0x57b21b
57b211:	8b f8                	mov    %eax,%edi
57b213:	83 3f 00             	cmpl   $0x0,(%edi)
57b216:	75 e8                	jne    0x57b200
57b218:	5e                   	pop    %esi
57b219:	5f                   	pop    %edi
57b21a:	c3                   	ret
57b21b:	8b 30                	mov    (%eax),%esi
57b21d:	ff 70 04             	push   0x4(%eax)
57b220:	8b 40 0c             	mov    0xc(%eax),%eax
57b223:	ff d0                	call   *%eax
57b225:	ff 37                	push   (%edi)
57b227:	e8 04 4f f2 ff       	call   0x4a0130
57b22c:	83 c4 08             	add    $0x8,%esp
57b22f:	89 37                	mov    %esi,(%edi)
57b231:	5e                   	pop    %esi
57b232:	5f                   	pop    %edi
57b233:	c3                   	ret
57b234:	cc                   	int3
57b235:	cc                   	int3
57b236:	cc                   	int3
57b237:	cc                   	int3
57b238:	cc                   	int3
57b239:	cc                   	int3
57b23a:	cc                   	int3
57b23b:	cc                   	int3
57b23c:	cc                   	int3
57b23d:	cc                   	int3
57b23e:	cc                   	int3
57b23f:	cc                   	int3
57b240:	8b 44 24 04          	mov    0x4(%esp),%eax
57b244:	56                   	push   %esi
57b245:	85 c0                	test   %eax,%eax
57b247:	74 21                	je     0x57b26a
57b249:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57b24d:	8b 54 24 10          	mov    0x10(%esp),%edx
57b251:	8b 74 24 0c          	mov    0xc(%esp),%esi
57b255:	39 70 08             	cmp    %esi,0x8(%eax)
57b258:	75 0a                	jne    0x57b264
57b25a:	39 50 0c             	cmp    %edx,0xc(%eax)