41583a:	8d 55 f8             	lea    -0x8(%ebp),%edx
41583d:	6a 03                	push   $0x3
41583f:	52                   	push   %edx
415840:	51                   	push   %ecx
415841:	8d 4d fc             	lea    -0x4(%ebp),%ecx
415844:	51                   	push   %ecx
415845:	56                   	push   %esi
415846:	ff 70 14             	push   0x14(%eax)
415849:	8d 45 e8             	lea    -0x18(%ebp),%eax
41584c:	50                   	push   %eax
41584d:	e8 96 35 ff ff       	call   0x408de8
415852:	83 c4 24             	add    $0x24,%esp
415855:	85 c0                	test   %eax,%eax
415857:	0f 84 6f ff ff ff    	je     0x4157cc
41585d:	83 f8 01             	cmp    $0x1,%eax
415860:	75 06                	jne    0x415868
415862:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
415866:	eb 0b                	jmp    0x415873
415868:	0f b6 4d f9          	movzbl -0x7(%ebp),%ecx
41586c:	33 c0                	xor    %eax,%eax
41586e:	8a 65 f8             	mov    -0x8(%ebp),%ah
415871:	0b c1                	or     %ecx,%eax
415873:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
415877:	74 07                	je     0x415880
415879:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41587c:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
415880:	5e                   	pop    %esi
415881:	5b                   	pop    %ebx
415882:	c9                   	leave
415883:	c3                   	ret
415884:	cc                   	int3
415885:	cc                   	int3
415886:	cc                   	int3
415887:	cc                   	int3
415888:	cc                   	int3
415889:	cc                   	int3
41588a:	cc                   	int3
41588b:	cc                   	int3
41588c:	cc                   	int3
41588d:	cc                   	int3
41588e:	cc                   	int3
41588f:	cc                   	int3
415890:	55                   	push   %ebp
415891:	8b ec                	mov    %esp,%ebp
415893:	57                   	push   %edi
415894:	56                   	push   %esi
415895:	53                   	push   %ebx
415896:	8b 4d 10             	mov    0x10(%ebp),%ecx
415899:	0b c9                	or     %ecx,%ecx
41589b:	74 4d                	je     0x4158ea
41589d:	8b 75 08             	mov    0x8(%ebp),%esi
4158a0:	8b 7d 0c             	mov    0xc(%ebp),%edi
4158a3:	b7 41                	mov    $0x41,%bh
4158a5:	b3 5a                	mov    $0x5a,%bl
4158a7:	b6 20                	mov    $0x20,%dh
4158a9:	8d 49 00             	lea    0x0(%ecx),%ecx
4158ac:	8a 26                	mov    (%esi),%ah
4158ae:	0a e4                	or     %ah,%ah
4158b0:	8a 07                	mov    (%edi),%al
4158b2:	74 27                	je     0x4158db
4158b4:	0a c0                	or     %al,%al
4158b6:	74 23                	je     0x4158db
4158b8:	83 c6 01             	add    $0x1,%esi
4158bb:	83 c7 01             	add    $0x1,%edi
4158be:	3a e7                	cmp    %bh,%ah
4158c0:	72 06                	jb     0x4158c8
4158c2:	3a e3                	cmp    %bl,%ah
4158c4:	77 02                	ja     0x4158c8
4158c6:	02 e6                	add    %dh,%ah
4158c8:	3a c7                	cmp    %bh,%al
4158ca:	72 06                	jb     0x4158d2
4158cc:	3a c3                	cmp    %bl,%al
4158ce:	77 02                	ja     0x4158d2
4158d0:	02 c6                	add    %dh,%al
4158d2:	3a e0                	cmp    %al,%ah
4158d4:	75 0b                	jne    0x4158e1
4158d6:	83 e9 01             	sub    $0x1,%ecx
4158d9:	75 d1                	jne    0x4158ac
4158db:	33 c9                	xor    %ecx,%ecx
4158dd:	3a e0                	cmp    %al,%ah
4158df:	74 09                	je     0x4158ea
4158e1:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
4158e6:	72 02                	jb     0x4158ea
4158e8:	f7 d9                	neg    %ecx
4158ea:	8b c1                	mov    %ecx,%eax
4158ec:	5b                   	pop    %ebx
4158ed:	5e                   	pop    %esi
4158ee:	5f                   	pop    %edi
4158ef:	c9                   	leave
4158f0:	c3                   	ret
4158f1:	53                   	push   %ebx
4158f2:	8b 5c 24 08          	mov    0x8(%esp),%ebx
4158f6:	55                   	push   %ebp
4158f7:	33 ed                	xor    %ebp,%ebp
4158f9:	3b dd                	cmp    %ebp,%ebx
4158fb:	75 04                	jne    0x415901
4158fd:	33 c0                	xor    %eax,%eax
4158ff:	eb 3d                	jmp    0x41593e
415901:	56                   	push   %esi
415902:	57                   	push   %edi
415903:	53                   	push   %ebx
415904:	e8 57 0e ff ff       	call   0x406760
415909:	8b f0                	mov    %eax,%esi
41590b:	46                   	inc    %esi
41590c:	56                   	push   %esi
41590d:	e8 3d 54 ff ff       	call   0x40ad4f
415912:	8b f8                	mov    %eax,%edi
415914:	3b fd                	cmp    %ebp,%edi
415916:	59                   	pop    %ecx
415917:	59                   	pop    %ecx
415918:	74 20                	je     0x41593a
41591a:	53                   	push   %ebx
41591b:	56                   	push   %esi
41591c:	57                   	push   %edi
41591d:	e8 79 53 ff ff       	call   0x40ac9b
415922:	83 c4 0c             	add    $0xc,%esp
415925:	85 c0                	test   %eax,%eax
415927:	74 0d                	je     0x415936
415929:	55                   	push   %ebp
41592a:	55                   	push   %ebp
41592b:	55                   	push   %ebp
41592c:	55                   	push   %ebp
41592d:	55                   	push   %ebp
41592e:	e8 21 1c ff ff       	call   0x407554
415933:	83 c4 14             	add    $0x14,%esp
415936:	8b c7                	mov    %edi,%eax
415938:	eb 02                	jmp    0x41593c
41593a:	33 c0                	xor    %eax,%eax
41593c:	5f                   	pop    %edi
41593d:	5e                   	pop    %esi
41593e:	5d                   	pop    %ebp
41593f:	5b                   	pop    %ebx
415940:	c3                   	ret
415941:	cc                   	int3
415942:	ff 25 ac 70 41 00    	jmp    *0x4170ac
415948:	cc                   	int3
415949:	cc                   	int3
41594a:	cc                   	int3
41594b:	cc                   	int3
41594c:	cc                   	int3
41594d:	cc                   	int3
41594e:	cc                   	int3
41594f:	cc                   	int3
415950:	55                   	push   %ebp
415951:	8b ec                	mov    %esp,%ebp
415953:	57                   	push   %edi
415954:	56                   	push   %esi
415955:	8b 7d 08             	mov    0x8(%ebp),%edi
415958:	8b d7                	mov    %edi,%edx
41595a:	8b f7                	mov    %edi,%esi
41595c:	33 c0                	xor    %eax,%eax
41595e:	83 c9 ff             	or     $0xffffffff,%ecx
415961:	f2 ae                	repnz scas %es:(%edi),%al
415963:	83 f9 fe             	cmp    $0xfffffffe,%ecx
415966:	74 17                	je     0x41597f
415968:	83 ef 02             	sub    $0x2,%edi
41596b:	3b f7                	cmp    %edi,%esi
41596d:	73 10                	jae    0x41597f
41596f:	8a 26                	mov    (%esi),%ah
415971:	8a 07                	mov    (%edi),%al
415973:	88 06                	mov    %al,(%esi)
415975:	88 27                	mov    %ah,(%edi)
415977:	83 c6 01             	add    $0x1,%esi
41597a:	83 ef 01             	sub    $0x1,%edi
41597d:	eb ec                	jmp    0x41596b
41597f:	8b c2                	mov    %edx,%eax
415981:	5e                   	pop    %esi
415982:	5f                   	pop    %edi
415983:	c9                   	leave
415984:	c3                   	ret
415985:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
41598a:	74 06                	je     0x415992
41598c:	c6 01 2d             	movb   $0x2d,(%ecx)
41598f:	41                   	inc    %ecx
415990:	f7 d8                	neg    %eax
415992:	56                   	push   %esi
415993:	8b f1                	mov    %ecx,%esi
415995:	33 d2                	xor    %edx,%edx
415997:	f7 74 24 08          	divl   0x8(%esp)
41599b:	83 fa 09             	cmp    $0x9,%edx
41599e:	76 05                	jbe    0x4159a5
4159a0:	80 c2 57             	add    $0x57,%dl
4159a3:	eb 03                	jmp    0x4159a8
4159a5:	80 c2 30             	add    $0x30,%dl
4159a8:	88 11                	mov    %dl,(%ecx)
4159aa:	41                   	inc    %ecx
4159ab:	85 c0                	test   %eax,%eax
4159ad:	77 e6                	ja     0x415995
4159af:	c6 01 00             	movb   $0x0,(%ecx)
4159b2:	49                   	dec    %ecx
4159b3:	8a 16                	mov    (%esi),%dl
4159b5:	8a 01                	mov    (%ecx),%al
4159b7:	88 11                	mov    %dl,(%ecx)
4159b9:	49                   	dec    %ecx
4159ba:	88 06                	mov    %al,(%esi)
4159bc:	46                   	inc    %esi
4159bd:	3b f1                	cmp    %ecx,%esi
4159bf:	72 f2                	jb     0x4159b3
4159c1:	5e                   	pop    %esi
4159c2:	c2 08 00             	ret    $0x8
4159c5:	55                   	push   %ebp
4159c6:	8b ec                	mov    %esp,%ebp
4159c8:	83 7d 10 0a          	cmpl   $0xa,0x10(%ebp)
4159cc:	8b 45 08             	mov    0x8(%ebp),%eax
4159cf:	75 0a                	jne    0x4159db
4159d1:	85 c0                	test   %eax,%eax
4159d3:	7d 06                	jge    0x4159db
4159d5:	6a 01                	push   $0x1
4159d7:	6a 0a                	push   $0xa
4159d9:	eb 05                	jmp    0x4159e0
4159db:	6a 00                	push   $0x0
4159dd:	ff 75 10             	push   0x10(%ebp)
4159e0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4159e3:	e8 9d ff ff ff       	call   0x415985
4159e8:	8b 45 0c             	mov    0xc(%ebp),%eax
4159eb:	5d                   	pop    %ebp
4159ec:	c3                   	ret
4159ed:	cc                   	int3
4159ee:	cc                   	int3
4159ef:	cc                   	int3
4159f0:	8b 54 24 08          	mov    0x8(%esp),%edx
4159f4:	8d 42 0c             	lea    0xc(%edx),%eax
4159f7:	8b 4a e4             	mov    -0x1c(%edx),%ecx
4159fa:	33 c8                	xor    %eax,%ecx
4159fc:	e8 34 05 ff ff       	call   0x405f35
415a01:	b8 3c a0 41 00       	mov    $0x41a03c,%eax
415a06:	e9 0a 07 ff ff       	jmp    0x406115
415a0b:	cc                   	int3
415a0c:	cc                   	int3
415a0d:	cc                   	int3
415a0e:	cc                   	int3
415a0f:	cc                   	int3
415a10:	8b 4d f0             	mov    -0x10(%ebp),%ecx
415a13:	e9 35 ff fe ff       	jmp    0x40594d
415a18:	8b 54 24 08          	mov    0x8(%esp),%edx
415a1c:	8d 42 f8             	lea    -0x8(%edx),%eax
415a1f:	8b 4a f4             	mov    -0xc(%edx),%ecx
415a22:	33 c8                	xor    %eax,%ecx
415a24:	e8 0c 05 ff ff       	call   0x405f35
415a29:	b8 90 a0 41 00       	mov    $0x41a090,%eax
415a2e:	e9 e2 06 ff ff       	jmp    0x406115
415a33:	cc                   	int3
415a34:	cc                   	int3
415a35:	cc                   	int3
415a36:	cc                   	int3
415a37:	cc                   	int3
415a38:	cc                   	int3
415a39:	cc                   	int3
415a3a:	cc                   	int3
415a3b:	cc                   	int3
415a3c:	cc                   	int3
415a3d:	cc                   	int3
415a3e:	cc                   	int3
415a3f:	cc                   	int3
415a40:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
415a43:	e9 c8 c5 fe ff       	jmp    0x402010
415a48:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
415a4b:	e9 c0 c5 fe ff       	jmp    0x402010
415a50:	8d 4d d8             	lea    -0x28(%ebp),%ecx
415a53:	e9 b8 c5 fe ff       	jmp    0x402010
415a58:	8b 54 24 08          	mov    0x8(%esp),%edx
415a5c:	8d 82 78 ff ff ff    	lea    -0x88(%edx),%eax
415a62:	8b 8a 74 ff ff ff    	mov    -0x8c(%edx),%ecx
415a68:	33 c8                	xor    %eax,%ecx
415a6a:	e8 c6 04 ff ff       	call   0x405f35
415a6f:	b8 dc a0 41 00       	mov    $0x41a0dc,%eax
415a74:	e9 9c 06 ff ff       	jmp    0x406115
415a79:	cc                   	int3
415a7a:	cc                   	int3
415a7b:	cc                   	int3
415a7c:	cc                   	int3
415a7d:	cc                   	int3
415a7e:	cc                   	int3
415a7f:	cc                   	int3
415a80:	8b 4d f0             	mov    -0x10(%ebp),%ecx
415a83:	e9 c5 fe fe ff       	jmp    0x40594d
415a88:	8b 54 24 08          	mov    0x8(%esp),%edx
415a8c:	8d 42 f4             	lea    -0xc(%edx),%eax
415a8f:	8b 4a f0             	mov    -0x10(%edx),%ecx
415a92:	33 c8                	xor    %eax,%ecx
415a94:	e8 9c 04 ff ff       	call   0x405f35
415a99:	b8 50 a1 41 00       	mov    $0x41a150,%eax
415a9e:	e9 72 06 ff ff       	jmp    0x406115
415aa3:	cc                   	int3
415aa4:	cc                   	int3
415aa5:	cc                   	int3
415aa6:	cc                   	int3
415aa7:	cc                   	int3
415aa8:	cc                   	int3
415aa9:	cc                   	int3
415aaa:	cc                   	int3
415aab:	cc                   	int3
415aac:	cc                   	int3
415aad:	cc                   	int3
415aae:	cc                   	int3
415aaf:	cc                   	int3
415ab0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
415ab3:	e9 98 ba fe ff       	jmp    0x401550
415ab8:	8b 54 24 08          	mov    0x8(%esp),%edx
415abc:	8d 42 f4             	lea    -0xc(%edx),%eax
415abf:	8b 4a f0             	mov    -0x10(%edx),%ecx
415ac2:	33 c8                	xor    %eax,%ecx
415ac4:	e8 6c 04 ff ff       	call   0x405f35
415ac9:	b8 7c a1 41 00       	mov    $0x41a17c,%eax
415ace:	e9 42 06 ff ff       	jmp    0x406115
415ad3:	cc                   	int3
415ad4:	cc                   	int3
415ad5:	cc                   	int3
415ad6:	cc                   	int3
415ad7:	cc                   	int3
415ad8:	cc                   	int3
415ad9:	cc                   	int3
415ada:	cc                   	int3
415adb:	cc                   	int3
415adc:	cc                   	int3
415add:	cc                   	int3
415ade:	cc                   	int3
415adf:	cc                   	int3
415ae0:	8b 54 24 08          	mov    0x8(%esp),%edx
415ae4:	8d 42 0c             	lea    0xc(%edx),%eax
415ae7:	8b 4a ec             	mov    -0x14(%edx),%ecx
415aea:	33 c8                	xor    %eax,%ecx
415aec:	e8 44 04 ff ff       	call   0x405f35
415af1:	b8 d4 a1 41 00       	mov    $0x41a1d4,%eax
415af6:	e9 1a 06 ff ff       	jmp    0x406115
415afb:	cc                   	int3
415afc:	cc                   	int3
415afd:	cc                   	int3
415afe:	cc                   	int3
415aff:	cc                   	int3
415b00:	8b 4d f0             	mov    -0x10(%ebp),%ecx
415b03:	e9 48 ba fe ff       	jmp    0x401550
415b08:	8b 54 24 08          	mov    0x8(%esp),%edx
415b0c:	8d 42 f8             	lea    -0x8(%edx),%eax
415b0f:	8b 4a f4             	mov    -0xc(%edx),%ecx
415b12:	33 c8                	xor    %eax,%ecx
415b14:	e8 1c 04 ff ff       	call   0x405f35
415b19:	b8 00 a2 41 00       	mov    $0x41a200,%eax
415b1e:	e9 f2 05 ff ff       	jmp    0x406115
415b23:	cc                   	int3
415b24:	cc                   	int3
415b25:	cc                   	int3
415b26:	cc                   	int3
415b27:	cc                   	int3
415b28:	cc                   	int3
415b29:	cc                   	int3
415b2a:	cc                   	int3
415b2b:	cc                   	int3
415b2c:	cc                   	int3
415b2d:	cc                   	int3