5406be:	3b c7                	cmp    %edi,%eax
5406c0:	0f 43 c3             	cmovae %ebx,%eax
5406c3:	31 14 ae             	xor    %edx,(%esi,%ebp,4)
5406c6:	45                   	inc    %ebp
5406c7:	83 fd 12             	cmp    $0x12,%ebp
5406ca:	7c c4                	jl     0x540690
5406cc:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
5406d3:	00
5406d4:	33 ff                	xor    %edi,%edi
5406d6:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
5406dd:	00
5406de:	66 90                	xchg   %ax,%ax
5406e0:	8d 44 24 10          	lea    0x10(%esp),%eax
5406e4:	56                   	push   %esi
5406e5:	50                   	push   %eax
5406e6:	e8 55 59 ed ff       	call   0x416040
5406eb:	8b 44 24 18          	mov    0x18(%esp),%eax
5406ef:	83 c4 08             	add    $0x8,%esp
5406f2:	89 04 be             	mov    %eax,(%esi,%edi,4)
5406f5:	8b 44 24 14          	mov    0x14(%esp),%eax
5406f9:	89 44 be 04          	mov    %eax,0x4(%esi,%edi,4)
5406fd:	83 c7 02             	add    $0x2,%edi
540700:	83 ff 12             	cmp    $0x12,%edi
540703:	7c db                	jl     0x5406e0
540705:	33 ff                	xor    %edi,%edi
540707:	8d 44 24 10          	lea    0x10(%esp),%eax
54070b:	56                   	push   %esi
54070c:	50                   	push   %eax
54070d:	e8 2e 59 ed ff       	call   0x416040
540712:	8b 44 24 18          	mov    0x18(%esp),%eax
540716:	83 c4 08             	add    $0x8,%esp
540719:	89 44 be 48          	mov    %eax,0x48(%esi,%edi,4)
54071d:	8b 44 24 14          	mov    0x14(%esp),%eax
540721:	89 44 be 4c          	mov    %eax,0x4c(%esi,%edi,4)
540725:	83 c7 02             	add    $0x2,%edi
540728:	81 ff 00 04 00 00    	cmp    $0x400,%edi
54072e:	7c d7                	jl     0x540707
540730:	5f                   	pop    %edi
540731:	5e                   	pop    %esi
540732:	5d                   	pop    %ebp
540733:	5b                   	pop    %ebx
540734:	83 c4 08             	add    $0x8,%esp
540737:	c3                   	ret
540738:	cc                   	int3
540739:	cc                   	int3
54073a:	cc                   	int3
54073b:	cc                   	int3
54073c:	cc                   	int3
54073d:	cc                   	int3
54073e:	cc                   	int3
54073f:	cc                   	int3
540740:	b8 08 00 00 00       	mov    $0x8,%eax
540745:	e8 66 10 09 00       	call   0x5d17b0
54074a:	56                   	push   %esi
54074b:	8b 74 24 10          	mov    0x10(%esp),%esi
54074f:	0f b6 0e             	movzbl (%esi),%ecx
540752:	0f b6 46 01          	movzbl 0x1(%esi),%eax
540756:	0f b6 56 04          	movzbl 0x4(%esi),%edx
54075a:	c1 e0 10             	shl    $0x10,%eax
54075d:	c1 e1 18             	shl    $0x18,%ecx
540760:	0b c8                	or     %eax,%ecx
540762:	c1 e2 18             	shl    $0x18,%edx
540765:	0f b6 46 02          	movzbl 0x2(%esi),%eax
540769:	c1 e0 08             	shl    $0x8,%eax
54076c:	0b c8                	or     %eax,%ecx
54076e:	0f b6 46 03          	movzbl 0x3(%esi),%eax
540772:	0b c8                	or     %eax,%ecx
540774:	0f b6 46 05          	movzbl 0x5(%esi),%eax
540778:	89 4c 24 04          	mov    %ecx,0x4(%esp)
54077c:	0f b6 4e 06          	movzbl 0x6(%esi),%ecx
540780:	c1 e0 10             	shl    $0x10,%eax
540783:	0b d0                	or     %eax,%edx
540785:	c1 e1 08             	shl    $0x8,%ecx
540788:	0f b6 46 07          	movzbl 0x7(%esi),%eax
54078c:	0b c8                	or     %eax,%ecx
54078e:	8d 44 24 04          	lea    0x4(%esp),%eax
540792:	5e                   	pop    %esi
540793:	ff 74 24 14          	push   0x14(%esp)
540797:	0b ca                	or     %edx,%ecx
540799:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
54079e:	89 4c 24 08          	mov    %ecx,0x8(%esp)
5407a2:	50                   	push   %eax
5407a3:	74 07                	je     0x5407ac
5407a5:	e8 96 58 ed ff       	call   0x416040
5407aa:	eb 05                	jmp    0x5407b1
5407ac:	e8 af 5c ed ff       	call   0x416460
5407b1:	8b 54 24 18          	mov    0x18(%esp),%edx
5407b5:	83 c4 08             	add    $0x8,%esp
5407b8:	8b 0c 24             	mov    (%esp),%ecx
5407bb:	8b c1                	mov    %ecx,%eax
5407bd:	c1 e8 18             	shr    $0x18,%eax
5407c0:	88 02                	mov    %al,(%edx)
5407c2:	8b c1                	mov    %ecx,%eax
5407c4:	c1 e8 10             	shr    $0x10,%eax
5407c7:	88 42 01             	mov    %al,0x1(%edx)
5407ca:	8b c1                	mov    %ecx,%eax
5407cc:	c1 e8 08             	shr    $0x8,%eax
5407cf:	88 42 02             	mov    %al,0x2(%edx)
5407d2:	88 4a 03             	mov    %cl,0x3(%edx)
5407d5:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5407d9:	8b c1                	mov    %ecx,%eax
5407db:	c1 e8 18             	shr    $0x18,%eax
5407de:	88 42 04             	mov    %al,0x4(%edx)
5407e1:	8b c1                	mov    %ecx,%eax
5407e3:	c1 e8 10             	shr    $0x10,%eax
5407e6:	88 42 05             	mov    %al,0x5(%edx)
5407e9:	8b c1                	mov    %ecx,%eax
5407eb:	c1 e8 08             	shr    $0x8,%eax
5407ee:	88 42 06             	mov    %al,0x6(%edx)
5407f1:	88 4a 07             	mov    %cl,0x7(%edx)
5407f4:	83 c4 08             	add    $0x8,%esp
5407f7:	c3                   	ret
5407f8:	cc                   	int3
5407f9:	cc                   	int3
5407fa:	cc                   	int3
5407fb:	cc                   	int3
5407fc:	cc                   	int3
5407fd:	cc                   	int3
5407fe:	cc                   	int3
5407ff:	cc                   	int3
540800:	b8 08 00 00 00       	mov    $0x8,%eax
540805:	e8 a6 0f 09 00       	call   0x5d17b0
54080a:	8b 44 24 20          	mov    0x20(%esp),%eax
54080e:	55                   	push   %ebp
54080f:	8b 6c 24 18          	mov    0x18(%esp),%ebp
540813:	56                   	push   %esi
540814:	8b 30                	mov    (%eax),%esi
540816:	85 ed                	test   %ebp,%ebp
540818:	0f 84 d9 01 00 00    	je     0x5409f7
54081e:	83 7c 24 2c 00       	cmpl   $0x0,0x2c(%esp)
540823:	8b 54 24 24          	mov    0x24(%esp),%edx
540827:	53                   	push   %ebx
540828:	57                   	push   %edi
540829:	0f 84 e3 00 00 00    	je     0x540912
54082f:	8b 44 24 1c          	mov    0x1c(%esp),%eax
540833:	8b 6c 24 20          	mov    0x20(%esp),%ebp
540837:	2b c5                	sub    %ebp,%eax
540839:	89 44 24 34          	mov    %eax,0x34(%esp)
54083d:	0f 1f 00             	nopl   (%eax)
540840:	85 f6                	test   %esi,%esi
540842:	0f 85 9c 00 00 00    	jne    0x5408e4
540848:	0f b6 0a             	movzbl (%edx),%ecx
54084b:	8d 5a 01             	lea    0x1(%edx),%ebx
54084e:	0f b6 03             	movzbl (%ebx),%eax
540851:	0f b6 53 03          	movzbl 0x3(%ebx),%edx
540855:	ff 74 24 28          	push   0x28(%esp)
540859:	c1 e1 08             	shl    $0x8,%ecx
54085c:	0b c8                	or     %eax,%ecx
54085e:	c1 e2 18             	shl    $0x18,%edx
540861:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
540865:	c1 e1 10             	shl    $0x10,%ecx
540868:	c1 e0 08             	shl    $0x8,%eax
54086b:	0b c8                	or     %eax,%ecx
54086d:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
540871:	0b c8                	or     %eax,%ecx
540873:	0f b6 43 04          	movzbl 0x4(%ebx),%eax
540877:	89 4c 24 14          	mov    %ecx,0x14(%esp)
54087b:	0f b6 4b 05          	movzbl 0x5(%ebx),%ecx
54087f:	c1 e0 10             	shl    $0x10,%eax
540882:	0b d0                	or     %eax,%edx
540884:	c1 e1 08             	shl    $0x8,%ecx
540887:	0f b6 43 06          	movzbl 0x6(%ebx),%eax
54088b:	0b c8                	or     %eax,%ecx
54088d:	8d 44 24 14          	lea    0x14(%esp),%eax
540891:	0b ca                	or     %edx,%ecx
540893:	50                   	push   %eax
540894:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
540898:	e8 a3 57 ed ff       	call   0x416040
54089d:	8b 54 24 34          	mov    0x34(%esp),%edx
5408a1:	83 c4 08             	add    $0x8,%esp
5408a4:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5408a8:	8b c1                	mov    %ecx,%eax
5408aa:	c1 e8 18             	shr    $0x18,%eax
5408ad:	88 02                	mov    %al,(%edx)
5408af:	8b c1                	mov    %ecx,%eax
5408b1:	c1 e8 10             	shr    $0x10,%eax
5408b4:	88 03                	mov    %al,(%ebx)
5408b6:	8b c1                	mov    %ecx,%eax
5408b8:	c1 e8 08             	shr    $0x8,%eax
5408bb:	88 42 02             	mov    %al,0x2(%edx)
5408be:	88 4a 03             	mov    %cl,0x3(%edx)
5408c1:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5408c5:	8b c1                	mov    %ecx,%eax
5408c7:	c1 e8 18             	shr    $0x18,%eax
5408ca:	88 42 04             	mov    %al,0x4(%edx)
5408cd:	8b c1                	mov    %ecx,%eax
5408cf:	c1 e8 10             	shr    $0x10,%eax
5408d2:	88 42 05             	mov    %al,0x5(%edx)
5408d5:	8b c1                	mov    %ecx,%eax
5408d7:	c1 e8 08             	shr    $0x8,%eax
5408da:	88 42 06             	mov    %al,0x6(%edx)
5408dd:	8b 44 24 34          	mov    0x34(%esp),%eax
5408e1:	88 4a 07             	mov    %cl,0x7(%edx)
5408e4:	8a 04 28             	mov    (%eax,%ebp,1),%al
5408e7:	32 04 16             	xor    (%esi,%edx,1),%al
5408ea:	88 45 00             	mov    %al,0x0(%ebp)
5408ed:	45                   	inc    %ebp
5408ee:	88 04 16             	mov    %al,(%esi,%edx,1)
5408f1:	46                   	inc    %esi
5408f2:	8b 44 24 34          	mov    0x34(%esp),%eax
5408f6:	83 e6 07             	and    $0x7,%esi
5408f9:	83 6c 24 24 01       	subl   $0x1,0x24(%esp)
5408fe:	0f 85 3c ff ff ff    	jne    0x540840
540904:	8b 44 24 30          	mov    0x30(%esp),%eax
540908:	5f                   	pop    %edi
540909:	5b                   	pop    %ebx
54090a:	89 30                	mov    %esi,(%eax)
54090c:	5e                   	pop    %esi
54090d:	5d                   	pop    %ebp
54090e:	83 c4 08             	add    $0x8,%esp
540911:	c3                   	ret
540912:	8b 44 24 20          	mov    0x20(%esp),%eax
540916:	89 44 24 34          	mov    %eax,0x34(%esp)
54091a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
54091e:	89 44 24 24          	mov    %eax,0x24(%esp)
540922:	85 f6                	test   %esi,%esi
540924:	0f 85 9c 00 00 00    	jne    0x5409c6
54092a:	0f b6 0a             	movzbl (%edx),%ecx
54092d:	8d 5a 01             	lea    0x1(%edx),%ebx
540930:	0f b6 03             	movzbl (%ebx),%eax
540933:	0f b6 53 03          	movzbl 0x3(%ebx),%edx
540937:	ff 74 24 28          	push   0x28(%esp)
54093b:	c1 e1 08             	shl    $0x8,%ecx
54093e:	0b c8                	or     %eax,%ecx
540940:	c1 e2 18             	shl    $0x18,%edx
540943:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
540947:	c1 e1 10             	shl    $0x10,%ecx
54094a:	c1 e0 08             	shl    $0x8,%eax
54094d:	0b c8                	or     %eax,%ecx
54094f:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
540953:	0b c8                	or     %eax,%ecx
540955:	0f b6 43 04          	movzbl 0x4(%ebx),%eax
540959:	89 4c 24 14          	mov    %ecx,0x14(%esp)
54095d:	0f b6 4b 05          	movzbl 0x5(%ebx),%ecx
540961:	c1 e0 10             	shl    $0x10,%eax
540964:	0b d0                	or     %eax,%edx
540966:	c1 e1 08             	shl    $0x8,%ecx
540969:	0f b6 43 06          	movzbl 0x6(%ebx),%eax
54096d:	0b c8                	or     %eax,%ecx
54096f:	8d 44 24 14          	lea    0x14(%esp),%eax
540973:	0b ca                	or     %edx,%ecx
540975:	50                   	push   %eax
540976:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
54097a:	e8 c1 56 ed ff       	call   0x416040
54097f:	8b 54 24 34          	mov    0x34(%esp),%edx
540983:	83 c4 08             	add    $0x8,%esp
540986:	8b 4c 24 10          	mov    0x10(%esp),%ecx
54098a:	8b c1                	mov    %ecx,%eax
54098c:	c1 e8 18             	shr    $0x18,%eax
54098f:	88 02                	mov    %al,(%edx)
540991:	8b c1                	mov    %ecx,%eax
540993:	c1 e8 10             	shr    $0x10,%eax
540996:	88 03                	mov    %al,(%ebx)
540998:	8b c1                	mov    %ecx,%eax
54099a:	c1 e8 08             	shr    $0x8,%eax
54099d:	88 42 02             	mov    %al,0x2(%edx)
5409a0:	88 4a 03             	mov    %cl,0x3(%edx)
5409a3:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5409a7:	8b c1                	mov    %ecx,%eax
5409a9:	c1 e8 18             	shr    $0x18,%eax
5409ac:	88 42 04             	mov    %al,0x4(%edx)
5409af:	8b c1                	mov    %ecx,%eax
5409b1:	c1 e8 10             	shr    $0x10,%eax
5409b4:	88 42 05             	mov    %al,0x5(%edx)
5409b7:	8b c1                	mov    %ecx,%eax
5409b9:	c1 e8 08             	shr    $0x8,%eax
5409bc:	88 42 06             	mov    %al,0x6(%edx)
5409bf:	8b 44 24 24          	mov    0x24(%esp),%eax
5409c3:	88 4a 07             	mov    %cl,0x7(%edx)
5409c6:	8a 08                	mov    (%eax),%cl
5409c8:	40                   	inc    %eax
5409c9:	89 44 24 24          	mov    %eax,0x24(%esp)
5409cd:	8a 04 16             	mov    (%esi,%edx,1),%al
5409d0:	88 0c 16             	mov    %cl,(%esi,%edx,1)
5409d3:	32 c8                	xor    %al,%cl
5409d5:	8b 44 24 34          	mov    0x34(%esp),%eax
5409d9:	46                   	inc    %esi
5409da:	83 e6 07             	and    $0x7,%esi
5409dd:	88 08                	mov    %cl,(%eax)
5409df:	40                   	inc    %eax
5409e0:	89 44 24 34          	mov    %eax,0x34(%esp)
5409e4:	8b 44 24 24          	mov    0x24(%esp),%eax
5409e8:	83 ed 01             	sub    $0x1,%ebp
5409eb:	0f 85 31 ff ff ff    	jne    0x540922
5409f1:	8b 44 24 30          	mov    0x30(%esp),%eax
5409f5:	5f                   	pop    %edi
5409f6:	5b                   	pop    %ebx
5409f7:	89 30                	mov    %esi,(%eax)
5409f9:	5e                   	pop    %esi
5409fa:	5d                   	pop    %ebp
5409fb:	83 c4 08             	add    $0x8,%esp
5409fe:	c3                   	ret
5409ff:	cc                   	int3
540a00:	b8 28 00 00 00       	mov    $0x28,%eax
540a05:	e8 a6 0d 09 00       	call   0x5d17b0
540a0a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
540a0f:	33 c4                	xor    %esp,%eax
540a11:	89 44 24 24          	mov    %eax,0x24(%esp)
540a15:	8b 44 24 30          	mov    0x30(%esp),%eax
540a19:	89 04 24             	mov    %eax,(%esp)
540a1c:	8b 44 24 38          	mov    0x38(%esp),%eax
540a20:	89 44 24 10          	mov    %eax,0x10(%esp)
540a24:	8b 44 24 3c          	mov    0x3c(%esp),%eax
540a28:	89 44 24 18          	mov    %eax,0x18(%esp)
540a2c:	53                   	push   %ebx
540a2d:	55                   	push   %ebp
540a2e:	0f b6 18             	movzbl (%eax),%ebx
540a31:	8d 68 01             	lea    0x1(%eax),%ebp
540a34:	8b d5                	mov    %ebp,%edx
540a36:	c1 e3 18             	shl    $0x18,%ebx
540a39:	56                   	push   %esi
540a3a:	57                   	push   %edi
540a3b:	8b 7c 24 50          	mov    0x50(%esp),%edi
540a3f:	0f b6 02             	movzbl (%edx),%eax
540a42:	0f b6 4a 03          	movzbl 0x3(%edx),%ecx
540a46:	c1 e0 10             	shl    $0x10,%eax
540a49:	0b d8                	or     %eax,%ebx
540a4b:	c1 e1 18             	shl    $0x18,%ecx
540a4e:	0f b6 42 01          	movzbl 0x1(%edx),%eax
540a52:	c1 e0 08             	shl    $0x8,%eax
540a55:	0b d8                	or     %eax,%ebx
540a57:	8b 37                	mov    (%edi),%esi
540a59:	0f b6 42 02          	movzbl 0x2(%edx),%eax
540a5d:	0b d8                	or     %eax,%ebx
540a5f:	89 7c 24 14          	mov    %edi,0x14(%esp)
540a63:	0f b6 42 04          	movzbl 0x4(%edx),%eax
540a67:	c1 e0 10             	shl    $0x10,%eax
540a6a:	0b c8                	or     %eax,%ecx
540a6c:	89 6c 24 24          	mov    %ebp,0x24(%esp)
540a70:	0f b6 42 06          	movzbl 0x6(%edx),%eax
540a74:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
540a78:	0f b6 4a 05          	movzbl 0x5(%edx),%ecx
540a7c:	8b 54 24 2c          	mov    0x2c(%esp),%edx
540a80:	c1 e1 08             	shl    $0x8,%ecx
540a83:	0b c8                	or     %eax,%ecx
540a85:	89 5c 24 18          	mov    %ebx,0x18(%esp)
540a89:	8b c3                	mov    %ebx,%eax
540a8b:	88 5c 24 2f          	mov    %bl,0x2f(%esp)
540a8f:	c1 e8 18             	shr    $0x18,%eax
540a92:	0b d1                	or     %ecx,%edx
540a94:	88 44 24 2c          	mov    %al,0x2c(%esp)
540a98:	8b c3                	mov    %ebx,%eax
540a9a:	c1 e8 10             	shr    $0x10,%eax
540a9d:	88 44 24 2d          	mov    %al,0x2d(%esp)
540aa1:	8b c3                	mov    %ebx,%eax
540aa3:	c1 e8 08             	shr    $0x8,%eax
540aa6:	88 44 24 2e          	mov    %al,0x2e(%esp)
540aaa:	8b c2                	mov    %edx,%eax
540aac:	c1 e8 18             	shr    $0x18,%eax
540aaf:	88 44 24 30          	mov    %al,0x30(%esp)