501104:	cc                   	int3
501105:	cc                   	int3
501106:	cc                   	int3
501107:	cc                   	int3
501108:	cc                   	int3
501109:	cc                   	int3
50110a:	cc                   	int3
50110b:	cc                   	int3
50110c:	cc                   	int3
50110d:	cc                   	int3
50110e:	cc                   	int3
50110f:	cc                   	int3
501110:	55                   	push   %ebp
501111:	8b ec                	mov    %esp,%ebp
501113:	8b 55 18             	mov    0x18(%ebp),%edx
501116:	80 3a ae             	cmpb   $0xae,(%edx)
501119:	75 11                	jne    0x50112c
50111b:	8b 45 1c             	mov    0x1c(%ebp),%eax
50111e:	83 c0 ca             	add    $0xffffffca,%eax
501121:	83 f8 03             	cmp    $0x3,%eax
501124:	77 06                	ja     0x50112c
501126:	8b 42 14             	mov    0x14(%edx),%eax
501129:	8b 50 04             	mov    0x4(%eax),%edx
50112c:	80 3a a4             	cmpb   $0xa4,(%edx)
50112f:	75 16                	jne    0x501147
501131:	8b 4d 14             	mov    0x14(%ebp),%ecx
501134:	8b 42 1c             	mov    0x1c(%edx),%eax
501137:	89 01                	mov    %eax,(%ecx)
501139:	0f bf 42 20          	movswl 0x20(%edx),%eax
50113d:	89 41 04             	mov    %eax,0x4(%ecx)
501140:	b8 01 00 00 00       	mov    $0x1,%eax
501145:	5d                   	pop    %ebp
501146:	c3                   	ret
501147:	56                   	push   %esi
501148:	8b 75 0c             	mov    0xc(%ebp),%esi
50114b:	8b c6                	mov    %esi,%eax
50114d:	57                   	push   %edi
50114e:	8b 7d 10             	mov    0x10(%ebp),%edi
501151:	0b c7                	or     %edi,%eax
501153:	74 12                	je     0x501167
501155:	8b ce                	mov    %esi,%ecx
501157:	8b c7                	mov    %edi,%eax
501159:	83 c1 ff             	add    $0xffffffff,%ecx
50115c:	83 d0 ff             	adc    $0xffffffff,%eax
50115f:	23 ce                	and    %esi,%ecx
501161:	23 c7                	and    %edi,%eax
501163:	0b c8                	or     %eax,%ecx
501165:	74 06                	je     0x50116d
501167:	5f                   	pop    %edi
501168:	33 c0                	xor    %eax,%eax
50116a:	5e                   	pop    %esi
50116b:	5d                   	pop    %ebp
50116c:	c3                   	ret
50116d:	52                   	push   %edx
50116e:	ff 75 14             	push   0x14(%ebp)
501171:	57                   	push   %edi
501172:	56                   	push   %esi
501173:	ff 75 08             	push   0x8(%ebp)
501176:	e8 15 00 00 00       	call   0x501190
50117b:	83 c4 14             	add    $0x14,%esp
50117e:	5f                   	pop    %edi
50117f:	5e                   	pop    %esi
501180:	5d                   	pop    %ebp
501181:	c3                   	ret
501182:	cc                   	int3
501183:	cc                   	int3
501184:	cc                   	int3
501185:	cc                   	int3
501186:	cc                   	int3
501187:	cc                   	int3
501188:	cc                   	int3
501189:	cc                   	int3
50118a:	cc                   	int3
50118b:	cc                   	int3
50118c:	cc                   	int3
50118d:	cc                   	int3
50118e:	cc                   	int3
50118f:	cc                   	int3
501190:	55                   	push   %ebp
501191:	8b ec                	mov    %esp,%ebp
501193:	8b 45 10             	mov    0x10(%ebp),%eax
501196:	33 d2                	xor    %edx,%edx
501198:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50119b:	85 c0                	test   %eax,%eax
50119d:	75 05                	jne    0x5011a4
50119f:	83 f9 01             	cmp    $0x1,%ecx
5011a2:	76 12                	jbe    0x5011b6
5011a4:	0f ac c1 01          	shrd   $0x1,%eax,%ecx
5011a8:	42                   	inc    %edx
5011a9:	d1 e8                	shr    $1,%eax
5011ab:	85 c0                	test   %eax,%eax
5011ad:	77 f5                	ja     0x5011a4
5011af:	72 05                	jb     0x5011b6
5011b1:	83 f9 01             	cmp    $0x1,%ecx
5011b4:	77 ee                	ja     0x5011a4
5011b6:	8b 45 08             	mov    0x8(%ebp),%eax
5011b9:	8d 0c d2             	lea    (%edx,%edx,8),%ecx
5011bc:	53                   	push   %ebx
5011bd:	56                   	push   %esi
5011be:	57                   	push   %edi
5011bf:	8b 54 c8 34          	mov    0x34(%eax,%ecx,8),%edx
5011c3:	8b 44 c8 18          	mov    0x18(%eax,%ecx,8),%eax
5011c7:	89 55 08             	mov    %edx,0x8(%ebp)
5011ca:	8b 70 08             	mov    0x8(%eax),%esi
5011cd:	85 f6                	test   %esi,%esi
5011cf:	0f 84 be 00 00 00    	je     0x501293
5011d5:	8b 55 18             	mov    0x18(%ebp),%edx
5011d8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
5011df:	00
5011e0:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
5011e4:	0f 84 9e 00 00 00    	je     0x501288
5011ea:	33 c0                	xor    %eax,%eax
5011ec:	33 ff                	xor    %edi,%edi
5011ee:	66 3b 46 32          	cmp    0x32(%esi),%ax
5011f2:	0f 83 90 00 00 00    	jae    0x501288
5011f8:	33 db                	xor    %ebx,%ebx
5011fa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
501200:	8b 46 04             	mov    0x4(%esi),%eax
501203:	66 83 3c 78 fe       	cmpw   $0xfffe,(%eax,%edi,2)
501208:	75 6e                	jne    0x501278
50120a:	8b 46 28             	mov    0x28(%esi),%eax
50120d:	8b 44 03 04          	mov    0x4(%ebx,%eax,1),%eax
501211:	85 c0                	test   %eax,%eax
501213:	74 22                	je     0x501237
501215:	8b 48 04             	mov    0x4(%eax),%ecx
501218:	f7 c1 00 10 04 00    	test   $0x41000,%ecx
50121e:	74 17                	je     0x501237
501220:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
501226:	74 08                	je     0x501230
501228:	8b 40 14             	mov    0x14(%eax),%eax
50122b:	8b 40 04             	mov    0x4(%eax),%eax
50122e:	eb 03                	jmp    0x501233
501230:	8b 40 0c             	mov    0xc(%eax),%eax
501233:	85 c0                	test   %eax,%eax
501235:	75 de                	jne    0x501215
501237:	8b ca                	mov    %edx,%ecx
501239:	85 d2                	test   %edx,%edx
50123b:	74 25                	je     0x501262
50123d:	0f 1f 00             	nopl   (%eax)
501240:	8b 51 04             	mov    0x4(%ecx),%edx
501243:	f7 c2 00 10 04 00    	test   $0x41000,%edx
501249:	74 17                	je     0x501262
50124b:	f7 c2 00 00 04 00    	test   $0x40000,%edx
501251:	74 08                	je     0x50125b
501253:	8b 49 14             	mov    0x14(%ecx),%ecx
501256:	8b 49 04             	mov    0x4(%ecx),%ecx
501259:	eb 03                	jmp    0x50125e
50125b:	8b 49 0c             	mov    0xc(%ecx),%ecx
50125e:	85 c9                	test   %ecx,%ecx
501260:	75 de                	jne    0x501240
501262:	ff 75 08             	push   0x8(%ebp)
501265:	50                   	push   %eax
501266:	51                   	push   %ecx
501267:	6a 00                	push   $0x0
501269:	e8 62 52 02 00       	call   0x5264d0
50126e:	83 c4 10             	add    $0x10,%esp
501271:	85 c0                	test   %eax,%eax
501273:	74 25                	je     0x50129a
501275:	8b 55 18             	mov    0x18(%ebp),%edx
501278:	0f b7 46 32          	movzwl 0x32(%esi),%eax
50127c:	47                   	inc    %edi
50127d:	83 c3 14             	add    $0x14,%ebx
501280:	3b f8                	cmp    %eax,%edi
501282:	0f 8c 78 ff ff ff    	jl     0x501200
501288:	8b 76 14             	mov    0x14(%esi),%esi
50128b:	85 f6                	test   %esi,%esi
50128d:	0f 85 4d ff ff ff    	jne    0x5011e0
501293:	5f                   	pop    %edi
501294:	5e                   	pop    %esi
501295:	33 c0                	xor    %eax,%eax
501297:	5b                   	pop    %ebx
501298:	5d                   	pop    %ebp
501299:	c3                   	ret
50129a:	8b 45 14             	mov    0x14(%ebp),%eax
50129d:	8b 4d 08             	mov    0x8(%ebp),%ecx
5012a0:	5f                   	pop    %edi
5012a1:	5e                   	pop    %esi
5012a2:	89 08                	mov    %ecx,(%eax)
5012a4:	c7 40 04 fe ff ff ff 	movl   $0xfffffffe,0x4(%eax)
5012ab:	b8 01 00 00 00       	mov    $0x1,%eax
5012b0:	5b                   	pop    %ebx
5012b1:	5d                   	pop    %ebp
5012b2:	c3                   	ret
5012b3:	cc                   	int3
5012b4:	cc                   	int3
5012b5:	cc                   	int3
5012b6:	cc                   	int3
5012b7:	cc                   	int3
5012b8:	cc                   	int3
5012b9:	cc                   	int3
5012ba:	cc                   	int3
5012bb:	cc                   	int3
5012bc:	cc                   	int3
5012bd:	cc                   	int3
5012be:	cc                   	int3
5012bf:	cc                   	int3
5012c0:	55                   	push   %ebp
5012c1:	8b ec                	mov    %esp,%ebp
5012c3:	56                   	push   %esi
5012c4:	8b 75 0c             	mov    0xc(%ebp),%esi
5012c7:	57                   	push   %edi
5012c8:	8b 7d 08             	mov    0x8(%ebp),%edi
5012cb:	0f b7 4f 14          	movzwl 0x14(%edi),%ecx
5012cf:	83 f9 02             	cmp    $0x2,%ecx
5012d2:	75 06                	jne    0x5012da
5012d4:	f6 46 04 01          	testb  $0x1,0x4(%esi)
5012d8:	75 7a                	jne    0x501354
5012da:	0f b6 06             	movzbl (%esi),%eax
5012dd:	83 c0 c5             	add    $0xffffffc5,%eax
5012e0:	83 f8 75             	cmp    $0x75,%eax
5012e3:	0f 87 8d 00 00 00    	ja     0x501376
5012e9:	0f b6 80 94 13 50 00 	movzbl 0x501394(%eax),%eax
5012f0:	ff 24 85 7c 13 50 00 	jmp    *0x50137c(,%eax,4)
5012f7:	83 f9 04             	cmp    $0x4,%ecx
5012fa:	73 09                	jae    0x501305
5012fc:	f7 46 04 00 00 08 00 	testl  $0x80000,0x4(%esi)
501303:	74 4f                	je     0x501354
501305:	8b 46 04             	mov    0x4(%esi),%eax
501308:	a9 00 00 00 01       	test   $0x1000000,%eax
50130d:	75 45                	jne    0x501354
50130f:	83 f9 05             	cmp    $0x5,%ecx
501312:	75 62                	jne    0x501376
501314:	0d 00 00 00 40       	or     $0x40000000,%eax
501319:	89 46 04             	mov    %eax,0x4(%esi)
50131c:	33 c0                	xor    %eax,%eax
50131e:	5f                   	pop    %edi
50131f:	5e                   	pop    %esi
501320:	5d                   	pop    %ebp
501321:	c3                   	ret
501322:	56                   	push   %esi
501323:	e8 18 57 02 00       	call   0x526a40
501328:	83 c4 04             	add    $0x4,%esp
50132b:	85 c0                	test   %eax,%eax
50132d:	74 09                	je     0x501338
50132f:	5f                   	pop    %edi
501330:	b8 01 00 00 00       	mov    $0x1,%eax
501335:	5e                   	pop    %esi
501336:	5d                   	pop    %ebp
501337:	c3                   	ret
501338:	f6 46 04 08          	testb  $0x8,0x4(%esi)
50133c:	74 07                	je     0x501345
50133e:	66 83 7f 14 02       	cmpw   $0x2,0x14(%edi)
501343:	75 31                	jne    0x501376
501345:	66 83 7f 14 03       	cmpw   $0x3,0x14(%edi)
50134a:	75 08                	jne    0x501354
50134c:	8b 46 1c             	mov    0x1c(%esi),%eax
50134f:	3b 47 18             	cmp    0x18(%edi),%eax
501352:	74 22                	je     0x501376
501354:	33 c0                	xor    %eax,%eax
501356:	66 89 47 14          	mov    %ax,0x14(%edi)
50135a:	b8 02 00 00 00       	mov    $0x2,%eax
50135f:	5f                   	pop    %edi
501360:	5e                   	pop    %esi
501361:	5d                   	pop    %ebp
501362:	c3                   	ret
501363:	83 f9 05             	cmp    $0x5,%ecx
501366:	75 09                	jne    0x501371
501368:	5f                   	pop    %edi
501369:	c6 06 77             	movb   $0x77,(%esi)
50136c:	33 c0                	xor    %eax,%eax
50136e:	5e                   	pop    %esi
50136f:	5d                   	pop    %ebp
501370:	c3                   	ret
501371:	83 f9 04             	cmp    $0x4,%ecx
501374:	74 de                	je     0x501354
501376:	5f                   	pop    %edi
501377:	33 c0                	xor    %eax,%eax
501379:	5e                   	pop    %esi
50137a:	5d                   	pop    %ebp
50137b:	c3                   	ret
50137c:	22 13                	and    (%ebx),%dl
50137e:	50                   	push   %eax
50137f:	00 63 13             	add    %ah,0x13(%ebx)
501382:	50                   	push   %eax
501383:	00 38                	add    %bh,(%eax)
501385:	13 50 00             	adc    0x0(%eax),%edx
501388:	f7 12                	notl   (%edx)
50138a:	50                   	push   %eax
50138b:	00 54 13 50          	add    %dl,0x50(%ebx,%edx,1)
50138f:	00 76 13             	add    %dh,0x13(%esi)
501392:	50                   	push   %eax
501393:	00 00                	add    %al,(%eax)
501395:	05 05 05 05 05       	add    $0x5050505,%eax
50139a:	05 05 05 05 05       	add    $0x5050505,%eax
50139f:	05 05 05 05 05       	add    $0x5050505,%eax
5013a4:	05 05 05 05 05       	add    $0x5050505,%eax
5013a9:	05 05 05 05 05       	add    $0x5050505,%eax
5013ae:	05 05 05 05 05       	add    $0x5050505,%eax
5013b3:	05 05 05 05 05       	add    $0x5050505,%eax
5013b8:	05 05 05 05 05       	add    $0x5050505,%eax
5013bd:	05 05 05 05 05       	add    $0x5050505,%eax
5013c2:	05 05 05 05 05       	add    $0x5050505,%eax
5013c7:	05 05 05 05 05       	add    $0x5050505,%eax
5013cc:	05 05 05 05 05       	add    $0x5050505,%eax
5013d1:	05 05 05 05 05       	add    $0x5050505,%eax
5013d6:	05 05 05 05 05       	add    $0x5050505,%eax
5013db:	05 05 05 05 05       	add    $0x5050505,%eax
5013e0:	05 05 05 05 05       	add    $0x5050505,%eax
5013e5:	05 05 05 05 05       	add    $0x5050505,%eax
5013ea:	05 05 05 05 05       	add    $0x5050505,%eax
5013ef:	05 05 05 01 05       	add    $0x5010505,%eax
5013f4:	05 05 05 05 05       	add    $0x5050505,%eax
5013f9:	05 05 05 05 02       	add    $0x2050505,%eax
5013fe:	02 02                	add    (%edx),%al
501400:	05 05 03 05 05       	add    $0x5050305,%eax
501405:	05 04 05 05 04       	add    $0x4050504,%eax
50140a:	cc                   	int3
50140b:	cc                   	int3
50140c:	cc                   	int3
50140d:	cc                   	int3
50140e:	cc                   	int3
50140f:	cc                   	int3
501410:	55                   	push   %ebp
501411:	8b ec                	mov    %esp,%ebp
501413:	83 ec 08             	sub    $0x8,%esp
501416:	8b 4d 08             	mov    0x8(%ebp),%ecx
501419:	53                   	push   %ebx
50141a:	56                   	push   %esi
50141b:	33 f6                	xor    %esi,%esi
50141d:	8b 41 18             	mov    0x18(%ecx),%eax
501420:	57                   	push   %edi
501421:	89 45 f8             	mov    %eax,-0x8(%ebp)
501424:	39 30                	cmp    %esi,(%eax)
501426:	7e 58                	jle    0x501480
501428:	8d 78 04             	lea    0x4(%eax),%edi
50142b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
501430:	8b 1f                	mov    (%edi),%ebx
501432:	6a ff                	push   $0xffffffff
501434:	53                   	push   %ebx
501435:	ff 75 0c             	push   0xc(%ebp)
501438:	6a 00                	push   $0x0
50143a:	e8 91 50 02 00       	call   0x5264d0
50143f:	83 c4 10             	add    $0x10,%esp
501442:	83 f8 02             	cmp    $0x2,%eax
501445:	7d 2b                	jge    0x501472
501447:	8b 45 08             	mov    0x8(%ebp),%eax
50144a:	53                   	push   %ebx
50144b:	8b 00                	mov    (%eax),%eax
50144d:	50                   	push   %eax
50144e:	89 45 fc             	mov    %eax,-0x4(%ebp)
501451:	e8 8a 4e 02 00       	call   0x5262e0
501456:	83 c4 08             	add    $0x8,%esp
501459:	85 c0                	test   %eax,%eax
50145b:	75 0c                	jne    0x501469
50145d:	8b 45 fc             	mov    -0x4(%ebp),%eax
501460:	8b 00                	mov    (%eax),%eax
501462:	8b 40 08             	mov    0x8(%eax),%eax
501465:	85 c0                	test   %eax,%eax
501467:	74 35                	je     0x50149e
501469:	81 78 0c 30 5e 4f 00 	cmpl   $0x4f5e30,0xc(%eax)