5174bc:	cc                   	int3
5174bd:	cc                   	int3
5174be:	cc                   	int3
5174bf:	cc                   	int3
5174c0:	55                   	push   %ebp
5174c1:	8b ec                	mov    %esp,%ebp
5174c3:	51                   	push   %ecx
5174c4:	53                   	push   %ebx
5174c5:	8b 5d 10             	mov    0x10(%ebp),%ebx
5174c8:	8b c3                	mov    %ebx,%eax
5174ca:	f7 6d 14             	imull  0x14(%ebp)
5174cd:	56                   	push   %esi
5174ce:	8b 75 08             	mov    0x8(%ebp),%esi
5174d1:	57                   	push   %edi
5174d2:	33 ff                	xor    %edi,%edi
5174d4:	89 45 fc             	mov    %eax,-0x4(%ebp)
5174d7:	89 55 10             	mov    %edx,0x10(%ebp)
5174da:	8b 8e 34 01 00 00    	mov    0x134(%esi),%ecx
5174e0:	85 c9                	test   %ecx,%ecx
5174e2:	74 07                	je     0x5174eb
5174e4:	8b 09                	mov    (%ecx),%ecx
5174e6:	47                   	inc    %edi
5174e7:	85 c9                	test   %ecx,%ecx
5174e9:	75 f9                	jne    0x5174e4
5174eb:	8b 86 38 01 00 00    	mov    0x138(%esi),%eax
5174f1:	33 d2                	xor    %edx,%edx
5174f3:	85 c0                	test   %eax,%eax
5174f5:	74 07                	je     0x5174fe
5174f7:	8b 00                	mov    (%eax),%eax
5174f9:	42                   	inc    %edx
5174fa:	85 c0                	test   %eax,%eax
5174fc:	75 f9                	jne    0x5174f7
5174fe:	8b 86 3c 01 00 00    	mov    0x13c(%esi),%eax
517504:	33 c9                	xor    %ecx,%ecx
517506:	85 c0                	test   %eax,%eax
517508:	74 0d                	je     0x517517
51750a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
517510:	8b 00                	mov    (%eax),%eax
517512:	41                   	inc    %ecx
517513:	85 c0                	test   %eax,%eax
517515:	75 f9                	jne    0x517510
517517:	8b 86 40 01 00 00    	mov    0x140(%esi),%eax
51751d:	03 f9                	add    %ecx,%edi
51751f:	33 c9                	xor    %ecx,%ecx
517521:	85 c0                	test   %eax,%eax
517523:	74 07                	je     0x51752c
517525:	8b 00                	mov    (%eax),%eax
517527:	41                   	inc    %ecx
517528:	85 c0                	test   %eax,%eax
51752a:	75 f9                	jne    0x517525
51752c:	8b 86 24 01 00 00    	mov    0x124(%esi),%eax
517532:	2b c1                	sub    %ecx,%eax
517534:	2b c2                	sub    %edx,%eax
517536:	2b c7                	sub    %edi,%eax
517538:	85 c0                	test   %eax,%eax
51753a:	7e 0c                	jle    0x517548
51753c:	5f                   	pop    %edi
51753d:	5e                   	pop    %esi
51753e:	b8 05 00 00 00       	mov    $0x5,%eax
517543:	5b                   	pop    %ebx
517544:	8b e5                	mov    %ebp,%esp
517546:	5d                   	pop    %ebp
517547:	c3                   	ret
517548:	80 be 20 01 00 00 00 	cmpb   $0x0,0x120(%esi)
51754f:	74 0e                	je     0x51755f
517551:	ff b6 48 01 00 00    	push   0x148(%esi)
517557:	e8 34 38 fd ff       	call   0x4ead90
51755c:	83 c4 04             	add    $0x4,%esp
51755f:	8b 55 0c             	mov    0xc(%ebp),%edx
517562:	83 e3 f8             	and    $0xfffffff8,%ebx
517565:	83 fb 04             	cmp    $0x4,%ebx
517568:	0f 8e c9 00 00 00    	jle    0x517637
51756e:	85 db                	test   %ebx,%ebx
517570:	0f 84 c1 00 00 00    	je     0x517637
517576:	8b 4d 14             	mov    0x14(%ebp),%ecx
517579:	33 c0                	xor    %eax,%eax
51757b:	85 c9                	test   %ecx,%ecx
51757d:	0f 49 c1             	cmovns %ecx,%eax
517580:	85 c0                	test   %eax,%eax
517582:	0f 84 af 00 00 00    	je     0x517637
517588:	85 d2                	test   %edx,%edx
51758a:	75 3f                	jne    0x5175cb
51758c:	a1 70 00 73 00       	mov    0x730070,%eax
517591:	85 c0                	test   %eax,%eax
517593:	74 02                	je     0x517597
517595:	ff d0                	call   *%eax
517597:	ff 75 10             	push   0x10(%ebp)
51759a:	ff 75 fc             	push   -0x4(%ebp)
51759d:	e8 be 99 01 00       	call   0x530f60
5175a2:	8b f8                	mov    %eax,%edi
5175a4:	83 c4 08             	add    $0x8,%esp
5175a7:	a1 74 00 73 00       	mov    0x730074,%eax
5175ac:	85 c0                	test   %eax,%eax
5175ae:	74 02                	je     0x5175b2
5175b0:	ff d0                	call   *%eax
5175b2:	85 ff                	test   %edi,%edi
5175b4:	74 17                	je     0x5175cd
5175b6:	57                   	push   %edi
5175b7:	ff 15 3c 18 72 00    	call   *0x72183c
5175bd:	99                   	cltd
5175be:	83 c4 04             	add    $0x4,%esp
5175c1:	8b c8                	mov    %eax,%ecx
5175c3:	89 55 10             	mov    %edx,0x10(%ebp)
5175c6:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5175c9:	eb 05                	jmp    0x5175d0
5175cb:	8b fa                	mov    %edx,%edi
5175cd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5175d0:	81 fb 80 01 00 00    	cmp    $0x180,%ebx
5175d6:	7c 08                	jl     0x5175e0
5175d8:	8d 83 80 01 00 00    	lea    0x180(%ebx),%eax
5175de:	eb 0e                	jmp    0x5175ee
5175e0:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
5175e6:	7c 39                	jl     0x517621
5175e8:	8d 83 80 00 00 00    	lea    0x80(%ebx),%eax
5175ee:	99                   	cltd
5175ef:	52                   	push   %edx
5175f0:	50                   	push   %eax
5175f1:	ff 75 10             	push   0x10(%ebp)
5175f4:	51                   	push   %ecx
5175f5:	e8 46 a5 0c 00       	call   0x5e1b40
5175fa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5175fd:	89 45 08             	mov    %eax,0x8(%ebp)
517600:	0f af c3             	imul   %ebx,%eax
517603:	6a 00                	push   $0x0
517605:	68 80 00 00 00       	push   $0x80
51760a:	99                   	cltd
51760b:	2b c8                	sub    %eax,%ecx
51760d:	8b 45 10             	mov    0x10(%ebp),%eax
517610:	1b c2                	sbb    %edx,%eax
517612:	50                   	push   %eax
517613:	51                   	push   %ecx
517614:	e8 27 a5 0c 00       	call   0x5e1b40
517619:	8b 55 08             	mov    0x8(%ebp),%edx
51761c:	89 45 14             	mov    %eax,0x14(%ebp)
51761f:	eb 23                	jmp    0x517644
517621:	85 db                	test   %ebx,%ebx
517623:	7e 16                	jle    0x51763b
517625:	8b c3                	mov    %ebx,%eax
517627:	99                   	cltd
517628:	52                   	push   %edx
517629:	50                   	push   %eax
51762a:	ff 75 10             	push   0x10(%ebp)
51762d:	51                   	push   %ecx
51762e:	e8 0d a5 0c 00       	call   0x5e1b40
517633:	8b d0                	mov    %eax,%edx
517635:	eb 06                	jmp    0x51763d
517637:	33 db                	xor    %ebx,%ebx
517639:	33 ff                	xor    %edi,%edi
51763b:	33 d2                	xor    %edx,%edx
51763d:	c7 45 14 00 00 00 00 	movl   $0x0,0x14(%ebp)
517644:	89 be 48 01 00 00    	mov    %edi,0x148(%esi)
51764a:	c7 86 34 01 00 00 00 	movl   $0x0,0x134(%esi)
517651:	00 00 00
517654:	c7 86 38 01 00 00 00 	movl   $0x0,0x138(%esi)
51765b:	00 00 00
51765e:	66 89 9e 1c 01 00 00 	mov    %bx,0x11c(%esi)
517665:	66 89 9e 1e 01 00 00 	mov    %bx,0x11e(%esi)
51766c:	85 ff                	test   %edi,%edi
51766e:	0f 84 91 00 00 00    	je     0x517705
517674:	85 d2                	test   %edx,%edx
517676:	7e 1d                	jle    0x517695
517678:	8b ca                	mov    %edx,%ecx
51767a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
517680:	8b 86 34 01 00 00    	mov    0x134(%esi),%eax
517686:	89 07                	mov    %eax,(%edi)
517688:	89 be 34 01 00 00    	mov    %edi,0x134(%esi)
51768e:	03 fb                	add    %ebx,%edi
517690:	83 e9 01             	sub    $0x1,%ecx
517693:	75 eb                	jne    0x517680
517695:	8b 5d 14             	mov    0x14(%ebp),%ebx
517698:	c7 86 3c 01 00 00 00 	movl   $0x0,0x13c(%esi)
51769f:	00 00 00
5176a2:	c7 86 40 01 00 00 00 	movl   $0x0,0x140(%esi)
5176a9:	00 00 00
5176ac:	89 be 44 01 00 00    	mov    %edi,0x144(%esi)
5176b2:	85 db                	test   %ebx,%ebx
5176b4:	7e 20                	jle    0x5176d6
5176b6:	8b cb                	mov    %ebx,%ecx
5176b8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
5176bf:	00
5176c0:	8b 86 3c 01 00 00    	mov    0x13c(%esi),%eax
5176c6:	89 07                	mov    %eax,(%edi)
5176c8:	89 be 3c 01 00 00    	mov    %edi,0x13c(%esi)
5176ce:	83 ef 80             	sub    $0xffffff80,%edi
5176d1:	83 e9 01             	sub    $0x1,%ecx
5176d4:	75 ea                	jne    0x5176c0
5176d6:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5176da:	89 be 4c 01 00 00    	mov    %edi,0x14c(%esi)
5176e0:	0f 94 c0             	sete   %al
5176e3:	c7 86 18 01 00 00 00 	movl   $0x0,0x118(%esi)
5176ea:	00 00 00
5176ed:	88 86 20 01 00 00    	mov    %al,0x120(%esi)
5176f3:	8d 04 13             	lea    (%ebx,%edx,1),%eax
5176f6:	5f                   	pop    %edi
5176f7:	89 86 24 01 00 00    	mov    %eax,0x124(%esi)
5176fd:	33 c0                	xor    %eax,%eax
5176ff:	5e                   	pop    %esi
517700:	5b                   	pop    %ebx
517701:	8b e5                	mov    %ebp,%esp
517703:	5d                   	pop    %ebp
517704:	c3                   	ret
517705:	33 c0                	xor    %eax,%eax
517707:	89 b6 48 01 00 00    	mov    %esi,0x148(%esi)
51770d:	5f                   	pop    %edi
51770e:	c7 86 3c 01 00 00 00 	movl   $0x0,0x13c(%esi)
517715:	00 00 00
517718:	c7 86 40 01 00 00 00 	movl   $0x0,0x140(%esi)
51771f:	00 00 00
517722:	89 b6 44 01 00 00    	mov    %esi,0x144(%esi)
517728:	89 b6 4c 01 00 00    	mov    %esi,0x14c(%esi)
51772e:	c7 86 18 01 00 00 01 	movl   $0x1,0x118(%esi)
517735:	00 00 00
517738:	66 89 86 1c 01 00 00 	mov    %ax,0x11c(%esi)
51773f:	88 86 20 01 00 00    	mov    %al,0x120(%esi)
517745:	89 86 24 01 00 00    	mov    %eax,0x124(%esi)
51774b:	5e                   	pop    %esi
51774c:	5b                   	pop    %ebx
51774d:	8b e5                	mov    %ebp,%esp
51774f:	5d                   	pop    %ebp
517750:	c3                   	ret
517751:	cc                   	int3
517752:	cc                   	int3
517753:	cc                   	int3
517754:	cc                   	int3
517755:	cc                   	int3
517756:	cc                   	int3
517757:	cc                   	int3
517758:	cc                   	int3
517759:	cc                   	int3
51775a:	cc                   	int3
51775b:	cc                   	int3
51775c:	cc                   	int3
51775d:	cc                   	int3
51775e:	cc                   	int3
51775f:	cc                   	int3
517760:	55                   	push   %ebp
517761:	8b ec                	mov    %esp,%ebp
517763:	8b 45 08             	mov    0x8(%ebp),%eax
517766:	85 c0                	test   %eax,%eax
517768:	79 10                	jns    0x51777a
51776a:	3d 00 00 00 80       	cmp    $0x80000000,%eax
51776f:	75 07                	jne    0x517778
517771:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
517776:	5d                   	pop    %ebp
517777:	c3                   	ret
517778:	f7 d8                	neg    %eax
51777a:	5d                   	pop    %ebp
51777b:	c3                   	ret
51777c:	cc                   	int3
51777d:	cc                   	int3
51777e:	cc                   	int3
51777f:	cc                   	int3
517780:	55                   	push   %ebp
517781:	8b ec                	mov    %esp,%ebp
517783:	56                   	push   %esi
517784:	8b 75 08             	mov    0x8(%ebp),%esi
517787:	57                   	push   %edi
517788:	8b be e4 00 00 00    	mov    0xe4(%esi),%edi
51778e:	8b 16                	mov    (%esi),%edx
517790:	85 ff                	test   %edi,%edi
517792:	74 4e                	je     0x5177e2
517794:	80 be c8 00 00 00 01 	cmpb   $0x1,0xc8(%esi)
51779b:	74 45                	je     0x5177e2
51779d:	0f b6 8a a4 00 00 00 	movzbl 0xa4(%edx),%ecx
5177a4:	8b 42 10             	mov    0x10(%edx),%eax
5177a7:	03 c9                	add    %ecx,%ecx
5177a9:	8b 44 c8 04          	mov    0x4(%eax,%ecx,8),%eax
5177ad:	8b 40 04             	mov    0x4(%eax),%eax
5177b0:	f6 40 16 01          	testb  $0x1,0x16(%eax)
5177b4:	75 2c                	jne    0x5177e2
5177b6:	ff 75 0c             	push   0xc(%ebp)
5177b9:	ff 77 18             	push   0x18(%edi)
5177bc:	56                   	push   %esi
5177bd:	e8 be fd 00 00       	call   0x527580
5177c2:	83 c4 0c             	add    $0xc,%esp
5177c5:	89 47 18             	mov    %eax,0x18(%edi)
5177c8:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
5177cc:	74 10                	je     0x5177de
5177ce:	6a 01                	push   $0x1
5177d0:	8d 4e 48             	lea    0x48(%esi),%ecx
5177d3:	51                   	push   %ecx
5177d4:	50                   	push   %eax
5177d5:	56                   	push   %esi
5177d6:	e8 85 02 01 00       	call   0x527a60
5177db:	83 c4 10             	add    $0x10,%esp
5177de:	5f                   	pop    %edi
5177df:	5e                   	pop    %esi
5177e0:	5d                   	pop    %ebp
5177e1:	c3                   	ret
5177e2:	8b 45 0c             	mov    0xc(%ebp),%eax
5177e5:	85 c0                	test   %eax,%eax
5177e7:	74 f5                	je     0x5177de
5177e9:	5f                   	pop    %edi
5177ea:	5e                   	pop    %esi
5177eb:	89 45 0c             	mov    %eax,0xc(%ebp)
5177ee:	89 55 08             	mov    %edx,0x8(%ebp)
5177f1:	5d                   	pop    %ebp
5177f2:	e9 b9 ef 00 00       	jmp    0x5267b0
5177f7:	cc                   	int3
5177f8:	cc                   	int3
5177f9:	cc                   	int3
5177fa:	cc                   	int3
5177fb:	cc                   	int3
5177fc:	cc                   	int3
5177fd:	cc                   	int3
5177fe:	cc                   	int3
5177ff:	cc                   	int3
517800:	55                   	push   %ebp
517801:	8b ec                	mov    %esp,%ebp
517803:	51                   	push   %ecx
517804:	53                   	push   %ebx
517805:	8b 5d 08             	mov    0x8(%ebp),%ebx
517808:	56                   	push   %esi
517809:	8b b3 e4 00 00 00    	mov    0xe4(%ebx),%esi
51780f:	85 f6                	test   %esi,%esi
517811:	0f 84 8d 00 00 00    	je     0x5178a4
517817:	8b 03                	mov    (%ebx),%eax
517819:	57                   	push   %edi
51781a:	ff 75 0c             	push   0xc(%ebp)
51781d:	0f bf 7e 2a          	movswl 0x2a(%esi),%edi
517821:	50                   	push   %eax
517822:	4f                   	dec    %edi
517823:	89 45 fc             	mov    %eax,-0x4(%ebp)
517826:	e8 05 9e 01 00       	call   0x531630
51782b:	83 c4 08             	add    $0x8,%esp
51782e:	89 45 08             	mov    %eax,0x8(%ebp)
517831:	85 c0                	test   %eax,%eax
517833:	74 6e                	je     0x5178a3
517835:	50                   	push   %eax
517836:	53                   	push   %ebx
517837:	e8 44 92 01 00       	call   0x530a80
51783c:	83 c4 08             	add    $0x8,%esp
51783f:	85 c0                	test   %eax,%eax
517841:	74 51                	je     0x517894
517843:	8b 46 04             	mov    0x4(%esi),%eax
517846:	8d 1c bf             	lea    (%edi,%edi,4),%ebx
517849:	8b 44 98 08          	mov    0x8(%eax,%ebx,4),%eax
51784d:	85 c0                	test   %eax,%eax
51784f:	74 0c                	je     0x51785d
517851:	50                   	push   %eax
517852:	ff 75 fc             	push   -0x4(%ebp)
517855:	e8 16 9b 00 00       	call   0x521370
51785a:	83 c4 08             	add    $0x8,%esp
51785d:	8b 46 04             	mov    0x4(%esi),%eax
517860:	8b 4d 08             	mov    0x8(%ebp),%ecx
517863:	89 4c 98 08          	mov    %ecx,0x8(%eax,%ebx,4)
517867:	8b 46 08             	mov    0x8(%esi),%eax
51786a:	85 c0                	test   %eax,%eax
51786c:	74 35                	je     0x5178a3
51786e:	66 90                	xchg   %ax,%ax