52931e:	cc                   	int3
52931f:	cc                   	int3
529320:	55                   	push   %ebp
529321:	8b ec                	mov    %esp,%ebp
529323:	83 ec 08             	sub    $0x8,%esp
529326:	53                   	push   %ebx
529327:	56                   	push   %esi
529328:	8b 75 0c             	mov    0xc(%ebp),%esi
52932b:	57                   	push   %edi
52932c:	85 f6                	test   %esi,%esi
52932e:	0f 84 fd 00 00 00    	je     0x529431
529334:	8b 5d 08             	mov    0x8(%ebp),%ebx
529337:	ff 76 08             	push   0x8(%esi)
52933a:	53                   	push   %ebx
52933b:	e8 e0 fd ff ff       	call   0x529120
529340:	83 c4 08             	add    $0x8,%esp
529343:	85 c0                	test   %eax,%eax
529345:	0f 85 ef 00 00 00    	jne    0x52943a
52934b:	ff 76 10             	push   0x10(%esi)
52934e:	53                   	push   %ebx
52934f:	e8 6c fc ff ff       	call   0x528fc0
529354:	83 c4 08             	add    $0x8,%esp
529357:	85 c0                	test   %eax,%eax
529359:	0f 85 db 00 00 00    	jne    0x52943a
52935f:	8b 46 14             	mov    0x14(%esi),%eax
529362:	89 45 fc             	mov    %eax,-0x4(%ebp)
529365:	85 c0                	test   %eax,%eax
529367:	74 2a                	je     0x529393
529369:	33 f6                	xor    %esi,%esi
52936b:	8d 78 04             	lea    0x4(%eax),%edi
52936e:	39 30                	cmp    %esi,(%eax)
529370:	7e 1e                	jle    0x529390
529372:	ff 37                	push   (%edi)
529374:	53                   	push   %ebx
529375:	e8 46 fc ff ff       	call   0x528fc0
52937a:	83 c4 08             	add    $0x8,%esp
52937d:	85 c0                	test   %eax,%eax
52937f:	0f 85 b5 00 00 00    	jne    0x52943a
529385:	8b 45 fc             	mov    -0x4(%ebp),%eax
529388:	46                   	inc    %esi
529389:	83 c7 14             	add    $0x14,%edi
52938c:	3b 30                	cmp    (%eax),%esi
52938e:	7c e2                	jl     0x529372
529390:	8b 75 0c             	mov    0xc(%ebp),%esi
529393:	8b 46 1c             	mov    0x1c(%esi),%eax
529396:	89 45 fc             	mov    %eax,-0x4(%ebp)
529399:	85 c0                	test   %eax,%eax
52939b:	0f 84 82 00 00 00    	je     0x529423
5293a1:	8b 00                	mov    (%eax),%eax
5293a3:	89 45 f8             	mov    %eax,-0x8(%ebp)
5293a6:	85 c0                	test   %eax,%eax
5293a8:	74 23                	je     0x5293cd
5293aa:	33 f6                	xor    %esi,%esi
5293ac:	8d 78 04             	lea    0x4(%eax),%edi
5293af:	39 30                	cmp    %esi,(%eax)
5293b1:	7e 1a                	jle    0x5293cd
5293b3:	ff 37                	push   (%edi)
5293b5:	53                   	push   %ebx
5293b6:	e8 05 fc ff ff       	call   0x528fc0
5293bb:	83 c4 08             	add    $0x8,%esp
5293be:	85 c0                	test   %eax,%eax
5293c0:	75 78                	jne    0x52943a
5293c2:	8b 45 f8             	mov    -0x8(%ebp),%eax
5293c5:	46                   	inc    %esi
5293c6:	83 c7 14             	add    $0x14,%edi
5293c9:	3b 30                	cmp    (%eax),%esi
5293cb:	7c e6                	jl     0x5293b3
5293cd:	8b 75 fc             	mov    -0x4(%ebp),%esi
5293d0:	ff 76 04             	push   0x4(%esi)
5293d3:	53                   	push   %ebx
5293d4:	e8 e7 fb ff ff       	call   0x528fc0
5293d9:	83 c4 08             	add    $0x8,%esp
5293dc:	85 c0                	test   %eax,%eax
5293de:	75 5a                	jne    0x52943a
5293e0:	8b 46 08             	mov    0x8(%esi),%eax
5293e3:	89 45 f8             	mov    %eax,-0x8(%ebp)
5293e6:	85 c0                	test   %eax,%eax
5293e8:	74 23                	je     0x52940d
5293ea:	33 f6                	xor    %esi,%esi
5293ec:	8d 78 04             	lea    0x4(%eax),%edi
5293ef:	39 30                	cmp    %esi,(%eax)
5293f1:	7e 1a                	jle    0x52940d
5293f3:	ff 37                	push   (%edi)
5293f5:	53                   	push   %ebx
5293f6:	e8 c5 fb ff ff       	call   0x528fc0
5293fb:	83 c4 08             	add    $0x8,%esp
5293fe:	85 c0                	test   %eax,%eax
529400:	75 38                	jne    0x52943a
529402:	8b 45 f8             	mov    -0x8(%ebp),%eax
529405:	46                   	inc    %esi
529406:	83 c7 14             	add    $0x14,%edi
529409:	3b 30                	cmp    (%eax),%esi
52940b:	7c e6                	jl     0x5293f3
52940d:	8b 45 fc             	mov    -0x4(%ebp),%eax
529410:	ff 70 0c             	push   0xc(%eax)
529413:	53                   	push   %ebx
529414:	e8 a7 fb ff ff       	call   0x528fc0
529419:	83 c4 08             	add    $0x8,%esp
52941c:	85 c0                	test   %eax,%eax
52941e:	75 1a                	jne    0x52943a
529420:	8b 75 0c             	mov    0xc(%ebp),%esi
529423:	8b 76 24             	mov    0x24(%esi),%esi
529426:	89 75 0c             	mov    %esi,0xc(%ebp)
529429:	85 f6                	test   %esi,%esi
52942b:	0f 85 06 ff ff ff    	jne    0x529337
529431:	5f                   	pop    %edi
529432:	5e                   	pop    %esi
529433:	33 c0                	xor    %eax,%eax
529435:	5b                   	pop    %ebx
529436:	8b e5                	mov    %ebp,%esp
529438:	5d                   	pop    %ebp
529439:	c3                   	ret
52943a:	5f                   	pop    %edi
52943b:	5e                   	pop    %esi
52943c:	b8 01 00 00 00       	mov    $0x1,%eax
529441:	5b                   	pop    %ebx
529442:	8b e5                	mov    %ebp,%esp
529444:	5d                   	pop    %ebp
529445:	c3                   	ret
529446:	cc                   	int3
529447:	cc                   	int3
529448:	cc                   	int3
529449:	cc                   	int3
52944a:	cc                   	int3
52944b:	cc                   	int3
52944c:	cc                   	int3
52944d:	cc                   	int3
52944e:	cc                   	int3
52944f:	cc                   	int3
529450:	55                   	push   %ebp
529451:	8b ec                	mov    %esp,%ebp
529453:	8b 45 08             	mov    0x8(%ebp),%eax
529456:	8b 00                	mov    (%eax),%eax
529458:	8b 40 20             	mov    0x20(%eax),%eax
52945b:	25 00 40 00 00       	and    $0x4000,%eax
529460:	83 c8 00             	or     $0x0,%eax
529463:	74 6b                	je     0x5294d0
529465:	56                   	push   %esi
529466:	57                   	push   %edi
529467:	8b 7d 0c             	mov    0xc(%ebp),%edi
52946a:	6a 00                	push   $0x0
52946c:	8b 47 48             	mov    0x48(%edi),%eax
52946f:	ff 37                	push   (%edi)
529471:	83 c0 38             	add    $0x38,%eax
529474:	50                   	push   %eax
529475:	e8 56 8b fd ff       	call   0x501fd0
52947a:	83 c4 0c             	add    $0xc,%esp
52947d:	8b 70 08             	mov    0x8(%eax),%esi
529480:	85 f6                	test   %esi,%esi
529482:	74 4a                	je     0x5294ce
529484:	53                   	push   %ebx
529485:	8b 5d 18             	mov    0x18(%ebp),%ebx
529488:	85 db                	test   %ebx,%ebx
52948a:	74 12                	je     0x52949e
52948c:	ff 75 1c             	push   0x1c(%ebp)
52948f:	53                   	push   %ebx
529490:	56                   	push   %esi
529491:	57                   	push   %edi
529492:	e8 09 9c fd ff       	call   0x5030a0
529497:	83 c4 10             	add    $0x10,%esp
52949a:	85 c0                	test   %eax,%eax
52949c:	74 28                	je     0x5294c6
52949e:	ff 75 10             	push   0x10(%ebp)
5294a1:	56                   	push   %esi
5294a2:	57                   	push   %edi
5294a3:	ff 75 08             	push   0x8(%ebp)
5294a6:	e8 c5 8c fd ff       	call   0x502170
5294ab:	83 c4 10             	add    $0x10,%esp
5294ae:	85 c0                	test   %eax,%eax
5294b0:	74 14                	je     0x5294c6
5294b2:	6a 00                	push   $0x0
5294b4:	6a 02                	push   $0x2
5294b6:	ff 75 14             	push   0x14(%ebp)
5294b9:	57                   	push   %edi
5294ba:	50                   	push   %eax
5294bb:	ff 75 08             	push   0x8(%ebp)
5294be:	e8 8d 59 ff ff       	call   0x51ee50
5294c3:	83 c4 18             	add    $0x18,%esp
5294c6:	8b 76 0c             	mov    0xc(%esi),%esi
5294c9:	85 f6                	test   %esi,%esi
5294cb:	75 bb                	jne    0x529488
5294cd:	5b                   	pop    %ebx
5294ce:	5f                   	pop    %edi
5294cf:	5e                   	pop    %esi
5294d0:	5d                   	pop    %ebp
5294d1:	c3                   	ret
5294d2:	cc                   	int3
5294d3:	cc                   	int3
5294d4:	cc                   	int3
5294d5:	cc                   	int3
5294d6:	cc                   	int3
5294d7:	cc                   	int3
5294d8:	cc                   	int3
5294d9:	cc                   	int3
5294da:	cc                   	int3
5294db:	cc                   	int3
5294dc:	cc                   	int3
5294dd:	cc                   	int3
5294de:	cc                   	int3
5294df:	cc                   	int3
5294e0:	55                   	push   %ebp
5294e1:	8b ec                	mov    %esp,%ebp
5294e3:	83 ec 38             	sub    $0x38,%esp
5294e6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5294eb:	33 c5                	xor    %ebp,%eax
5294ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
5294f0:	8b 55 0c             	mov    0xc(%ebp),%edx
5294f3:	53                   	push   %ebx
5294f4:	8b 5d 08             	mov    0x8(%ebp),%ebx
5294f7:	56                   	push   %esi
5294f8:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
5294fb:	89 55 ec             	mov    %edx,-0x14(%ebp)
5294fe:	8b 33                	mov    (%ebx),%esi
529500:	0f b6 83 92 00 00 00 	movzbl 0x92(%ebx),%eax
529507:	89 45 c8             	mov    %eax,-0x38(%ebp)
52950a:	89 75 cc             	mov    %esi,-0x34(%ebp)
52950d:	8b 46 20             	mov    0x20(%esi),%eax
529510:	25 00 40 00 00       	and    $0x4000,%eax
529515:	83 c8 00             	or     $0x0,%eax
529518:	0f 84 d5 05 00 00    	je     0x529af3
52951e:	8b 4a 48             	mov    0x48(%edx),%ecx
529521:	57                   	push   %edi
529522:	bf c0 bd f0 ff       	mov    $0xfff0bdc0,%edi
529527:	89 7d dc             	mov    %edi,-0x24(%ebp)
52952a:	85 c9                	test   %ecx,%ecx
52952c:	74 1d                	je     0x52954b
52952e:	8b 46 10             	mov    0x10(%esi),%eax
529531:	33 ff                	xor    %edi,%edi
529533:	83 c0 0c             	add    $0xc,%eax
529536:	89 7d dc             	mov    %edi,-0x24(%ebp)
529539:	39 08                	cmp    %ecx,(%eax)
52953b:	74 0e                	je     0x52954b
52953d:	0f 1f 00             	nopl   (%eax)
529540:	8d 40 10             	lea    0x10(%eax),%eax
529543:	47                   	inc    %edi
529544:	39 08                	cmp    %ecx,(%eax)
529546:	75 f8                	jne    0x529540
529548:	89 7d dc             	mov    %edi,-0x24(%ebp)
52954b:	8b 46 10             	mov    0x10(%esi),%eax
52954e:	8b cf                	mov    %edi,%ecx
529550:	8b 7a 10             	mov    0x10(%edx),%edi
529553:	03 c9                	add    %ecx,%ecx
529555:	89 7d e8             	mov    %edi,-0x18(%ebp)
529558:	8b 04 c8             	mov    (%eax,%ecx,8),%eax
52955b:	89 45 e0             	mov    %eax,-0x20(%ebp)
52955e:	85 ff                	test   %edi,%edi
529560:	0f 84 78 03 00 00    	je     0x5298de
529566:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
52956d:	00 00 00
529570:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
529574:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
52957b:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
529582:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
529589:	74 3f                	je     0x5295ca
52958b:	8b 0a                	mov    (%edx),%ecx
52958d:	8b 47 08             	mov    0x8(%edi),%eax
529590:	85 c9                	test   %ecx,%ecx
529592:	75 06                	jne    0x52959a
529594:	f7 d8                	neg    %eax
529596:	1b c0                	sbb    %eax,%eax
529598:	eb 11                	jmp    0x5295ab
52959a:	85 c0                	test   %eax,%eax
52959c:	74 11                	je     0x5295af
52959e:	50                   	push   %eax
52959f:	51                   	push   %ecx
5295a0:	e8 8b 46 01 00       	call   0x53dc30
5295a5:	8b 55 ec             	mov    -0x14(%ebp),%edx
5295a8:	83 c4 08             	add    $0x8,%esp
5295ab:	85 c0                	test   %eax,%eax
5295ad:	74 18                	je     0x5295c7
5295af:	ff 75 1c             	push   0x1c(%ebp)
5295b2:	ff 75 18             	push   0x18(%ebp)
5295b5:	57                   	push   %edi
5295b6:	52                   	push   %edx
5295b7:	e8 54 91 fd ff       	call   0x502710
5295bc:	83 c4 10             	add    $0x10,%esp
5295bf:	85 c0                	test   %eax,%eax
5295c1:	0f 84 03 03 00 00    	je     0x5298ca
5295c7:	8b 45 e0             	mov    -0x20(%ebp),%eax
5295ca:	80 bb 92 00 00 00 00 	cmpb   $0x0,0x92(%ebx)
5295d1:	50                   	push   %eax
5295d2:	ff 77 08             	push   0x8(%edi)
5295d5:	74 0b                	je     0x5295e2
5295d7:	56                   	push   %esi
5295d8:	e8 e3 f3 ff ff       	call   0x5289c0
5295dd:	83 c4 0c             	add    $0xc,%esp
5295e0:	eb 0b                	jmp    0x5295ed
5295e2:	6a 00                	push   $0x0
5295e4:	53                   	push   %ebx
5295e5:	e8 06 75 00 00       	call   0x530af0
5295ea:	83 c4 10             	add    $0x10,%esp
5295ed:	89 45 f4             	mov    %eax,-0xc(%ebp)
5295f0:	85 c0                	test   %eax,%eax
5295f2:	0f 84 aa 01 00 00    	je     0x5297a2
5295f8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5295fb:	51                   	push   %ecx
5295fc:	8d 4d d0             	lea    -0x30(%ebp),%ecx
5295ff:	51                   	push   %ecx
529600:	57                   	push   %edi
529601:	50                   	push   %eax
529602:	53                   	push   %ebx
529603:	e8 d8 08 00 00       	call   0x529ee0
529608:	83 c4 14             	add    $0x14,%esp
52960b:	85 c0                	test   %eax,%eax
52960d:	0f 85 8c 01 00 00    	jne    0x52979f
529613:	8b 45 d8             	mov    -0x28(%ebp),%eax
529616:	85 c0                	test   %eax,%eax
529618:	74 07                	je     0x529621
52961a:	8b d0                	mov    %eax,%edx
52961c:	89 45 e8             	mov    %eax,-0x18(%ebp)
52961f:	eb 0c                	jmp    0x52962d
529621:	8b 47 24             	mov    0x24(%edi),%eax
529624:	8d 55 f8             	lea    -0x8(%ebp),%edx
529627:	89 45 f8             	mov    %eax,-0x8(%ebp)
52962a:	89 55 e8             	mov    %edx,-0x18(%ebp)
52962d:	33 c9                	xor    %ecx,%ecx
52962f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
529632:	39 4f 14             	cmp    %ecx,0x14(%edi)
529635:	7e 6e                	jle    0x5296a5
529637:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
52963e:	00 00
529640:	8b 45 ec             	mov    -0x14(%ebp),%eax
529643:	0f bf 40 28          	movswl 0x28(%eax),%eax
529647:	39 04 8a             	cmp    %eax,(%edx,%ecx,4)
52964a:	75 07                	jne    0x529653
52964c:	c7 04 8a ff ff ff ff 	movl   $0xffffffff,(%edx,%ecx,4)
529653:	83 be 50 01 00 00 00 	cmpl   $0x0,0x150(%esi)
52965a:	74 40                	je     0x52969c
52965c:	8b 45 d0             	mov    -0x30(%ebp),%eax
52965f:	8b 55 f4             	mov    -0xc(%ebp),%edx
529662:	85 c0                	test   %eax,%eax
529664:	74 09                	je     0x52966f
529666:	8b 40 04             	mov    0x4(%eax),%eax
529669:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
52966d:	eb 04                	jmp    0x529673
52966f:	0f b7 42 28          	movzwl 0x28(%edx),%eax
529673:	ff 75 dc             	push   -0x24(%ebp)
529676:	98                   	cwtl
529677:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52967a:	8b 42 04             	mov    0x4(%edx),%eax
52967d:	ff 34 88             	push   (%eax,%ecx,4)
529680:	ff 32                	push   (%edx)
529682:	53                   	push   %ebx
529683:	e8 88 02 ff ff       	call   0x519910
529688:	8b 55 e8             	mov    -0x18(%ebp),%edx
52968b:	33 c9                	xor    %ecx,%ecx
52968d:	83 c4 10             	add    $0x10,%esp
529690:	83 f8 02             	cmp    $0x2,%eax
529693:	0f 94 c1             	sete   %cl
529696:	89 4d d4             	mov    %ecx,-0x2c(%ebp)