5ba042:	c7 45 e4 00 80 00 00 	movl   $0x8000,-0x1c(%ebp)
5ba049:	c7 45 e0 00 80 00 00 	movl   $0x8000,-0x20(%ebp)
5ba050:	c7 45 dc 00 80 00 00 	movl   $0x8000,-0x24(%ebp)
5ba057:	33 c9                	xor    %ecx,%ecx
5ba059:	85 d2                	test   %edx,%edx
5ba05b:	7d 0d                	jge    0x5ba06a
5ba05d:	03 8c b0 e0 07 00 00 	add    0x7e0(%eax,%esi,4),%ecx
5ba064:	46                   	inc    %esi
5ba065:	42                   	inc    %edx
5ba066:	85 d2                	test   %edx,%edx
5ba068:	7c f3                	jl     0x5ba05d
5ba06a:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5ba06d:	0f b6 7b 02          	movzbl 0x2(%ebx),%edi
5ba071:	0f af f9             	imul   %ecx,%edi
5ba074:	01 7d e4             	add    %edi,-0x1c(%ebp)
5ba077:	0f b6 7b 01          	movzbl 0x1(%ebx),%edi
5ba07b:	0f af f9             	imul   %ecx,%edi
5ba07e:	01 7d e0             	add    %edi,-0x20(%ebp)
5ba081:	0f b6 1b             	movzbl (%ebx),%ebx
5ba084:	0f af d9             	imul   %ecx,%ebx
5ba087:	01 5d dc             	add    %ebx,-0x24(%ebp)
5ba08a:	8d 0c 52             	lea    (%edx,%edx,2),%ecx
5ba08d:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5ba090:	8d 0c 0b             	lea    (%ebx,%ecx,1),%ecx
5ba093:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5ba096:	3b 55 f4             	cmp    -0xc(%ebp),%edx
5ba099:	7f 32                	jg     0x5ba0cd
5ba09b:	8b 8c b0 e0 07 00 00 	mov    0x7e0(%eax,%esi,4),%ecx
5ba0a2:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5ba0a5:	0f b6 7b 02          	movzbl 0x2(%ebx),%edi
5ba0a9:	0f af f9             	imul   %ecx,%edi
5ba0ac:	01 7d e4             	add    %edi,-0x1c(%ebp)
5ba0af:	0f b6 7b 01          	movzbl 0x1(%ebx),%edi
5ba0b3:	0f af f9             	imul   %ecx,%edi
5ba0b6:	01 7d e0             	add    %edi,-0x20(%ebp)
5ba0b9:	0f b6 1b             	movzbl (%ebx),%ebx
5ba0bc:	0f af d9             	imul   %ecx,%ebx
5ba0bf:	01 5d dc             	add    %ebx,-0x24(%ebp)
5ba0c2:	46                   	inc    %esi
5ba0c3:	42                   	inc    %edx
5ba0c4:	83 45 f0 03          	addl   $0x3,-0x10(%ebp)
5ba0c8:	3b 55 f4             	cmp    -0xc(%ebp),%edx
5ba0cb:	7e ce                	jle    0x5ba09b
5ba0cd:	33 c9                	xor    %ecx,%ecx
5ba0cf:	eb 08                	jmp    0x5ba0d9
5ba0d1:	03 8c b0 e0 07 00 00 	add    0x7e0(%eax,%esi,4),%ecx
5ba0d8:	46                   	inc    %esi
5ba0d9:	33 d2                	xor    %edx,%edx
5ba0db:	8a 10                	mov    (%eax),%dl
5ba0dd:	3b f2                	cmp    %edx,%esi
5ba0df:	7e f0                	jle    0x5ba0d1
5ba0e1:	8b 55 e8             	mov    -0x18(%ebp),%edx
5ba0e4:	8d 14 52             	lea    (%edx,%edx,2),%edx
5ba0e7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5ba0ea:	8d 14 13             	lea    (%ebx,%edx,1),%edx
5ba0ed:	33 db                	xor    %ebx,%ebx
5ba0ef:	8a 5a 02             	mov    0x2(%edx),%bl
5ba0f2:	0f af d9             	imul   %ecx,%ebx
5ba0f5:	01 5d e4             	add    %ebx,-0x1c(%ebp)
5ba0f8:	33 db                	xor    %ebx,%ebx
5ba0fa:	8a 5a 01             	mov    0x1(%edx),%bl
5ba0fd:	0f af d9             	imul   %ecx,%ebx
5ba100:	01 5d e0             	add    %ebx,-0x20(%ebp)
5ba103:	0f b6 12             	movzbl (%edx),%edx
5ba106:	0f af d1             	imul   %ecx,%edx
5ba109:	01 55 dc             	add    %edx,-0x24(%ebp)
5ba10c:	8b 55 ec             	mov    -0x14(%ebp),%edx
5ba10f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5ba112:	c1 e9 10             	shr    $0x10,%ecx
5ba115:	88 4a 02             	mov    %cl,0x2(%edx)
5ba118:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5ba11b:	c1 e9 10             	shr    $0x10,%ecx
5ba11e:	88 4a 01             	mov    %cl,0x1(%edx)
5ba121:	8b 4d dc             	mov    -0x24(%ebp),%ecx
5ba124:	c1 e9 10             	shr    $0x10,%ecx
5ba127:	88 0a                	mov    %cl,(%edx)
5ba129:	83 45 ec 03          	addl   $0x3,-0x14(%ebp)
5ba12d:	ff 45 f8             	incl   -0x8(%ebp)
5ba130:	ff 4d d8             	decl   -0x28(%ebp)
5ba133:	0f 85 e3 fe ff ff    	jne    0x5ba01c
5ba139:	5f                   	pop    %edi
5ba13a:	5e                   	pop    %esi
5ba13b:	5b                   	pop    %ebx
5ba13c:	8b e5                	mov    %ebp,%esp
5ba13e:	5d                   	pop    %ebp
5ba13f:	c2 04 00             	ret    $0x4
5ba142:	8b c0                	mov    %eax,%eax
5ba144:	55                   	push   %ebp
5ba145:	8b ec                	mov    %esp,%ebp
5ba147:	83 c4 e4             	add    $0xffffffe4,%esp
5ba14a:	53                   	push   %ebx
5ba14b:	56                   	push   %esi
5ba14c:	57                   	push   %edi
5ba14d:	89 55 fc             	mov    %edx,-0x4(%ebp)
5ba150:	8b 55 08             	mov    0x8(%ebp),%edx
5ba153:	4a                   	dec    %edx
5ba154:	89 55 ec             	mov    %edx,-0x14(%ebp)
5ba157:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5ba15a:	8b 55 ec             	mov    -0x14(%ebp),%edx
5ba15d:	85 d2                	test   %edx,%edx
5ba15f:	0f 8c bb 00 00 00    	jl     0x5ba220
5ba165:	42                   	inc    %edx
5ba166:	89 55 e4             	mov    %edx,-0x1c(%ebp)
5ba169:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5ba170:	8a 10                	mov    (%eax),%dl
5ba172:	33 c9                	xor    %ecx,%ecx
5ba174:	8a ca                	mov    %dl,%cl
5ba176:	f7 d9                	neg    %ecx
5ba178:	83 e2 7f             	and    $0x7f,%edx
5ba17b:	8b 75 f8             	mov    -0x8(%ebp),%esi
5ba17e:	2b f2                	sub    %edx,%esi
5ba180:	33 d2                	xor    %edx,%edx
5ba182:	8a 10                	mov    (%eax),%dl
5ba184:	03 55 f8             	add    -0x8(%ebp),%edx
5ba187:	89 55 f4             	mov    %edx,-0xc(%ebp)
5ba18a:	8b 55 f4             	mov    -0xc(%ebp),%edx
5ba18d:	3b 55 ec             	cmp    -0x14(%ebp),%edx
5ba190:	7e 06                	jle    0x5ba198
5ba192:	8b 55 ec             	mov    -0x14(%ebp),%edx
5ba195:	89 55 f4             	mov    %edx,-0xc(%ebp)
5ba198:	c7 45 e8 00 80 00 00 	movl   $0x8000,-0x18(%ebp)
5ba19f:	33 db                	xor    %ebx,%ebx
5ba1a1:	85 f6                	test   %esi,%esi
5ba1a3:	7d 0d                	jge    0x5ba1b2
5ba1a5:	03 9c 88 e0 07 00 00 	add    0x7e0(%eax,%ecx,4),%ebx
5ba1ac:	41                   	inc    %ecx
5ba1ad:	46                   	inc    %esi
5ba1ae:	85 f6                	test   %esi,%esi
5ba1b0:	7c f3                	jl     0x5ba1a5
5ba1b2:	8b 55 fc             	mov    -0x4(%ebp),%edx
5ba1b5:	0f b6 12             	movzbl (%edx),%edx
5ba1b8:	0f af d3             	imul   %ebx,%edx
5ba1bb:	01 55 e8             	add    %edx,-0x18(%ebp)
5ba1be:	8b 55 fc             	mov    -0x4(%ebp),%edx
5ba1c1:	8d 3c 32             	lea    (%edx,%esi,1),%edi
5ba1c4:	3b 75 f4             	cmp    -0xc(%ebp),%esi
5ba1c7:	7f 19                	jg     0x5ba1e2
5ba1c9:	8b 9c 88 e0 07 00 00 	mov    0x7e0(%eax,%ecx,4),%ebx
5ba1d0:	33 d2                	xor    %edx,%edx
5ba1d2:	8a 17                	mov    (%edi),%dl
5ba1d4:	0f af d3             	imul   %ebx,%edx
5ba1d7:	01 55 e8             	add    %edx,-0x18(%ebp)
5ba1da:	41                   	inc    %ecx
5ba1db:	46                   	inc    %esi
5ba1dc:	47                   	inc    %edi
5ba1dd:	3b 75 f4             	cmp    -0xc(%ebp),%esi
5ba1e0:	7e e7                	jle    0x5ba1c9
5ba1e2:	33 db                	xor    %ebx,%ebx
5ba1e4:	eb 08                	jmp    0x5ba1ee
5ba1e6:	03 9c 88 e0 07 00 00 	add    0x7e0(%eax,%ecx,4),%ebx
5ba1ed:	41                   	inc    %ecx
5ba1ee:	33 d2                	xor    %edx,%edx
5ba1f0:	8a 10                	mov    (%eax),%dl
5ba1f2:	3b ca                	cmp    %edx,%ecx
5ba1f4:	7e f0                	jle    0x5ba1e6
5ba1f6:	8b 55 fc             	mov    -0x4(%ebp),%edx
5ba1f9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5ba1fc:	0f b6 14 0a          	movzbl (%edx,%ecx,1),%edx
5ba200:	0f af d3             	imul   %ebx,%edx
5ba203:	01 55 e8             	add    %edx,-0x18(%ebp)
5ba206:	8b 55 e8             	mov    -0x18(%ebp),%edx
5ba209:	c1 ea 10             	shr    $0x10,%edx
5ba20c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5ba20f:	88 11                	mov    %dl,(%ecx)
5ba211:	ff 45 f0             	incl   -0x10(%ebp)
5ba214:	ff 45 f8             	incl   -0x8(%ebp)
5ba217:	ff 4d e4             	decl   -0x1c(%ebp)
5ba21a:	0f 85 50 ff ff ff    	jne    0x5ba170
5ba220:	5f                   	pop    %edi
5ba221:	5e                   	pop    %esi
5ba222:	5b                   	pop    %ebx
5ba223:	8b e5                	mov    %ebp,%esp
5ba225:	5d                   	pop    %ebp
5ba226:	c2 04 00             	ret    $0x4
5ba229:	8d 40 00             	lea    0x0(%eax),%eax
5ba22c:	55                   	push   %ebp
5ba22d:	8b ec                	mov    %esp,%ebp
5ba22f:	81 c4 54 f6 ff ff    	add    $0xfffff654,%esp
5ba235:	53                   	push   %ebx
5ba236:	56                   	push   %esi
5ba237:	57                   	push   %edi
5ba238:	89 55 f8             	mov    %edx,-0x8(%ebp)
5ba23b:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ba23e:	dd 45 10             	fldl   0x10(%ebp)
5ba241:	d8 1d 1c a6 5b 00    	fcomps 0x5ba61c
5ba247:	df e0                	fnstsw %ax
5ba249:	9e                   	sahf
5ba24a:	0f 86 c1 03 00 00    	jbe    0x5ba611
5ba250:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba253:	8b 10                	mov    (%eax),%edx
5ba255:	ff 52 08             	call   *0x8(%edx)
5ba258:	8b d8                	mov    %eax,%ebx
5ba25a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba25d:	8b 10                	mov    (%eax),%edx
5ba25f:	ff 52 0c             	call   *0xc(%edx)
5ba262:	03 d8                	add    %eax,%ebx
5ba264:	89 9d 54 f6 ff ff    	mov    %ebx,-0x9ac(%ebp)
5ba26a:	db 85 54 f6 ff ff    	fildl  -0x9ac(%ebp)
5ba270:	d8 3d 20 a6 5b 00    	fdivrs 0x5ba620
5ba276:	dd 5d d8             	fstpl  -0x28(%ebp)
5ba279:	9b                   	fwait
5ba27a:	ff 75 14             	push   0x14(%ebp)
5ba27d:	ff 75 10             	push   0x10(%ebp)
5ba280:	8d 85 58 f6 ff ff    	lea    -0x9a8(%ebp),%eax
5ba286:	e8 99 fc ff ff       	call   0x5b9f24
5ba28b:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba28e:	8b 10                	mov    (%eax),%edx
5ba290:	ff 52 10             	call   *0x10(%edx)
5ba293:	2c 03                	sub    $0x3,%al
5ba295:	0f 84 d7 01 00 00    	je     0x5ba472
5ba29b:	2c 02                	sub    $0x2,%al
5ba29d:	0f 85 6e 03 00 00    	jne    0x5ba611
5ba2a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba2a6:	8b 10                	mov    (%eax),%edx
5ba2a8:	ff 52 0c             	call   *0xc(%edx)
5ba2ab:	8b d8                	mov    %eax,%ebx
5ba2ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba2b0:	8b 10                	mov    (%eax),%edx
5ba2b2:	ff 52 08             	call   *0x8(%edx)
5ba2b5:	3b d8                	cmp    %eax,%ebx
5ba2b7:	7e 15                	jle    0x5ba2ce
5ba2b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba2bc:	8b 10                	mov    (%eax),%edx
5ba2be:	ff 52 0c             	call   *0xc(%edx)
5ba2c1:	8d 04 40             	lea    (%eax,%eax,2),%eax
5ba2c4:	e8 e3 84 e4 ff       	call   0x4027ac
5ba2c9:	89 45 f0             	mov    %eax,-0x10(%ebp)
5ba2cc:	eb 13                	jmp    0x5ba2e1
5ba2ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba2d1:	8b 10                	mov    (%eax),%edx
5ba2d3:	ff 52 08             	call   *0x8(%edx)
5ba2d6:	8d 04 40             	lea    (%eax,%eax,2),%eax
5ba2d9:	e8 ce 84 e4 ff       	call   0x4027ac
5ba2de:	89 45 f0             	mov    %eax,-0x10(%ebp)
5ba2e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba2e4:	8b 10                	mov    (%eax),%edx
5ba2e6:	ff 52 08             	call   *0x8(%edx)
5ba2e9:	48                   	dec    %eax
5ba2ea:	85 c0                	test   %eax,%eax
5ba2ec:	7c 72                	jl     0x5ba360
5ba2ee:	40                   	inc    %eax
5ba2ef:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5ba2f2:	33 db                	xor    %ebx,%ebx
5ba2f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba2f7:	8b 10                	mov    (%eax),%edx
5ba2f9:	ff 52 0c             	call   *0xc(%edx)
5ba2fc:	50                   	push   %eax
5ba2fd:	8b d3                	mov    %ebx,%edx
5ba2ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba302:	8b 08                	mov    (%eax),%ecx
5ba304:	ff 11                	call   *(%ecx)
5ba306:	8b d0                	mov    %eax,%edx
5ba308:	8d 85 58 f6 ff ff    	lea    -0x9a8(%ebp),%eax
5ba30e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5ba311:	e8 da fc ff ff       	call   0x5b9ff0
5ba316:	8b d3                	mov    %ebx,%edx
5ba318:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba31b:	8b 08                	mov    (%eax),%ecx
5ba31d:	ff 11                	call   *(%ecx)
5ba31f:	50                   	push   %eax
5ba320:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba323:	8b 10                	mov    (%eax),%edx
5ba325:	ff 52 0c             	call   *0xc(%edx)
5ba328:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5ba32b:	8b 55 f0             	mov    -0x10(%ebp),%edx
5ba32e:	58                   	pop    %eax
5ba32f:	e8 8c db e4 ff       	call   0x407ec0
5ba334:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5ba339:	74 1f                	je     0x5ba35a
5ba33b:	89 9d 54 f6 ff ff    	mov    %ebx,-0x9ac(%ebp)
5ba341:	db 85 54 f6 ff ff    	fildl  -0x9ac(%ebp)
5ba347:	dc 4d d8             	fmull  -0x28(%ebp)
5ba34a:	e8 7d 89 e4 ff       	call   0x402ccc
5ba34f:	8b c8                	mov    %eax,%ecx
5ba351:	8b 55 f8             	mov    -0x8(%ebp),%edx
5ba354:	8b 45 0c             	mov    0xc(%ebp),%eax
5ba357:	ff 55 08             	call   *0x8(%ebp)
5ba35a:	43                   	inc    %ebx
5ba35b:	ff 4d d4             	decl   -0x2c(%ebp)
5ba35e:	75 94                	jne    0x5ba2f4
5ba360:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba363:	8b 10                	mov    (%eax),%edx
5ba365:	ff 52 08             	call   *0x8(%edx)
5ba368:	8d 04 40             	lea    (%eax,%eax,2),%eax
5ba36b:	e8 3c 84 e4 ff       	call   0x4027ac
5ba370:	89 45 ec             	mov    %eax,-0x14(%ebp)
5ba373:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba376:	8b 10                	mov    (%eax),%edx
5ba378:	ff 52 0c             	call   *0xc(%edx)
5ba37b:	48                   	dec    %eax
5ba37c:	85 c0                	test   %eax,%eax
5ba37e:	0f 8c d9 00 00 00    	jl     0x5ba45d
5ba384:	40                   	inc    %eax
5ba385:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5ba388:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5ba38f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba392:	8b 10                	mov    (%eax),%edx
5ba394:	ff 52 08             	call   *0x8(%edx)
5ba397:	8b f0                	mov    %eax,%esi
5ba399:	4e                   	dec    %esi
5ba39a:	85 f6                	test   %esi,%esi
5ba39c:	7c 2c                	jl     0x5ba3ca
5ba39e:	46                   	inc    %esi
5ba39f:	33 db                	xor    %ebx,%ebx
5ba3a1:	8b d3                	mov    %ebx,%edx
5ba3a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba3a6:	8b 08                	mov    (%eax),%ecx
5ba3a8:	ff 11                	call   *(%ecx)
5ba3aa:	8b 55 f4             	mov    -0xc(%ebp),%edx
5ba3ad:	8d 14 52             	lea    (%edx,%edx,2),%edx
5ba3b0:	8d 0c 5b             	lea    (%ebx,%ebx,2),%ecx
5ba3b3:	8b 7d f0             	mov    -0x10(%ebp),%edi
5ba3b6:	03 f9                	add    %ecx,%edi
5ba3b8:	66 8b 0c 10          	mov    (%eax,%edx,1),%cx
5ba3bc:	66 89 0f             	mov    %cx,(%edi)
5ba3bf:	8a 4c 10 02          	mov    0x2(%eax,%edx,1),%cl
5ba3c3:	88 4f 02             	mov    %cl,0x2(%edi)
5ba3c6:	43                   	inc    %ebx
5ba3c7:	4e                   	dec    %esi
5ba3c8:	75 d7                	jne    0x5ba3a1
5ba3ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba3cd:	8b 10                	mov    (%eax),%edx
5ba3cf:	ff 52 08             	call   *0x8(%edx)
5ba3d2:	50                   	push   %eax
5ba3d3:	8d 85 58 f6 ff ff    	lea    -0x9a8(%ebp),%eax
5ba3d9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5ba3dc:	8b 55 f0             	mov    -0x10(%ebp),%edx
5ba3df:	e8 0c fc ff ff       	call   0x5b9ff0
5ba3e4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba3e7:	8b 10                	mov    (%eax),%edx
5ba3e9:	ff 52 08             	call   *0x8(%edx)
5ba3ec:	8b f0                	mov    %eax,%esi
5ba3ee:	4e                   	dec    %esi
5ba3ef:	85 f6                	test   %esi,%esi
5ba3f1:	7c 2d                	jl     0x5ba420
5ba3f3:	46                   	inc    %esi
5ba3f4:	33 db                	xor    %ebx,%ebx
5ba3f6:	8b d3                	mov    %ebx,%edx
5ba3f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba3fb:	8b 08                	mov    (%eax),%ecx
5ba3fd:	ff 11                	call   *(%ecx)
5ba3ff:	8b 55 f4             	mov    -0xc(%ebp),%edx
5ba402:	8d 14 52             	lea    (%edx,%edx,2),%edx
5ba405:	8d 0c 5b             	lea    (%ebx,%ebx,2),%ecx
5ba408:	8b 7d ec             	mov    -0x14(%ebp),%edi
5ba40b:	8d 14 10             	lea    (%eax,%edx,1),%edx
5ba40e:	66 8b 04 0f          	mov    (%edi,%ecx,1),%ax
5ba412:	66 89 02             	mov    %ax,(%edx)
5ba415:	8a 44 0f 02          	mov    0x2(%edi,%ecx,1),%al
5ba419:	88 42 02             	mov    %al,0x2(%edx)