541601:	57                   	push   %edi
541602:	ff 75 08             	push   0x8(%ebp)
541605:	e8 56 ff fd ff       	call   0x521560
54160a:	83 c4 10             	add    $0x10,%esp
54160d:	85 c0                	test   %eax,%eax
54160f:	74 3f                	je     0x541650
541611:	85 ff                	test   %edi,%edi
541613:	75 07                	jne    0x54161c
541615:	c7 40 04 02 00 00 00 	movl   $0x2,0x4(%eax)
54161c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54161f:	8b f8                	mov    %eax,%edi
541621:	89 08                	mov    %ecx,(%eax)
541623:	8b 4f 04             	mov    0x4(%edi),%ecx
541626:	8b 45 18             	mov    0x18(%ebp),%eax
541629:	89 04 8f             	mov    %eax,(%edi,%ecx,4)
54162c:	8d 71 02             	lea    0x2(%ecx),%esi
54162f:	89 5c 8f 04          	mov    %ebx,0x4(%edi,%ecx,4)
541633:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
541636:	8b 5d 14             	mov    0x14(%ebp),%ebx
541639:	8d 34 b7             	lea    (%edi,%esi,4),%esi
54163c:	53                   	push   %ebx
54163d:	ff 75 10             	push   0x10(%ebp)
541640:	89 47 04             	mov    %eax,0x4(%edi)
541643:	56                   	push   %esi
541644:	e8 b7 18 0a 00       	call   0x5e2f00
541649:	83 c4 0c             	add    $0xc,%esp
54164c:	c6 04 1e 00          	movb   $0x0,(%esi,%ebx,1)
541650:	8b c7                	mov    %edi,%eax
541652:	5f                   	pop    %edi
541653:	5e                   	pop    %esi
541654:	5b                   	pop    %ebx
541655:	5d                   	pop    %ebp
541656:	c3                   	ret
541657:	cc                   	int3
541658:	cc                   	int3
541659:	cc                   	int3
54165a:	cc                   	int3
54165b:	cc                   	int3
54165c:	cc                   	int3
54165d:	cc                   	int3
54165e:	cc                   	int3
54165f:	cc                   	int3
541660:	55                   	push   %ebp
541661:	8b ec                	mov    %esp,%ebp
541663:	57                   	push   %edi
541664:	8b 7d 08             	mov    0x8(%ebp),%edi
541667:	85 ff                	test   %edi,%edi
541669:	75 05                	jne    0x541670
54166b:	33 c0                	xor    %eax,%eax
54166d:	5f                   	pop    %edi
54166e:	5d                   	pop    %ebp
54166f:	c3                   	ret
541670:	8b 47 04             	mov    0x4(%edi),%eax
541673:	56                   	push   %esi
541674:	89 45 08             	mov    %eax,0x8(%ebp)
541677:	be 02 00 00 00       	mov    $0x2,%esi
54167c:	8b 45 10             	mov    0x10(%ebp),%eax
54167f:	53                   	push   %ebx
541680:	50                   	push   %eax
541681:	ff 75 0c             	push   0xc(%ebp)
541684:	8d 5f 08             	lea    0x8(%edi),%ebx
541687:	8d 1c b3             	lea    (%ebx,%esi,4),%ebx
54168a:	53                   	push   %ebx
54168b:	e8 d0 84 0b 00       	call   0x5f9b60
541690:	83 c4 0c             	add    $0xc,%esp
541693:	85 c0                	test   %eax,%eax
541695:	8b 45 10             	mov    0x10(%ebp),%eax
541698:	75 06                	jne    0x5416a0
54169a:	80 3c 03 00          	cmpb   $0x0,(%ebx,%eax,1)
54169e:	74 10                	je     0x5416b0
5416a0:	03 74 b7 04          	add    0x4(%edi,%esi,4),%esi
5416a4:	3b 75 08             	cmp    0x8(%ebp),%esi
5416a7:	7c d7                	jl     0x541680
5416a9:	5b                   	pop    %ebx
5416aa:	5e                   	pop    %esi
5416ab:	33 c0                	xor    %eax,%eax
5416ad:	5f                   	pop    %edi
5416ae:	5d                   	pop    %ebp
5416af:	c3                   	ret
5416b0:	8b 04 b7             	mov    (%edi,%esi,4),%eax
5416b3:	5b                   	pop    %ebx
5416b4:	5e                   	pop    %esi
5416b5:	5f                   	pop    %edi
5416b6:	5d                   	pop    %ebp
5416b7:	c3                   	ret
5416b8:	cc                   	int3
5416b9:	cc                   	int3
5416ba:	cc                   	int3
5416bb:	cc                   	int3
5416bc:	cc                   	int3
5416bd:	cc                   	int3
5416be:	cc                   	int3
5416bf:	cc                   	int3
5416c0:	55                   	push   %ebp
5416c1:	8b ec                	mov    %esp,%ebp
5416c3:	8b 55 08             	mov    0x8(%ebp),%edx
5416c6:	85 d2                	test   %edx,%edx
5416c8:	75 04                	jne    0x5416ce
5416ca:	33 c0                	xor    %eax,%eax
5416cc:	5d                   	pop    %ebp
5416cd:	c3                   	ret
5416ce:	56                   	push   %esi
5416cf:	8b 72 04             	mov    0x4(%edx),%esi
5416d2:	b8 02 00 00 00       	mov    $0x2,%eax
5416d7:	57                   	push   %edi
5416d8:	8b 7d 0c             	mov    0xc(%ebp),%edi
5416db:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5416e0:	39 3c 82             	cmp    %edi,(%edx,%eax,4)
5416e3:	8d 0c 82             	lea    (%edx,%eax,4),%ecx
5416e6:	74 0d                	je     0x5416f5
5416e8:	03 41 04             	add    0x4(%ecx),%eax
5416eb:	3b c6                	cmp    %esi,%eax
5416ed:	7c f1                	jl     0x5416e0
5416ef:	5f                   	pop    %edi
5416f0:	33 c0                	xor    %eax,%eax
5416f2:	5e                   	pop    %esi
5416f3:	5d                   	pop    %ebp
5416f4:	c3                   	ret
5416f5:	83 c0 02             	add    $0x2,%eax
5416f8:	5f                   	pop    %edi
5416f9:	5e                   	pop    %esi
5416fa:	8d 04 82             	lea    (%edx,%eax,4),%eax
5416fd:	5d                   	pop    %ebp
5416fe:	c3                   	ret
5416ff:	cc                   	int3
541700:	55                   	push   %ebp
541701:	8b ec                	mov    %esp,%ebp
541703:	83 ec 64             	sub    $0x64,%esp
541706:	a1 d4 89 72 00       	mov    0x7289d4,%eax
54170b:	33 c5                	xor    %ebp,%eax
54170d:	89 45 fc             	mov    %eax,-0x4(%ebp)
541710:	8b 4d 10             	mov    0x10(%ebp),%ecx
541713:	8d 45 b4             	lea    -0x4c(%ebp),%eax
541716:	8b 55 0c             	mov    0xc(%ebp),%edx
541719:	56                   	push   %esi
54171a:	8b 75 08             	mov    0x8(%ebp),%esi
54171d:	89 45 a0             	mov    %eax,-0x60(%ebp)
541720:	51                   	push   %ecx
541721:	52                   	push   %edx
541722:	8b 46 6c             	mov    0x6c(%esi),%eax
541725:	89 45 a8             	mov    %eax,-0x58(%ebp)
541728:	8d 45 9c             	lea    -0x64(%ebp),%eax
54172b:	50                   	push   %eax
54172c:	89 75 9c             	mov    %esi,-0x64(%ebp)
54172f:	c7 45 a4 46 00 00 00 	movl   $0x46,-0x5c(%ebp)
541736:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
54173d:	66 c7 45 b0 00 01    	movw   $0x100,-0x50(%ebp)
541743:	e8 48 c8 fa ff       	call   0x4edf90
541748:	8b 4d a0             	mov    -0x60(%ebp),%ecx
54174b:	83 c4 0c             	add    $0xc,%esp
54174e:	85 c9                	test   %ecx,%ecx
541750:	74 21                	je     0x541773
541752:	83 7d a8 00          	cmpl   $0x0,-0x58(%ebp)
541756:	8b 45 ac             	mov    -0x54(%ebp),%eax
541759:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
54175d:	76 14                	jbe    0x541773
54175f:	f6 45 b1 04          	testb  $0x4,-0x4f(%ebp)
541763:	75 0e                	jne    0x541773
541765:	8d 45 9c             	lea    -0x64(%ebp),%eax
541768:	50                   	push   %eax
541769:	e8 f2 61 01 00       	call   0x557960
54176e:	83 c4 04             	add    $0x4,%esp
541771:	8b c8                	mov    %eax,%ecx
541773:	80 7d b0 07          	cmpb   $0x7,-0x50(%ebp)
541777:	75 43                	jne    0x5417bc
541779:	80 7e 51 00          	cmpb   $0x0,0x51(%esi)
54177d:	75 3d                	jne    0x5417bc
54177f:	80 7e 52 00          	cmpb   $0x0,0x52(%esi)
541783:	75 37                	jne    0x5417bc
541785:	83 be bc 00 00 00 00 	cmpl   $0x0,0xbc(%esi)
54178c:	c6 46 51 01          	movb   $0x1,0x51(%esi)
541790:	7e 0a                	jle    0x54179c
541792:	c7 86 10 01 00 00 01 	movl   $0x1,0x110(%esi)
541799:	00 00 00
54179c:	ff 86 18 01 00 00    	incl   0x118(%esi)
5417a2:	33 c0                	xor    %eax,%eax
5417a4:	66 89 86 1c 01 00 00 	mov    %ax,0x11c(%esi)
5417ab:	8b 86 f4 00 00 00    	mov    0xf4(%esi),%eax
5417b1:	85 c0                	test   %eax,%eax
5417b3:	74 07                	je     0x5417bc
5417b5:	c7 40 0c 07 00 00 00 	movl   $0x7,0xc(%eax)
5417bc:	8b c1                	mov    %ecx,%eax
5417be:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5417c1:	33 cd                	xor    %ebp,%ecx
5417c3:	5e                   	pop    %esi
5417c4:	e8 11 fd 09 00       	call   0x5e14da
5417c9:	8b e5                	mov    %ebp,%esp
5417cb:	5d                   	pop    %ebp
5417cc:	c3                   	ret
5417cd:	cc                   	int3
5417ce:	cc                   	int3
5417cf:	cc                   	int3
5417d0:	55                   	push   %ebp
5417d1:	8b ec                	mov    %esp,%ebp
5417d3:	83 ec 0c             	sub    $0xc,%esp
5417d6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5417db:	33 c5                	xor    %ebp,%eax
5417dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
5417e0:	8b 45 0c             	mov    0xc(%ebp),%eax
5417e3:	53                   	push   %ebx
5417e4:	56                   	push   %esi
5417e5:	8b 75 08             	mov    0x8(%ebp),%esi
5417e8:	57                   	push   %edi
5417e9:	8b 7d 10             	mov    0x10(%ebp),%edi
5417ec:	89 45 f4             	mov    %eax,-0xc(%ebp)
5417ef:	8b 5e 08             	mov    0x8(%esi),%ebx
5417f2:	85 db                	test   %ebx,%ebx
5417f4:	75 1f                	jne    0x541815
5417f6:	39 5e 74             	cmp    %ebx,0x74(%esi)
5417f9:	75 0c                	jne    0x541807
5417fb:	8b 06                	mov    (%esi),%eax
5417fd:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
541801:	75 04                	jne    0x541807
541803:	c6 46 17 01          	movb   $0x1,0x17(%esi)
541807:	56                   	push   %esi
541808:	e8 03 0c 00 00       	call   0x542410
54180d:	8b d8                	mov    %eax,%ebx
54180f:	83 c4 04             	add    $0x4,%esp
541812:	8b 45 f4             	mov    -0xc(%ebp),%eax
541815:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
54181c:	85 db                	test   %ebx,%ebx
54181e:	74 6f                	je     0x54188f
541820:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
541824:	75 69                	jne    0x54188f
541826:	85 c0                	test   %eax,%eax
541828:	74 1b                	je     0x541845
54182a:	8d 4d f8             	lea    -0x8(%ebp),%ecx
54182d:	51                   	push   %ecx
54182e:	50                   	push   %eax
54182f:	50                   	push   %eax
541830:	56                   	push   %esi
541831:	e8 aa ce ff ff       	call   0x53e6e0
541836:	83 c4 10             	add    $0x10,%esp
541839:	89 45 f4             	mov    %eax,-0xc(%ebp)
54183c:	85 c0                	test   %eax,%eax
54183e:	78 4f                	js     0x54188f
541840:	83 f8 01             	cmp    $0x1,%eax
541843:	74 4a                	je     0x54188f
541845:	33 c0                	xor    %eax,%eax
541847:	85 ff                	test   %edi,%edi
541849:	74 2c                	je     0x541877
54184b:	50                   	push   %eax
54184c:	57                   	push   %edi
54184d:	50                   	push   %eax
54184e:	50                   	push   %eax
54184f:	56                   	push   %esi
541850:	e8 2b 6c ff ff       	call   0x538480
541855:	83 c4 14             	add    $0x14,%esp
541858:	85 c0                	test   %eax,%eax
54185a:	75 19                	jne    0x541875
54185c:	ff 46 2c             	incl   0x2c(%esi)
54185f:	8b 46 2c             	mov    0x2c(%esi),%eax
541862:	50                   	push   %eax
541863:	57                   	push   %edi
541864:	56                   	push   %esi
541865:	89 45 f8             	mov    %eax,-0x8(%ebp)
541868:	e8 63 23 fe ff       	call   0x523bd0
54186d:	8b 45 f8             	mov    -0x8(%ebp),%eax
541870:	83 c4 0c             	add    $0xc,%esp
541873:	eb 02                	jmp    0x541877
541875:	33 c0                	xor    %eax,%eax
541877:	50                   	push   %eax
541878:	ff 75 f4             	push   -0xc(%ebp)
54187b:	6a 08                	push   $0x8
54187d:	53                   	push   %ebx
54187e:	e8 5d 02 00 00       	call   0x541ae0
541883:	ff 75 f4             	push   -0xc(%ebp)
541886:	53                   	push   %ebx
541887:	e8 64 c2 00 00       	call   0x54daf0
54188c:	83 c4 18             	add    $0x18,%esp
54188f:	85 ff                	test   %edi,%edi
541891:	74 0b                	je     0x54189e
541893:	57                   	push   %edi
541894:	ff 36                	push   (%esi)
541896:	e8 15 4f fe ff       	call   0x5267b0
54189b:	83 c4 08             	add    $0x8,%esp
54189e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5418a1:	5f                   	pop    %edi
5418a2:	5e                   	pop    %esi
5418a3:	33 cd                	xor    %ebp,%ecx
5418a5:	5b                   	pop    %ebx
5418a6:	e8 2f fc 09 00       	call   0x5e14da
5418ab:	8b e5                	mov    %ebp,%esp
5418ad:	5d                   	pop    %ebp
5418ae:	c3                   	ret
5418af:	cc                   	int3
5418b0:	55                   	push   %ebp
5418b1:	8b ec                	mov    %esp,%ebp
5418b3:	56                   	push   %esi
5418b4:	8b 75 08             	mov    0x8(%ebp),%esi
5418b7:	85 f6                	test   %esi,%esi
5418b9:	74 0f                	je     0x5418ca
5418bb:	6a 00                	push   $0x0
5418bd:	6a 28                	push   $0x28
5418bf:	56                   	push   %esi
5418c0:	e8 1b fb fd ff       	call   0x5213e0
5418c5:	83 c4 0c             	add    $0xc,%esp
5418c8:	eb 4f                	jmp    0x541919
5418ca:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
5418d1:	74 3b                	je     0x54190e
5418d3:	a1 90 ff 72 00       	mov    0x72ff90,%eax
5418d8:	85 c0                	test   %eax,%eax
5418da:	74 0a                	je     0x5418e6
5418dc:	50                   	push   %eax
5418dd:	ff 15 60 18 72 00    	call   *0x721860
5418e3:	83 c4 04             	add    $0x4,%esp
5418e6:	8d 45 08             	lea    0x8(%ebp),%eax
5418e9:	50                   	push   %eax
5418ea:	6a 28                	push   $0x28
5418ec:	e8 0f 7a fc ff       	call   0x509300
5418f1:	a1 90 ff 72 00       	mov    0x72ff90,%eax
5418f6:	83 c4 08             	add    $0x8,%esp
5418f9:	85 c0                	test   %eax,%eax
5418fb:	74 0c                	je     0x541909
5418fd:	50                   	push   %eax
5418fe:	ff 15 68 18 72 00    	call   *0x721868
541904:	8b 45 08             	mov    0x8(%ebp),%eax
541907:	eb 0d                	jmp    0x541916
541909:	8b 45 08             	mov    0x8(%ebp),%eax
54190c:	eb 0b                	jmp    0x541919
54190e:	6a 28                	push   $0x28
541910:	ff 15 30 18 72 00    	call   *0x721830
541916:	83 c4 04             	add    $0x4,%esp
541919:	85 c0                	test   %eax,%eax
54191b:	74 1b                	je     0x541938
54191d:	0f 57 c0             	xorps  %xmm0,%xmm0
541920:	b9 01 00 00 00       	mov    $0x1,%ecx
541925:	0f 11 00             	movups %xmm0,(%eax)
541928:	0f 11 40 10          	movups %xmm0,0x10(%eax)
54192c:	66 0f d6 40 20       	movq   %xmm0,0x20(%eax)
541931:	66 89 48 08          	mov    %cx,0x8(%eax)
541935:	89 70 20             	mov    %esi,0x20(%eax)
541938:	5e                   	pop    %esi
541939:	5d                   	pop    %ebp
54193a:	c3                   	ret
54193b:	cc                   	int3
54193c:	cc                   	int3
54193d:	cc                   	int3
54193e:	cc                   	int3
54193f:	cc                   	int3
541940:	55                   	push   %ebp
541941:	8b ec                	mov    %esp,%ebp
541943:	8b 4d 0c             	mov    0xc(%ebp),%ecx
541946:	56                   	push   %esi
541947:	8b 75 08             	mov    0x8(%ebp),%esi
54194a:	0f ac ce 07          	shrd   $0x7,%ecx,%esi
54194e:	57                   	push   %edi
54194f:	c1 e9 07             	shr    $0x7,%ecx
541952:	8b c6                	mov    %esi,%eax
541954:	0b c1                	or     %ecx,%eax