411926:	57                   	push   %edi
411927:	6a 3f                	push   $0x3f
411929:	5f                   	pop    %edi
41192a:	53                   	push   %ebx
41192b:	0f b6 d1             	movzbl %cl,%edx
41192e:	46                   	inc    %esi
41192f:	81 fa 80 00 00 00    	cmp    $0x80,%edx
411935:	73 07                	jae    0x41193e
411937:	8b ca                	mov    %edx,%ecx
411939:	e9 d7 00 00 00       	jmp    0x411a15
41193e:	8b c2                	mov    %edx,%eax
411940:	83 e0 e0             	and    $0xffffffe0,%eax
411943:	3d c0 00 00 00       	cmp    $0xc0,%eax
411948:	75 21                	jne    0x41196b
41194a:	8a 0e                	mov    (%esi),%cl
41194c:	8a c1                	mov    %cl,%al
41194e:	24 c0                	and    $0xc0,%al
411950:	3c 80                	cmp    $0x80,%al
411952:	0f 85 26 01 00 00    	jne    0x411a7e
411958:	0f be c9             	movsbl %cl,%ecx
41195b:	83 e2 1f             	and    $0x1f,%edx
41195e:	23 cf                	and    %edi,%ecx
411960:	c1 e2 06             	shl    $0x6,%edx
411963:	0b ca                	or     %edx,%ecx
411965:	46                   	inc    %esi
411966:	e9 aa 00 00 00       	jmp    0x411a15
41196b:	8b c2                	mov    %edx,%eax
41196d:	83 e0 f0             	and    $0xfffffff0,%eax
411970:	3d e0 00 00 00       	cmp    $0xe0,%eax
411975:	75 3c                	jne    0x4119b3
411977:	8a 06                	mov    (%esi),%al
411979:	8a c8                	mov    %al,%cl
41197b:	80 e1 c0             	and    $0xc0,%cl
41197e:	80 f9 80             	cmp    $0x80,%cl
411981:	0f 85 f7 00 00 00    	jne    0x411a7e
411987:	8a 5e 01             	mov    0x1(%esi),%bl
41198a:	8a cb                	mov    %bl,%cl
41198c:	80 e1 c0             	and    $0xc0,%cl
41198f:	80 f9 80             	cmp    $0x80,%cl
411992:	0f 85 e6 00 00 00    	jne    0x411a7e
411998:	0f be c8             	movsbl %al,%ecx
41199b:	23 cf                	and    %edi,%ecx
41199d:	83 e2 0f             	and    $0xf,%edx
4119a0:	c1 e2 06             	shl    $0x6,%edx
4119a3:	0b ca                	or     %edx,%ecx
4119a5:	0f be c3             	movsbl %bl,%eax
4119a8:	c1 e1 06             	shl    $0x6,%ecx
4119ab:	23 c7                	and    %edi,%eax
4119ad:	0b c8                	or     %eax,%ecx
4119af:	46                   	inc    %esi
4119b0:	46                   	inc    %esi
4119b1:	eb 62                	jmp    0x411a15
4119b3:	8b c2                	mov    %edx,%eax
4119b5:	83 e0 f8             	and    $0xfffffff8,%eax
4119b8:	3d f0 00 00 00       	cmp    $0xf0,%eax
4119bd:	0f 85 bb 00 00 00    	jne    0x411a7e
4119c3:	8a 06                	mov    (%esi),%al
4119c5:	24 c0                	and    $0xc0,%al
4119c7:	3c 80                	cmp    $0x80,%al
4119c9:	0f 85 af 00 00 00    	jne    0x411a7e
4119cf:	8a 46 01             	mov    0x1(%esi),%al
4119d2:	8a c8                	mov    %al,%cl
4119d4:	80 e1 c0             	and    $0xc0,%cl
4119d7:	80 f9 80             	cmp    $0x80,%cl
4119da:	0f 85 9e 00 00 00    	jne    0x411a7e
4119e0:	8a 5e 02             	mov    0x2(%esi),%bl
4119e3:	8a cb                	mov    %bl,%cl
4119e5:	80 e1 c0             	and    $0xc0,%cl
4119e8:	80 f9 80             	cmp    $0x80,%cl
4119eb:	0f 85 8d 00 00 00    	jne    0x411a7e
4119f1:	0f be 0e             	movsbl (%esi),%ecx
4119f4:	23 cf                	and    %edi,%ecx
4119f6:	83 e2 07             	and    $0x7,%edx
4119f9:	0f be c0             	movsbl %al,%eax
4119fc:	c1 e2 06             	shl    $0x6,%edx
4119ff:	0b ca                	or     %edx,%ecx
411a01:	c1 e1 06             	shl    $0x6,%ecx
411a04:	23 c7                	and    %edi,%eax
411a06:	0b c8                	or     %eax,%ecx
411a08:	0f be c3             	movsbl %bl,%eax
411a0b:	c1 e1 06             	shl    $0x6,%ecx
411a0e:	23 c7                	and    %edi,%eax
411a10:	0b c8                	or     %eax,%ecx
411a12:	83 c6 03             	add    $0x3,%esi
411a15:	8b 45 0c             	mov    0xc(%ebp),%eax
411a18:	85 c0                	test   %eax,%eax
411a1a:	74 05                	je     0x411a21
411a1c:	ff 4d 10             	decl   0x10(%ebp)
411a1f:	78 61                	js     0x411a82
411a21:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
411a27:	76 3d                	jbe    0x411a66
411a29:	85 c0                	test   %eax,%eax
411a2b:	74 05                	je     0x411a32
411a2d:	ff 4d 10             	decl   0x10(%ebp)
411a30:	78 50                	js     0x411a82
411a32:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
411a38:	76 06                	jbe    0x411a40
411a3a:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
411a3e:	eb 32                	jmp    0x411a72
411a40:	85 c0                	test   %eax,%eax
411a42:	74 2e                	je     0x411a72
411a44:	8d 91 00 00 ff ff    	lea    -0x10000(%ecx),%edx
411a4a:	c1 ea 0a             	shr    $0xa,%edx
411a4d:	81 ea 00 28 00 00    	sub    $0x2800,%edx
411a53:	66 89 10             	mov    %dx,(%eax)
411a56:	40                   	inc    %eax
411a57:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
411a5d:	40                   	inc    %eax
411a5e:	81 e9 00 24 00 00    	sub    $0x2400,%ecx
411a64:	eb 04                	jmp    0x411a6a
411a66:	85 c0                	test   %eax,%eax
411a68:	74 08                	je     0x411a72
411a6a:	66 89 08             	mov    %cx,(%eax)
411a6d:	40                   	inc    %eax
411a6e:	40                   	inc    %eax
411a6f:	89 45 0c             	mov    %eax,0xc(%ebp)
411a72:	8a 0e                	mov    (%esi),%cl
411a74:	84 c9                	test   %cl,%cl
411a76:	0f 85 af fe ff ff    	jne    0x41192b
411a7c:	eb 04                	jmp    0x411a82
411a7e:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
411a82:	5b                   	pop    %ebx
411a83:	5f                   	pop    %edi
411a84:	8b 45 0c             	mov    0xc(%ebp),%eax
411a87:	5e                   	pop    %esi
411a88:	85 c0                	test   %eax,%eax
411a8a:	74 05                	je     0x411a91
411a8c:	33 c9                	xor    %ecx,%ecx
411a8e:	66 89 08             	mov    %cx,(%eax)
411a91:	8a 45 ff             	mov    -0x1(%ebp),%al
411a94:	c9                   	leave
411a95:	c2 0c 00             	ret    $0xc
411a98:	6a ff                	push   $0xffffffff
411a9a:	ff 74 24 0c          	push   0xc(%esp)
411a9e:	6a ff                	push   $0xffffffff
411aa0:	ff 74 24 10          	push   0x10(%esp)
411aa4:	68 01 10 00 00       	push   $0x1001
411aa9:	68 00 04 00 00       	push   $0x400
411aae:	ff 15 f8 a1 42 00    	call   *0x42a1f8
411ab4:	48                   	dec    %eax
411ab5:	48                   	dec    %eax
411ab6:	c2 08 00             	ret    $0x8
411ab9:	55                   	push   %ebp
411aba:	8b ec                	mov    %esp,%ebp
411abc:	56                   	push   %esi
411abd:	57                   	push   %edi
411abe:	ff 75 08             	push   0x8(%ebp)
411ac1:	e8 c5 86 00 00       	call   0x41a18b
411ac6:	8b 7d 10             	mov    0x10(%ebp),%edi
411ac9:	40                   	inc    %eax
411aca:	59                   	pop    %ecx
411acb:	3b c7                	cmp    %edi,%eax
411acd:	73 0e                	jae    0x411add
411acf:	ff 75 08             	push   0x8(%ebp)
411ad2:	e8 b4 86 00 00       	call   0x41a18b
411ad7:	8b f0                	mov    %eax,%esi
411ad9:	59                   	pop    %ecx
411ada:	46                   	inc    %esi
411adb:	eb 02                	jmp    0x411adf
411add:	8b f7                	mov    %edi,%esi
411adf:	ff 75 0c             	push   0xc(%ebp)
411ae2:	e8 a4 86 00 00       	call   0x41a18b
411ae7:	40                   	inc    %eax
411ae8:	59                   	pop    %ecx
411ae9:	3b c7                	cmp    %edi,%eax
411aeb:	73 0c                	jae    0x411af9
411aed:	ff 75 0c             	push   0xc(%ebp)
411af0:	e8 96 86 00 00       	call   0x41a18b
411af5:	59                   	pop    %ecx
411af6:	40                   	inc    %eax
411af7:	eb 02                	jmp    0x411afb
411af9:	8b c7                	mov    %edi,%eax
411afb:	50                   	push   %eax
411afc:	ff 75 0c             	push   0xc(%ebp)
411aff:	56                   	push   %esi
411b00:	ff 75 08             	push   0x8(%ebp)
411b03:	68 01 10 00 00       	push   $0x1001
411b08:	68 00 04 00 00       	push   $0x400
411b0d:	ff 15 f8 a1 42 00    	call   *0x42a1f8
411b13:	48                   	dec    %eax
411b14:	5f                   	pop    %edi
411b15:	48                   	dec    %eax
411b16:	5e                   	pop    %esi
411b17:	5d                   	pop    %ebp
411b18:	c2 0c 00             	ret    $0xc
411b1b:	ff 74 24 04          	push   0x4(%esp)
411b1f:	e8 69 b6 00 00       	call   0x41d18d
411b24:	59                   	pop    %ecx
411b25:	0f b7 c0             	movzwl %ax,%eax
411b28:	c2 04 00             	ret    $0x4
411b2b:	56                   	push   %esi
411b2c:	8b 74 24 08          	mov    0x8(%esp),%esi
411b30:	0f b7 06             	movzwl (%esi),%eax
411b33:	57                   	push   %edi
411b34:	33 c9                	xor    %ecx,%ecx
411b36:	33 ff                	xor    %edi,%edi
411b38:	66 83 f8 30          	cmp    $0x30,%ax
411b3c:	72 33                	jb     0x411b71
411b3e:	53                   	push   %ebx
411b3f:	55                   	push   %ebp
411b40:	66 83 f8 39          	cmp    $0x39,%ax
411b44:	77 29                	ja     0x411b6f
411b46:	0f b7 c0             	movzwl %ax,%eax
411b49:	6a 00                	push   $0x0
411b4b:	6a 0a                	push   $0xa
411b4d:	83 e8 30             	sub    $0x30,%eax
411b50:	99                   	cltd
411b51:	57                   	push   %edi
411b52:	51                   	push   %ecx
411b53:	8b d8                	mov    %eax,%ebx
411b55:	8b ea                	mov    %edx,%ebp
411b57:	e8 54 8a 00 00       	call   0x41a5b0
411b5c:	03 d8                	add    %eax,%ebx
411b5e:	13 ea                	adc    %edx,%ebp
411b60:	46                   	inc    %esi
411b61:	46                   	inc    %esi
411b62:	0f b7 06             	movzwl (%esi),%eax
411b65:	8b cb                	mov    %ebx,%ecx
411b67:	8b fd                	mov    %ebp,%edi
411b69:	66 83 f8 30          	cmp    $0x30,%ax
411b6d:	73 d1                	jae    0x411b40
411b6f:	5d                   	pop    %ebp
411b70:	5b                   	pop    %ebx
411b71:	8b d7                	mov    %edi,%edx
411b73:	5f                   	pop    %edi
411b74:	8b c1                	mov    %ecx,%eax
411b76:	5e                   	pop    %esi
411b77:	c2 04 00             	ret    $0x4
411b7a:	55                   	push   %ebp
411b7b:	8b ec                	mov    %esp,%ebp
411b7d:	83 ec 14             	sub    $0x14,%esp
411b80:	56                   	push   %esi
411b81:	57                   	push   %edi
411b82:	8d 45 ec             	lea    -0x14(%ebp),%eax
411b85:	50                   	push   %eax
411b86:	33 f6                	xor    %esi,%esi
411b88:	56                   	push   %esi
411b89:	8b f9                	mov    %ecx,%edi
411b8b:	ff 15 30 a1 42 00    	call   *0x42a130
411b91:	83 7d ec 01          	cmpl   $0x1,-0x14(%ebp)
411b95:	0f 97 c0             	seta   %al
411b98:	88 87 00 01 00 00    	mov    %al,0x100(%edi)
411b9e:	56                   	push   %esi
411b9f:	ff 15 2c a1 42 00    	call   *0x42a12c
411ba5:	85 c0                	test   %eax,%eax
411ba7:	0f 95 c0             	setne  %al
411baa:	88 04 3e             	mov    %al,(%esi,%edi,1)
411bad:	46                   	inc    %esi
411bae:	81 fe 00 01 00 00    	cmp    $0x100,%esi
411bb4:	72 e8                	jb     0x411b9e
411bb6:	5f                   	pop    %edi
411bb7:	5e                   	pop    %esi
411bb8:	c9                   	leave
411bb9:	c3                   	ret
411bba:	e9 6c ff ff ff       	jmp    0x411b2b
411bbf:	8b 44 24 0c          	mov    0xc(%esp),%eax
411bc3:	0f b6 54 08 04       	movzbl 0x4(%eax,%ecx,1),%edx
411bc8:	8b 44 24 08          	mov    0x8(%esp),%eax
411bcc:	0f b6 44 08 04       	movzbl 0x4(%eax,%ecx,1),%eax
411bd1:	2b c2                	sub    %edx,%eax
411bd3:	6b d2 0c             	imul   $0xc,%edx,%edx
411bd6:	03 54 24 04          	add    0x4(%esp),%edx
411bda:	56                   	push   %esi
411bdb:	0f b6 74 08 29       	movzbl 0x29(%eax,%ecx,1),%esi
411be0:	57                   	push   %edi
411be1:	0f b6 7c 0e 04       	movzbl 0x4(%esi,%ecx,1),%edi
411be6:	3b f8                	cmp    %eax,%edi
411be8:	74 1e                	je     0x411c08
411bea:	4e                   	dec    %esi
411beb:	8d bc b1 b8 00 00 00 	lea    0xb8(%ecx,%esi,4),%edi
411bf2:	53                   	push   %ebx
411bf3:	8b 1f                	mov    (%edi),%ebx
411bf5:	89 1a                	mov    %ebx,(%edx)
411bf7:	89 17                	mov    %edx,(%edi)
411bf9:	0f b6 74 0e 04       	movzbl 0x4(%esi,%ecx,1),%esi
411bfe:	8b fe                	mov    %esi,%edi
411c00:	6b ff 0c             	imul   $0xc,%edi,%edi
411c03:	03 d7                	add    %edi,%edx
411c05:	2b c6                	sub    %esi,%eax
411c07:	5b                   	pop    %ebx
411c08:	0f b6 44 08 29       	movzbl 0x29(%eax,%ecx,1),%eax
411c0d:	8d 84 81 b8 00 00 00 	lea    0xb8(%ecx,%eax,4),%eax
411c14:	8b 08                	mov    (%eax),%ecx
411c16:	5f                   	pop    %edi
411c17:	89 0a                	mov    %ecx,(%edx)
411c19:	89 10                	mov    %edx,(%eax)
411c1b:	5e                   	pop    %esi
411c1c:	c2 0c 00             	ret    $0xc
411c1f:	83 39 00             	cmpl   $0x0,(%ecx)
411c22:	74 0f                	je     0x411c33
411c24:	ff b1 ac 00 00 00    	push   0xac(%ecx)
411c2a:	83 21 00             	andl   $0x0,(%ecx)
411c2d:	e8 b0 82 00 00       	call   0x419ee2
411c32:	59                   	pop    %ecx
411c33:	c3                   	ret
411c34:	53                   	push   %ebx
411c35:	8b 5c 24 08          	mov    0x8(%esp),%ebx
411c39:	57                   	push   %edi
411c3a:	8b f9                	mov    %ecx,%edi
411c3c:	c1 e3 14             	shl    $0x14,%ebx
411c3f:	39 1f                	cmp    %ebx,(%edi)
411c41:	75 04                	jne    0x411c47
411c43:	b0 01                	mov    $0x1,%al
411c45:	eb 44                	jmp    0x411c8b
411c47:	56                   	push   %esi
411c48:	e8 d2 ff ff ff       	call   0x411c1f
411c4d:	6a 0c                	push   $0xc
411c4f:	33 d2                	xor    %edx,%edx
411c51:	59                   	pop    %ecx
411c52:	8b c3                	mov    %ebx,%eax
411c54:	f7 f1                	div    %ecx
411c56:	8b f0                	mov    %eax,%esi
411c58:	46                   	inc    %esi
411c59:	46                   	inc    %esi
411c5a:	6b f6 0c             	imul   $0xc,%esi,%esi
411c5d:	56                   	push   %esi
411c5e:	e8 fb ac 00 00       	call   0x41c95e
411c63:	59                   	pop    %ecx
411c64:	89 87 ac 00 00 00    	mov    %eax,0xac(%edi)
411c6a:	85 c0                	test   %eax,%eax
411c6c:	75 0e                	jne    0x411c7c
411c6e:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
411c73:	e8 90 48 ff ff       	call   0x406508
411c78:	32 c0                	xor    %al,%al
411c7a:	eb 0e                	jmp    0x411c8a
411c7c:	8d 44 30 f4          	lea    -0xc(%eax,%esi,1),%eax
411c80:	89 87 58 01 00 00    	mov    %eax,0x158(%edi)
411c86:	89 1f                	mov    %ebx,(%edi)
411c88:	b0 01                	mov    $0x1,%al
411c8a:	5e                   	pop    %esi
411c8b:	5f                   	pop    %edi
411c8c:	5b                   	pop    %ebx
411c8d:	c2 04 00             	ret    $0x4
411c90:	55                   	push   %ebp
411c91:	8b ec                	mov    %esp,%ebp
411c93:	51                   	push   %ecx
411c94:	51                   	push   %ecx
411c95:	53                   	push   %ebx
411c96:	56                   	push   %esi
411c97:	57                   	push   %edi
411c98:	8b f1                	mov    %ecx,%esi
411c9a:	68 98 00 00 00       	push   $0x98
411c9f:	8d 86 b8 00 00 00    	lea    0xb8(%esi),%eax
411ca5:	6a 00                	push   $0x0
411ca7:	50                   	push   %eax
411ca8:	e8 53 85 00 00       	call   0x41a200
411cad:	8b 3e                	mov    (%esi),%edi
411caf:	83 c4 0c             	add    $0xc,%esp
411cb2:	8b c7                	mov    %edi,%eax
411cb4:	99                   	cltd