5121f1:	5d                   	pop    %ebp
5121f2:	c3                   	ret
5121f3:	57                   	push   %edi
5121f4:	e8 47 4d 00 00       	call   0x516f40
5121f9:	8b f0                	mov    %eax,%esi
5121fb:	83 c4 04             	add    $0x4,%esp
5121fe:	85 f6                	test   %esi,%esi
512200:	75 7f                	jne    0x512281
512202:	8b 7d 08             	mov    0x8(%ebp),%edi
512205:	80 fb 01             	cmp    $0x1,%bl
512208:	74 75                	je     0x51227f
51220a:	6a 00                	push   $0x0
51220c:	8d 45 0c             	lea    0xc(%ebp),%eax
51220f:	50                   	push   %eax
512210:	ff 75 14             	push   0x14(%ebp)
512213:	57                   	push   %edi
512214:	e8 e7 49 fe ff       	call   0x4f6c00
512219:	83 c4 10             	add    $0x10,%esp
51221c:	85 c0                	test   %eax,%eax
51221e:	75 61                	jne    0x512281
512220:	8b 7d 0c             	mov    0xc(%ebp),%edi
512223:	ff 77 48             	push   0x48(%edi)
512226:	e8 15 17 02 00       	call   0x533940
51222b:	8b f0                	mov    %eax,%esi
51222d:	83 c4 04             	add    $0x4,%esp
512230:	85 f6                	test   %esi,%esi
512232:	74 12                	je     0x512246
512234:	57                   	push   %edi
512235:	e8 86 fe ff ff       	call   0x5120c0
51223a:	83 c4 04             	add    $0x4,%esp
51223d:	8b c6                	mov    %esi,%eax
51223f:	5b                   	pop    %ebx
512240:	5e                   	pop    %esi
512241:	5f                   	pop    %edi
512242:	8b e5                	mov    %ebp,%esp
512244:	5d                   	pop    %ebp
512245:	c3                   	ret
512246:	53                   	push   %ebx
512247:	ff 75 18             	push   0x18(%ebp)
51224a:	ff 75 fc             	push   -0x4(%ebp)
51224d:	57                   	push   %edi
51224e:	e8 7d 75 ff ff       	call   0x5097d0
512253:	8b f0                	mov    %eax,%esi
512255:	57                   	push   %edi
512256:	89 75 0c             	mov    %esi,0xc(%ebp)
512259:	e8 62 fe ff ff       	call   0x5120c0
51225e:	83 c4 14             	add    $0x14,%esp
512261:	85 f6                	test   %esi,%esi
512263:	75 1a                	jne    0x51227f
512265:	8d 45 0c             	lea    0xc(%ebp),%eax
512268:	50                   	push   %eax
512269:	ff 75 14             	push   0x14(%ebp)
51226c:	8b 45 08             	mov    0x8(%ebp),%eax
51226f:	53                   	push   %ebx
512270:	ff 75 18             	push   0x18(%ebp)
512273:	50                   	push   %eax
512274:	e8 17 e8 ff ff       	call   0x510a90
512279:	8b 75 0c             	mov    0xc(%ebp),%esi
51227c:	83 c4 14             	add    $0x14,%esp
51227f:	8b c6                	mov    %esi,%eax
512281:	5b                   	pop    %ebx
512282:	5e                   	pop    %esi
512283:	5f                   	pop    %edi
512284:	8b e5                	mov    %ebp,%esp
512286:	5d                   	pop    %ebp
512287:	c3                   	ret
512288:	cc                   	int3
512289:	cc                   	int3
51228a:	cc                   	int3
51228b:	cc                   	int3
51228c:	cc                   	int3
51228d:	cc                   	int3
51228e:	cc                   	int3
51228f:	cc                   	int3
512290:	55                   	push   %ebp
512291:	8b ec                	mov    %esp,%ebp
512293:	8b 4d 0c             	mov    0xc(%ebp),%ecx
512296:	56                   	push   %esi
512297:	8b 75 08             	mov    0x8(%ebp),%esi
51229a:	8b 51 04             	mov    0x4(%ecx),%edx
51229d:	8b 01                	mov    (%ecx),%eax
51229f:	85 d2                	test   %edx,%edx
5122a1:	74 04                	je     0x5122a7
5122a3:	89 02                	mov    %eax,(%edx)
5122a5:	eb 03                	jmp    0x5122aa
5122a7:	89 46 08             	mov    %eax,0x8(%esi)
5122aa:	8b 11                	mov    (%ecx),%edx
5122ac:	85 d2                	test   %edx,%edx
5122ae:	74 06                	je     0x5122b6
5122b0:	8b 41 04             	mov    0x4(%ecx),%eax
5122b3:	89 42 04             	mov    %eax,0x4(%edx)
5122b6:	8b 56 0c             	mov    0xc(%esi),%edx
5122b9:	85 d2                	test   %edx,%edx
5122bb:	74 13                	je     0x5122d0
5122bd:	8b 45 10             	mov    0x10(%ebp),%eax
5122c0:	39 4c c2 04          	cmp    %ecx,0x4(%edx,%eax,8)
5122c4:	8d 14 c2             	lea    (%edx,%eax,8),%edx
5122c7:	75 05                	jne    0x5122ce
5122c9:	8b 01                	mov    (%ecx),%eax
5122cb:	89 42 04             	mov    %eax,0x4(%edx)
5122ce:	ff 0a                	decl   (%edx)
5122d0:	51                   	push   %ecx
5122d1:	e8 ba 8a fd ff       	call   0x4ead90
5122d6:	83 c4 04             	add    $0x4,%esp
5122d9:	83 46 04 ff          	addl   $0xffffffff,0x4(%esi)
5122dd:	75 09                	jne    0x5122e8
5122df:	56                   	push   %esi
5122e0:	e8 fb b6 01 00       	call   0x52d9e0
5122e5:	83 c4 04             	add    $0x4,%esp
5122e8:	5e                   	pop    %esi
5122e9:	5d                   	pop    %ebp
5122ea:	c3                   	ret
5122eb:	cc                   	int3
5122ec:	cc                   	int3
5122ed:	cc                   	int3
5122ee:	cc                   	int3
5122ef:	cc                   	int3
5122f0:	55                   	push   %ebp
5122f1:	8b ec                	mov    %esp,%ebp
5122f3:	56                   	push   %esi
5122f4:	57                   	push   %edi
5122f5:	33 ff                	xor    %edi,%edi
5122f7:	80 3d 14 18 72 00 00 	cmpb   $0x0,0x721814
5122fe:	75 04                	jne    0x512304
512300:	33 f6                	xor    %esi,%esi
512302:	eb 1b                	jmp    0x51231f
512304:	6a 02                	push   $0x2
512306:	ff 15 58 18 72 00    	call   *0x721858
51230c:	8b f0                	mov    %eax,%esi
51230e:	83 c4 04             	add    $0x4,%esp
512311:	85 f6                	test   %esi,%esi
512313:	74 0a                	je     0x51231f
512315:	56                   	push   %esi
512316:	ff 15 60 18 72 00    	call   *0x721860
51231c:	83 c4 04             	add    $0x4,%esp
51231f:	8b 55 08             	mov    0x8(%ebp),%edx
512322:	ff 4a 40             	decl   0x40(%edx)
512325:	39 7a 40             	cmp    %edi,0x40(%edx)
512328:	7f 43                	jg     0x51236d
51232a:	8b 0d 84 02 73 00    	mov    0x730284,%ecx
512330:	3b ca                	cmp    %edx,%ecx
512332:	75 0a                	jne    0x51233e
512334:	8b 42 44             	mov    0x44(%edx),%eax
512337:	a3 84 02 73 00       	mov    %eax,0x730284
51233c:	eb 19                	jmp    0x512357
51233e:	85 c9                	test   %ecx,%ecx
512340:	74 15                	je     0x512357
512342:	8b 41 44             	mov    0x44(%ecx),%eax
512345:	3b c2                	cmp    %edx,%eax
512347:	74 08                	je     0x512351
512349:	8b c8                	mov    %eax,%ecx
51234b:	85 c9                	test   %ecx,%ecx
51234d:	75 f3                	jne    0x512342
51234f:	eb 06                	jmp    0x512357
512351:	8b 42 44             	mov    0x44(%edx),%eax
512354:	89 41 44             	mov    %eax,0x44(%ecx)
512357:	8b 42 38             	mov    0x38(%edx),%eax
51235a:	85 c0                	test   %eax,%eax
51235c:	74 0a                	je     0x512368
51235e:	50                   	push   %eax
51235f:	ff 15 5c 18 72 00    	call   *0x72185c
512365:	83 c4 04             	add    $0x4,%esp
512368:	bf 01 00 00 00       	mov    $0x1,%edi
51236d:	85 f6                	test   %esi,%esi
51236f:	74 0a                	je     0x51237b
512371:	56                   	push   %esi
512372:	ff 15 68 18 72 00    	call   *0x721868
512378:	83 c4 04             	add    $0x4,%esp
51237b:	8b c7                	mov    %edi,%eax
51237d:	5f                   	pop    %edi
51237e:	5e                   	pop    %esi
51237f:	5d                   	pop    %ebp
512380:	c3                   	ret
512381:	cc                   	int3
512382:	cc                   	int3
512383:	cc                   	int3
512384:	cc                   	int3
512385:	cc                   	int3
512386:	cc                   	int3
512387:	cc                   	int3
512388:	cc                   	int3
512389:	cc                   	int3
51238a:	cc                   	int3
51238b:	cc                   	int3
51238c:	cc                   	int3
51238d:	cc                   	int3
51238e:	cc                   	int3
51238f:	cc                   	int3
512390:	55                   	push   %ebp
512391:	8b ec                	mov    %esp,%ebp
512393:	83 ec 18             	sub    $0x18,%esp
512396:	8b 55 14             	mov    0x14(%ebp),%edx
512399:	53                   	push   %ebx
51239a:	8b 5d 08             	mov    0x8(%ebp),%ebx
51239d:	56                   	push   %esi
51239e:	8b 1b                	mov    (%ebx),%ebx
5123a0:	89 5d e8             	mov    %ebx,-0x18(%ebp)
5123a3:	85 d2                	test   %edx,%edx
5123a5:	74 18                	je     0x5123bf
5123a7:	6a 00                	push   $0x0
5123a9:	6a 00                	push   $0x0
5123ab:	52                   	push   %edx
5123ac:	53                   	push   %ebx
5123ad:	e8 ae e4 fe ff       	call   0x500860
5123b2:	8b 55 14             	mov    0x14(%ebp),%edx
5123b5:	83 c4 10             	add    $0x10,%esp
5123b8:	8b f0                	mov    %eax,%esi
5123ba:	89 45 f0             	mov    %eax,-0x10(%ebp)
5123bd:	eb 05                	jmp    0x5123c4
5123bf:	33 f6                	xor    %esi,%esi
5123c1:	89 75 f0             	mov    %esi,-0x10(%ebp)
5123c4:	80 7b 51 00          	cmpb   $0x0,0x51(%ebx)
5123c8:	0f 85 2f 01 00 00    	jne    0x5124fd
5123ce:	8b 46 14             	mov    0x14(%esi),%eax
5123d1:	33 db                	xor    %ebx,%ebx
5123d3:	8b 4d 10             	mov    0x10(%ebp),%ecx
5123d6:	57                   	push   %edi
5123d7:	8b 7d 0c             	mov    0xc(%ebp),%edi
5123da:	8b 40 1c             	mov    0x1c(%eax),%eax
5123dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
5123e0:	8b 46 0c             	mov    0xc(%esi),%eax
5123e3:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5123ea:	8b 40 14             	mov    0x14(%eax),%eax
5123ed:	89 45 f8             	mov    %eax,-0x8(%ebp)
5123f0:	0f b7 41 28          	movzwl 0x28(%ecx),%eax
5123f4:	3b f8                	cmp    %eax,%edi
5123f6:	7d 7a                	jge    0x512472
5123f8:	33 f6                	xor    %esi,%esi
5123fa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
512400:	8b 41 30             	mov    0x30(%ecx),%eax
512403:	8b 04 b8             	mov    (%eax,%edi,4),%eax
512406:	39 10                	cmp    %edx,(%eax)
512408:	75 53                	jne    0x51245d
51240a:	8b 40 18             	mov    0x18(%eax),%eax
51240d:	48                   	dec    %eax
51240e:	8d 1c 80             	lea    (%eax,%eax,4),%ebx
512411:	8b 45 fc             	mov    -0x4(%ebp),%eax
512414:	8b 44 98 04          	mov    0x4(%eax,%ebx,4),%eax
512418:	85 c0                	test   %eax,%eax
51241a:	74 41                	je     0x51245d
51241c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
51241f:	50                   	push   %eax
512420:	51                   	push   %ecx
512421:	ff 75 08             	push   0x8(%ebp)
512424:	e8 57 51 01 00       	call   0x527580
512429:	8b 4d f8             	mov    -0x8(%ebp),%ecx
51242c:	89 45 f4             	mov    %eax,-0xc(%ebp)
51242f:	8b 45 fc             	mov    -0x4(%ebp),%eax
512432:	c7 44 98 04 00 00 00 	movl   $0x0,0x4(%eax,%ebx,4)
512439:	00
51243a:	ff 74 99 04          	push   0x4(%ecx,%ebx,4)
51243e:	56                   	push   %esi
51243f:	ff 75 08             	push   0x8(%ebp)
512442:	e8 39 51 01 00       	call   0x527580
512447:	8b 4d 10             	mov    0x10(%ebp),%ecx
51244a:	8b f0                	mov    %eax,%esi
51244c:	8b 45 f8             	mov    -0x8(%ebp),%eax
51244f:	83 c4 18             	add    $0x18,%esp
512452:	8b 55 14             	mov    0x14(%ebp),%edx
512455:	c7 44 98 04 00 00 00 	movl   $0x0,0x4(%eax,%ebx,4)
51245c:	00
51245d:	0f b7 49 28          	movzwl 0x28(%ecx),%ecx
512461:	47                   	inc    %edi
512462:	3b f9                	cmp    %ecx,%edi
512464:	8b 4d 10             	mov    0x10(%ebp),%ecx
512467:	7c 97                	jl     0x512400
512469:	89 75 ec             	mov    %esi,-0x14(%ebp)
51246c:	8b 75 f0             	mov    -0x10(%ebp),%esi
51246f:	8b 5d ec             	mov    -0x14(%ebp),%ebx
512472:	8b 45 fc             	mov    -0x4(%ebp),%eax
512475:	8b 7d e8             	mov    -0x18(%ebp),%edi
512478:	85 c0                	test   %eax,%eax
51247a:	74 0a                	je     0x512486
51247c:	50                   	push   %eax
51247d:	57                   	push   %edi
51247e:	e8 7d eb fe ff       	call   0x501000
512483:	83 c4 08             	add    $0x8,%esp
512486:	8b 45 f8             	mov    -0x8(%ebp),%eax
512489:	85 c0                	test   %eax,%eax
51248b:	74 0a                	je     0x512497
51248d:	50                   	push   %eax
51248e:	57                   	push   %edi
51248f:	e8 6c eb fe ff       	call   0x501000
512494:	83 c4 08             	add    $0x8,%esp
512497:	8b 46 0c             	mov    0xc(%esi),%eax
51249a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
51249d:	89 58 14             	mov    %ebx,0x14(%eax)
5124a0:	8b 46 14             	mov    0x14(%esi),%eax
5124a3:	89 48 1c             	mov    %ecx,0x1c(%eax)
5124a6:	85 db                	test   %ebx,%ebx
5124a8:	74 29                	je     0x5124d3
5124aa:	83 3b 01             	cmpl   $0x1,(%ebx)
5124ad:	75 24                	jne    0x5124d3
5124af:	8b 43 04             	mov    0x4(%ebx),%eax
5124b2:	89 45 08             	mov    %eax,0x8(%ebp)
5124b5:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
5124bc:	8b 46 0c             	mov    0xc(%esi),%eax
5124bf:	85 c0                	test   %eax,%eax
5124c1:	74 0a                	je     0x5124cd
5124c3:	50                   	push   %eax
5124c4:	57                   	push   %edi
5124c5:	e8 e6 42 01 00       	call   0x5267b0
5124ca:	83 c4 08             	add    $0x8,%esp
5124cd:	8b 45 08             	mov    0x8(%ebp),%eax
5124d0:	89 46 0c             	mov    %eax,0xc(%esi)
5124d3:	8b 46 14             	mov    0x14(%esi),%eax
5124d6:	8b 50 30             	mov    0x30(%eax),%edx
5124d9:	85 d2                	test   %edx,%edx
5124db:	74 17                	je     0x5124f4
5124dd:	33 c0                	xor    %eax,%eax
5124df:	39 02                	cmp    %eax,(%edx)
5124e1:	7e 11                	jle    0x5124f4
5124e3:	8d 4a 14             	lea    0x14(%edx),%ecx
5124e6:	33 ff                	xor    %edi,%edi
5124e8:	8d 49 14             	lea    0x14(%ecx),%ecx
5124eb:	66 89 79 ec          	mov    %di,-0x14(%ecx)
5124ef:	40                   	inc    %eax
5124f0:	3b 02                	cmp    (%edx),%eax
5124f2:	7c f2                	jl     0x5124e6
5124f4:	5f                   	pop    %edi
5124f5:	8b c6                	mov    %esi,%eax
5124f7:	5e                   	pop    %esi
5124f8:	5b                   	pop    %ebx
5124f9:	8b e5                	mov    %ebp,%esp
5124fb:	5d                   	pop    %ebp
5124fc:	c3                   	ret
5124fd:	8b c6                	mov    %esi,%eax
5124ff:	5e                   	pop    %esi
512500:	5b                   	pop    %ebx
512501:	8b e5                	mov    %ebp,%esp
512503:	5d                   	pop    %ebp
512504:	c3                   	ret
512505:	cc                   	int3
512506:	cc                   	int3
512507:	cc                   	int3
512508:	cc                   	int3
512509:	cc                   	int3
51250a:	cc                   	int3
51250b:	cc                   	int3
51250c:	cc                   	int3
51250d:	cc                   	int3
51250e:	cc                   	int3
51250f:	cc                   	int3
512510:	55                   	push   %ebp
512511:	8b ec                	mov    %esp,%ebp
512513:	56                   	push   %esi
512514:	8b 75 10             	mov    0x10(%ebp),%esi
512517:	85 f6                	test   %esi,%esi
512519:	74 52                	je     0x51256d
51251b:	53                   	push   %ebx