58bf79:	5f                   	pop    %edi
58bf7a:	8b 40 7c             	mov    0x7c(%eax),%eax
58bf7d:	8b b0 f8 00 00 00    	mov    0xf8(%eax),%esi
58bf83:	8b c6                	mov    %esi,%eax
58bf85:	5e                   	pop    %esi
58bf86:	5b                   	pop    %ebx
58bf87:	c3                   	ret
58bf88:	8b 44 24 10          	mov    0x10(%esp),%eax
58bf8c:	5f                   	pop    %edi
58bf8d:	8b 40 7c             	mov    0x7c(%eax),%eax
58bf90:	8b b0 f8 00 00 00    	mov    0xf8(%eax),%esi
58bf96:	c7 80 f8 00 00 00 00 	movl   $0x0,0xf8(%eax)
58bf9d:	00 00 00
58bfa0:	8b c6                	mov    %esi,%eax
58bfa2:	5e                   	pop    %esi
58bfa3:	5b                   	pop    %ebx
58bfa4:	c3                   	ret
58bfa5:	8b 44 24 10          	mov    0x10(%esp),%eax
58bfa9:	5f                   	pop    %edi
58bfaa:	8b 40 7c             	mov    0x7c(%eax),%eax
58bfad:	8b b0 f4 00 00 00    	mov    0xf4(%eax),%esi
58bfb3:	8b c6                	mov    %esi,%eax
58bfb5:	5e                   	pop    %esi
58bfb6:	5b                   	pop    %ebx
58bfb7:	c3                   	ret
58bfb8:	8b 44 24 10          	mov    0x10(%esp),%eax
58bfbc:	5f                   	pop    %edi
58bfbd:	8b 40 7c             	mov    0x7c(%eax),%eax
58bfc0:	8b 30                	mov    (%eax),%esi
58bfc2:	8b c6                	mov    %esi,%eax
58bfc4:	5e                   	pop    %esi
58bfc5:	5b                   	pop    %ebx
58bfc6:	c3                   	ret
58bfc7:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
58bfcb:	85 ff                	test   %edi,%edi
58bfcd:	75 21                	jne    0x58bff0
58bfcf:	68 58 0d 00 00       	push   $0xd58
58bfd4:	68 08 6f 66 00       	push   $0x666f08
58bfd9:	6a 43                	push   $0x43
58bfdb:	68 d5 00 00 00       	push   $0xd5
58bfe0:	6a 14                	push   $0x14
58bfe2:	e8 99 cf f4 ff       	call   0x4d8f80
58bfe7:	83 c4 14             	add    $0x14,%esp
58bfea:	5f                   	pop    %edi
58bfeb:	5e                   	pop    %esi
58bfec:	33 c0                	xor    %eax,%eax
58bfee:	5b                   	pop    %ebx
58bfef:	c3                   	ret
58bff0:	e8 5b 4f f6 ff       	call   0x4f0f50
58bff5:	8b f0                	mov    %eax,%esi
58bff7:	57                   	push   %edi
58bff8:	56                   	push   %esi
58bff9:	e8 52 51 f6 ff       	call   0x4f1150
58bffe:	83 c4 08             	add    $0x8,%esp
58c001:	85 c0                	test   %eax,%eax
58c003:	7f 17                	jg     0x58c01c
58c005:	56                   	push   %esi
58c006:	e8 d5 4c f6 ff       	call   0x4f0ce0
58c00b:	83 c4 04             	add    $0x4,%esp
58c00e:	68 5d 0d 00 00       	push   $0xd5d
58c013:	68 08 6f 66 00       	push   $0x666f08
58c018:	6a 41                	push   $0x41
58c01a:	eb bf                	jmp    0x58bfdb
58c01c:	85 f6                	test   %esi,%esi
58c01e:	75 0e                	jne    0x58c02e
58c020:	68 5d 0d 00 00       	push   $0xd5d
58c025:	68 08 6f 66 00       	push   $0x666f08
58c02a:	6a 41                	push   $0x41
58c02c:	eb ad                	jmp    0x58bfdb
58c02e:	56                   	push   %esi
58c02f:	6a 00                	push   $0x0
58c031:	56                   	push   %esi
58c032:	e8 e9 50 f6 ff       	call   0x4f1120
58c037:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
58c03b:	83 c4 04             	add    $0x4,%esp
58c03e:	50                   	push   %eax
58c03f:	68 07 00 04 00       	push   $0x40007
58c044:	57                   	push   %edi
58c045:	e8 36 f5 ff ff       	call   0x58b580
58c04a:	83 c4 14             	add    $0x14,%esp
58c04d:	85 c0                	test   %eax,%eax
58c04f:	75 2a                	jne    0x58c07b
58c051:	68 62 0d 00 00       	push   $0xd62
58c056:	68 08 6f 66 00       	push   $0x666f08
58c05b:	68 8a 01 00 00       	push   $0x18a
58c060:	68 d5 00 00 00       	push   $0xd5
58c065:	6a 14                	push   $0x14
58c067:	e8 14 cf f4 ff       	call   0x4d8f80
58c06c:	56                   	push   %esi
58c06d:	e8 6e 4c f6 ff       	call   0x4f0ce0
58c072:	83 c4 18             	add    $0x18,%esp
58c075:	33 c0                	xor    %eax,%eax
58c077:	5f                   	pop    %edi
58c078:	5e                   	pop    %esi
58c079:	5b                   	pop    %ebx
58c07a:	c3                   	ret
58c07b:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
58c081:	ff 70 04             	push   0x4(%eax)
58c084:	e8 57 4c f6 ff       	call   0x4f0ce0
58c089:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
58c08f:	83 c4 04             	add    $0x4,%esp
58c092:	89 70 04             	mov    %esi,0x4(%eax)
58c095:	be 01 00 00 00       	mov    $0x1,%esi
58c09a:	5f                   	pop    %edi
58c09b:	8b c6                	mov    %esi,%eax
58c09d:	5e                   	pop    %esi
58c09e:	5b                   	pop    %ebx
58c09f:	c3                   	ret
58c0a0:	68 6d 0d 00 00       	push   $0xd6d
58c0a5:	68 08 6f 66 00       	push   $0x666f08
58c0aa:	6a 42                	push   $0x42
58c0ac:	e9 2a ff ff ff       	jmp    0x58bfdb
58c0b1:	8b 44 24 10          	mov    0x10(%esp),%eax
58c0b5:	5f                   	pop    %edi
58c0b6:	5e                   	pop    %esi
58c0b7:	5b                   	pop    %ebx
58c0b8:	8b 88 04 04 00 00    	mov    0x404(%eax),%ecx
58c0be:	8b 44 24 0c          	mov    0xc(%esp),%eax
58c0c2:	89 41 0c             	mov    %eax,0xc(%ecx)
58c0c5:	b8 01 00 00 00       	mov    $0x1,%eax
58c0ca:	c3                   	ret
58c0cb:	8b 44 24 1c          	mov    0x1c(%esp),%eax
58c0cf:	85 c0                	test   %eax,%eax
58c0d1:	75 0a                	jne    0x58c0dd
58c0d3:	68 7b 0d 00 00       	push   $0xd7b
58c0d8:	e9 f7 fe ff ff       	jmp    0x58bfd4
58c0dd:	50                   	push   %eax
58c0de:	e8 5d b1 f5 ff       	call   0x4e7240
58c0e3:	83 c4 04             	add    $0x4,%esp
58c0e6:	85 c0                	test   %eax,%eax
58c0e8:	75 11                	jne    0x58c0fb
58c0ea:	68 80 0d 00 00       	push   $0xd80
58c0ef:	68 08 6f 66 00       	push   $0x666f08
58c0f4:	6a 7c                	push   $0x7c
58c0f6:	e9 e0 fe ff ff       	jmp    0x58bfdb
58c0fb:	50                   	push   %eax
58c0fc:	e8 af 41 f6 ff       	call   0x4f02b0
58c101:	83 c4 04             	add    $0x4,%esp
58c104:	89 44 24 14          	mov    %eax,0x14(%esp)
58c108:	85 c0                	test   %eax,%eax
58c10a:	0f 84 da fe ff ff    	je     0x58bfea
58c110:	6a 01                	push   $0x1
58c112:	8d 44 24 18          	lea    0x18(%esp),%eax
58c116:	50                   	push   %eax
58c117:	8b 4c 24 18          	mov    0x18(%esp),%ecx
58c11b:	8d 81 70 05 00 00    	lea    0x570(%ecx),%eax
58c121:	50                   	push   %eax
58c122:	8d 81 74 05 00 00    	lea    0x574(%ecx),%eax
58c128:	50                   	push   %eax
58c129:	e8 92 df 00 00       	call   0x59a0c0
58c12e:	83 c4 10             	add    $0x10,%esp
58c131:	5f                   	pop    %edi
58c132:	5e                   	pop    %esi
58c133:	5b                   	pop    %ebx
58c134:	c3                   	ret
58c135:	39 74 24 18          	cmp    %esi,0x18(%esp)
58c139:	0f 85 91 00 00 00    	jne    0x58c1d0
58c13f:	8b 7c 24 10          	mov    0x10(%esp),%edi
58c143:	68 99 0d 00 00       	push   $0xd99
58c148:	68 08 6f 66 00       	push   $0x666f08
58c14d:	ff b7 38 05 00 00    	push   0x538(%edi)
58c153:	e8 28 46 f5 ff       	call   0x4e0780
58c158:	8b 54 24 28          	mov    0x28(%esp),%edx
58c15c:	83 c4 0c             	add    $0xc,%esp
58c15f:	89 b7 38 05 00 00    	mov    %esi,0x538(%edi)
58c165:	be 01 00 00 00       	mov    $0x1,%esi
58c16a:	85 d2                	test   %edx,%edx
58c16c:	0f 84 c9 00 00 00    	je     0x58c23b
58c172:	8b ca                	mov    %edx,%ecx
58c174:	8d 59 01             	lea    0x1(%ecx),%ebx
58c177:	8a 01                	mov    (%ecx),%al
58c179:	41                   	inc    %ecx
58c17a:	84 c0                	test   %al,%al
58c17c:	75 f9                	jne    0x58c177
58c17e:	2b cb                	sub    %ebx,%ecx
58c180:	74 3a                	je     0x58c1bc
58c182:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
58c188:	77 32                	ja     0x58c1bc
58c18a:	68 a4 0d 00 00       	push   $0xda4
58c18f:	68 08 6f 66 00       	push   $0x666f08
58c194:	52                   	push   %edx
58c195:	e8 36 5f f5 ff       	call   0x4e20d0
58c19a:	83 c4 0c             	add    $0xc,%esp
58c19d:	89 87 38 05 00 00    	mov    %eax,0x538(%edi)
58c1a3:	85 c0                	test   %eax,%eax
58c1a5:	0f 85 90 00 00 00    	jne    0x58c23b
58c1ab:	68 a5 0d 00 00       	push   $0xda5
58c1b0:	68 08 6f 66 00       	push   $0x666f08
58c1b5:	6a 44                	push   $0x44
58c1b7:	e9 1f fe ff ff       	jmp    0x58bfdb
58c1bc:	68 a1 0d 00 00       	push   $0xda1
58c1c1:	68 08 6f 66 00       	push   $0x666f08
58c1c6:	68 3f 01 00 00       	push   $0x13f
58c1cb:	e9 0b fe ff ff       	jmp    0x58bfdb
58c1d0:	68 a9 0d 00 00       	push   $0xda9
58c1d5:	68 08 6f 66 00       	push   $0x666f08
58c1da:	68 40 01 00 00       	push   $0x140
58c1df:	e9 f7 fd ff ff       	jmp    0x58bfdb
58c1e4:	8b 44 24 10          	mov    0x10(%esp),%eax
58c1e8:	be 01 00 00 00       	mov    $0x1,%esi
58c1ed:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
58c1f1:	5f                   	pop    %edi
58c1f2:	89 88 34 05 00 00    	mov    %ecx,0x534(%eax)
58c1f8:	8b c6                	mov    %esi,%eax
58c1fa:	5e                   	pop    %esi
58c1fb:	5b                   	pop    %ebx
58c1fc:	c3                   	ret
58c1fd:	8b 44 24 10          	mov    0x10(%esp),%eax
58c201:	5f                   	pop    %edi
58c202:	8b b0 3c 05 00 00    	mov    0x53c(%eax),%esi
58c208:	8b c6                	mov    %esi,%eax
58c20a:	5e                   	pop    %esi
58c20b:	5b                   	pop    %ebx
58c20c:	c3                   	ret
58c20d:	8b 44 24 10          	mov    0x10(%esp),%eax
58c211:	be 01 00 00 00       	mov    $0x1,%esi
58c216:	8b 4c 24 18          	mov    0x18(%esp),%ecx
58c21a:	5f                   	pop    %edi
58c21b:	89 88 3c 05 00 00    	mov    %ecx,0x53c(%eax)
58c221:	8b c6                	mov    %esi,%eax
58c223:	5e                   	pop    %esi
58c224:	5b                   	pop    %ebx
58c225:	c3                   	ret
58c226:	8b 44 24 10          	mov    0x10(%esp),%eax
58c22a:	be 01 00 00 00       	mov    $0x1,%esi
58c22f:	8b 88 50 05 00 00    	mov    0x550(%eax),%ecx
58c235:	8b 44 24 1c          	mov    0x1c(%esp),%eax
58c239:	89 08                	mov    %ecx,(%eax)
58c23b:	8b c6                	mov    %esi,%eax
58c23d:	5f                   	pop    %edi
58c23e:	5e                   	pop    %esi
58c23f:	5b                   	pop    %ebx
58c240:	c3                   	ret
58c241:	8b 44 24 10          	mov    0x10(%esp),%eax
58c245:	be 01 00 00 00       	mov    $0x1,%esi
58c24a:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
58c24e:	5f                   	pop    %edi
58c24f:	89 88 50 05 00 00    	mov    %ecx,0x550(%eax)
58c255:	8b c6                	mov    %esi,%eax
58c257:	5e                   	pop    %esi
58c258:	5b                   	pop    %ebx
58c259:	c3                   	ret
58c25a:	8b 44 24 10          	mov    0x10(%esp),%eax
58c25e:	be 01 00 00 00       	mov    $0x1,%esi
58c263:	5f                   	pop    %edi
58c264:	8b 88 4c 05 00 00    	mov    0x54c(%eax),%ecx
58c26a:	8b 44 24 18          	mov    0x18(%esp),%eax
58c26e:	89 08                	mov    %ecx,(%eax)
58c270:	8b c6                	mov    %esi,%eax
58c272:	5e                   	pop    %esi
58c273:	5b                   	pop    %ebx
58c274:	c3                   	ret
58c275:	8b 44 24 10          	mov    0x10(%esp),%eax
58c279:	be 01 00 00 00       	mov    $0x1,%esi
58c27e:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
58c282:	5f                   	pop    %edi
58c283:	89 88 4c 05 00 00    	mov    %ecx,0x54c(%eax)
58c289:	8b c6                	mov    %esi,%eax
58c28b:	5e                   	pop    %esi
58c28c:	5b                   	pop    %ebx
58c28d:	c3                   	ret
58c28e:	8b 54 24 10          	mov    0x10(%esp),%edx
58c292:	8b 44 24 1c          	mov    0x1c(%esp),%eax
58c296:	8b 8a 54 05 00 00    	mov    0x554(%edx),%ecx
58c29c:	89 08                	mov    %ecx,(%eax)
58c29e:	8b 82 58 05 00 00    	mov    0x558(%edx),%eax
58c2a4:	85 c0                	test   %eax,%eax
58c2a6:	74 07                	je     0x58c2af
58c2a8:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
58c2ad:	76 8e                	jbe    0x58c23d
58c2af:	5f                   	pop    %edi
58c2b0:	5e                   	pop    %esi
58c2b1:	83 c8 ff             	or     $0xffffffff,%eax
58c2b4:	5b                   	pop    %ebx
58c2b5:	c3                   	ret
58c2b6:	8b 74 24 10          	mov    0x10(%esp),%esi
58c2ba:	68 d7 0d 00 00       	push   $0xdd7
58c2bf:	68 08 6f 66 00       	push   $0x666f08
58c2c4:	ff b6 54 05 00 00    	push   0x554(%esi)
58c2ca:	e8 b1 44 f5 ff       	call   0x4e0780
58c2cf:	8b 44 24 28          	mov    0x28(%esp),%eax
58c2d3:	83 c4 0c             	add    $0xc,%esp
58c2d6:	89 86 54 05 00 00    	mov    %eax,0x554(%esi)
58c2dc:	8b 44 24 18          	mov    0x18(%esp),%eax
58c2e0:	89 86 58 05 00 00    	mov    %eax,0x558(%esi)
58c2e6:	be 01 00 00 00       	mov    $0x1,%esi
58c2eb:	5f                   	pop    %edi
58c2ec:	8b c6                	mov    %esi,%eax
58c2ee:	5e                   	pop    %esi
58c2ef:	5b                   	pop    %ebx
58c2f0:	c3                   	ret
58c2f1:	ff 74 24 1c          	push   0x1c(%esp)
58c2f5:	6a 00                	push   $0x0
58c2f7:	ff 74 24 18          	push   0x18(%esp)
58c2fb:	39 74 24 24          	cmp    %esi,0x24(%esp)
58c2ff:	74 0c                	je     0x58c30d
58c301:	e8 4a f1 ff ff       	call   0x58b450
58c306:	83 c4 0c             	add    $0xc,%esp
58c309:	5f                   	pop    %edi
58c30a:	5e                   	pop    %esi
58c30b:	5b                   	pop    %ebx
58c30c:	c3                   	ret
58c30d:	e8 8e f0 ff ff       	call   0x58b3a0
58c312:	83 c4 0c             	add    $0xc,%esp
58c315:	5f                   	pop    %edi
58c316:	5e                   	pop    %esi
58c317:	5b                   	pop    %ebx
58c318:	c3                   	ret
58c319:	ff 74 24 1c          	push   0x1c(%esp)
58c31d:	6a 00                	push   $0x0
58c31f:	ff 74 24 18          	push   0x18(%esp)
58c323:	39 74 24 24          	cmp    %esi,0x24(%esp)
58c327:	74 0c                	je     0x58c335
58c329:	e8 d2 ee ff ff       	call   0x58b200
58c32e:	83 c4 0c             	add    $0xc,%esp
58c331:	5f                   	pop    %edi
58c332:	5e                   	pop    %esi
58c333:	5b                   	pop    %ebx
58c334:	c3                   	ret
58c335:	e8 36 ee ff ff       	call   0x58b170
58c33a:	83 c4 0c             	add    $0xc,%esp
58c33d:	5f                   	pop    %edi
58c33e:	5e                   	pop    %esi
58c33f:	5b                   	pop    %ebx
58c340:	c3                   	ret
58c341:	8b 44 24 10          	mov    0x10(%esp),%eax
58c345:	be 01 00 00 00       	mov    $0x1,%esi
58c34a:	5f                   	pop    %edi
58c34b:	8b 80 04 04 00 00    	mov    0x404(%eax),%eax
58c351:	8b 00                	mov    (%eax),%eax
58c353:	8b 48 08             	mov    0x8(%eax),%ecx
58c356:	8b 44 24 18          	mov    0x18(%esp),%eax
58c35a:	89 08                	mov    %ecx,(%eax)
58c35c:	8b c6                	mov    %esi,%eax
58c35e:	5e                   	pop    %esi
58c35f:	5b                   	pop    %ebx
58c360:	c3                   	ret
58c361:	8b 44 24 10          	mov    0x10(%esp),%eax
58c365:	ff 74 24 1c          	push   0x1c(%esp)
58c369:	ff b0 04 04 00 00    	push   0x404(%eax)
58c36f:	e8 ac ef ff ff       	call   0x58b320
58c374:	83 c4 08             	add    $0x8,%esp
58c377:	5f                   	pop    %edi
58c378:	5e                   	pop    %esi
58c379:	5b                   	pop    %ebx
58c37a:	c3                   	ret
58c37b:	8b 44 24 18          	mov    0x18(%esp),%eax
58c37f:	83 f8 03             	cmp    $0x3,%eax
58c382:	75 4c                	jne    0x58c3d0
58c384:	8b 44 24 10          	mov    0x10(%esp),%eax