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)
413cba:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
413cbe:	e8 c9 07 00 00       	call   0x41448c
413cc3:	0f b6 d3             	movzbl %bl,%edx
413cc6:	b9 00 80 00 00       	mov    $0x8000,%ecx
413ccb:	66 85 0c 50          	test   %cx,(%eax,%edx,2)
413ccf:	74 0b                	je     0x413cdc
413cd1:	8d 4e 08             	lea    0x8(%esi),%ecx
413cd4:	e8 af f5 ff ff       	call   0x413288
413cd9:	88 45 fd             	mov    %al,-0x3(%ebp)
413cdc:	6a 3f                	push   $0x3f
413cde:	58                   	pop    %eax
413cdf:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
413ce3:	8b 46 68             	mov    0x68(%esi),%eax
413ce6:	50                   	push   %eax
413ce7:	8b 00                	mov    (%eax),%eax
413ce9:	ff 70 04             	push   0x4(%eax)
413cec:	8d 45 fc             	lea    -0x4(%ebp),%eax
413cef:	50                   	push   %eax
413cf0:	8d 45 f8             	lea    -0x8(%ebp),%eax
413cf3:	50                   	push   %eax
413cf4:	e8 6d 5c 00 00       	call   0x419966
413cf9:	8b 55 10             	mov    0x10(%ebp),%edx
413cfc:	83 c4 10             	add    $0x10,%esp
413cff:	66 0f be cb          	movsbw %bl,%cx
413d03:	8b 02                	mov    (%edx),%eax
413d05:	5e                   	pop    %esi
413d06:	5b                   	pop    %ebx
413d07:	66 89 08             	mov    %cx,(%eax)
413d0a:	8b 45 14             	mov    0x14(%ebp),%eax
413d0d:	83 02 02             	addl   $0x2,(%edx)
413d10:	ff 08                	decl   (%eax)
413d12:	b0 01                	mov    $0x1,%al
413d14:	8b e5                	mov    %ebp,%esp
413d16:	5d                   	pop    %ebp
413d17:	c2 14 00             	ret    $0x14
413d1a:	8b ff                	mov    %edi,%edi
413d1c:	55                   	push   %ebp
413d1d:	8b ec                	mov    %esp,%ebp
413d1f:	83 41 6c 04          	addl   $0x4,0x6c(%ecx)
413d23:	8b 41 6c             	mov    0x6c(%ecx),%eax
413d26:	56                   	push   %esi
413d27:	8b 70 fc             	mov    -0x4(%eax),%esi
413d2a:	85 f6                	test   %esi,%esi
413d2c:	75 14                	jne    0x413d42
413d2e:	e8 38 0d 00 00       	call   0x414a6b
413d33:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413d39:	e8 a4 7f ff ff       	call   0x40bce2
413d3e:	32 c0                	xor    %al,%al
413d40:	eb 4a                	jmp    0x413d8c
413d42:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
413d46:	74 03                	je     0x413d4b
413d48:	ff 41 70             	incl   0x70(%ecx)
413d4b:	83 c1 18             	add    $0x18,%ecx
413d4e:	e8 af f5 ff ff       	call   0x413302
413d53:	83 e8 01             	sub    $0x1,%eax
413d56:	74 2d                	je     0x413d85
413d58:	83 e8 01             	sub    $0x1,%eax
413d5b:	74 1f                	je     0x413d7c
413d5d:	48                   	dec    %eax
413d5e:	83 e8 01             	sub    $0x1,%eax
413d61:	74 12                	je     0x413d75
413d63:	83 e8 04             	sub    $0x4,%eax
413d66:	75 d6                	jne    0x413d3e
413d68:	8b 45 08             	mov    0x8(%ebp),%eax
413d6b:	89 06                	mov    %eax,(%esi)
413d6d:	8b 45 0c             	mov    0xc(%ebp),%eax
413d70:	89 46 04             	mov    %eax,0x4(%esi)
413d73:	eb 15                	jmp    0x413d8a
413d75:	8b 45 08             	mov    0x8(%ebp),%eax
413d78:	89 06                	mov    %eax,(%esi)
413d7a:	eb 0e                	jmp    0x413d8a
413d7c:	66 8b 45 08          	mov    0x8(%ebp),%ax
413d80:	66 89 06             	mov    %ax,(%esi)
413d83:	eb 05                	jmp    0x413d8a
413d85:	8a 45 08             	mov    0x8(%ebp),%al
413d88:	88 06                	mov    %al,(%esi)
413d8a:	b0 01                	mov    $0x1,%al
413d8c:	5e                   	pop    %esi
413d8d:	5d                   	pop    %ebp
413d8e:	c2 0c 00             	ret    $0xc
413d91:	8b ff                	mov    %edi,%edi
413d93:	55                   	push   %ebp
413d94:	8b ec                	mov    %esp,%ebp
413d96:	ff 75 20             	push   0x20(%ebp)
413d99:	ff 75 1c             	push   0x1c(%ebp)
413d9c:	ff 75 18             	push   0x18(%ebp)
413d9f:	ff 75 14             	push   0x14(%ebp)
413da2:	ff 75 10             	push   0x10(%ebp)
413da5:	ff 75 0c             	push   0xc(%ebp)
413da8:	ff 75 08             	push   0x8(%ebp)
413dab:	e8 1d b7 ff ff       	call   0x40f4cd
413db0:	83 c4 1c             	add    $0x1c,%esp
413db3:	5d                   	pop    %ebp
413db4:	c3                   	ret
413db5:	8b ff                	mov    %edi,%edi
413db7:	55                   	push   %ebp
413db8:	8b ec                	mov    %esp,%ebp
413dba:	8b 45 10             	mov    0x10(%ebp),%eax
413dbd:	85 c0                	test   %eax,%eax
413dbf:	74 0d                	je     0x413dce
413dc1:	8b 00                	mov    (%eax),%eax
413dc3:	8b 08                	mov    (%eax),%ecx
413dc5:	8b 45 08             	mov    0x8(%ebp),%eax
413dc8:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
413dcc:	eb 0c                	jmp    0x413dda
413dce:	e8 b9 06 00 00       	call   0x41448c
413dd3:	8b 4d 08             	mov    0x8(%ebp),%ecx
413dd6:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
413dda:	23 45 0c             	and    0xc(%ebp),%eax
413ddd:	5d                   	pop    %ebp
413dde:	c3                   	ret
413ddf:	8b ff                	mov    %edi,%edi
413de1:	55                   	push   %ebp
413de2:	8b ec                	mov    %esp,%ebp
413de4:	8b 4d 10             	mov    0x10(%ebp),%ecx
413de7:	85 c9                	test   %ecx,%ecx
413de9:	74 16                	je     0x413e01
413deb:	8b 01                	mov    (%ecx),%eax
413ded:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
413df1:	7e 0e                	jle    0x413e01
413df3:	51                   	push   %ecx
413df4:	ff 75 0c             	push   0xc(%ebp)
413df7:	ff 75 08             	push   0x8(%ebp)
413dfa:	e8 31 6b 00 00       	call   0x41a930
413dff:	eb 0c                	jmp    0x413e0d
413e01:	51                   	push   %ecx
413e02:	ff 75 0c             	push   0xc(%ebp)
413e05:	ff 75 08             	push   0x8(%ebp)
413e08:	e8 a8 ff ff ff       	call   0x413db5
413e0d:	83 c4 0c             	add    $0xc,%esp
413e10:	5d                   	pop    %ebp
413e11:	c3                   	ret
413e12:	8b ff                	mov    %edi,%edi
413e14:	55                   	push   %ebp
413e15:	8b ec                	mov    %esp,%ebp
413e17:	56                   	push   %esi
413e18:	8b 75 14             	mov    0x14(%ebp),%esi
413e1b:	85 f6                	test   %esi,%esi
413e1d:	75 04                	jne    0x413e23
413e1f:	33 c0                	xor    %eax,%eax
413e21:	eb 6d                	jmp    0x413e90
413e23:	8b 45 08             	mov    0x8(%ebp),%eax
413e26:	85 c0                	test   %eax,%eax
413e28:	75 13                	jne    0x413e3d
413e2a:	e8 3c 0c 00 00       	call   0x414a6b
413e2f:	6a 16                	push   $0x16
413e31:	5e                   	pop    %esi
413e32:	89 30                	mov    %esi,(%eax)
413e34:	e8 a9 7e ff ff       	call   0x40bce2
413e39:	8b c6                	mov    %esi,%eax
413e3b:	eb 53                	jmp    0x413e90
413e3d:	57                   	push   %edi
413e3e:	8b 7d 10             	mov    0x10(%ebp),%edi
413e41:	85 ff                	test   %edi,%edi
413e43:	74 14                	je     0x413e59
413e45:	39 75 0c             	cmp    %esi,0xc(%ebp)
413e48:	72 0f                	jb     0x413e59
413e4a:	56                   	push   %esi
413e4b:	57                   	push   %edi
413e4c:	50                   	push   %eax
413e4d:	e8 0e 46 ff ff       	call   0x408460
413e52:	83 c4 0c             	add    $0xc,%esp
413e55:	33 c0                	xor    %eax,%eax
413e57:	eb 36                	jmp    0x413e8f
413e59:	ff 75 0c             	push   0xc(%ebp)
413e5c:	6a 00                	push   $0x0
413e5e:	50                   	push   %eax
413e5f:	e8 7c 4b ff ff       	call   0x4089e0
413e64:	83 c4 0c             	add    $0xc,%esp
413e67:	85 ff                	test   %edi,%edi
413e69:	75 09                	jne    0x413e74
413e6b:	e8 fb 0b 00 00       	call   0x414a6b
413e70:	6a 16                	push   $0x16
413e72:	eb 0c                	jmp    0x413e80
413e74:	39 75 0c             	cmp    %esi,0xc(%ebp)