5380fd:	e8 5e 41 fd ff       	call   0x50c260
538102:	83 c4 10             	add    $0x10,%esp
538105:	85 c0                	test   %eax,%eax
538107:	74 27                	je     0x538130
538109:	6a 00                	push   $0x0
53810b:	6a ff                	push   $0xffffffff
53810d:	ff 74 24 10          	push   0x10(%esp)
538111:	e8 ca 73 fb ff       	call   0x4ef4e0
538116:	83 c4 04             	add    $0x4,%esp
538119:	50                   	push   %eax
53811a:	ff 74 24 10          	push   0x10(%esp)
53811e:	e8 fd 39 fb ff       	call   0x4ebb20
538123:	83 c4 10             	add    $0x10,%esp
538126:	b8 01 00 00 00       	mov    $0x1,%eax
53812b:	5e                   	pop    %esi
53812c:	83 c4 08             	add    $0x8,%esp
53812f:	c3                   	ret
538130:	83 c8 ff             	or     $0xffffffff,%eax
538133:	5e                   	pop    %esi
538134:	83 c4 08             	add    $0x8,%esp
538137:	c3                   	ret
538138:	8b 44 24 18          	mov    0x18(%esp),%eax
53813c:	83 f8 01             	cmp    $0x1,%eax
53813f:	75 11                	jne    0x538152
538141:	ff 74 24 1c          	push   0x1c(%esp)
538145:	e8 86 03 00 00       	call   0x5384d0
53814a:	83 c4 04             	add    $0x4,%esp
53814d:	5e                   	pop    %esi
53814e:	83 c4 08             	add    $0x8,%esp
538151:	c3                   	ret
538152:	85 c0                	test   %eax,%eax
538154:	0f 85 99 00 00 00    	jne    0x5381f3
53815a:	ff 74 24 1c          	push   0x1c(%esp)
53815e:	e8 7d 05 00 00       	call   0x5386e0
538163:	83 c4 04             	add    $0x4,%esp
538166:	5e                   	pop    %esi
538167:	83 c4 08             	add    $0x8,%esp
53816a:	c3                   	ret
53816b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
53816f:	5e                   	pop    %esi
538170:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
538176:	b8 01 00 00 00       	mov    $0x1,%eax
53817b:	83 c4 08             	add    $0x8,%esp
53817e:	c3                   	ret
53817f:	ff 74 24 10          	push   0x10(%esp)
538183:	e8 38 7f fb ff       	call   0x4f00c0
538188:	83 c4 04             	add    $0x4,%esp
53818b:	b9 a0 02 00 00       	mov    $0x2a0,%ecx
538190:	3d 94 04 00 00       	cmp    $0x494,%eax
538195:	ba 77 04 00 00       	mov    $0x477,%edx
53819a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
53819e:	0f 44 ca             	cmove  %edx,%ecx
5381a1:	5e                   	pop    %esi
5381a2:	89 08                	mov    %ecx,(%eax)
5381a4:	b8 01 00 00 00       	mov    $0x1,%eax
5381a9:	83 c4 08             	add    $0x8,%esp
5381ac:	c3                   	ret
5381ad:	6a 00                	push   $0x0
5381af:	ff 74 24 1c          	push   0x1c(%esp)
5381b3:	ff 74 24 24          	push   0x24(%esp)
5381b7:	ff 74 24 1c          	push   0x1c(%esp)
5381bb:	e8 10 8c fb ff       	call   0x4f0dd0
5381c0:	83 c4 04             	add    $0x4,%esp
5381c3:	50                   	push   %eax
5381c4:	e8 67 97 fb ff       	call   0x4f1930
5381c9:	83 c4 10             	add    $0x10,%esp
5381cc:	5e                   	pop    %esi
5381cd:	83 c4 08             	add    $0x8,%esp
5381d0:	c3                   	ret
5381d1:	6a 00                	push   $0x0
5381d3:	ff 74 24 20          	push   0x20(%esp)
5381d7:	6a 04                	push   $0x4
5381d9:	ff 74 24 1c          	push   0x1c(%esp)
5381dd:	e8 ee 8b fb ff       	call   0x4f0dd0
5381e2:	83 c4 04             	add    $0x4,%esp
5381e5:	50                   	push   %eax
5381e6:	e8 b5 96 fb ff       	call   0x4f18a0
5381eb:	83 c4 10             	add    $0x10,%esp
5381ee:	5e                   	pop    %esi
5381ef:	83 c4 08             	add    $0x8,%esp
5381f2:	c3                   	ret
5381f3:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
5381f8:	5e                   	pop    %esi
5381f9:	83 c4 08             	add    $0x8,%esp
5381fc:	c3                   	ret
5381fd:	0f 1f 00             	nopl   (%eax)
538200:	20 80 53 00 f3 81    	and    %al,-0x7e0cffad(%eax)
538206:	53                   	push   %ebx
538207:	00 7f 81             	add    %bh,-0x7f(%edi)
53820a:	53                   	push   %ebx
53820b:	00 f3                	add    %dh,%bl
53820d:	81 53 00 af 80 53 00 	adcl   $0x5380af,0x0(%ebx)
538214:	f3 81 53 00 38 81 53 	repz adcl $0x538138,0x0(%ebx)
53821b:	00
53821c:	6b 81 53 00 ad 81 53 	imul   $0x53,-0x7e52ffad(%ecx),%eax
538223:	00 d1                	add    %dl,%cl
538225:	81 53 00 cc cc cc cc 	adcl   $0xcccccccc,0x0(%ebx)
53822c:	cc                   	int3
53822d:	cc                   	int3
53822e:	cc                   	int3
53822f:	cc                   	int3
538230:	8b 44 24 04          	mov    0x4(%esp),%eax
538234:	8b 40 18             	mov    0x18(%eax),%eax
538237:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
53823b:	75 1e                	jne    0x53825b
53823d:	68 28 02 00 00       	push   $0x228
538242:	68 b8 9e 64 00       	push   $0x649eb8
538247:	6a 7d                	push   $0x7d
538249:	68 11 01 00 00       	push   $0x111
53824e:	6a 10                	push   $0x10
538250:	e8 2b 0d fa ff       	call   0x4d8f80
538255:	83 c4 14             	add    $0x14,%esp
538258:	33 c0                	xor    %eax,%eax
53825a:	c3                   	ret
53825b:	89 44 24 04          	mov    %eax,0x4(%esp)
53825f:	e9 8c 92 fb ff       	jmp    0x4f14f0
538264:	cc                   	int3
538265:	cc                   	int3
538266:	cc                   	int3
538267:	cc                   	int3
538268:	cc                   	int3
538269:	cc                   	int3
53826a:	cc                   	int3
53826b:	cc                   	int3
53826c:	cc                   	int3
53826d:	cc                   	int3
53826e:	cc                   	int3
53826f:	cc                   	int3
538270:	8b 44 24 04          	mov    0x4(%esp),%eax
538274:	ff 70 18             	push   0x18(%eax)
538277:	e8 74 92 fb ff       	call   0x4f14f0
53827c:	83 c4 04             	add    $0x4,%esp
53827f:	c3                   	ret
538280:	8b 44 24 04          	mov    0x4(%esp),%eax
538284:	8b 40 18             	mov    0x18(%eax),%eax
538287:	8b 40 0c             	mov    0xc(%eax),%eax
53828a:	85 c0                	test   %eax,%eax
53828c:	75 1e                	jne    0x5382ac
53828e:	68 45 02 00 00       	push   $0x245
538293:	68 b8 9e 64 00       	push   $0x649eb8
538298:	6a 7c                	push   $0x7c
53829a:	68 12 01 00 00       	push   $0x112
53829f:	6a 10                	push   $0x10
5382a1:	e8 da 0c fa ff       	call   0x4d8f80
5382a6:	83 c4 14             	add    $0x14,%esp
5382a9:	33 c0                	xor    %eax,%eax
5382ab:	c3                   	ret
5382ac:	6a 00                	push   $0x0
5382ae:	50                   	push   %eax
5382af:	e8 6c 8c 02 00       	call   0x560f20
5382b4:	83 c4 08             	add    $0x8,%esp
5382b7:	c3                   	ret
5382b8:	cc                   	int3
5382b9:	cc                   	int3
5382ba:	cc                   	int3
5382bb:	cc                   	int3
5382bc:	cc                   	int3
5382bd:	cc                   	int3
5382be:	cc                   	int3
5382bf:	cc                   	int3
5382c0:	b8 10 00 00 00       	mov    $0x10,%eax
5382c5:	e8 e6 94 09 00       	call   0x5d17b0
5382ca:	55                   	push   %ebp
5382cb:	33 ed                	xor    %ebp,%ebp
5382cd:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
5382d4:	00
5382d5:	56                   	push   %esi
5382d6:	8b 74 24 20          	mov    0x20(%esp),%esi
5382da:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
5382e1:	00
5382e2:	89 6c 24 08          	mov    %ebp,0x8(%esp)
5382e6:	89 6c 24 14          	mov    %ebp,0x14(%esp)
5382ea:	85 f6                	test   %esi,%esi
5382ec:	0f 84 ad 01 00 00    	je     0x53849f
5382f2:	56                   	push   %esi
5382f3:	e8 48 ef fa ff       	call   0x4e7240
5382f8:	83 c4 04             	add    $0x4,%esp
5382fb:	89 44 24 20          	mov    %eax,0x20(%esp)
5382ff:	85 c0                	test   %eax,%eax
538301:	0f 84 98 01 00 00    	je     0x53849f
538307:	53                   	push   %ebx
538308:	57                   	push   %edi
538309:	8b 7c 24 30          	mov    0x30(%esp),%edi
53830d:	83 ff 02             	cmp    $0x2,%edi
538310:	74 6e                	je     0x538380
538312:	56                   	push   %esi
538313:	e8 98 7f fb ff       	call   0x4f02b0
538318:	83 c4 04             	add    $0x4,%esp
53831b:	85 c0                	test   %eax,%eax
53831d:	74 27                	je     0x538346
53831f:	55                   	push   %ebp
538320:	8d 44 24 1c          	lea    0x1c(%esp),%eax
538324:	50                   	push   %eax
538325:	56                   	push   %esi
538326:	e8 65 95 fb ff       	call   0x4f1890
53832b:	83 c4 04             	add    $0x4,%esp
53832e:	50                   	push   %eax
53832f:	56                   	push   %esi
538330:	e8 6b 95 fb ff       	call   0x4f18a0
538335:	8b d8                	mov    %eax,%ebx
538337:	83 c4 10             	add    $0x10,%esp
53833a:	89 5c 24 10          	mov    %ebx,0x10(%esp)
53833e:	85 db                	test   %ebx,%ebx
538340:	0f 84 a9 00 00 00    	je     0x5383ef
538346:	85 ff                	test   %edi,%edi
538348:	75 2c                	jne    0x538376
53834a:	56                   	push   %esi
53834b:	e8 10 ef fa ff       	call   0x4e7260
538350:	83 c4 04             	add    $0x4,%esp
538353:	85 c0                	test   %eax,%eax
538355:	74 18                	je     0x53836f
538357:	8d 44 24 14          	lea    0x14(%esp),%eax
53835b:	50                   	push   %eax
53835c:	56                   	push   %esi
53835d:	e8 7e 96 fb ff       	call   0x4f19e0
538362:	8b e8                	mov    %eax,%ebp
538364:	83 c4 08             	add    $0x8,%esp
538367:	85 ed                	test   %ebp,%ebp
538369:	0f 84 80 00 00 00    	je     0x5383ef
53836f:	bb 20 9d 64 00       	mov    $0x649d20,%ebx
538374:	eb 0f                	jmp    0x538385
538376:	bb 2c 9d 64 00       	mov    $0x649d2c,%ebx
53837b:	83 ff 01             	cmp    $0x1,%edi
53837e:	74 05                	je     0x538385
538380:	bb d0 9e 64 00       	mov    $0x649ed0,%ebx
538385:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
538389:	8b 74 24 24          	mov    0x24(%esp),%esi
53838d:	68 80 00 00 00       	push   $0x80
538392:	57                   	push   %edi
538393:	56                   	push   %esi
538394:	e8 a7 0b fc ff       	call   0x4f8f40
538399:	83 c4 0c             	add    $0xc,%esp
53839c:	85 c0                	test   %eax,%eax
53839e:	74 4f                	je     0x5383ef
5383a0:	ff 74 24 28          	push   0x28(%esp)
5383a4:	e8 57 59 fd ff       	call   0x50dd00
5383a9:	50                   	push   %eax
5383aa:	53                   	push   %ebx
5383ab:	68 94 99 64 00       	push   $0x649994
5383b0:	56                   	push   %esi
5383b1:	e8 8a a1 fa ff       	call   0x4e2540
5383b6:	83 c4 14             	add    $0x14,%esp
5383b9:	85 c0                	test   %eax,%eax
5383bb:	7e 32                	jle    0x5383ef
5383bd:	85 ed                	test   %ebp,%ebp
5383bf:	74 7f                	je     0x538440
5383c1:	68 64 25 60 00       	push   $0x602564
5383c6:	57                   	push   %edi
5383c7:	68 74 a6 62 00       	push   $0x62a674
5383cc:	56                   	push   %esi
5383cd:	e8 6e a1 fa ff       	call   0x4e2540
5383d2:	83 c4 10             	add    $0x10,%esp
5383d5:	85 c0                	test   %eax,%eax
5383d7:	7e 16                	jle    0x5383ef
5383d9:	8d 5f 04             	lea    0x4(%edi),%ebx
5383dc:	53                   	push   %ebx
5383dd:	55                   	push   %ebp
5383de:	ff 74 24 1c          	push   0x1c(%esp)
5383e2:	56                   	push   %esi
5383e3:	e8 48 82 fe ff       	call   0x520630
5383e8:	83 c4 10             	add    $0x10,%esp
5383eb:	85 c0                	test   %eax,%eax
5383ed:	75 54                	jne    0x538443
5383ef:	68 a0 01 00 00       	push   $0x1a0
5383f4:	68 b8 9e 64 00       	push   $0x649eb8
5383f9:	6a 10                	push   $0x10
5383fb:	68 dd 00 00 00       	push   $0xdd
538400:	6a 10                	push   $0x10
538402:	e8 79 0b fa ff       	call   0x4d8f80
538407:	83 c4 14             	add    $0x14,%esp
53840a:	68 a1 01 00 00       	push   $0x1a1
53840f:	68 b8 9e 64 00       	push   $0x649eb8
538414:	55                   	push   %ebp
538415:	ff 74 24 20          	push   0x20(%esp)
538419:	e8 22 84 fa ff       	call   0x4e0840
53841e:	68 a2 01 00 00       	push   $0x1a2
538423:	68 b8 9e 64 00       	push   $0x649eb8
538428:	ff 74 24 30          	push   0x30(%esp)
53842c:	e8 4f 83 fa ff       	call   0x4e0780
538431:	8b 44 24 38          	mov    0x38(%esp),%eax
538435:	83 c4 1c             	add    $0x1c,%esp
538438:	5f                   	pop    %edi
538439:	5b                   	pop    %ebx
53843a:	5e                   	pop    %esi
53843b:	5d                   	pop    %ebp
53843c:	83 c4 10             	add    $0x10,%esp
53843f:	c3                   	ret
538440:	8d 5f 04             	lea    0x4(%edi),%ebx
538443:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
538448:	74 32                	je     0x53847c
53844a:	68 64 25 60 00       	push   $0x602564
53844f:	57                   	push   %edi
538450:	68 b0 a6 62 00       	push   $0x62a6b0
538455:	56                   	push   %esi
538456:	e8 e5 a0 fa ff       	call   0x4e2540
53845b:	83 c4 10             	add    $0x10,%esp
53845e:	85 c0                	test   %eax,%eax
538460:	7e 8d                	jle    0x5383ef
538462:	53                   	push   %ebx
538463:	ff 74 24 14          	push   0x14(%esp)
538467:	ff 74 24 20          	push   0x20(%esp)
53846b:	56                   	push   %esi
53846c:	e8 bf 81 fe ff       	call   0x520630
538471:	83 c4 10             	add    $0x10,%esp
538474:	85 c0                	test   %eax,%eax
538476:	0f 84 73 ff ff ff    	je     0x5383ef
53847c:	57                   	push   %edi
53847d:	ff 74 24 2c          	push   0x2c(%esp)
538481:	56                   	push   %esi
538482:	e8 29 8c 02 00       	call   0x5610b0
538487:	83 c4 0c             	add    $0xc,%esp
53848a:	85 c0                	test   %eax,%eax
53848c:	0f 84 5d ff ff ff    	je     0x5383ef
538492:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
538499:	00
53849a:	e9 6b ff ff ff       	jmp    0x53840a
53849f:	68 70 01 00 00       	push   $0x170
5384a4:	68 b8 9e 64 00       	push   $0x649eb8
5384a9:	6a 43                	push   $0x43
5384ab:	68 dd 00 00 00       	push   $0xdd
5384b0:	6a 10                	push   $0x10
5384b2:	e8 c9 0a fa ff       	call   0x4d8f80
5384b7:	83 c4 14             	add    $0x14,%esp
5384ba:	33 c0                	xor    %eax,%eax
5384bc:	5e                   	pop    %esi
5384bd:	5d                   	pop    %ebp
5384be:	83 c4 10             	add    $0x10,%esp
5384c1:	c3                   	ret
5384c2:	cc                   	int3
5384c3:	cc                   	int3
5384c4:	cc                   	int3
5384c5:	cc                   	int3
5384c6:	cc                   	int3
5384c7:	cc                   	int3
5384c8:	cc                   	int3
5384c9:	cc                   	int3
5384ca:	cc                   	int3
5384cb:	cc                   	int3
5384cc:	cc                   	int3
5384cd:	cc                   	int3
5384ce:	cc                   	int3
5384cf:	cc                   	int3
5384d0:	b8 20 00 00 00       	mov    $0x20,%eax
5384d5:	e8 d6 92 09 00       	call   0x5d17b0
5384da:	53                   	push   %ebx
5384db:	8b 5c 24 28          	mov    0x28(%esp),%ebx
5384df:	55                   	push   %ebp
5384e0:	56                   	push   %esi
5384e1:	57                   	push   %edi
5384e2:	53                   	push   %ebx