416aec:	83 fb 0c             	cmp    $0xc,%ebx
416aef:	75 3a                	jne    0x416b2b
416af1:	66 81 7d e6 00 01    	cmpw   $0x100,-0x1a(%ebp)
416af7:	75 0d                	jne    0x416b06
416af9:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
416afd:	e8 c6 fa ff ff       	call   0x4165c8
416b02:	84 c0                	test   %al,%al
416b04:	74 25                	je     0x416b2b
416b06:	8d 45 dc             	lea    -0x24(%ebp),%eax
416b09:	50                   	push   %eax
416b0a:	8d 45 14             	lea    0x14(%ebp),%eax
416b0d:	50                   	push   %eax
416b0e:	8b 45 e8             	mov    -0x18(%ebp),%eax
416b11:	50                   	push   %eax
416b12:	e8 a9 86 ff ff       	call   0x40f1c0
416b17:	e8 f0 8e ff ff       	call   0x40fa0c
416b1c:	8b 45 dc             	mov    -0x24(%ebp),%eax
416b1f:	8b d6                	mov    %esi,%edx
416b21:	e8 5a ee fe ff       	call   0x405980
416b26:	e9 88 00 00 00       	jmp    0x416bb3
416b2b:	8d 45 f0             	lea    -0x10(%ebp),%eax
416b2e:	50                   	push   %eax
416b2f:	e8 e4 85 ff ff       	call   0x40f118
416b34:	33 c0                	xor    %eax,%eax
416b36:	55                   	push   %ebp
416b37:	68 ac 6b 41 00       	push   $0x416bac
416b3c:	64 ff 30             	push   %fs:(%eax)
416b3f:	64 89 20             	mov    %esp,%fs:(%eax)
416b42:	83 fb 0c             	cmp    $0xc,%ebx
416b45:	75 12                	jne    0x416b59
416b47:	8b d6                	mov    %esi,%edx
416b49:	8d 45 f0             	lea    -0x10(%ebp),%eax
416b4c:	e8 af 9b ff ff       	call   0x410700
416b51:	8d 45 f0             	lea    -0x10(%ebp),%eax
416b54:	89 45 dc             	mov    %eax,-0x24(%ebp)
416b57:	eb 27                	jmp    0x416b80
416b59:	8b d6                	mov    %esi,%edx
416b5b:	8d 45 f0             	lea    -0x10(%ebp),%eax
416b5e:	8b cb                	mov    %ebx,%ecx
416b60:	e8 37 a3 ff ff       	call   0x410e9c
416b65:	83 c3 f8             	add    $0xfffffff8,%ebx
416b68:	83 eb 02             	sub    $0x2,%ebx
416b6b:	72 05                	jb     0x416b72
416b6d:	83 eb 03             	sub    $0x3,%ebx
416b70:	75 08                	jne    0x416b7a
416b72:	8b 45 f8             	mov    -0x8(%ebp),%eax
416b75:	89 45 dc             	mov    %eax,-0x24(%ebp)
416b78:	eb 06                	jmp    0x416b80
416b7a:	8d 45 f8             	lea    -0x8(%ebp),%eax
416b7d:	89 45 dc             	mov    %eax,-0x24(%ebp)
416b80:	8b 45 dc             	mov    -0x24(%ebp),%eax
416b83:	50                   	push   %eax
416b84:	8d 45 14             	lea    0x14(%ebp),%eax
416b87:	50                   	push   %eax
416b88:	8b 45 e8             	mov    -0x18(%ebp),%eax
416b8b:	50                   	push   %eax
416b8c:	e8 27 86 ff ff       	call   0x40f1b8
416b91:	e8 76 8e ff ff       	call   0x40fa0c
416b96:	33 c0                	xor    %eax,%eax
416b98:	5a                   	pop    %edx
416b99:	59                   	pop    %ecx
416b9a:	59                   	pop    %ecx
416b9b:	64 89 10             	mov    %edx,%fs:(%eax)
416b9e:	68 b3 6b 41 00       	push   $0x416bb3
416ba3:	8d 45 f0             	lea    -0x10(%ebp),%eax
416ba6:	e8 3d 94 ff ff       	call   0x40ffe8
416bab:	c3                   	ret
416bac:	e9 5b d6 fe ff       	jmp    0x40420c
416bb1:	eb f0                	jmp    0x416ba3
416bb3:	5e                   	pop    %esi
416bb4:	5b                   	pop    %ebx
416bb5:	8b e5                	mov    %ebp,%esp
416bb7:	5d                   	pop    %ebp
416bb8:	c3                   	ret
416bb9:	8d 40 00             	lea    0x0(%eax),%eax
416bbc:	55                   	push   %ebp
416bbd:	8b ec                	mov    %esp,%ebp
416bbf:	53                   	push   %ebx
416bc0:	8b 5d 08             	mov    0x8(%ebp),%ebx
416bc3:	85 db                	test   %ebx,%ebx
416bc5:	78 06                	js     0x416bcd
416bc7:	ff 34 99             	push   (%ecx,%ebx,4)
416bca:	4b                   	dec    %ebx
416bcb:	79 fa                	jns    0x416bc7
416bcd:	8b 5d 08             	mov    0x8(%ebp),%ebx
416bd0:	43                   	inc    %ebx
416bd1:	53                   	push   %ebx
416bd2:	52                   	push   %edx
416bd3:	50                   	push   %eax
416bd4:	e8 9b fe ff ff       	call   0x416a74
416bd9:	8d 64 9c 0c          	lea    0xc(%esp,%ebx,4),%esp
416bdd:	5b                   	pop    %ebx
416bde:	5d                   	pop    %ebp
416bdf:	c2 04 00             	ret    $0x4
416be2:	8b c0                	mov    %eax,%eax
416be4:	55                   	push   %ebp
416be5:	8b ec                	mov    %esp,%ebp
416be7:	53                   	push   %ebx
416be8:	56                   	push   %esi
416be9:	57                   	push   %edi
416bea:	55                   	push   %ebp
416beb:	89 d6                	mov    %edx,%esi
416bed:	8b 7d 08             	mov    0x8(%ebp),%edi
416bf0:	89 c5                	mov    %eax,%ebp
416bf2:	31 db                	xor    %ebx,%ebx
416bf4:	85 c9                	test   %ecx,%ecx
416bf6:	7d 03                	jge    0x416bfb
416bf8:	8b 6d 00             	mov    0x0(%ebp),%ebp
416bfb:	31 c0                	xor    %eax,%eax
416bfd:	8a 47 01             	mov    0x1(%edi),%al
416c00:	01 c7                	add    %eax,%edi
416c02:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
416c05:	f7 67 02             	mull   0x2(%edi)
416c08:	8b 7f 06             	mov    0x6(%edi),%edi
416c0b:	85 ff                	test   %edi,%edi
416c0d:	74 02                	je     0x416c11
416c0f:	8b 3f                	mov    (%edi),%edi
416c11:	01 c5                	add    %eax,%ebp
416c13:	43                   	inc    %ebx
416c14:	39 cb                	cmp    %ecx,%ebx
416c16:	7e e0                	jle    0x416bf8
416c18:	89 e8                	mov    %ebp,%eax
416c1a:	5d                   	pop    %ebp
416c1b:	5f                   	pop    %edi
416c1c:	5e                   	pop    %esi
416c1d:	5b                   	pop    %ebx
416c1e:	5d                   	pop    %ebp
416c1f:	c2 04 00             	ret    $0x4
416c22:	8b c0                	mov    %eax,%eax
416c24:	33 d2                	xor    %edx,%edx
416c26:	85 c0                	test   %eax,%eax
416c28:	74 10                	je     0x416c3a
416c2a:	33 c9                	xor    %ecx,%ecx
416c2c:	8a 48 01             	mov    0x1(%eax),%cl
416c2f:	01 c8                	add    %ecx,%eax
416c31:	8b 48 06             	mov    0x6(%eax),%ecx
416c34:	85 c9                	test   %ecx,%ecx
416c36:	74 02                	je     0x416c3a
416c38:	8b 11                	mov    (%ecx),%edx
416c3a:	8b c2                	mov    %edx,%eax
416c3c:	c3                   	ret
416c3d:	8d 40 00             	lea    0x0(%eax),%eax
416c40:	53                   	push   %ebx
416c41:	33 db                	xor    %ebx,%ebx
416c43:	eb 06                	jmp    0x416c4b
416c45:	43                   	inc    %ebx
416c46:	e8 d9 ff ff ff       	call   0x416c24
416c4b:	85 c0                	test   %eax,%eax
416c4d:	74 05                	je     0x416c54
416c4f:	80 38 11             	cmpb   $0x11,(%eax)
416c52:	74 f1                	je     0x416c45
416c54:	8b c3                	mov    %ebx,%eax
416c56:	5b                   	pop    %ebx
416c57:	c3                   	ret
416c58:	85 c0                	test   %eax,%eax
416c5a:	74 03                	je     0x416c5f
416c5c:	8b 40 fc             	mov    -0x4(%eax),%eax
416c5f:	c3                   	ret
416c60:	53                   	push   %ebx
416c61:	56                   	push   %esi
416c62:	57                   	push   %edi
416c63:	55                   	push   %ebp
416c64:	83 c4 f8             	add    $0xfffffff8,%esp
416c67:	c6 04 24 01          	movb   $0x1,(%esp)
416c6b:	8b d8                	mov    %eax,%ebx
416c6d:	8b c2                	mov    %edx,%eax
416c6f:	e8 cc ff ff ff       	call   0x416c40
416c74:	48                   	dec    %eax
416c75:	85 c0                	test   %eax,%eax
416c77:	7e 42                	jle    0x416cbb
416c79:	89 44 24 04          	mov    %eax,0x4(%esp)
416c7d:	85 db                	test   %ebx,%ebx
416c7f:	74 34                	je     0x416cb5
416c81:	8b c3                	mov    %ebx,%eax
416c83:	e8 d0 ff ff ff       	call   0x416c58
416c88:	8b f0                	mov    %eax,%esi
416c8a:	8b 03                	mov    (%ebx),%eax
416c8c:	e8 c7 ff ff ff       	call   0x416c58
416c91:	8b e8                	mov    %eax,%ebp
416c93:	4e                   	dec    %esi
416c94:	85 f6                	test   %esi,%esi
416c96:	7e 1b                	jle    0x416cb3
416c98:	bf 01 00 00 00       	mov    $0x1,%edi
416c9d:	8b 04 bb             	mov    (%ebx,%edi,4),%eax
416ca0:	e8 b3 ff ff ff       	call   0x416c58
416ca5:	3b e8                	cmp    %eax,%ebp
416ca7:	74 06                	je     0x416caf
416ca9:	c6 04 24 00          	movb   $0x0,(%esp)
416cad:	eb 0c                	jmp    0x416cbb
416caf:	47                   	inc    %edi
416cb0:	4e                   	dec    %esi
416cb1:	75 ea                	jne    0x416c9d
416cb3:	8b 1b                	mov    (%ebx),%ebx
416cb5:	ff 4c 24 04          	decl   0x4(%esp)
416cb9:	75 c2                	jne    0x416c7d
416cbb:	8a 04 24             	mov    (%esp),%al
416cbe:	59                   	pop    %ecx
416cbf:	5a                   	pop    %edx
416cc0:	5d                   	pop    %ebp
416cc1:	5f                   	pop    %edi
416cc2:	5e                   	pop    %esi
416cc3:	5b                   	pop    %ebx
416cc4:	c3                   	ret
416cc5:	8d 40 00             	lea    0x0(%eax),%eax
416cc8:	53                   	push   %ebx
416cc9:	56                   	push   %esi
416cca:	57                   	push   %edi
416ccb:	55                   	push   %ebp
416ccc:	51                   	push   %ecx
416ccd:	8b e9                	mov    %ecx,%ebp
416ccf:	89 14 24             	mov    %edx,(%esp)
416cd2:	8b d8                	mov    %eax,%ebx
416cd4:	8b 04 24             	mov    (%esp),%eax
416cd7:	e8 64 ff ff ff       	call   0x416c40
416cdc:	8b f0                	mov    %eax,%esi
416cde:	56                   	push   %esi
416cdf:	8b c5                	mov    %ebp,%eax
416ce1:	b9 01 00 00 00       	mov    $0x1,%ecx
416ce6:	8b 15 68 12 40 00    	mov    0x401268,%edx
416cec:	e8 6b f3 fe ff       	call   0x40605c
416cf1:	83 c4 04             	add    $0x4,%esp
416cf4:	4e                   	dec    %esi
416cf5:	85 f6                	test   %esi,%esi
416cf7:	7c 1b                	jl     0x416d14
416cf9:	46                   	inc    %esi
416cfa:	33 ff                	xor    %edi,%edi
416cfc:	85 db                	test   %ebx,%ebx
416cfe:	74 10                	je     0x416d10
416d00:	8b c3                	mov    %ebx,%eax
416d02:	e8 51 ff ff ff       	call   0x416c58
416d07:	48                   	dec    %eax
416d08:	8b 55 00             	mov    0x0(%ebp),%edx
416d0b:	89 04 ba             	mov    %eax,(%edx,%edi,4)
416d0e:	8b 1b                	mov    (%ebx),%ebx
416d10:	47                   	inc    %edi
416d11:	4e                   	dec    %esi
416d12:	75 e8                	jne    0x416cfc
416d14:	5a                   	pop    %edx
416d15:	5d                   	pop    %ebp
416d16:	5f                   	pop    %edi
416d17:	5e                   	pop    %esi
416d18:	5b                   	pop    %ebx
416d19:	c3                   	ret
416d1a:	8b c0                	mov    %eax,%eax
416d1c:	53                   	push   %ebx
416d1d:	56                   	push   %esi
416d1e:	57                   	push   %edi
416d1f:	8b f2                	mov    %edx,%esi
416d21:	8b f8                	mov    %eax,%edi
416d23:	33 db                	xor    %ebx,%ebx
416d25:	8b 07                	mov    (%edi),%eax
416d27:	e8 7c f1 fe ff       	call   0x405ea8
416d2c:	8b d0                	mov    %eax,%edx
416d2e:	85 d2                	test   %edx,%edx
416d30:	7c 13                	jl     0x416d45
416d32:	42                   	inc    %edx
416d33:	33 c0                	xor    %eax,%eax
416d35:	8b 0f                	mov    (%edi),%ecx
416d37:	83 3c 81 00          	cmpl   $0x0,(%ecx,%eax,4)
416d3b:	74 04                	je     0x416d41
416d3d:	b3 01                	mov    $0x1,%bl
416d3f:	eb 04                	jmp    0x416d45
416d41:	40                   	inc    %eax
416d42:	4a                   	dec    %edx
416d43:	75 f0                	jne    0x416d35
416d45:	84 db                	test   %bl,%bl
416d47:	74 39                	je     0x416d82
416d49:	8b 07                	mov    (%edi),%eax
416d4b:	e8 58 f1 fe ff       	call   0x405ea8
416d50:	83 f8 00             	cmp    $0x0,%eax
416d53:	7c 2d                	jl     0x416d82
416d55:	8b 17                	mov    (%edi),%edx
416d57:	83 3c 82 00          	cmpl   $0x0,(%edx,%eax,4)
416d5b:	74 10                	je     0x416d6d
416d5d:	8b 17                	mov    (%edi),%edx
416d5f:	ff 0c 82             	decl   (%edx,%eax,4)
416d62:	eb 1e                	jmp    0x416d82
416d64:	8b 14 86             	mov    (%esi,%eax,4),%edx
416d67:	8b 0f                	mov    (%edi),%ecx
416d69:	89 14 81             	mov    %edx,(%ecx,%eax,4)
416d6c:	48                   	dec    %eax
416d6d:	8b 17                	mov    (%edi),%edx
416d6f:	83 3c 82 00          	cmpl   $0x0,(%edx,%eax,4)
416d73:	74 ef                	je     0x416d64
416d75:	8b 17                	mov    (%edi),%edx
416d77:	ff 0c 82             	decl   (%edx,%eax,4)
416d7a:	eb 06                	jmp    0x416d82
416d7c:	48                   	dec    %eax
416d7d:	83 f8 ff             	cmp    $0xffffffff,%eax
416d80:	75 d3                	jne    0x416d55
416d82:	8b c3                	mov    %ebx,%eax
416d84:	5f                   	pop    %edi
416d85:	5e                   	pop    %esi
416d86:	5b                   	pop    %ebx
416d87:	c3                   	ret
416d88:	53                   	push   %ebx
416d89:	56                   	push   %esi
416d8a:	57                   	push   %edi
416d8b:	55                   	push   %ebp
416d8c:	8b f9                	mov    %ecx,%edi
416d8e:	8b f0                	mov    %eax,%esi
416d90:	8b c2                	mov    %edx,%eax
416d92:	e8 a9 fe ff ff       	call   0x416c40
416d97:	8b e8                	mov    %eax,%ebp
416d99:	8b c5                	mov    %ebp,%eax
416d9b:	03 c0                	add    %eax,%eax
416d9d:	50                   	push   %eax
416d9e:	8b c7                	mov    %edi,%eax
416da0:	b9 01 00 00 00       	mov    $0x1,%ecx
416da5:	8b 15 68 12 40 00    	mov    0x401268,%edx
416dab:	e8 ac f2 fe ff       	call   0x40605c
416db0:	83 c4 04             	add    $0x4,%esp
416db3:	33 db                	xor    %ebx,%ebx
416db5:	eb 1c                	jmp    0x416dd3
416db7:	8b 07                	mov    (%edi),%eax
416db9:	33 d2                	xor    %edx,%edx
416dbb:	89 14 98             	mov    %edx,(%eax,%ebx,4)
416dbe:	43                   	inc    %ebx
416dbf:	85 f6                	test   %esi,%esi
416dc1:	74 0f                	je     0x416dd2
416dc3:	8b c6                	mov    %esi,%eax
416dc5:	e8 8e fe ff ff       	call   0x416c58
416dca:	48                   	dec    %eax
416dcb:	8b 17                	mov    (%edi),%edx
416dcd:	89 04 9a             	mov    %eax,(%edx,%ebx,4)
416dd0:	8b 36                	mov    (%esi),%esi
416dd2:	43                   	inc    %ebx
416dd3:	8b c5                	mov    %ebp,%eax
416dd5:	03 c0                	add    %eax,%eax
416dd7:	3b d8                	cmp    %eax,%ebx
416dd9:	7c dc                	jl     0x416db7
416ddb:	5d                   	pop    %ebp
416ddc:	5f                   	pop    %edi
416ddd:	5e                   	pop    %esi
416dde:	5b                   	pop    %ebx
416ddf:	c3                   	ret
416de0:	ba 01 00 00 00       	mov    $0x1,%edx
416de5:	85 c0                	test   %eax,%eax
416de7:	74 0f                	je     0x416df8
416de9:	80 38 11             	cmpb   $0x11,(%eax)
416dec:	75 0a                	jne    0x416df8
416dee:	33 d2                	xor    %edx,%edx
416df0:	8a 50 01             	mov    0x1(%eax),%dl
416df3:	01 d0                	add    %edx,%eax
416df5:	8b 50 0a             	mov    0xa(%eax),%edx
416df8:	83 fa 48             	cmp    $0x48,%edx
416dfb:	75 05                	jne    0x416e02
416dfd:	ba 00 01 00 00       	mov    $0x100,%edx
416e02:	8b c2                	mov    %edx,%eax
416e04:	c3                   	ret