58ce63:	89 55 fc             	mov    %edx,-0x4(%ebp)
58ce66:	8b d8                	mov    %eax,%ebx
58ce68:	8b 45 08             	mov    0x8(%ebp),%eax
58ce6b:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
58ce6f:	0f 84 c3 00 00 00    	je     0x58cf38
58ce75:	33 d2                	xor    %edx,%edx
58ce77:	89 93 34 94 00 00    	mov    %edx,0x9434(%ebx)
58ce7d:	eb 14                	jmp    0x58ce93
58ce7f:	69 c0 dd 0e e9 02    	imul   $0x2e90edd,%eax,%eax
58ce85:	40                   	inc    %eax
58ce86:	89 84 93 34 92 00 00 	mov    %eax,0x9234(%ebx,%edx,4)
58ce8d:	ff 83 34 94 00 00    	incl   0x9434(%ebx)
58ce93:	8b 93 34 94 00 00    	mov    0x9434(%ebx),%edx
58ce99:	83 fa 04             	cmp    $0x4,%edx
58ce9c:	72 e1                	jb     0x58ce7f
58ce9e:	8b 83 34 92 00 00    	mov    0x9234(%ebx),%eax
58cea4:	33 83 3c 92 00 00    	xor    0x923c(%ebx),%eax
58ceaa:	c1 e8 1f             	shr    $0x1f,%eax
58cead:	8b 93 40 92 00 00    	mov    0x9240(%ebx),%edx
58ceb3:	03 d2                	add    %edx,%edx
58ceb5:	0b c2                	or     %edx,%eax
58ceb7:	89 83 40 92 00 00    	mov    %eax,0x9240(%ebx)
58cebd:	c7 83 34 94 00 00 04 	movl   $0x4,0x9434(%ebx)
58cec4:	00 00 00
58cec7:	eb 30                	jmp    0x58cef9
58cec9:	8b 94 83 24 92 00 00 	mov    0x9224(%ebx,%eax,4),%edx
58ced0:	33 94 83 2c 92 00 00 	xor    0x922c(%ebx,%eax,4),%edx
58ced7:	03 d2                	add    %edx,%edx
58ced9:	8b 8c 83 28 92 00 00 	mov    0x9228(%ebx,%eax,4),%ecx
58cee0:	33 8c 83 30 92 00 00 	xor    0x9230(%ebx,%eax,4),%ecx
58cee7:	c1 e9 1f             	shr    $0x1f,%ecx
58ceea:	0b d1                	or     %ecx,%edx
58ceec:	89 94 83 34 92 00 00 	mov    %edx,0x9234(%ebx,%eax,4)
58cef3:	ff 83 34 94 00 00    	incl   0x9434(%ebx)
58cef9:	8b 83 34 94 00 00    	mov    0x9434(%ebx),%eax
58ceff:	83 f8 7f             	cmp    $0x7f,%eax
58cf02:	72 c5                	jb     0x58cec9
58cf04:	33 c0                	xor    %eax,%eax
58cf06:	89 83 34 94 00 00    	mov    %eax,0x9434(%ebx)
58cf0c:	eb 1f                	jmp    0x58cf2d
58cf0e:	8b 84 b3 34 92 00 00 	mov    0x9234(%ebx,%esi,4),%eax
58cf15:	e8 7e d7 ff ff       	call   0x58a698
58cf1a:	8b 93 34 94 00 00    	mov    0x9434(%ebx),%edx
58cf20:	89 84 93 34 92 00 00 	mov    %eax,0x9234(%ebx,%edx,4)
58cf27:	ff 83 34 94 00 00    	incl   0x9434(%ebx)
58cf2d:	8b b3 34 94 00 00    	mov    0x9434(%ebx),%esi
58cf33:	83 fe 7f             	cmp    $0x7f,%esi
58cf36:	72 d6                	jb     0x58cf0e
58cf38:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
58cf3c:	74 54                	je     0x58cf92
58cf3e:	ff 4d f8             	decl   -0x8(%ebp)
58cf41:	8b 83 34 94 00 00    	mov    0x9434(%ebx),%eax
58cf47:	8b d0                	mov    %eax,%edx
58cf49:	42                   	inc    %edx
58cf4a:	83 e2 7f             	and    $0x7f,%edx
58cf4d:	8b 94 93 34 92 00 00 	mov    0x9234(%ebx,%edx,4),%edx
58cf54:	8b c8                	mov    %eax,%ecx
58cf56:	83 c1 41             	add    $0x41,%ecx
58cf59:	83 e1 7f             	and    $0x7f,%ecx
58cf5c:	33 94 8b 34 92 00 00 	xor    0x9234(%ebx,%ecx,4),%edx
58cf63:	83 e0 7f             	and    $0x7f,%eax
58cf66:	89 94 83 34 92 00 00 	mov    %edx,0x9234(%ebx,%eax,4)
58cf6d:	8b 83 34 94 00 00    	mov    0x9434(%ebx),%eax
58cf73:	83 e0 7f             	and    $0x7f,%eax
58cf76:	8b 84 83 34 92 00 00 	mov    0x9234(%ebx,%eax,4),%eax
58cf7d:	8b 55 fc             	mov    -0x4(%ebp),%edx
58cf80:	31 02                	xor    %eax,(%edx)
58cf82:	ff 83 34 94 00 00    	incl   0x9434(%ebx)
58cf88:	83 45 fc 04          	addl   $0x4,-0x4(%ebp)
58cf8c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
58cf90:	75 ac                	jne    0x58cf3e
58cf92:	5e                   	pop    %esi
58cf93:	5b                   	pop    %ebx
58cf94:	59                   	pop    %ecx
58cf95:	59                   	pop    %ecx
58cf96:	5d                   	pop    %ebp
58cf97:	c2 08 00             	ret    $0x8
58cf9a:	8b c0                	mov    %eax,%eax
58cf9c:	53                   	push   %ebx
58cf9d:	56                   	push   %esi
58cf9e:	57                   	push   %edi
58cf9f:	55                   	push   %ebp
58cfa0:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
58cfa6:	50                   	push   %eax
58cfa7:	81 c4 74 f5 ff ff    	add    $0xfffff574,%esp
58cfad:	89 04 24             	mov    %eax,(%esp)
58cfb0:	8b 1c 24             	mov    (%esp),%ebx
58cfb3:	8b f3                	mov    %ebx,%esi
58cfb5:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
58cfbc:	00
58cfbd:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
58cfc4:	00
58cfc5:	6a 00                	push   $0x0
58cfc7:	68 c0 10 03 00       	push   $0x310c0
58cfcc:	8b 46 04             	mov    0x4(%esi),%eax
58cfcf:	e8 04 17 e9 ff       	call   0x41e6d8
58cfd4:	8b 7e 04             	mov    0x4(%esi),%edi
58cfd7:	8b c7                	mov    %edi,%eax
58cfd9:	e8 da 16 e9 ff       	call   0x41e6b8
58cfde:	52                   	push   %edx
58cfdf:	50                   	push   %eax
58cfe0:	8b 46 04             	mov    0x4(%esi),%eax
58cfe3:	e8 e0 b9 ff ff       	call   0x5889c8
58cfe8:	25 ff 00 00 00       	and    $0xff,%eax
58cfed:	c1 e0 02             	shl    $0x2,%eax
58cff0:	33 d2                	xor    %edx,%edx
58cff2:	03 04 24             	add    (%esp),%eax
58cff5:	13 54 24 04          	adc    0x4(%esp),%edx
58cff9:	83 c4 08             	add    $0x8,%esp
58cffc:	83 e8 01             	sub    $0x1,%eax
58cfff:	83 da 00             	sbb    $0x0,%edx
58d002:	52                   	push   %edx
58d003:	50                   	push   %eax
58d004:	8b c7                	mov    %edi,%eax
58d006:	e8 cd 16 e9 ff       	call   0x41e6d8
58d00b:	66 c7 46 08 4d 4d    	movw   $0x4d4d,0x8(%esi)
58d011:	8b c3                	mov    %ebx,%eax
58d013:	8b 56 04             	mov    0x4(%esi),%edx
58d016:	e8 91 bb ff ff       	call   0x588bac
58d01b:	89 44 24 04          	mov    %eax,0x4(%esp)
58d01f:	6a 00                	push   $0x0
58d021:	68 f8 82 02 00       	push   $0x282f8
58d026:	8b 46 04             	mov    0x4(%esi),%eax
58d029:	e8 aa 16 e9 ff       	call   0x41e6d8
58d02e:	8d 54 24 1c          	lea    0x1c(%esp),%edx
58d032:	b9 28 00 00 00       	mov    $0x28,%ecx
58d037:	8b 46 04             	mov    0x4(%esi),%eax
58d03a:	8b 38                	mov    (%eax),%edi
58d03c:	ff 57 08             	call   *0x8(%edi)
58d03f:	6a 01                	push   $0x1
58d041:	8b 44 24 08          	mov    0x8(%esp),%eax
58d045:	50                   	push   %eax
58d046:	8d 54 24 24          	lea    0x24(%esp),%edx
58d04a:	8b c3                	mov    %ebx,%eax
58d04c:	b9 0a 00 00 00       	mov    $0xa,%ecx
58d051:	e8 02 fe ff ff       	call   0x58ce58
58d056:	b8 1a 00 00 00       	mov    $0x1a,%eax
58d05b:	48                   	dec    %eax
58d05c:	8b 54 24 04          	mov    0x4(%esp),%edx
58d060:	c1 e2 08             	shl    $0x8,%edx
58d063:	33 c9                	xor    %ecx,%ecx
58d065:	8a 4c 04 1c          	mov    0x1c(%esp,%eax,1),%cl
58d069:	0b d1                	or     %ecx,%edx
58d06b:	89 54 24 04          	mov    %edx,0x4(%esp)
58d06f:	83 f8 16             	cmp    $0x16,%eax
58d072:	77 e7                	ja     0x58d05b
58d074:	6a 00                	push   $0x0
58d076:	68 c0 27 0d 00       	push   $0xd27c0
58d07b:	8b 46 04             	mov    0x4(%esi),%eax
58d07e:	e8 55 16 e9 ff       	call   0x41e6d8
58d083:	db 86 f8 00 00 00    	fildl  0xf8(%esi)
58d089:	d8 3d dc d1 58 00    	fdivrs 0x58d1dc
58d08f:	d8 35 e0 d1 58 00    	fdivs  0x58d1e0
58d095:	dd 9e c0 f4 00 00    	fstpl  0xf4c0(%esi)
58d09b:	9b                   	fwait
58d09c:	8b 86 f8 00 00 00    	mov    0xf8(%esi),%eax
58d0a2:	48                   	dec    %eax
58d0a3:	85 c0                	test   %eax,%eax
58d0a5:	0f 82 fe 00 00 00    	jb     0x58d1a9
58d0ab:	40                   	inc    %eax
58d0ac:	89 44 24 18          	mov    %eax,0x18(%esp)
58d0b0:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
58d0b7:	00
58d0b8:	8d 9e a8 f4 00 00    	lea    0xf4a8(%esi),%ebx
58d0be:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
58d0c3:	74 2d                	je     0x58d0f2
58d0c5:	8b 44 24 08          	mov    0x8(%esp),%eax
58d0c9:	89 84 24 84 1a 00 00 	mov    %eax,0x1a84(%esp)
58d0d0:	33 c0                	xor    %eax,%eax
58d0d2:	89 84 24 88 1a 00 00 	mov    %eax,0x1a88(%esp)
58d0d9:	df ac 24 84 1a 00 00 	fildll 0x1a84(%esp)
58d0e0:	dc 4b 18             	fmull  0x18(%ebx)
58d0e3:	e8 e4 5b e7 ff       	call   0x402ccc
58d0e8:	8b c8                	mov    %eax,%ecx
58d0ea:	8b 53 08             	mov    0x8(%ebx),%edx
58d0ed:	8b 43 04             	mov    0x4(%ebx),%eax
58d0f0:	ff 13                	call   *(%ebx)
58d0f2:	8b 8e ec 00 00 00    	mov    0xec(%esi),%ecx
58d0f8:	03 c9                	add    %ecx,%ecx
58d0fa:	8d 54 24 44          	lea    0x44(%esp),%edx
58d0fe:	8b 46 04             	mov    0x4(%esi),%eax
58d101:	8b 18                	mov    (%eax),%ebx
58d103:	ff 53 08             	call   *0x8(%ebx)
58d106:	8b 44 24 08          	mov    0x8(%esp),%eax
58d10a:	e8 a9 e6 ff ff       	call   0x58b7b8
58d10f:	50                   	push   %eax
58d110:	8b 44 24 08          	mov    0x8(%esp),%eax
58d114:	50                   	push   %eax
58d115:	8b 8e ec 00 00 00    	mov    0xec(%esi),%ecx
58d11b:	d1 f9                	sar    $1,%ecx
58d11d:	79 03                	jns    0x58d122
58d11f:	83 d1 00             	adc    $0x0,%ecx
58d122:	8d 54 24 4c          	lea    0x4c(%esp),%edx
58d126:	8b 44 24 08          	mov    0x8(%esp),%eax
58d12a:	e8 29 fd ff ff       	call   0x58ce58
58d12f:	33 ff                	xor    %edi,%edi
58d131:	8d 5c 24 44          	lea    0x44(%esp),%ebx
58d135:	8b ef                	mov    %edi,%ebp
58d137:	2b ae f4 00 00 00    	sub    0xf4(%esi),%ebp
58d13d:	8b c5                	mov    %ebp,%eax
58d13f:	33 d2                	xor    %edx,%edx
58d141:	52                   	push   %edx
58d142:	50                   	push   %eax
58d143:	8b 86 fc 00 00 00    	mov    0xfc(%esi),%eax
58d149:	99                   	cltd
58d14a:	3b 54 24 04          	cmp    0x4(%esp),%edx
58d14e:	75 09                	jne    0x58d159
58d150:	3b 04 24             	cmp    (%esp),%eax
58d153:	5a                   	pop    %edx
58d154:	58                   	pop    %eax
58d155:	76 23                	jbe    0x58d17a
58d157:	eb 04                	jmp    0x58d15d
58d159:	5a                   	pop    %edx
58d15a:	58                   	pop    %eax
58d15b:	7e 1d                	jle    0x58d17a
58d15d:	8b 04 24             	mov    (%esp),%eax
58d160:	8b cd                	mov    %ebp,%ecx
58d162:	8b 54 24 08          	mov    0x8(%esp),%edx
58d166:	e8 91 b8 ff ff       	call   0x5889fc
58d16b:	50                   	push   %eax
58d16c:	66 8b 03             	mov    (%ebx),%ax
58d16f:	e8 1c d5 ff ff       	call   0x58a690
58d174:	5a                   	pop    %edx
58d175:	66 89 02             	mov    %ax,(%edx)
58d178:	eb 15                	jmp    0x58d18f
58d17a:	66 8b 03             	mov    (%ebx),%ax
58d17d:	e8 0e d5 ff ff       	call   0x58a690
58d182:	0f b7 c0             	movzwl %ax,%eax
58d185:	33 d2                	xor    %edx,%edx
58d187:	01 44 24 10          	add    %eax,0x10(%esp)
58d18b:	11 54 24 14          	adc    %edx,0x14(%esp)
58d18f:	47                   	inc    %edi
58d190:	83 c3 02             	add    $0x2,%ebx
58d193:	81 ff 0f 0d 00 00    	cmp    $0xd0f,%edi
58d199:	75 9a                	jne    0x58d135
58d19b:	ff 44 24 08          	incl   0x8(%esp)
58d19f:	ff 4c 24 18          	decl   0x18(%esp)
58d1a3:	0f 85 0f ff ff ff    	jne    0x58d0b8
58d1a9:	b8 0f 0d 00 00       	mov    $0xd0f,%eax
58d1ae:	2b 86 fc 00 00 00    	sub    0xfc(%esi),%eax
58d1b4:	f7 ae f8 00 00 00    	imull  0xf8(%esi)
58d1ba:	99                   	cltd
58d1bb:	52                   	push   %edx
58d1bc:	50                   	push   %eax
58d1bd:	8b 44 24 18          	mov    0x18(%esp),%eax
58d1c1:	8b 54 24 1c          	mov    0x1c(%esp),%edx
58d1c5:	e8 de 88 e7 ff       	call   0x405aa8
58d1ca:	89 86 04 01 00 00    	mov    %eax,0x104(%esi)
58d1d0:	81 c4 8c 1a 00 00    	add    $0x1a8c,%esp
58d1d6:	5d                   	pop    %ebp
58d1d7:	5f                   	pop    %edi
58d1d8:	5e                   	pop    %esi
58d1d9:	5b                   	pop    %ebx
58d1da:	c3                   	ret
58d1db:	00 00                	add    %al,(%eax)
58d1dd:	00 c8                	add    %cl,%al
58d1df:	42                   	inc    %edx
58d1e0:	00 00                	add    %al,(%eax)
58d1e2:	00 40 53             	add    %al,0x53(%eax)
58d1e5:	56                   	push   %esi
58d1e6:	57                   	push   %edi
58d1e7:	83 c4 f8             	add    $0xfffffff8,%esp
58d1ea:	be 03 00 00 00       	mov    $0x3,%esi
58d1ef:	ba 70 3c 6a 00       	mov    $0x6a3c70,%edx
58d1f4:	89 14 24             	mov    %edx,(%esp)
58d1f7:	8d 90 04 02 00 00    	lea    0x204(%eax),%edx
58d1fd:	89 54 24 04          	mov    %edx,0x4(%esp)
58d201:	bb 04 00 00 00       	mov    $0x4,%ebx
58d206:	8b 14 24             	mov    (%esp),%edx
58d209:	8b 4c 24 04          	mov    0x4(%esp),%ecx
58d20d:	8b 3a                	mov    (%edx),%edi
58d20f:	89 39                	mov    %edi,(%ecx)
58d211:	83 c1 04             	add    $0x4,%ecx
58d214:	83 c2 04             	add    $0x4,%edx
58d217:	4b                   	dec    %ebx
58d218:	75 f3                	jne    0x58d20d
58d21a:	83 44 24 04 10       	addl   $0x10,0x4(%esp)
58d21f:	83 04 24 10          	addl   $0x10,(%esp)
58d223:	4e                   	dec    %esi
58d224:	75 db                	jne    0x58d201
58d226:	c7 80 24 01 00 00 01 	movl   $0x1,0x124(%eax)
58d22d:	00 00 00
58d230:	59                   	pop    %ecx
58d231:	5a                   	pop    %edx
58d232:	5f                   	pop    %edi
58d233:	5e                   	pop    %esi
58d234:	5b                   	pop    %ebx
58d235:	c3                   	ret
58d236:	8b c0                	mov    %eax,%eax
58d238:	53                   	push   %ebx
58d239:	56                   	push   %esi
58d23a:	57                   	push   %edi
58d23b:	51                   	push   %ecx
58d23c:	8b d9                	mov    %ecx,%ebx
58d23e:	8b fa                	mov    %edx,%edi
58d240:	8b f0                	mov    %eax,%esi
58d242:	8b 86 9c f4 00 00    	mov    0xf49c(%esi),%eax
58d248:	89 04 24             	mov    %eax,(%esp)
58d24b:	83 86 9c f4 00 00 0c 	addl   $0xc,0xf49c(%esi)
58d252:	8b 86 9c f4 00 00    	mov    0xf49c(%esi),%eax
58d258:	8d 96 98 94 00 00    	lea    0x9498(%esi),%edx
58d25e:	81 c2 00 60 00 00    	add    $0x6000,%edx
58d264:	3b c2                	cmp    %edx,%eax
58d266:	7e 16                	jle    0x58d27e
58d268:	b9 f0 d2 58 00       	mov    $0x58d2f0,%ecx
58d26d:	b2 01                	mov    $0x1,%dl
58d26f:	a1 cc 84 40 00       	mov    0x4084cc,%eax
58d274:	e8 cf fb e7 ff       	call   0x40ce48
58d279:	e8 c6 6f e7 ff       	call   0x404244
58d27e:	85 db                	test   %ebx,%ebx
58d280:	74 17                	je     0x58d299
58d282:	33 c0                	xor    %eax,%eax
58d284:	3b 1c 87             	cmp    (%edi,%eax,4),%ebx
58d287:	75 08                	jne    0x58d291
58d289:	8b 14 24             	mov    (%esp),%edx
58d28c:	89 42 08             	mov    %eax,0x8(%edx)
58d28f:	eb 50                	jmp    0x58d2e1
58d291:	40                   	inc    %eax
58d292:	3d 00 04 00 00       	cmp    $0x400,%eax
58d297:	75 eb                	jne    0x58d284
58d299:	8b c3                	mov    %ebx,%eax
58d29b:	c1 e8 1b             	shr    $0x1b,%eax
58d29e:	83 f8 1a             	cmp    $0x1a,%eax
58d2a1:	7f 3e                	jg     0x58d2e1
58d2a3:	40                   	inc    %eax
58d2a4:	c1 e0 1b             	shl    $0x1b,%eax
58d2a7:	81 e3 ff ff ff 03    	and    $0x3ffffff,%ebx
58d2ad:	03 db                	add    %ebx,%ebx
58d2af:	0b c3                	or     %ebx,%eax
58d2b1:	8b d8                	mov    %eax,%ebx
58d2b3:	8b 86 9c f4 00 00    	mov    0xf49c(%esi),%eax
58d2b9:	8b 14 24             	mov    (%esp),%edx
58d2bc:	89 02                	mov    %eax,(%edx)
58d2be:	8b c6                	mov    %esi,%eax
58d2c0:	8b cb                	mov    %ebx,%ecx
58d2c2:	8b d7                	mov    %edi,%edx
58d2c4:	e8 6f ff ff ff       	call   0x58d238
58d2c9:	8b 86 9c f4 00 00    	mov    0xf49c(%esi),%eax
58d2cf:	8b 14 24             	mov    (%esp),%edx
58d2d2:	89 42 04             	mov    %eax,0x4(%edx)
58d2d5:	8d 4b 01             	lea    0x1(%ebx),%ecx
58d2d8:	8b c6                	mov    %esi,%eax
58d2da:	8b d7                	mov    %edi,%edx
58d2dc:	e8 57 ff ff ff       	call   0x58d238
58d2e1:	5a                   	pop    %edx
58d2e2:	5f                   	pop    %edi
58d2e3:	5e                   	pop    %esi
58d2e4:	5b                   	pop    %ebx
58d2e5:	c3                   	ret
58d2e6:	00 00                	add    %al,(%eax)