58302c:	5b                   	pop    %ebx
58302d:	c3                   	ret
58302e:	8b c0                	mov    %eax,%eax
583030:	53                   	push   %ebx
583031:	56                   	push   %esi
583032:	57                   	push   %edi
583033:	55                   	push   %ebp
583034:	83 c4 f0             	add    $0xfffffff0,%esp
583037:	89 4c 24 04          	mov    %ecx,0x4(%esp)
58303b:	89 14 24             	mov    %edx,(%esp)
58303e:	8b f8                	mov    %eax,%edi
583040:	8b 4c 24 04          	mov    0x4(%esp),%ecx
583044:	ba 76 72 75 63       	mov    $0x63757276,%edx
583049:	8b c7                	mov    %edi,%eax
58304b:	e8 78 fe ff ff       	call   0x582ec8
583050:	85 c0                	test   %eax,%eax
583052:	75 04                	jne    0x583058
583054:	33 c0                	xor    %eax,%eax
583056:	eb 6e                	jmp    0x5830c6
583058:	8b 04 24             	mov    (%esp),%eax
58305b:	8b 00                	mov    (%eax),%eax
58305d:	e8 8a fb ff ff       	call   0x582bec
583062:	89 44 24 08          	mov    %eax,0x8(%esp)
583066:	8d 4c 24 08          	lea    0x8(%esp),%ecx
58306a:	8b 5c 24 04          	mov    0x4(%esp),%ebx
58306e:	ba 04 00 00 00       	mov    $0x4,%edx
583073:	8b c7                	mov    %edi,%eax
583075:	ff 93 fc 03 00 00    	call   *0x3fc(%ebx)
58307b:	85 c0                	test   %eax,%eax
58307d:	75 04                	jne    0x583083
58307f:	33 c0                	xor    %eax,%eax
583081:	eb 43                	jmp    0x5830c6
583083:	8b 04 24             	mov    (%esp),%eax
583086:	8b 18                	mov    (%eax),%ebx
583088:	4b                   	dec    %ebx
583089:	85 db                	test   %ebx,%ebx
58308b:	7c 36                	jl     0x5830c3
58308d:	43                   	inc    %ebx
58308e:	33 f6                	xor    %esi,%esi
583090:	8b 04 24             	mov    (%esp),%eax
583093:	66 8b 44 70 04       	mov    0x4(%eax,%esi,2),%ax
583098:	e8 5f fb ff ff       	call   0x582bfc
58309d:	66 89 44 24 0c       	mov    %ax,0xc(%esp)
5830a2:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
5830a6:	8b 6c 24 04          	mov    0x4(%esp),%ebp
5830aa:	ba 02 00 00 00       	mov    $0x2,%edx
5830af:	8b c7                	mov    %edi,%eax
5830b1:	ff 95 fc 03 00 00    	call   *0x3fc(%ebp)
5830b7:	85 c0                	test   %eax,%eax
5830b9:	75 04                	jne    0x5830bf
5830bb:	33 c0                	xor    %eax,%eax
5830bd:	eb 07                	jmp    0x5830c6
5830bf:	46                   	inc    %esi
5830c0:	4b                   	dec    %ebx
5830c1:	75 cd                	jne    0x583090
5830c3:	83 c8 ff             	or     $0xffffffff,%eax
5830c6:	83 c4 10             	add    $0x10,%esp
5830c9:	5d                   	pop    %ebp
5830ca:	5f                   	pop    %edi
5830cb:	5e                   	pop    %esi
5830cc:	5b                   	pop    %ebx
5830cd:	c3                   	ret
5830ce:	8b c0                	mov    %eax,%eax
5830d0:	53                   	push   %ebx
5830d1:	56                   	push   %esi
5830d2:	57                   	push   %edi
5830d3:	51                   	push   %ecx
5830d4:	8b f9                	mov    %ecx,%edi
5830d6:	8b f2                	mov    %edx,%esi
5830d8:	8b d8                	mov    %eax,%ebx
5830da:	8b c6                	mov    %esi,%eax
5830dc:	e8 0f 6d e8 ff       	call   0x409df0
5830e1:	40                   	inc    %eax
5830e2:	89 04 24             	mov    %eax,(%esp)
5830e5:	8b cf                	mov    %edi,%ecx
5830e7:	ba 74 78 65 74       	mov    $0x74657874,%edx
5830ec:	8b c3                	mov    %ebx,%eax
5830ee:	e8 d5 fd ff ff       	call   0x582ec8
5830f3:	85 c0                	test   %eax,%eax
5830f5:	75 04                	jne    0x5830fb
5830f7:	33 c0                	xor    %eax,%eax
5830f9:	eb 18                	jmp    0x583113
5830fb:	8b ce                	mov    %esi,%ecx
5830fd:	8b 14 24             	mov    (%esp),%edx
583100:	8b c3                	mov    %ebx,%eax
583102:	ff 97 fc 03 00 00    	call   *0x3fc(%edi)
583108:	85 c0                	test   %eax,%eax
58310a:	75 04                	jne    0x583110
58310c:	33 c0                	xor    %eax,%eax
58310e:	eb 03                	jmp    0x583113
583110:	83 c8 ff             	or     $0xffffffff,%eax
583113:	5a                   	pop    %edx
583114:	5f                   	pop    %edi
583115:	5e                   	pop    %esi
583116:	5b                   	pop    %ebx
583117:	c3                   	ret
583118:	55                   	push   %ebp
583119:	8b ec                	mov    %esp,%ebp
58311b:	83 c4 f8             	add    $0xfffffff8,%esp
58311e:	53                   	push   %ebx
58311f:	56                   	push   %esi
583120:	8b f2                	mov    %edx,%esi
583122:	8b d8                	mov    %eax,%ebx
583124:	ff 75 14             	push   0x14(%ebp)
583127:	ff 75 10             	push   0x10(%ebp)
58312a:	e8 79 85 ff ff       	call   0x57b6a8
58312f:	e8 b8 fa ff ff       	call   0x582bec
583134:	89 45 fc             	mov    %eax,-0x4(%ebp)
583137:	ff 75 0c             	push   0xc(%ebp)
58313a:	ff 75 08             	push   0x8(%ebp)
58313d:	e8 66 85 ff ff       	call   0x57b6a8
583142:	e8 a5 fa ff ff       	call   0x582bec
583147:	89 45 f8             	mov    %eax,-0x8(%ebp)
58314a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
58314d:	ba 04 00 00 00       	mov    $0x4,%edx
583152:	8b c3                	mov    %ebx,%eax
583154:	ff 96 fc 03 00 00    	call   *0x3fc(%esi)
58315a:	85 c0                	test   %eax,%eax
58315c:	75 04                	jne    0x583162
58315e:	33 c0                	xor    %eax,%eax
583160:	eb 1b                	jmp    0x58317d
583162:	8d 4d f8             	lea    -0x8(%ebp),%ecx
583165:	ba 04 00 00 00       	mov    $0x4,%edx
58316a:	8b c3                	mov    %ebx,%eax
58316c:	ff 96 fc 03 00 00    	call   *0x3fc(%esi)
583172:	85 c0                	test   %eax,%eax
583174:	75 04                	jne    0x58317a
583176:	33 c0                	xor    %eax,%eax
583178:	eb 03                	jmp    0x58317d
58317a:	83 c8 ff             	or     $0xffffffff,%eax
58317d:	5e                   	pop    %esi
58317e:	5b                   	pop    %ebx
58317f:	59                   	pop    %ecx
583180:	59                   	pop    %ecx
583181:	5d                   	pop    %ebp
583182:	c2 10 00             	ret    $0x10
583185:	8d 40 00             	lea    0x0(%eax),%eax
583188:	53                   	push   %ebx
583189:	56                   	push   %esi
58318a:	57                   	push   %edi
58318b:	51                   	push   %ecx
58318c:	8b f9                	mov    %ecx,%edi
58318e:	8b f2                	mov    %edx,%esi
583190:	8b d8                	mov    %eax,%ebx
583192:	8b cf                	mov    %edi,%ecx
583194:	ba 6d 72 68 63       	mov    $0x6368726d,%edx
583199:	8b c3                	mov    %ebx,%eax
58319b:	e8 28 fd ff ff       	call   0x582ec8
5831a0:	85 c0                	test   %eax,%eax
5831a2:	75 07                	jne    0x5831ab
5831a4:	33 c0                	xor    %eax,%eax
5831a6:	e9 a2 00 00 00       	jmp    0x58324d
5831ab:	66 b8 03 00          	mov    $0x3,%ax
5831af:	e8 48 fa ff ff       	call   0x582bfc
5831b4:	66 89 04 24          	mov    %ax,(%esp)
5831b8:	8b cc                	mov    %esp,%ecx
5831ba:	ba 02 00 00 00       	mov    $0x2,%edx
5831bf:	8b c3                	mov    %ebx,%eax
5831c1:	ff 97 fc 03 00 00    	call   *0x3fc(%edi)
5831c7:	85 c0                	test   %eax,%eax
5831c9:	75 04                	jne    0x5831cf
5831cb:	33 c0                	xor    %eax,%eax
5831cd:	eb 7e                	jmp    0x58324d
5831cf:	33 c0                	xor    %eax,%eax
5831d1:	e8 26 fa ff ff       	call   0x582bfc
5831d6:	66 89 44 24 02       	mov    %ax,0x2(%esp)
5831db:	8d 4c 24 02          	lea    0x2(%esp),%ecx
5831df:	ba 02 00 00 00       	mov    $0x2,%edx
5831e4:	8b c3                	mov    %ebx,%eax
5831e6:	ff 97 fc 03 00 00    	call   *0x3fc(%edi)
5831ec:	85 c0                	test   %eax,%eax
5831ee:	75 04                	jne    0x5831f4
5831f0:	33 c0                	xor    %eax,%eax
5831f2:	eb 59                	jmp    0x58324d
5831f4:	ff 76 04             	push   0x4(%esi)
5831f7:	ff 36                	push   (%esi)
5831f9:	ff 76 0c             	push   0xc(%esi)
5831fc:	ff 76 08             	push   0x8(%esi)
5831ff:	8b d7                	mov    %edi,%edx
583201:	8b c3                	mov    %ebx,%eax
583203:	e8 10 ff ff ff       	call   0x583118
583208:	85 c0                	test   %eax,%eax
58320a:	75 04                	jne    0x583210
58320c:	33 c0                	xor    %eax,%eax
58320e:	eb 3d                	jmp    0x58324d
583210:	ff 76 1c             	push   0x1c(%esi)
583213:	ff 76 18             	push   0x18(%esi)
583216:	ff 76 24             	push   0x24(%esi)
583219:	ff 76 20             	push   0x20(%esi)
58321c:	8b d7                	mov    %edi,%edx
58321e:	8b c3                	mov    %ebx,%eax
583220:	e8 f3 fe ff ff       	call   0x583118
583225:	85 c0                	test   %eax,%eax
583227:	75 04                	jne    0x58322d
583229:	33 c0                	xor    %eax,%eax
58322b:	eb 20                	jmp    0x58324d
58322d:	ff 76 34             	push   0x34(%esi)
583230:	ff 76 30             	push   0x30(%esi)
583233:	ff 76 3c             	push   0x3c(%esi)
583236:	ff 76 38             	push   0x38(%esi)
583239:	8b d7                	mov    %edi,%edx
58323b:	8b c3                	mov    %ebx,%eax
58323d:	e8 d6 fe ff ff       	call   0x583118
583242:	85 c0                	test   %eax,%eax
583244:	75 04                	jne    0x58324a
583246:	33 c0                	xor    %eax,%eax
583248:	eb 03                	jmp    0x58324d
58324a:	83 c8 ff             	or     $0xffffffff,%eax
58324d:	5a                   	pop    %edx
58324e:	5f                   	pop    %edi
58324f:	5e                   	pop    %esi
583250:	5b                   	pop    %ebx
583251:	c3                   	ret
583252:	8b c0                	mov    %eax,%eax
583254:	53                   	push   %ebx
583255:	56                   	push   %esi
583256:	57                   	push   %edi
583257:	55                   	push   %ebp
583258:	83 c4 c0             	add    $0xffffffc0,%esp
58325b:	89 0c 24             	mov    %ecx,(%esp)
58325e:	8b f2                	mov    %edx,%esi
583260:	8b f8                	mov    %eax,%edi
583262:	8d 5c 24 10          	lea    0x10(%esp),%ebx
583266:	8b 06                	mov    (%esi),%eax
583268:	a8 02                	test   $0x2,%al
58326a:	74 10                	je     0x58327c
58326c:	81 7e 30 00 01 00 00 	cmpl   $0x100,0x30(%esi)
583273:	74 07                	je     0x58327c
583275:	33 c0                	xor    %eax,%eax
583277:	e9 bf 02 00 00       	jmp    0x58353b
58327c:	a8 08                	test   $0x8,%al
58327e:	74 10                	je     0x583290
583280:	81 7e 34 00 01 00 00 	cmpl   $0x100,0x34(%esi)
583287:	74 07                	je     0x583290
583289:	33 c0                	xor    %eax,%eax
58328b:	e9 ab 02 00 00       	jmp    0x58353b
583290:	8b 0c 24             	mov    (%esp),%ecx
583293:	ba 31 74 66 6d       	mov    $0x6d667431,%edx
583298:	8b c7                	mov    %edi,%eax
58329a:	e8 29 fc ff ff       	call   0x582ec8
58329f:	85 c0                	test   %eax,%eax
5832a1:	75 07                	jne    0x5832aa
5832a3:	33 c0                	xor    %eax,%eax
5832a5:	e9 91 02 00 00       	jmp    0x58353b
5832aa:	8a 46 38             	mov    0x38(%esi),%al
5832ad:	88 43 02             	mov    %al,0x2(%ebx)
5832b0:	8a 46 28             	mov    0x28(%esi),%al
5832b3:	88 03                	mov    %al,(%ebx)
5832b5:	8a 46 2c             	mov    0x2c(%esi),%al
5832b8:	88 43 01             	mov    %al,0x1(%ebx)
5832bb:	f6 06 01             	testb  $0x1,(%esi)
5832be:	74 68                	je     0x583328
5832c0:	8b 46 04             	mov    0x4(%esi),%eax
5832c3:	e8 24 f9 ff ff       	call   0x582bec
5832c8:	89 43 04             	mov    %eax,0x4(%ebx)
5832cb:	8b 46 08             	mov    0x8(%esi),%eax
5832ce:	e8 19 f9 ff ff       	call   0x582bec
5832d3:	89 43 08             	mov    %eax,0x8(%ebx)
5832d6:	8b 46 0c             	mov    0xc(%esi),%eax
5832d9:	e8 0e f9 ff ff       	call   0x582bec
5832de:	89 43 0c             	mov    %eax,0xc(%ebx)
5832e1:	8b 46 10             	mov    0x10(%esi),%eax
5832e4:	e8 03 f9 ff ff       	call   0x582bec
5832e9:	89 43 10             	mov    %eax,0x10(%ebx)
5832ec:	8b 46 14             	mov    0x14(%esi),%eax
5832ef:	e8 f8 f8 ff ff       	call   0x582bec
5832f4:	89 43 14             	mov    %eax,0x14(%ebx)
5832f7:	8b 46 18             	mov    0x18(%esi),%eax
5832fa:	e8 ed f8 ff ff       	call   0x582bec
5832ff:	89 43 18             	mov    %eax,0x18(%ebx)
583302:	8b 46 1c             	mov    0x1c(%esi),%eax
583305:	e8 e2 f8 ff ff       	call   0x582bec
58330a:	89 43 1c             	mov    %eax,0x1c(%ebx)
58330d:	8b 46 20             	mov    0x20(%esi),%eax
583310:	e8 d7 f8 ff ff       	call   0x582bec
583315:	89 43 20             	mov    %eax,0x20(%ebx)
583318:	8b 46 24             	mov    0x24(%esi),%eax
58331b:	e8 cc f8 ff ff       	call   0x582bec
583320:	89 43 24             	mov    %eax,0x24(%ebx)
583323:	e9 a2 00 00 00       	jmp    0x5833ca
583328:	68 00 00 f0 3f       	push   $0x3ff00000
58332d:	6a 00                	push   $0x0
58332f:	e8 74 83 ff ff       	call   0x57b6a8
583334:	e8 b3 f8 ff ff       	call   0x582bec
583339:	89 43 04             	mov    %eax,0x4(%ebx)
58333c:	6a 00                	push   $0x0
58333e:	6a 00                	push   $0x0
583340:	e8 63 83 ff ff       	call   0x57b6a8
583345:	e8 a2 f8 ff ff       	call   0x582bec
58334a:	89 43 08             	mov    %eax,0x8(%ebx)
58334d:	6a 00                	push   $0x0
58334f:	6a 00                	push   $0x0
583351:	e8 52 83 ff ff       	call   0x57b6a8
583356:	e8 91 f8 ff ff       	call   0x582bec
58335b:	89 43 0c             	mov    %eax,0xc(%ebx)
58335e:	6a 00                	push   $0x0
583360:	6a 00                	push   $0x0
583362:	e8 41 83 ff ff       	call   0x57b6a8
583367:	e8 80 f8 ff ff       	call   0x582bec
58336c:	89 43 10             	mov    %eax,0x10(%ebx)
58336f:	68 00 00 f0 3f       	push   $0x3ff00000
583374:	6a 00                	push   $0x0
583376:	e8 2d 83 ff ff       	call   0x57b6a8
58337b:	e8 6c f8 ff ff       	call   0x582bec
583380:	89 43 14             	mov    %eax,0x14(%ebx)
583383:	6a 00                	push   $0x0
583385:	6a 00                	push   $0x0
583387:	e8 1c 83 ff ff       	call   0x57b6a8
58338c:	e8 5b f8 ff ff       	call   0x582bec
583391:	89 43 18             	mov    %eax,0x18(%ebx)
583394:	6a 00                	push   $0x0
583396:	6a 00                	push   $0x0
583398:	e8 0b 83 ff ff       	call   0x57b6a8
58339d:	e8 4a f8 ff ff       	call   0x582bec
5833a2:	89 43 1c             	mov    %eax,0x1c(%ebx)
5833a5:	6a 00                	push   $0x0
5833a7:	6a 00                	push   $0x0
5833a9:	e8 fa 82 ff ff       	call   0x57b6a8
5833ae:	e8 39 f8 ff ff       	call   0x582bec
5833b3:	89 43 20             	mov    %eax,0x20(%ebx)
5833b6:	68 00 00 f0 3f       	push   $0x3ff00000
5833bb:	6a 00                	push   $0x0
5833bd:	e8 e6 82 ff ff       	call   0x57b6a8
5833c2:	e8 25 f8 ff ff       	call   0x582bec
5833c7:	89 43 24             	mov    %eax,0x24(%ebx)
5833ca:	e8 5d c2 ff ff       	call   0x57f62c
5833cf:	ba 29 00 00 00       	mov    $0x29,%edx
5833d4:	2b d0                	sub    %eax,%edx
5833d6:	8b cb                	mov    %ebx,%ecx
5833d8:	8b 1c 24             	mov    (%esp),%ebx
5833db:	8b c7                	mov    %edi,%eax
5833dd:	ff 93 fc 03 00 00    	call   *0x3fc(%ebx)
5833e3:	8b 46 28             	mov    0x28(%esi),%eax
5833e6:	48                   	dec    %eax
5833e7:	85 c0                	test   %eax,%eax
5833e9:	7c 71                	jl     0x58345c
5833eb:	40                   	inc    %eax
5833ec:	89 44 24 0c          	mov    %eax,0xc(%esp)
5833f0:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5833f7:	00
5833f8:	33 db                	xor    %ebx,%ebx
5833fa:	f6 06 02             	testb  $0x2,(%esi)
5833fd:	74 32                	je     0x583431
5833ff:	8b 44 24 04          	mov    0x4(%esp),%eax
583403:	8b 44 86 3c          	mov    0x3c(%esi,%eax,4),%eax
583407:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
58340b:	89 44 24 3c          	mov    %eax,0x3c(%esp)
58340f:	db 44 24 3c          	fildl  0x3c(%esp)
583413:	d8 35 44 35 58 00    	fdivs  0x583544
583419:	d8 05 48 35 58 00    	fadds  0x583548