5416f2:	e8 79 36 ec ff       	call   0x404d70
5416f7:	8b c8                	mov    %eax,%ecx
5416f9:	8b 55 08             	mov    0x8(%ebp),%edx
5416fc:	8b 52 28             	mov    0x28(%edx),%edx
5416ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
541702:	e8 f5 47 0b 00       	call   0x5f5efc
541707:	43                   	inc    %ebx
541708:	ff 4d b4             	decl   -0x4c(%ebp)
54170b:	75 8e                	jne    0x54169b
54170d:	c6 45 df 00          	movb   $0x0,-0x21(%ebp)
541711:	6a 01                	push   $0x1
541713:	8d 4d df             	lea    -0x21(%ebp),%ecx
541716:	8b 55 08             	mov    0x8(%ebp),%edx
541719:	8b 52 28             	mov    0x28(%edx),%edx
54171c:	8b 45 fc             	mov    -0x4(%ebp),%eax
54171f:	e8 d8 47 0b 00       	call   0x5f5efc
541724:	c6 45 df 3b          	movb   $0x3b,-0x21(%ebp)
541728:	6a 01                	push   $0x1
54172a:	8d 4d df             	lea    -0x21(%ebp),%ecx
54172d:	8b 55 08             	mov    0x8(%ebp),%edx
541730:	8b 52 28             	mov    0x28(%edx),%edx
541733:	8b 45 fc             	mov    -0x4(%ebp),%eax
541736:	e8 c1 47 0b 00       	call   0x5f5efc
54173b:	8b 45 08             	mov    0x8(%ebp),%eax
54173e:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
541743:	74 13                	je     0x541758
541745:	8b 5d 08             	mov    0x8(%ebp),%ebx
541748:	8b 55 08             	mov    0x8(%ebp),%edx
54174b:	8b 52 08             	mov    0x8(%edx),%edx
54174e:	b9 64 00 00 00       	mov    $0x64,%ecx
541753:	8b 43 04             	mov    0x4(%ebx),%eax
541756:	ff 13                	call   *(%ebx)
541758:	33 c0                	xor    %eax,%eax
54175a:	5a                   	pop    %edx
54175b:	59                   	pop    %ecx
54175c:	59                   	pop    %ecx
54175d:	64 89 10             	mov    %edx,%fs:(%eax)
541760:	68 80 17 54 00       	push   $0x541780
541765:	8d 85 68 fc ff ff    	lea    -0x398(%ebp),%eax
54176b:	e8 f8 30 ec ff       	call   0x404868
541770:	8d 45 d8             	lea    -0x28(%ebp),%eax
541773:	e8 f0 30 ec ff       	call   0x404868
541778:	c3                   	ret
541779:	e9 8e 2a ec ff       	jmp    0x40420c
54177e:	eb e5                	jmp    0x541765
541780:	5f                   	pop    %edi
541781:	5e                   	pop    %esi
541782:	5b                   	pop    %ebx
541783:	8b e5                	mov    %ebp,%esp
541785:	5d                   	pop    %ebp
541786:	c2 04 00             	ret    $0x4
541789:	8d 40 00             	lea    0x0(%eax),%eax
54178c:	55                   	push   %ebp
54178d:	8b ec                	mov    %esp,%ebp
54178f:	33 c0                	xor    %eax,%eax
541791:	55                   	push   %ebp
541792:	68 b1 17 54 00       	push   $0x5417b1
541797:	64 ff 30             	push   %fs:(%eax)
54179a:	64 89 20             	mov    %esp,%fs:(%eax)
54179d:	ff 05 f4 b3 6a 00    	incl   0x6ab3f4
5417a3:	33 c0                	xor    %eax,%eax
5417a5:	5a                   	pop    %edx
5417a6:	59                   	pop    %ecx
5417a7:	59                   	pop    %ecx
5417a8:	64 89 10             	mov    %edx,%fs:(%eax)
5417ab:	68 b8 17 54 00       	push   $0x5417b8
5417b0:	c3                   	ret
5417b1:	e9 56 2a ec ff       	jmp    0x40420c
5417b6:	eb f8                	jmp    0x5417b0
5417b8:	5d                   	pop    %ebp
5417b9:	c3                   	ret
5417ba:	8b c0                	mov    %eax,%eax
5417bc:	83 2d f4 b3 6a 00 01 	subl   $0x1,0x6ab3f4
5417c3:	c3                   	ret
5417c4:	c6 00 01             	movb   $0x1,(%eax)
5417c7:	e8 14 b6 ec ff       	call   0x40cde0
5417cc:	c3                   	ret
5417cd:	8d 40 00             	lea    0x0(%eax),%eax
5417d0:	c3                   	ret
5417d1:	8d 40 00             	lea    0x0(%eax),%eax
5417d4:	53                   	push   %ebx
5417d5:	56                   	push   %esi
5417d6:	57                   	push   %edi
5417d7:	8b d9                	mov    %ecx,%ebx
5417d9:	8b fa                	mov    %edx,%edi
5417db:	8b f0                	mov    %eax,%esi
5417dd:	8b c6                	mov    %esi,%eax
5417df:	e8 34 da 00 00       	call   0x54f218
5417e4:	8b f0                	mov    %eax,%esi
5417e6:	8b d7                	mov    %edi,%edx
5417e8:	8b cb                	mov    %ebx,%ecx
5417ea:	8b c6                	mov    %esi,%eax
5417ec:	8b 30                	mov    (%eax),%esi
5417ee:	ff 56 08             	call   *0x8(%esi)
5417f1:	3b d8                	cmp    %eax,%ebx
5417f3:	76 05                	jbe    0x5417fa
5417f5:	e8 e6 b5 ec ff       	call   0x40cde0
5417fa:	5f                   	pop    %edi
5417fb:	5e                   	pop    %esi
5417fc:	5b                   	pop    %ebx
5417fd:	c3                   	ret
5417fe:	8b c0                	mov    %eax,%eax
541800:	55                   	push   %ebp
541801:	8b ec                	mov    %esp,%ebp
541803:	81 c4 78 ff ff ff    	add    $0xffffff78,%esp
541809:	53                   	push   %ebx
54180a:	56                   	push   %esi
54180b:	57                   	push   %edi
54180c:	33 db                	xor    %ebx,%ebx
54180e:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
541811:	89 5d 88             	mov    %ebx,-0x78(%ebp)
541814:	8b f1                	mov    %ecx,%esi
541816:	89 55 f8             	mov    %edx,-0x8(%ebp)
541819:	89 45 fc             	mov    %eax,-0x4(%ebp)
54181c:	8b 5d 14             	mov    0x14(%ebp),%ebx
54181f:	33 c0                	xor    %eax,%eax
541821:	55                   	push   %ebp
541822:	68 91 20 54 00       	push   $0x542091
541827:	64 ff 30             	push   %fs:(%eax)
54182a:	64 89 20             	mov    %esp,%fs:(%eax)
54182d:	33 c9                	xor    %ecx,%ecx
54182f:	55                   	push   %ebp
541830:	68 60 20 54 00       	push   $0x542060
541835:	64 ff 31             	push   %fs:(%ecx)
541838:	64 89 21             	mov    %esp,%fs:(%ecx)
54183b:	33 c9                	xor    %ecx,%ecx
54183d:	55                   	push   %ebp
54183e:	68 4f 20 54 00       	push   $0x54204f
541843:	64 ff 31             	push   %fs:(%ecx)
541846:	64 89 21             	mov    %esp,%fs:(%ecx)
541849:	8b 7b 28             	mov    0x28(%ebx),%edi
54184c:	33 c0                	xor    %eax,%eax
54184e:	89 45 f4             	mov    %eax,-0xc(%ebp)
541851:	b8 d0 17 54 00       	mov    $0x5417d0,%eax
541856:	50                   	push   %eax
541857:	b9 c4 17 54 00       	mov    $0x5417c4,%ecx
54185c:	b8 a4 20 54 00       	mov    $0x5420a4,%eax
541861:	8b d7                	mov    %edi,%edx
541863:	e8 94 08 00 00       	call   0x5420fc
541868:	89 45 f4             	mov    %eax,-0xc(%ebp)
54186b:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
54186f:	75 0b                	jne    0x54187c
541871:	8b 43 28             	mov    0x28(%ebx),%eax
541874:	c6 00 01             	movb   $0x1,(%eax)
541877:	e8 64 b5 ec ff       	call   0x40cde0
54187c:	8b 45 f4             	mov    -0xc(%ebp),%eax
54187f:	e8 b4 d4 00 00       	call   0x54ed38
541884:	89 45 f0             	mov    %eax,-0x10(%ebp)
541887:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
54188b:	75 1c                	jne    0x5418a9
54188d:	8d 45 f4             	lea    -0xc(%ebp),%eax
541890:	33 c9                	xor    %ecx,%ecx
541892:	33 d2                	xor    %edx,%edx
541894:	e8 a7 19 00 00       	call   0x543240
541899:	33 c0                	xor    %eax,%eax
54189b:	89 45 f4             	mov    %eax,-0xc(%ebp)
54189e:	8b 43 28             	mov    0x28(%ebx),%eax
5418a1:	c6 00 01             	movb   $0x1,(%eax)
5418a4:	e8 37 b5 ec ff       	call   0x40cde0
5418a9:	b9 d4 17 54 00       	mov    $0x5417d4,%ecx
5418ae:	8b 55 fc             	mov    -0x4(%ebp),%edx
5418b1:	8b 45 f4             	mov    -0xc(%ebp),%eax
5418b4:	e8 bb 93 00 00       	call   0x54ac74
5418b9:	8b 55 f0             	mov    -0x10(%ebp),%edx
5418bc:	8b 45 f4             	mov    -0xc(%ebp),%eax
5418bf:	e8 1c 0b 00 00       	call   0x5423e0
5418c4:	8d 45 e8             	lea    -0x18(%ebp),%eax
5418c7:	50                   	push   %eax
5418c8:	8d 45 dc             	lea    -0x24(%ebp),%eax
5418cb:	50                   	push   %eax
5418cc:	8d 45 d8             	lea    -0x28(%ebp),%eax
5418cf:	50                   	push   %eax
5418d0:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5418d3:	50                   	push   %eax
5418d4:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5418d7:	50                   	push   %eax
5418d8:	8d 45 e0             	lea    -0x20(%ebp),%eax
5418db:	50                   	push   %eax
5418dc:	8d 4d ec             	lea    -0x14(%ebp),%ecx
5418df:	8b 55 f0             	mov    -0x10(%ebp),%edx
5418e2:	8b 45 f4             	mov    -0xc(%ebp),%eax
5418e5:	e8 0a ce 00 00       	call   0x54e6f4
5418ea:	6a 00                	push   $0x0
5418ec:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
5418ef:	8b 55 f0             	mov    -0x10(%ebp),%edx
5418f2:	8b 45 f4             	mov    -0xc(%ebp),%eax
5418f5:	e8 42 d1 00 00       	call   0x54ea3c
5418fa:	8b f8                	mov    %eax,%edi
5418fc:	8b 06                	mov    (%esi),%eax
5418fe:	8b 80 24 01 00 00    	mov    0x124(%eax),%eax
541904:	8b 10                	mov    (%eax),%edx
541906:	ff 52 44             	call   *0x44(%edx)
541909:	8b 06                	mov    (%esi),%eax
54190b:	8b 80 28 01 00 00    	mov    0x128(%eax),%eax
541911:	8b 10                	mov    (%eax),%edx
541913:	ff 52 44             	call   *0x44(%edx)
541916:	4f                   	dec    %edi
541917:	85 ff                	test   %edi,%edi
541919:	7c 49                	jl     0x541964
54191b:	47                   	inc    %edi
54191c:	89 7d 90             	mov    %edi,-0x70(%ebp)
54191f:	8d 45 88             	lea    -0x78(%ebp),%eax
541922:	8b 55 94             	mov    -0x6c(%ebp),%edx
541925:	8b 52 04             	mov    0x4(%edx),%edx
541928:	e8 2b 31 ec ff       	call   0x404a58
54192d:	8b 55 88             	mov    -0x78(%ebp),%edx
541930:	8b 06                	mov    (%esi),%eax
541932:	8b 80 24 01 00 00    	mov    0x124(%eax),%eax
541938:	8b 08                	mov    (%eax),%ecx
54193a:	ff 51 38             	call   *0x38(%ecx)
54193d:	8d 45 84             	lea    -0x7c(%ebp),%eax
541940:	8b 55 94             	mov    -0x6c(%ebp),%edx
541943:	8b 52 08             	mov    0x8(%edx),%edx
541946:	e8 0d 31 ec ff       	call   0x404a58
54194b:	8b 55 84             	mov    -0x7c(%ebp),%edx
54194e:	8b 06                	mov    (%esi),%eax
541950:	8b 80 28 01 00 00    	mov    0x128(%eax),%eax
541956:	8b 08                	mov    (%eax),%ecx
541958:	ff 51 38             	call   *0x38(%ecx)
54195b:	83 45 94 10          	addl   $0x10,-0x6c(%ebp)
54195f:	ff 4d 90             	decl   -0x70(%ebp)
541962:	75 bb                	jne    0x54191f
541964:	8d 45 b7             	lea    -0x49(%ebp),%eax
541967:	ba 09 00 00 00       	mov    $0x9,%edx
54196c:	e8 63 65 ec ff       	call   0x407ed4
541971:	8b 06                	mov    (%esi),%eax
541973:	0f b6 80 1e 01 00 00 	movzbl 0x11e(%eax),%eax
54197a:	8b d0                	mov    %eax,%edx
54197c:	c1 e0 08             	shl    $0x8,%eax
54197f:	03 c2                	add    %edx,%eax
541981:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
541985:	8b 06                	mov    (%esi),%eax
541987:	0f b6 80 1d 01 00 00 	movzbl 0x11d(%eax),%eax
54198e:	8b d0                	mov    %eax,%edx
541990:	c1 e0 08             	shl    $0x8,%eax
541993:	03 c2                	add    %edx,%eax
541995:	66 89 45 ba          	mov    %ax,-0x46(%ebp)
541999:	8b 06                	mov    (%esi),%eax
54199b:	0f b6 80 1c 01 00 00 	movzbl 0x11c(%eax),%eax
5419a2:	8b d0                	mov    %eax,%edx
5419a4:	c1 e0 08             	shl    $0x8,%eax
5419a7:	03 c2                	add    %edx,%eax
5419a9:	66 89 45 bc          	mov    %ax,-0x44(%ebp)
5419ad:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
5419b1:	0f 84 85 00 00 00    	je     0x541a3c
5419b7:	8d 4d b0             	lea    -0x50(%ebp),%ecx
5419ba:	8b 55 f0             	mov    -0x10(%ebp),%edx
5419bd:	8b 45 f4             	mov    -0xc(%ebp),%eax
5419c0:	e8 a3 ca 00 00       	call   0x54e468
5419c5:	85 c0                	test   %eax,%eax
5419c7:	74 58                	je     0x541a21
5419c9:	6a 01                	push   $0x1
5419cb:	68 00 00 f0 3f       	push   $0x3ff00000
5419d0:	6a 00                	push   $0x0
5419d2:	b9 02 00 00 00       	mov    $0x2,%ecx
5419d7:	8b 55 b0             	mov    -0x50(%ebp),%edx
5419da:	8b 45 f4             	mov    -0xc(%ebp),%eax
5419dd:	e8 86 37 00 00       	call   0x545168
5419e2:	8d 45 80             	lea    -0x80(%ebp),%eax
5419e5:	50                   	push   %eax
5419e6:	8b 45 b0             	mov    -0x50(%ebp),%eax
5419e9:	0f b7 48 05          	movzwl 0x5(%eax),%ecx
5419ed:	c1 e9 08             	shr    $0x8,%ecx
5419f0:	8b 45 b0             	mov    -0x50(%ebp),%eax
5419f3:	0f b7 50 03          	movzwl 0x3(%eax),%edx
5419f7:	c1 ea 08             	shr    $0x8,%edx
5419fa:	8b 45 b0             	mov    -0x50(%ebp),%eax
5419fd:	0f b7 40 01          	movzwl 0x1(%eax),%eax
541a01:	c1 e8 08             	shr    $0x8,%eax
541a04:	e8 07 79 06 00       	call   0x5a9310
541a09:	8b 06                	mov    (%esi),%eax
541a0b:	66 8b 55 80          	mov    -0x80(%ebp),%dx
541a0f:	66 89 90 1c 01 00 00 	mov    %dx,0x11c(%eax)
541a16:	8a 55 82             	mov    -0x7e(%ebp),%dl
541a19:	88 90 1e 01 00 00    	mov    %dl,0x11e(%eax)
541a1f:	eb 55                	jmp    0x541a76
541a21:	6a 00                	push   $0x0
541a23:	68 00 00 f0 3f       	push   $0x3ff00000
541a28:	6a 00                	push   $0x0
541a2a:	8d 55 b7             	lea    -0x49(%ebp),%edx
541a2d:	b9 01 00 00 00       	mov    $0x1,%ecx
541a32:	8b 45 f4             	mov    -0xc(%ebp),%eax
541a35:	e8 2e 37 00 00       	call   0x545168
541a3a:	eb 3a                	jmp    0x541a76
541a3c:	8b 45 0c             	mov    0xc(%ebp),%eax
541a3f:	83 38 00             	cmpl   $0x0,(%eax)
541a42:	75 11                	jne    0x541a55
541a44:	b2 01                	mov    $0x1,%dl
541a46:	a1 a4 fd 5e 00       	mov    0x5efda4,%eax
541a4b:	e8 24 11 0b 00       	call   0x5f2b74
541a50:	8b 55 0c             	mov    0xc(%ebp),%edx
541a53:	89 02                	mov    %eax,(%edx)
541a55:	6a 08                	push   $0x8
541a57:	8b 45 0c             	mov    0xc(%ebp),%eax
541a5a:	8b 00                	mov    (%eax),%eax
541a5c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
541a5f:	8b 55 ec             	mov    -0x14(%ebp),%edx
541a62:	e8 d9 14 0b 00       	call   0x5f2f40
541a67:	8b 45 0c             	mov    0xc(%ebp),%eax
541a6a:	8b 00                	mov    (%eax),%eax
541a6c:	ba ff 00 00 00       	mov    $0xff,%edx
541a71:	e8 ae 2c 0b 00       	call   0x5f4724
541a76:	8b 06                	mov    (%esi),%eax
541a78:	80 b8 a5 03 00 00 00 	cmpb   $0x0,0x3a5(%eax)
541a7f:	74 1a                	je     0x541a9b
541a81:	83 7d dc 08          	cmpl   $0x8,-0x24(%ebp)
541a85:	75 14                	jne    0x541a9b
541a87:	83 7d d8 03          	cmpl   $0x3,-0x28(%ebp)
541a8b:	0f 84 8e 00 00 00    	je     0x541b1f
541a91:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
541a95:	0f 84 84 00 00 00    	je     0x541b1f
541a9b:	83 7d d8 03          	cmpl   $0x3,-0x28(%ebp)
541a9f:	75 14                	jne    0x541ab5
541aa1:	83 7d dc 08          	cmpl   $0x8,-0x24(%ebp)
541aa5:	7f 0e                	jg     0x541ab5
541aa7:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
541aab:	7e 08                	jle    0x541ab5
541aad:	8b 45 f4             	mov    -0xc(%ebp),%eax
541ab0:	e8 2b 42 00 00       	call   0x545ce0
541ab5:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
541ab9:	75 14                	jne    0x541acf
541abb:	83 7d dc 08          	cmpl   $0x8,-0x24(%ebp)
541abf:	7d 0e                	jge    0x541acf
541ac1:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
541ac5:	7e 08                	jle    0x541acf
541ac7:	8b 45 f4             	mov    -0xc(%ebp),%eax
541aca:	e8 11 42 00 00       	call   0x545ce0
541acf:	83 7d dc 10          	cmpl   $0x10,-0x24(%ebp)
541ad3:	75 08                	jne    0x541add
541ad5:	8b 45 f4             	mov    -0xc(%ebp),%eax
541ad8:	e8 23 37 00 00       	call   0x545200
541add:	83 7d dc 08          	cmpl   $0x8,-0x24(%ebp)
541ae1:	7d 0e                	jge    0x541af1
541ae3:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
541ae7:	7e 08                	jle    0x541af1
541ae9:	8b 45 f4             	mov    -0xc(%ebp),%eax
541aec:	e8 73 31 00 00       	call   0x544c64
541af1:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
541af5:	74 06                	je     0x541afd
541af7:	83 7d d8 04          	cmpl   $0x4,-0x28(%ebp)
541afb:	75 0e                	jne    0x541b0b
541afd:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
541b01:	7e 08                	jle    0x541b0b
541b03:	8b 45 f4             	mov    -0xc(%ebp),%eax
541b06:	e8 f5 41 00 00       	call   0x545d00
541b0b:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
541b0f:	7e 08                	jle    0x541b19
541b11:	8b 45 f4             	mov    -0xc(%ebp),%eax
541b14:	e8 33 31 00 00       	call   0x544c4c
541b19:	c6 45 9b 00          	movb   $0x0,-0x65(%ebp)