5b4fd6:	8b cd                	mov    %ebp,%ecx
5b4fd8:	e8 e3 2e e5 ff       	call   0x407ec0
5b4fdd:	46                   	inc    %esi
5b4fde:	4f                   	dec    %edi
5b4fdf:	75 e1                	jne    0x5b4fc2
5b4fe1:	8b 34 24             	mov    (%esp),%esi
5b4fe4:	8b 7b 24             	mov    0x24(%ebx),%edi
5b4fe7:	4f                   	dec    %edi
5b4fe8:	2b fe                	sub    %esi,%edi
5b4fea:	7c 18                	jl     0x5b5004
5b4fec:	47                   	inc    %edi
5b4fed:	8b 43 18             	mov    0x18(%ebx),%eax
5b4ff0:	8b 14 b0             	mov    (%eax,%esi,4),%edx
5b4ff3:	8b 43 1c             	mov    0x1c(%ebx),%eax
5b4ff6:	8b 04 b0             	mov    (%eax,%esi,4),%eax
5b4ff9:	8b cd                	mov    %ebp,%ecx
5b4ffb:	e8 c0 2e e5 ff       	call   0x407ec0
5b5000:	46                   	inc    %esi
5b5001:	4f                   	dec    %edi
5b5002:	75 e9                	jne    0x5b4fed
5b5004:	5a                   	pop    %edx
5b5005:	5d                   	pop    %ebp
5b5006:	5f                   	pop    %edi
5b5007:	5e                   	pop    %esi
5b5008:	5b                   	pop    %ebx
5b5009:	c3                   	ret
5b500a:	8b c0                	mov    %eax,%eax
5b500c:	53                   	push   %ebx
5b500d:	56                   	push   %esi
5b500e:	57                   	push   %edi
5b500f:	8b d8                	mov    %eax,%ebx
5b5011:	b8 00 04 00 00       	mov    $0x400,%eax
5b5016:	2b c2                	sub    %edx,%eax
5b5018:	8b f0                	mov    %eax,%esi
5b501a:	0f af 73 20          	imul   0x20(%ebx),%esi
5b501e:	c1 ee 0a             	shr    $0xa,%esi
5b5021:	8b f8                	mov    %eax,%edi
5b5023:	0f af 7b 24          	imul   0x24(%ebx),%edi
5b5027:	c1 ef 0a             	shr    $0xa,%edi
5b502a:	85 d2                	test   %edx,%edx
5b502c:	75 15                	jne    0x5b5043
5b502e:	8b 43 04             	mov    0x4(%ebx),%eax
5b5031:	50                   	push   %eax
5b5032:	8b 43 0c             	mov    0xc(%ebx),%eax
5b5035:	e8 5e 87 e7 ff       	call   0x42d798
5b503a:	33 c9                	xor    %ecx,%ecx
5b503c:	33 d2                	xor    %edx,%edx
5b503e:	e8 91 35 e7 ff       	call   0x4285d4
5b5043:	8b 43 08             	mov    0x8(%ebx),%eax
5b5046:	50                   	push   %eax
5b5047:	8b 43 0c             	mov    0xc(%ebx),%eax
5b504a:	e8 49 87 e7 ff       	call   0x42d798
5b504f:	8b cf                	mov    %edi,%ecx
5b5051:	f7 d9                	neg    %ecx
5b5053:	8b d6                	mov    %esi,%edx
5b5055:	f7 da                	neg    %edx
5b5057:	e8 78 35 e7 ff       	call   0x4285d4
5b505c:	5f                   	pop    %edi
5b505d:	5e                   	pop    %esi
5b505e:	5b                   	pop    %ebx
5b505f:	c3                   	ret
5b5060:	53                   	push   %ebx
5b5061:	56                   	push   %esi
5b5062:	57                   	push   %edi
5b5063:	8b d8                	mov    %eax,%ebx
5b5065:	b8 00 04 00 00       	mov    $0x400,%eax
5b506a:	2b c2                	sub    %edx,%eax
5b506c:	8b f0                	mov    %eax,%esi
5b506e:	0f af 73 20          	imul   0x20(%ebx),%esi
5b5072:	c1 ee 0a             	shr    $0xa,%esi
5b5075:	8b f8                	mov    %eax,%edi
5b5077:	0f af 7b 24          	imul   0x24(%ebx),%edi
5b507b:	c1 ef 0a             	shr    $0xa,%edi
5b507e:	85 d2                	test   %edx,%edx
5b5080:	75 15                	jne    0x5b5097
5b5082:	8b 43 04             	mov    0x4(%ebx),%eax
5b5085:	50                   	push   %eax
5b5086:	8b 43 0c             	mov    0xc(%ebx),%eax
5b5089:	e8 0a 87 e7 ff       	call   0x42d798
5b508e:	33 c9                	xor    %ecx,%ecx
5b5090:	33 d2                	xor    %edx,%edx
5b5092:	e8 3d 35 e7 ff       	call   0x4285d4
5b5097:	8b 43 08             	mov    0x8(%ebx),%eax
5b509a:	50                   	push   %eax
5b509b:	8b 43 0c             	mov    0xc(%ebx),%eax
5b509e:	e8 f5 86 e7 ff       	call   0x42d798
5b50a3:	8b cf                	mov    %edi,%ecx
5b50a5:	f7 d9                	neg    %ecx
5b50a7:	8b d6                	mov    %esi,%edx
5b50a9:	e8 26 35 e7 ff       	call   0x4285d4
5b50ae:	5f                   	pop    %edi
5b50af:	5e                   	pop    %esi
5b50b0:	5b                   	pop    %ebx
5b50b1:	c3                   	ret
5b50b2:	8b c0                	mov    %eax,%eax
5b50b4:	53                   	push   %ebx
5b50b5:	56                   	push   %esi
5b50b6:	57                   	push   %edi
5b50b7:	8b d8                	mov    %eax,%ebx
5b50b9:	b8 00 04 00 00       	mov    $0x400,%eax
5b50be:	2b c2                	sub    %edx,%eax
5b50c0:	8b f0                	mov    %eax,%esi
5b50c2:	0f af 73 20          	imul   0x20(%ebx),%esi
5b50c6:	c1 ee 0a             	shr    $0xa,%esi
5b50c9:	8b f8                	mov    %eax,%edi
5b50cb:	0f af 7b 24          	imul   0x24(%ebx),%edi
5b50cf:	c1 ef 0a             	shr    $0xa,%edi
5b50d2:	85 d2                	test   %edx,%edx
5b50d4:	75 15                	jne    0x5b50eb
5b50d6:	8b 43 04             	mov    0x4(%ebx),%eax
5b50d9:	50                   	push   %eax
5b50da:	8b 43 0c             	mov    0xc(%ebx),%eax
5b50dd:	e8 b6 86 e7 ff       	call   0x42d798
5b50e2:	33 c9                	xor    %ecx,%ecx
5b50e4:	33 d2                	xor    %edx,%edx
5b50e6:	e8 e9 34 e7 ff       	call   0x4285d4
5b50eb:	8b 43 08             	mov    0x8(%ebx),%eax
5b50ee:	50                   	push   %eax
5b50ef:	8b 43 0c             	mov    0xc(%ebx),%eax
5b50f2:	e8 a1 86 e7 ff       	call   0x42d798
5b50f7:	8b d6                	mov    %esi,%edx
5b50f9:	f7 da                	neg    %edx
5b50fb:	8b cf                	mov    %edi,%ecx
5b50fd:	e8 d2 34 e7 ff       	call   0x4285d4
5b5102:	5f                   	pop    %edi
5b5103:	5e                   	pop    %esi
5b5104:	5b                   	pop    %ebx
5b5105:	c3                   	ret
5b5106:	8b c0                	mov    %eax,%eax
5b5108:	53                   	push   %ebx
5b5109:	56                   	push   %esi
5b510a:	57                   	push   %edi
5b510b:	8b d8                	mov    %eax,%ebx
5b510d:	b8 00 04 00 00       	mov    $0x400,%eax
5b5112:	2b c2                	sub    %edx,%eax
5b5114:	8b f0                	mov    %eax,%esi
5b5116:	0f af 73 20          	imul   0x20(%ebx),%esi
5b511a:	c1 ee 0a             	shr    $0xa,%esi
5b511d:	8b f8                	mov    %eax,%edi
5b511f:	0f af 7b 24          	imul   0x24(%ebx),%edi
5b5123:	c1 ef 0a             	shr    $0xa,%edi
5b5126:	85 d2                	test   %edx,%edx
5b5128:	75 15                	jne    0x5b513f
5b512a:	8b 43 04             	mov    0x4(%ebx),%eax
5b512d:	50                   	push   %eax
5b512e:	8b 43 0c             	mov    0xc(%ebx),%eax
5b5131:	e8 62 86 e7 ff       	call   0x42d798
5b5136:	33 c9                	xor    %ecx,%ecx
5b5138:	33 d2                	xor    %edx,%edx
5b513a:	e8 95 34 e7 ff       	call   0x4285d4
5b513f:	8b 43 08             	mov    0x8(%ebx),%eax
5b5142:	50                   	push   %eax
5b5143:	8b 43 0c             	mov    0xc(%ebx),%eax
5b5146:	e8 4d 86 e7 ff       	call   0x42d798
5b514b:	8b cf                	mov    %edi,%ecx
5b514d:	8b d6                	mov    %esi,%edx
5b514f:	e8 80 34 e7 ff       	call   0x4285d4
5b5154:	5f                   	pop    %edi
5b5155:	5e                   	pop    %esi
5b5156:	5b                   	pop    %ebx
5b5157:	c3                   	ret
5b5158:	53                   	push   %ebx
5b5159:	56                   	push   %esi
5b515a:	57                   	push   %edi
5b515b:	55                   	push   %ebp
5b515c:	83 c4 f8             	add    $0xfffffff8,%esp
5b515f:	8b f2                	mov    %edx,%esi
5b5161:	8b d8                	mov    %eax,%ebx
5b5163:	83 7b 34 00          	cmpl   $0x0,0x34(%ebx)
5b5167:	75 1a                	jne    0x5b5183
5b5169:	8b 43 04             	mov    0x4(%ebx),%eax
5b516c:	50                   	push   %eax
5b516d:	8b 43 0c             	mov    0xc(%ebx),%eax
5b5170:	e8 23 86 e7 ff       	call   0x42d798
5b5175:	33 c9                	xor    %ecx,%ecx
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