5b5177:	33 d2                	xor    %edx,%edx
5b5179:	e8 56 34 e7 ff       	call   0x4285d4
5b517e:	e9 90 00 00 00       	jmp    0x5b5213
5b5183:	8b 43 20             	mov    0x20(%ebx),%eax
5b5186:	f7 6b 24             	imull  0x24(%ebx)
5b5189:	85 c0                	test   %eax,%eax
5b518b:	79 03                	jns    0x5b5190
5b518d:	83 c0 3f             	add    $0x3f,%eax
5b5190:	c1 f8 06             	sar    $0x6,%eax
5b5193:	f7 ee                	imul   %esi
5b5195:	89 04 24             	mov    %eax,(%esp)
5b5198:	db 04 24             	fildl  (%esp)
5b519b:	89 74 24 04          	mov    %esi,0x4(%esp)
5b519f:	db 44 24 04          	fildl  0x4(%esp)
5b51a3:	d8 35 1c 52 5b 00    	fdivs  0x5b521c
5b51a9:	de c9                	fmulp  %st,%st(1)
5b51ab:	d8 35 20 52 5b 00    	fdivs  0x5b5220
5b51b1:	e8 0a db e4 ff       	call   0x402cc0
5b51b6:	8b d0                	mov    %eax,%edx
5b51b8:	8b c2                	mov    %edx,%eax
5b51ba:	2b 43 38             	sub    0x38(%ebx),%eax
5b51bd:	89 53 38             	mov    %edx,0x38(%ebx)
5b51c0:	8b e8                	mov    %eax,%ebp
5b51c2:	4d                   	dec    %ebp
5b51c3:	85 ed                	test   %ebp,%ebp
5b51c5:	7c 4c                	jl     0x5b5213
5b51c7:	45                   	inc    %ebp
5b51c8:	8b 43 20             	mov    0x20(%ebx),%eax
5b51cb:	e8 90 e0 e4 ff       	call   0x403260
5b51d0:	8b f0                	mov    %eax,%esi
5b51d2:	83 e6 f8             	and    $0xfffffff8,%esi
5b51d5:	8b 43 24             	mov    0x24(%ebx),%eax
5b51d8:	e8 83 e0 e4 ff       	call   0x403260
5b51dd:	8b f8                	mov    %eax,%edi
5b51df:	83 e7 f8             	and    $0xfffffff8,%edi
5b51e2:	68 20 00 cc 00       	push   $0xcc0020
5b51e7:	57                   	push   %edi
5b51e8:	56                   	push   %esi
5b51e9:	8b 43 08             	mov    0x8(%ebx),%eax
5b51ec:	e8 a7 85 e7 ff       	call   0x42d798
5b51f1:	e8 ca 3a e7 ff       	call   0x428cc0
5b51f6:	50                   	push   %eax
5b51f7:	6a 08                	push   $0x8
5b51f9:	6a 08                	push   $0x8
5b51fb:	57                   	push   %edi
5b51fc:	56                   	push   %esi
5b51fd:	8b 43 0c             	mov    0xc(%ebx),%eax
5b5200:	e8 93 85 e7 ff       	call   0x42d798
5b5205:	e8 b6 3a e7 ff       	call   0x428cc0
5b520a:	50                   	push   %eax
5b520b:	e8 28 22 e5 ff       	call   0x407438
5b5210:	4d                   	dec    %ebp
5b5211:	75 b5                	jne    0x5b51c8
5b5213:	59                   	pop    %ecx
5b5214:	5a                   	pop    %edx
5b5215:	5d                   	pop    %ebp
5b5216:	5f                   	pop    %edi
5b5217:	5e                   	pop    %esi
5b5218:	5b                   	pop    %ebx
5b5219:	c3                   	ret
5b521a:	00 00                	add    %al,(%eax)
5b521c:	00 00                	add    %al,(%eax)
5b521e:	34 43                	xor    $0x43,%al
5b5220:	00 00                	add    %al,(%eax)
5b5222:	80 44 53 56 57       	addb   $0x57,0x56(%ebx,%edx,2)
5b5227:	55                   	push   %ebp
5b5228:	83 c4 f0             	add    $0xfffffff0,%esp
5b522b:	8b d8                	mov    %eax,%ebx
5b522d:	8b 43 20             	mov    0x20(%ebx),%eax
5b5230:	8b f0                	mov    %eax,%esi
5b5232:	d1 ee                	shr    $1,%esi
5b5234:	8b 4b 24             	mov    0x24(%ebx),%ecx
5b5237:	8b f9                	mov    %ecx,%edi
5b5239:	d1 ef                	shr    $1,%edi
5b523b:	8b ea                	mov    %edx,%ebp
5b523d:	0f af ee             	imul   %esi,%ebp
5b5240:	c1 ed 0a             	shr    $0xa,%ebp
5b5243:	89 2c 24             	mov    %ebp,(%esp)
5b5246:	8b ea                	mov    %edx,%ebp
5b5248:	0f af e8             	imul   %eax,%ebp
5b524b:	c1 ed 0a             	shr    $0xa,%ebp
5b524e:	89 6c 24 08          	mov    %ebp,0x8(%esp)
5b5252:	8b c2                	mov    %edx,%eax
5b5254:	0f af c7             	imul   %edi,%eax
5b5257:	c1 e8 0a             	shr    $0xa,%eax
5b525a:	89 44 24 04          	mov    %eax,0x4(%esp)
5b525e:	8b c2                	mov    %edx,%eax
5b5260:	0f af c1             	imul   %ecx,%eax
5b5263:	c1 e8 0a             	shr    $0xa,%eax
5b5266:	89 44 24 0c          	mov    %eax,0xc(%esp)
5b526a:	85 d2                	test   %edx,%edx
5b526c:	75 15                	jne    0x5b5283
5b526e:	8b 43 04             	mov    0x4(%ebx),%eax
5b5271:	50                   	push   %eax
5b5272:	8b 43 0c             	mov    0xc(%ebx),%eax
5b5275:	e8 1e 85 e7 ff       	call   0x42d798
5b527a:	33 c9                	xor    %ecx,%ecx
5b527c:	33 d2                	xor    %edx,%edx
5b527e:	e8 51 33 e7 ff       	call   0x4285d4
5b5283:	68 20 00 cc 00       	push   $0xcc0020
5b5288:	8b c7                	mov    %edi,%eax
5b528a:	2b 44 24 08          	sub    0x8(%esp),%eax
5b528e:	50                   	push   %eax
5b528f:	8b ee                	mov    %esi,%ebp
5b5291:	2b 6c 24 08          	sub    0x8(%esp),%ebp
5b5295:	55                   	push   %ebp
5b5296:	8b 43 08             	mov    0x8(%ebx),%eax
5b5299:	e8 fa 84 e7 ff       	call   0x42d798
5b529e:	e8 1d 3a e7 ff       	call   0x428cc0
5b52a3:	50                   	push   %eax
5b52a4:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5b52a8:	50                   	push   %eax
5b52a9:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5b52ad:	50                   	push   %eax
5b52ae:	2b 7c 24 1c          	sub    0x1c(%esp),%edi
5b52b2:	57                   	push   %edi
5b52b3:	55                   	push   %ebp
5b52b4:	8b 43 0c             	mov    0xc(%ebx),%eax
5b52b7:	e8 dc 84 e7 ff       	call   0x42d798
5b52bc:	e8 ff 39 e7 ff       	call   0x428cc0
5b52c1:	50                   	push   %eax
5b52c2:	e8 71 21 e5 ff       	call   0x407438
5b52c7:	83 c4 10             	add    $0x10,%esp
5b52ca:	5d                   	pop    %ebp
5b52cb:	5f                   	pop    %edi
5b52cc:	5e                   	pop    %esi
5b52cd:	5b                   	pop    %ebx
5b52ce:	c3                   	ret
5b52cf:	90                   	nop
5b52d0:	53                   	push   %ebx
5b52d1:	56                   	push   %esi
5b52d2:	57                   	push   %edi
5b52d3:	55                   	push   %ebp
5b52d4:	83 c4 f4             	add    $0xfffffff4,%esp
5b52d7:	8b d8                	mov    %eax,%ebx
5b52d9:	8b 4b 20             	mov    0x20(%ebx),%ecx
5b52dc:	8b f1                	mov    %ecx,%esi
5b52de:	d1 ee                	shr    $1,%esi
5b52e0:	8b 7b 24             	mov    0x24(%ebx),%edi
5b52e3:	d1 ef                	shr    $1,%edi
5b52e5:	b8 00 04 00 00       	mov    $0x400,%eax
5b52ea:	2b c2                	sub    %edx,%eax
5b52ec:	8b e8                	mov    %eax,%ebp
5b52ee:	0f af ee             	imul   %esi,%ebp
5b52f1:	c1 ed 0a             	shr    $0xa,%ebp
5b52f4:	89 2c 24             	mov    %ebp,(%esp)
5b52f7:	8b e8                	mov    %eax,%ebp
5b52f9:	0f af e9             	imul   %ecx,%ebp
5b52fc:	c1 ed 0a             	shr    $0xa,%ebp
5b52ff:	89 6c 24 08          	mov    %ebp,0x8(%esp)
5b5303:	8b c8                	mov    %eax,%ecx
5b5305:	0f af cf             	imul   %edi,%ecx
5b5308:	c1 e9 0a             	shr    $0xa,%ecx
5b530b:	89 4c 24 04          	mov    %ecx,0x4(%esp)
5b530f:	8b e8                	mov    %eax,%ebp
5b5311:	0f af 6b 24          	imul   0x24(%ebx),%ebp
5b5315:	c1 ed 0a             	shr    $0xa,%ebp
5b5318:	8b 43 08             	mov    0x8(%ebx),%eax
5b531b:	50                   	push   %eax
5b531c:	8b 43 0c             	mov    0xc(%ebx),%eax
5b531f:	e8 74 84 e7 ff       	call   0x42d798
5b5324:	33 c9                	xor    %ecx,%ecx
5b5326:	33 d2                	xor    %edx,%edx
5b5328:	e8 a7 32 e7 ff       	call   0x4285d4
5b532d:	68 20 00 cc 00       	push   $0xcc0020
5b5332:	8b c7                	mov    %edi,%eax
5b5334:	2b 44 24 08          	sub    0x8(%esp),%eax
5b5338:	50                   	push   %eax
5b5339:	8b c6                	mov    %esi,%eax
5b533b:	2b 44 24 08          	sub    0x8(%esp),%eax
5b533f:	50                   	push   %eax
5b5340:	8b 43 04             	mov    0x4(%ebx),%eax
5b5343:	e8 50 84 e7 ff       	call   0x42d798
5b5348:	e8 73 39 e7 ff       	call   0x428cc0
5b534d:	50                   	push   %eax
5b534e:	55                   	push   %ebp
5b534f:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5b5353:	50                   	push   %eax
5b5354:	2b 7c 24 1c          	sub    0x1c(%esp),%edi
5b5358:	57                   	push   %edi
5b5359:	2b 74 24 1c          	sub    0x1c(%esp),%esi
5b535d:	56                   	push   %esi
5b535e:	8b 43 0c             	mov    0xc(%ebx),%eax
5b5361:	e8 32 84 e7 ff       	call   0x42d798
5b5366:	e8 55 39 e7 ff       	call   0x428cc0
5b536b:	50                   	push   %eax
5b536c:	e8 c7 20 e5 ff       	call   0x407438
5b5371:	83 c4 0c             	add    $0xc,%esp
5b5374:	5d                   	pop    %ebp
5b5375:	5f                   	pop    %edi
5b5376:	5e                   	pop    %esi
5b5377:	5b                   	pop    %ebx
5b5378:	c3                   	ret
5b5379:	8d 40 00             	lea    0x0(%eax),%eax
5b537c:	53                   	push   %ebx
5b537d:	56                   	push   %esi
5b537e:	57                   	push   %edi
5b537f:	55                   	push   %ebp
5b5380:	83 c4 f0             	add    $0xfffffff0,%esp
5b5383:	8b d8                	mov    %eax,%ebx
5b5385:	8b 43 20             	mov    0x20(%ebx),%eax
5b5388:	8b f0                	mov    %eax,%esi
5b538a:	d1 ee                	shr    $1,%esi
5b538c:	8b 4b 24             	mov    0x24(%ebx),%ecx
5b538f:	8b f9                	mov    %ecx,%edi
5b5391:	d1 ef                	shr    $1,%edi
5b5393:	8b ea                	mov    %edx,%ebp
5b5395:	0f af ee             	imul   %esi,%ebp
5b5398:	c1 ed 0a             	shr    $0xa,%ebp
5b539b:	89 2c 24             	mov    %ebp,(%esp)
5b539e:	8b ea                	mov    %edx,%ebp
5b53a0:	0f af e8             	imul   %eax,%ebp
5b53a3:	c1 ed 0a             	shr    $0xa,%ebp
5b53a6:	89 6c 24 08          	mov    %ebp,0x8(%esp)
5b53aa:	8b c2                	mov    %edx,%eax
5b53ac:	0f af c7             	imul   %edi,%eax
5b53af:	c1 e8 0a             	shr    $0xa,%eax
5b53b2:	89 44 24 04          	mov    %eax,0x4(%esp)
5b53b6:	8b c2                	mov    %edx,%eax
5b53b8:	0f af c1             	imul   %ecx,%eax
5b53bb:	c1 e8 0a             	shr    $0xa,%eax
5b53be:	89 44 24 0c          	mov    %eax,0xc(%esp)
5b53c2:	85 d2                	test   %edx,%edx
5b53c4:	75 15                	jne    0x5b53db
5b53c6:	8b 43 04             	mov    0x4(%ebx),%eax
5b53c9:	50                   	push   %eax
5b53ca:	8b 43 0c             	mov    0xc(%ebx),%eax
5b53cd:	e8 c6 83 e7 ff       	call   0x42d798
5b53d2:	33 c9                	xor    %ecx,%ecx
5b53d4:	33 d2                	xor    %edx,%edx
5b53d6:	e8 f9 31 e7 ff       	call   0x4285d4
5b53db:	6a 04                	push   $0x4
5b53dd:	8b 43 0c             	mov    0xc(%ebx),%eax
5b53e0:	e8 b3 83 e7 ff       	call   0x42d798
5b53e5:	e8 d6 38 e7 ff       	call   0x428cc0
5b53ea:	50                   	push   %eax
5b53eb:	e8 80 23 e5 ff       	call   0x407770
5b53f0:	68 20 00 cc 00       	push   $0xcc0020
5b53f5:	8b 43 24             	mov    0x24(%ebx),%eax
5b53f8:	50                   	push   %eax
5b53f9:	8b 43 20             	mov    0x20(%ebx),%eax
5b53fc:	50                   	push   %eax
5b53fd:	6a 00                	push   $0x0
5b53ff:	6a 00                	push   $0x0
5b5401:	8b 43 08             	mov    0x8(%ebx),%eax
5b5404:	e8 8f 83 e7 ff       	call   0x42d798
5b5409:	e8 b2 38 e7 ff       	call   0x428cc0
5b540e:	50                   	push   %eax
5b540f:	8b 44 24 24          	mov    0x24(%esp),%eax
5b5413:	50                   	push   %eax
5b5414:	8b 44 24 24          	mov    0x24(%esp),%eax
5b5418:	50                   	push   %eax
5b5419:	2b 7c 24 24          	sub    0x24(%esp),%edi
5b541d:	57                   	push   %edi
5b541e:	2b 74 24 24          	sub    0x24(%esp),%esi
5b5422:	56                   	push   %esi
5b5423:	8b 43 0c             	mov    0xc(%ebx),%eax
5b5426:	e8 6d 83 e7 ff       	call   0x42d798
5b542b:	e8 90 38 e7 ff       	call   0x428cc0
5b5430:	50                   	push   %eax
5b5431:	e8 8a 23 e5 ff       	call   0x4077c0
5b5436:	83 c4 10             	add    $0x10,%esp
5b5439:	5d                   	pop    %ebp
5b543a:	5f                   	pop    %edi
5b543b:	5e                   	pop    %esi
5b543c:	5b                   	pop    %ebx
5b543d:	c3                   	ret
5b543e:	8b c0                	mov    %eax,%eax
5b5440:	53                   	push   %ebx
5b5441:	56                   	push   %esi
5b5442:	57                   	push   %edi
5b5443:	55                   	push   %ebp
5b5444:	83 c4 f0             	add    $0xfffffff0,%esp
5b5447:	8b d8                	mov    %eax,%ebx
5b5449:	8b 4b 20             	mov    0x20(%ebx),%ecx
5b544c:	8b f1                	mov    %ecx,%esi
5b544e:	d1 ee                	shr    $1,%esi
5b5450:	8b 7b 24             	mov    0x24(%ebx),%edi
5b5453:	8b c7                	mov    %edi,%eax
5b5455:	d1 e8                	shr    $1,%eax
5b5457:	89 44 24 0c          	mov    %eax,0xc(%esp)
5b545b:	b8 00 04 00 00       	mov    $0x400,%eax
5b5460:	2b c2                	sub    %edx,%eax
5b5462:	8b e8                	mov    %eax,%ebp
5b5464:	0f af ee             	imul   %esi,%ebp
5b5467:	c1 ed 0a             	shr    $0xa,%ebp
5b546a:	89 2c 24             	mov    %ebp,(%esp)
5b546d:	8b e8                	mov    %eax,%ebp
5b546f:	0f af e9             	imul   %ecx,%ebp
5b5472:	c1 ed 0a             	shr    $0xa,%ebp
5b5475:	89 6c 24 08          	mov    %ebp,0x8(%esp)
5b5479:	8b c8                	mov    %eax,%ecx
5b547b:	0f af 4c 24 0c       	imul   0xc(%esp),%ecx
5b5480:	c1 e9 0a             	shr    $0xa,%ecx
5b5483:	89 4c 24 04          	mov    %ecx,0x4(%esp)
5b5487:	f7 ef                	imul   %edi
5b5489:	c1 e8 0a             	shr    $0xa,%eax
5b548c:	8b f8                	mov    %eax,%edi
5b548e:	8b 43 08             	mov    0x8(%ebx),%eax
5b5491:	50                   	push   %eax
5b5492:	8b 43 0c             	mov    0xc(%ebx),%eax
5b5495:	e8 fe 82 e7 ff       	call   0x42d798
5b549a:	33 c9                	xor    %ecx,%ecx
5b549c:	33 d2                	xor    %edx,%edx
5b549e:	e8 31 31 e7 ff       	call   0x4285d4
5b54a3:	6a 04                	push   $0x4
5b54a5:	8b 43 0c             	mov    0xc(%ebx),%eax
5b54a8:	e8 eb 82 e7 ff       	call   0x42d798
5b54ad:	e8 0e 38 e7 ff       	call   0x428cc0
5b54b2:	50                   	push   %eax
5b54b3:	e8 b8 22 e5 ff       	call   0x407770
5b54b8:	68 20 00 cc 00       	push   $0xcc0020
5b54bd:	8b 43 24             	mov    0x24(%ebx),%eax
5b54c0:	50                   	push   %eax
5b54c1:	8b 43 20             	mov    0x20(%ebx),%eax
5b54c4:	50                   	push   %eax
5b54c5:	6a 00                	push   $0x0
5b54c7:	6a 00                	push   $0x0
5b54c9:	8b 43 04             	mov    0x4(%ebx),%eax
5b54cc:	e8 c7 82 e7 ff       	call   0x42d798
5b54d1:	e8 ea 37 e7 ff       	call   0x428cc0
5b54d6:	50                   	push   %eax
5b54d7:	57                   	push   %edi
5b54d8:	8b 44 24 24          	mov    0x24(%esp),%eax
5b54dc:	50                   	push   %eax
5b54dd:	8b 44 24 2c          	mov    0x2c(%esp),%eax
5b54e1:	2b 44 24 24          	sub    0x24(%esp),%eax
5b54e5:	50                   	push   %eax
5b54e6:	2b 74 24 24          	sub    0x24(%esp),%esi
5b54ea:	56                   	push   %esi
5b54eb:	8b 43 0c             	mov    0xc(%ebx),%eax
5b54ee:	e8 a5 82 e7 ff       	call   0x42d798
5b54f3:	e8 c8 37 e7 ff       	call   0x428cc0
5b54f8:	50                   	push   %eax
5b54f9:	e8 c2 22 e5 ff       	call   0x4077c0
5b54fe:	83 c4 10             	add    $0x10,%esp
5b5501:	5d                   	pop    %ebp
5b5502:	5f                   	pop    %edi
5b5503:	5e                   	pop    %esi
5b5504:	5b                   	pop    %ebx
5b5505:	c3                   	ret
5b5506:	8b c0                	mov    %eax,%eax
5b5508:	53                   	push   %ebx
5b5509:	56                   	push   %esi
5b550a:	57                   	push   %edi
5b550b:	55                   	push   %ebp
5b550c:	83 c4 e8             	add    $0xffffffe8,%esp
5b550f:	8b f2                	mov    %edx,%esi
5b5511:	8b d8                	mov    %eax,%ebx
5b5513:	8b 7b 49             	mov    0x49(%ebx),%edi