41395c:	75 0f                	jne    0x41396d
41395e:	83 c0 02             	add    $0x2,%eax
413961:	c7 41 20 04 00 00 00 	movl   $0x4,0x20(%ecx)
413968:	89 41 08             	mov    %eax,0x8(%ecx)
41396b:	5e                   	pop    %esi
41396c:	c3                   	ret
41396d:	c7 41 20 03 00 00 00 	movl   $0x3,0x20(%ecx)
413974:	89 51 08             	mov    %edx,0x8(%ecx)
413977:	5e                   	pop    %esi
413978:	c3                   	ret
413979:	8b ff                	mov    %edi,%edi
41397b:	56                   	push   %esi
41397c:	8b f1                	mov    %ecx,%esi
41397e:	e8 09 0b 00 00       	call   0x41448c
413983:	0f b6 56 14          	movzbl 0x14(%esi),%edx
413987:	b9 00 80 00 00       	mov    $0x8000,%ecx
41398c:	66 85 0c 50          	test   %cx,(%eax,%edx,2)
413990:	74 36                	je     0x4139c8
413992:	8b 46 08             	mov    0x8(%esi),%eax
413995:	8a 08                	mov    (%eax),%cl
413997:	84 c9                	test   %cl,%cl
413999:	75 26                	jne    0x4139c1
41399b:	33 c0                	xor    %eax,%eax
41399d:	c7 46 0c 2a 00 00 00 	movl   $0x2a,0xc(%esi)
4139a4:	89 46 10             	mov    %eax,0x10(%esi)
4139a7:	66 89 46 14          	mov    %ax,0x14(%esi)
4139ab:	88 46 16             	mov    %al,0x16(%esi)
4139ae:	89 46 18             	mov    %eax,0x18(%esi)
4139b1:	89 46 1c             	mov    %eax,0x1c(%esi)
4139b4:	89 46 20             	mov    %eax,0x20(%esi)
4139b7:	88 46 24             	mov    %al,0x24(%esi)
4139ba:	89 46 28             	mov    %eax,0x28(%esi)
4139bd:	32 c0                	xor    %al,%al
4139bf:	eb 09                	jmp    0x4139ca
4139c1:	40                   	inc    %eax
4139c2:	88 4e 15             	mov    %cl,0x15(%esi)
4139c5:	89 46 08             	mov    %eax,0x8(%esi)
4139c8:	b0 01                	mov    $0x1,%al
4139ca:	5e                   	pop    %esi
4139cb:	c2 04 00             	ret    $0x4
4139ce:	8b 51 08             	mov    0x8(%ecx),%edx
4139d1:	8a 02                	mov    (%edx),%al
4139d3:	3c 77                	cmp    $0x77,%al
4139d5:	75 08                	jne    0x4139df
4139d7:	8d 42 01             	lea    0x1(%edx),%eax
4139da:	89 41 08             	mov    %eax,0x8(%ecx)
4139dd:	eb 08                	jmp    0x4139e7
4139df:	3c 43                	cmp    $0x43,%al
4139e1:	74 04                	je     0x4139e7
4139e3:	3c 53                	cmp    $0x53,%al
4139e5:	75 04                	jne    0x4139eb
4139e7:	c6 41 24 01          	movb   $0x1,0x24(%ecx)
4139eb:	c3                   	ret
4139ec:	8b ff                	mov    %edi,%edi
4139ee:	55                   	push   %ebp
4139ef:	8b ec                	mov    %esp,%ebp
4139f1:	83 ec 10             	sub    $0x10,%esp
4139f4:	56                   	push   %esi
4139f5:	8b f1                	mov    %ecx,%esi
4139f7:	33 c0                	xor    %eax,%eax
4139f9:	89 75 f0             	mov    %esi,-0x10(%ebp)
4139fc:	8d 56 2c             	lea    0x2c(%esi),%edx
4139ff:	89 55 f4             	mov    %edx,-0xc(%ebp)
413a02:	85 d2                	test   %edx,%edx
413a04:	75 27                	jne    0x413a2d
413a06:	c7 46 0c 0c 00 00 00 	movl   $0xc,0xc(%esi)
413a0d:	89 46 28             	mov    %eax,0x28(%esi)
413a10:	88 46 24             	mov    %al,0x24(%esi)
413a13:	89 46 20             	mov    %eax,0x20(%esi)
413a16:	89 46 1c             	mov    %eax,0x1c(%esi)
413a19:	89 46 18             	mov    %eax,0x18(%esi)
413a1c:	88 46 16             	mov    %al,0x16(%esi)
413a1f:	66 89 46 14          	mov    %ax,0x14(%esi)
413a23:	89 46 10             	mov    %eax,0x10(%esi)
413a26:	32 c0                	xor    %al,%al
413a28:	e9 c1 00 00 00       	jmp    0x413aee
413a2d:	57                   	push   %edi
413a2e:	6a 08                	push   $0x8
413a30:	59                   	pop    %ecx
413a31:	8b fa                	mov    %edx,%edi
413a33:	f3 ab                	rep stos %eax,%es:(%edi)
413a35:	8b 46 08             	mov    0x8(%esi),%eax
413a38:	80 38 5e             	cmpb   $0x5e,(%eax)
413a3b:	0f 94 c1             	sete   %cl
413a3e:	88 4d ff             	mov    %cl,-0x1(%ebp)
413a41:	84 c9                	test   %cl,%cl
413a43:	74 04                	je     0x413a49
413a45:	40                   	inc    %eax
413a46:	89 46 08             	mov    %eax,0x8(%esi)
413a49:	8b 46 08             	mov    0x8(%esi),%eax
413a4c:	80 38 5d             	cmpb   $0x5d,(%eax)
413a4f:	75 08                	jne    0x413a59
413a51:	40                   	inc    %eax
413a52:	89 46 08             	mov    %eax,0x8(%esi)
413a55:	80 4e 37 20          	orb    $0x20,0x37(%esi)
413a59:	8b 7e 08             	mov    0x8(%esi),%edi
413a5c:	80 3f 5d             	cmpb   $0x5d,(%edi)
413a5f:	74 66                	je     0x413ac7
413a61:	53                   	push   %ebx
413a62:	8b 46 08             	mov    0x8(%esi),%eax
413a65:	8a 08                	mov    (%eax),%cl
413a67:	84 c9                	test   %cl,%cl
413a69:	74 58                	je     0x413ac3
413a6b:	80 f9 2d             	cmp    $0x2d,%cl
413a6e:	75 3d                	jne    0x413aad
413a70:	3b c7                	cmp    %edi,%eax
413a72:	74 39                	je     0x413aad
413a74:	8a 78 01             	mov    0x1(%eax),%bh
413a77:	80 ff 5d             	cmp    $0x5d,%bh
413a7a:	74 31                	je     0x413aad
413a7c:	8a 58 ff             	mov    -0x1(%eax),%bl
413a7f:	3a df                	cmp    %bh,%bl
413a81:	76 06                	jbe    0x413a89
413a83:	8a c3                	mov    %bl,%al
413a85:	8a df                	mov    %bh,%bl
413a87:	8a f8                	mov    %al,%bh
413a89:	fe c7                	inc    %bh
413a8b:	88 5d fb             	mov    %bl,-0x5(%ebp)
413a8e:	3a df                	cmp    %bh,%bl
413a90:	74 26                	je     0x413ab8
413a92:	8b 75 f4             	mov    -0xc(%ebp),%esi
413a95:	ff 75 fb             	push   -0x5(%ebp)
413a98:	8b ce                	mov    %esi,%ecx
413a9a:	e8 54 00 00 00       	call   0x413af3
413a9f:	fe c3                	inc    %bl
413aa1:	88 5d fb             	mov    %bl,-0x5(%ebp)
413aa4:	3a df                	cmp    %bh,%bl
413aa6:	75 ed                	jne    0x413a95
413aa8:	8b 75 f0             	mov    -0x10(%ebp),%esi
413aab:	eb 08                	jmp    0x413ab5
413aad:	51                   	push   %ecx
413aae:	8b ca                	mov    %edx,%ecx
413ab0:	e8 3e 00 00 00       	call   0x413af3
413ab5:	8d 56 2c             	lea    0x2c(%esi),%edx
413ab8:	ff 46 08             	incl   0x8(%esi)
413abb:	8b 46 08             	mov    0x8(%esi),%eax
413abe:	80 38 5d             	cmpb   $0x5d,(%eax)
413ac1:	75 9f                	jne    0x413a62
413ac3:	8a 4d ff             	mov    -0x1(%ebp),%cl
413ac6:	5b                   	pop    %ebx
413ac7:	8b 46 08             	mov    0x8(%esi),%eax
413aca:	5f                   	pop    %edi
413acb:	80 38 00             	cmpb   $0x0,(%eax)
413ace:	75 0e                	jne    0x413ade
413ad0:	33 c0                	xor    %eax,%eax
413ad2:	c7 46 0c 16 00 00 00 	movl   $0x16,0xc(%esi)
413ad9:	e9 2f ff ff ff       	jmp    0x413a0d
413ade:	84 c9                	test   %cl,%cl
413ae0:	74 07                	je     0x413ae9
413ae2:	8b ca                	mov    %edx,%ecx
413ae4:	e8 b5 f7 ff ff       	call   0x41329e
413ae9:	ff 46 08             	incl   0x8(%esi)
413aec:	b0 01                	mov    $0x1,%al
413aee:	5e                   	pop    %esi
413aef:	8b e5                	mov    %ebp,%esp
413af1:	5d                   	pop    %ebp
413af2:	c3                   	ret
413af3:	8b ff                	mov    %edi,%edi
413af5:	55                   	push   %ebp
413af6:	8b ec                	mov    %esp,%ebp
413af8:	56                   	push   %esi
413af9:	0f b6 75 08          	movzbl 0x8(%ebp),%esi
413afd:	8b d6                	mov    %esi,%edx
413aff:	c1 ea 03             	shr    $0x3,%edx
413b02:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
413b06:	81 e6 07 00 00 80    	and    $0x80000007,%esi
413b0c:	79 05                	jns    0x413b13
413b0e:	4e                   	dec    %esi
413b0f:	83 ce f8             	or     $0xfffffff8,%esi
413b12:	46                   	inc    %esi
413b13:	0f ab f0             	bts    %esi,%eax
413b16:	88 04 0a             	mov    %al,(%edx,%ecx,1)
413b19:	5e                   	pop    %esi
413b1a:	5d                   	pop    %ebp
413b1b:	c2 04 00             	ret    $0x4
413b1e:	8b 41 20             	mov    0x20(%ecx),%eax
413b21:	83 f8 02             	cmp    $0x2,%eax
413b24:	75 04                	jne    0x413b2a
413b26:	c6 41 24 00          	movb   $0x0,0x24(%ecx)
413b2a:	83 f8 03             	cmp    $0x3,%eax
413b2d:	74 0a                	je     0x413b39
413b2f:	83 f8 04             	cmp    $0x4,%eax
413b32:	74 05                	je     0x413b39
413b34:	83 f8 08             	cmp    $0x8,%eax
413b37:	75 04                	jne    0x413b3d
413b39:	c6 41 24 01          	movb   $0x1,0x24(%ecx)
413b3d:	c3                   	ret
413b3e:	8b ff                	mov    %edi,%edi
413b40:	55                   	push   %ebp
413b41:	8b ec                	mov    %esp,%ebp
413b43:	0f b6 55 08          	movzbl 0x8(%ebp),%edx
413b47:	56                   	push   %esi
413b48:	8b f1                	mov    %ecx,%esi
413b4a:	8b ca                	mov    %edx,%ecx
413b4c:	81 e1 07 00 00 80    	and    $0x80000007,%ecx
413b52:	79 05                	jns    0x413b59
413b54:	49                   	dec    %ecx
413b55:	83 c9 f8             	or     $0xfffffff8,%ecx
413b58:	41                   	inc    %ecx
413b59:	33 c0                	xor    %eax,%eax
413b5b:	c1 ea 03             	shr    $0x3,%edx
413b5e:	40                   	inc    %eax
413b5f:	d3 e0                	shl    %cl,%eax
413b61:	6a 00                	push   $0x0
413b63:	84 04 32             	test   %al,(%edx,%esi,1)
413b66:	58                   	pop    %eax
413b67:	0f 95 c0             	setne  %al
413b6a:	5e                   	pop    %esi
413b6b:	5d                   	pop    %ebp
413b6c:	c2 04 00             	ret    $0x4
413b6f:	8b ff                	mov    %edi,%edi
413b71:	55                   	push   %ebp
413b72:	8b ec                	mov    %esp,%ebp
413b74:	8b 45 08             	mov    0x8(%ebp),%eax
413b77:	85 c0                	test   %eax,%eax
413b79:	74 12                	je     0x413b8d
413b7b:	83 f8 03             	cmp    $0x3,%eax
413b7e:	74 09                	je     0x413b89
413b80:	83 f8 08             	cmp    $0x8,%eax
413b83:	74 04                	je     0x413b89
413b85:	33 c0                	xor    %eax,%eax
413b87:	5d                   	pop    %ebp
413b88:	c3                   	ret
413b89:	6a 08                	push   $0x8
413b8b:	eb 02                	jmp    0x413b8f
413b8d:	6a 04                	push   $0x4
413b8f:	58                   	pop    %eax
413b90:	5d                   	pop    %ebp
413b91:	c3                   	ret
413b92:	8b ff                	mov    %edi,%edi
413b94:	55                   	push   %ebp
413b95:	8b ec                	mov    %esp,%ebp
413b97:	8b 45 08             	mov    0x8(%ebp),%eax
413b9a:	83 f8 0a             	cmp    $0xa,%eax
413b9d:	77 19                	ja     0x413bb8
413b9f:	ff 24 85 be 3b 41 00 	jmp    *0x413bbe(,%eax,4)
413ba6:	6a 04                	push   $0x4
413ba8:	58                   	pop    %eax
413ba9:	5d                   	pop    %ebp
413baa:	c3                   	ret
413bab:	33 c0                	xor    %eax,%eax
413bad:	40                   	inc    %eax
413bae:	5d                   	pop    %ebp
413baf:	c3                   	ret
413bb0:	6a 02                	push   $0x2
413bb2:	eb f4                	jmp    0x413ba8
413bb4:	6a 08                	push   $0x8
413bb6:	eb f0                	jmp    0x413ba8
413bb8:	33 c0                	xor    %eax,%eax
413bba:	5d                   	pop    %ebp
413bbb:	c3                   	ret
413bbc:	8b ff                	mov    %edi,%edi
413bbe:	a6                   	cmpsb  %es:(%edi),%ds:(%esi)
413bbf:	3b 41 00             	cmp    0x0(%ecx),%eax
413bc2:	ab                   	stos   %eax,%es:(%edi)
413bc3:	3b 41 00             	cmp    0x0(%ecx),%eax
413bc6:	b0 3b                	mov    $0x3b,%al
413bc8:	41                   	inc    %ecx
413bc9:	00 a6 3b 41 00 b4    	add    %ah,-0x4bffbec5(%esi)
413bcf:	3b 41 00             	cmp    0x0(%ecx),%eax
413bd2:	b4 3b                	mov    $0x3b,%ah
413bd4:	41                   	inc    %ecx
413bd5:	00 a6 3b 41 00 a6    	add    %ah,-0x59ffbec5(%esi)
413bdb:	3b 41 00             	cmp    0x0(%ecx),%eax
413bde:	b8 3b 41 00 a6       	mov    $0xa600413b,%eax
413be3:	3b 41 00             	cmp    0x0(%ecx),%eax
413be6:	b4 3b                	mov    $0x3b,%ah
413be8:	41                   	inc    %ecx
413be9:	00 8b ff 55 8b ec    	add    %cl,-0x1374aa01(%ebx)
413bef:	83 41 10 ff          	addl   $0xffffffff,0x10(%ecx)
413bf3:	8b 51 08             	mov    0x8(%ecx),%edx
413bf6:	8b c2                	mov    %edx,%eax
413bf8:	83 51 14 ff          	adcl   $0xffffffff,0x14(%ecx)
413bfc:	56                   	push   %esi
413bfd:	8b 71 0c             	mov    0xc(%ecx),%esi
413c00:	0b c6                	or     %esi,%eax
413c02:	74 0c                	je     0x413c10
413c04:	39 71 14             	cmp    %esi,0x14(%ecx)
413c07:	77 1d                	ja     0x413c26
413c09:	72 05                	jb     0x413c10
413c0b:	39 51 10             	cmp    %edx,0x10(%ecx)
413c0e:	77 16                	ja     0x413c26
413c10:	8a 45 08             	mov    0x8(%ebp),%al
413c13:	84 c0                	test   %al,%al
413c15:	74 0f                	je     0x413c26
413c17:	3c ff                	cmp    $0xff,%al
413c19:	74 0b                	je     0x413c26
413c1b:	8b 09                	mov    (%ecx),%ecx
413c1d:	0f be c0             	movsbl %al,%eax
413c20:	50                   	push   %eax
413c21:	e8 05 00 00 00       	call   0x413c2b
413c26:	5e                   	pop    %esi
413c27:	5d                   	pop    %ebp
413c28:	c2 04 00             	ret    $0x4
413c2b:	8b ff                	mov    %edi,%edi
413c2d:	55                   	push   %ebp
413c2e:	8b ec                	mov    %esp,%ebp
413c30:	8b 41 08             	mov    0x8(%ecx),%eax
413c33:	3b 01                	cmp    (%ecx),%eax
413c35:	74 0f                	je     0x413c46
413c37:	3b 41 04             	cmp    0x4(%ecx),%eax
413c3a:	75 06                	jne    0x413c42
413c3c:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
413c40:	74 04                	je     0x413c46
413c42:	48                   	dec    %eax
413c43:	89 41 08             	mov    %eax,0x8(%ecx)
413c46:	5d                   	pop    %ebp
413c47:	c2 04 00             	ret    $0x4
413c4a:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
413c4e:	75 13                	jne    0x413c63
413c50:	e8 16 0e 00 00       	call   0x414a6b
413c55:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413c5b:	e8 82 80 ff ff       	call   0x40bce2
413c60:	32 c0                	xor    %al,%al
413c62:	c3                   	ret
413c63:	b0 01                	mov    $0x1,%al
413c65:	c3                   	ret
413c66:	83 39 00             	cmpl   $0x0,(%ecx)
413c69:	75 13                	jne    0x413c7e
413c6b:	e8 fb 0d 00 00       	call   0x414a6b
413c70:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413c76:	e8 67 80 ff ff       	call   0x40bce2
413c7b:	32 c0                	xor    %al,%al
413c7d:	c3                   	ret
413c7e:	83 79 18 00          	cmpl   $0x0,0x18(%ecx)
413c82:	74 e7                	je     0x413c6b
413c84:	b0 01                	mov    $0x1,%al
413c86:	c3                   	ret
413c87:	8b 41 08             	mov    0x8(%ecx),%eax
413c8a:	85 c0                	test   %eax,%eax
413c8c:	75 13                	jne    0x413ca1
413c8e:	e8 d8 0d 00 00       	call   0x414a6b
413c93:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413c99:	e8 44 80 ff ff       	call   0x40bce2
413c9e:	32 c0                	xor    %al,%al
413ca0:	c3                   	ret
413ca1:	3b 41 04             	cmp    0x4(%ecx),%eax
413ca4:	77 e8                	ja     0x413c8e
413ca6:	b0 01                	mov    $0x1,%al
413ca8:	c3                   	ret
413ca9:	8b ff                	mov    %edi,%edi
413cab:	55                   	push   %ebp
413cac:	8b ec                	mov    %esp,%ebp
413cae:	51                   	push   %ecx
413caf:	51                   	push   %ecx
413cb0:	53                   	push   %ebx
413cb1:	8a 5d 18             	mov    0x18(%ebp),%bl
413cb4:	56                   	push   %esi
413cb5:	8b f1                	mov    %ecx,%esi
413cb7:	88 5d fc             	mov    %bl,-0x4(%ebp)